Re: Tracking CVS
- From
Jon Smirl <jonsmirl@gmail.com>
- Date
- Jun 22, 2006, 14:17 UTC
- Message-ID
- <9e4733910606220717of2ba299ta8a38c7d63fd5635@mail.gmail.com>
- In-Reply-To
- <20060622135831.GB21864@pasky.or.cz>
On 6/22/06, Petr Baudis <pasky@suse.cz> wrote:
Show 33 quoted lines
> Dear diary, on Thu, Jun 22, 2006 at 02:41:16PM CEST, I got a letter > where Jon Smirl <jonsmirl@gmail.com> said that... > > I'm tracking cvs using this sequence. > > > > cvs update > > cg rm -a > > cg commit > > cg add -r . > > cg commit > > > > Is there a way to avoid the two commits? If you do the add with out > > the intervening commit it just adds the files back. > > I think the most straightforward way is: > > cvs update > cg-rm -a > cg-status -wns \? | xargs cg-add > cg-commit > > If you want to be careful about filenames polluted by non-newline > whitespaces, > > cg-status -wns \? | tr '\n' '\0' | xargs -0 cg-add > > If you want to be safe even with filenames containing newlines, you need > to go at the Git level: > > git-ls-files -z --others | \ > xargs -0 git-update-index --add -- > > Perhaps we might make a special command which would sync the index set > with the working copy set...
How about a cg-sync? Tracking cvs (or other SCM) with git is probably a common activitiy while you try to convince the other CVS users to switch. It is probably worth a little write up in the readme on the best way to do it.
cg-sync should probably default to having a prompt before actually adding/removing the files. Add a -f or something to get rid of the prompt.
-- Jon Smirl jonsmirl@gmail.com