> Skipping './Documentation/features/core/cBPF-JIT' ... couldn't add parent directory './Documentation/features/core' to repository
> No files were added
This is due to the default boring file created for your repo when you
darcs init. You have to remove or comment out the lines containing
"core" and "tags" in _darcs/prefs/boring.
However, you will find that it is not a good idea to use "add, then
record" with so many files. It is far more efficient to use 'darcs
record -l'. But for the linux kernel even that doesn't work, unless you
have huge amounts of memory. On my laptop which has 16G a
darcs record -lam XXX
runs out of memory pretty soon and then gets oom killed. The only method
I am aware of that works here is to break the initial patch into a
sequence of patches that individually aren't too large. One way to do
that is to first record all directories:
find . -not -path */_darcs* -type d | xargs darcs add
darcs record -am "initial add of all directories"
To record the files I created a small shell script; this is only needed
so we can assign each patch another name. The following one-liner does
the trick:
darcs record -am "add file $1..." "$@" --skip-long-comment
Save as ../record_bunch and chmod+x, then do something like
find . -type f | grep -vw _darcs | xargs -n 1000 ../record_bunch
Since I did it with a git clone I could use git ls-files instead of find:
git ls-files | xargs -n 1000 ../record_bunch
This succeeds for me, though it takes some time (72 patches). You can
play with the bunch size, it seems that 2000 works, too, and is overall
faster.
|