|Clone/download a subdirectory of a git repository
|Page 1 of 1|
|Author:||AndrewAPrice [ Fri May 15, 2020 4:09 pm ]|
|Post subject:||Clone/download a subdirectory of a git repository|
I'm trying to download a copy of just libc++/libc++abi from the LLVM git repo.
I was following the answer here: https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository
git remote add -f origin https://github.com/llvm/llvm-project.git
git config core.sparseCheckout true
git config pull.ff only
echo "libcxx/" >> .git/info/sparse-checkout
echo "libcxxabi/" >> .git/info/sparse-checkout
git pull --depth=1 origin master
However, at 'git remote add', it tries to download nearly 1GB of data (the entire repo.)
How can I just clone/download the two subdirectories I care about?
|Author:||iansjack [ Fri May 15, 2020 11:45 pm ]|
|Post subject:||Re: Clone/download a subdirectory of a git repository|
You need to use absolute pathnames in the sparse-checkout file.
Also, have a look at this thread: https://stackoverflow.com/questions/411 ... repository
versions of git newer that 2.25.0 have a "sparse-checkout" command that makes it easier to work with sparse checkouts.
Edit: OK - having checked out that latter thread, here is the sequence of events you need:
git clone --no-checkout --depth 1 git://github.com/llvm/llvm-project.gitThis is tested, and working, on Linux. I believe that on Windows you need to omit the quotes in the echo commands, but I haven't tested this.
git config core.sparsecheckout true
echo "libcxx/*" > .git/info/sparse-checkout
echo "libcxxabi/*" >> .git/info/sparse-checkout
|Page 1 of 1||All times are UTC - 6 hours|
|Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group