Reputation: 7957
I am using git cvsimport
to work with a cvs server, and it works fine.
However, some very old projects have many commits and large files. It causes cvsimport to spend a long time checking out all commits and converting them to git format.
I cvsimport
like this:
git cvsimport -v -a -d :pserver:qrtt1@localhost:/cvs cvsroot/my_module
Is it possible to select commits after some date?
Upvotes: 5
Views: 1006
Reputation: 31
I guess you must seperate your cvsps arguments by comma:
git cvsimport -v -d <cvsroot> -p -d,'2012/01/01 00:00:00' <module>
Upvotes: 3
Reputation: 2229
In theory you should be able to use the -p
option of git cvsimport
in conjunction with the -d
option of cvsps
. Here are the two relevant extracts from the man pages:
git cvsimport:
-p < options-for-cvsps >
Additional options for cvsps. The options -u and -A are implicit and should not be used here.
If you need to pass multiple options, separate them with a comma.
cvsps:
-d < date1 > -d < date2 > if just one date specified, show revisions newer than date1. If two dates specified, show revisions between two dates.
Unfortunately when I used it, cvsps complained about the date:
$ git cvsimport -v -d <cvsroot> -p "-d '2012/01/01 00:00:00'" <module>
Running cvsps...
bad usage: invalid argument -d '2012/01/01 00:00:00'
Usage: [...]
git cvsimport: fatal: cvsps reported error
Running cvsps
by itself accepts the date though, so doing this as a two step process should work.
cvsps -d '2012/01/01 00:00:00' > patchset
git cvsimport -d <cvsroot> -P patchset <module>
You can examine the output of cvsps to confirm that it only has changes after the date you specified, before running the lengthy cvsimport
command.
Upvotes: 2