Re: binary safe?
On 11/5/05, David Brown <git@davidb.org> wrote:
Show 8 quoted lines
> On Fri, Nov 04, 2005 at 12:00:54PM +1300, Martin Langhoff wrote:
>
> > Yes it works, and cvsimport -k will do the right thing for you.
>
> Unless it has changed from 0.99.9b, 'cvsimport -k' will very much scramble
> some binary files. '-k' passes the '-kk' option which causes CVS to strip
> the keywords down. It needs to pass -ko through if you want it to be able
> to handle binary files.
There is a misunderstanding here. We don't pass '-kk' to the cvs utility -- we pass it at the protocol level. Strangely enough, when passing ko we were getting broken files, and when passing kk we got all the files correctly. I explored and tested this quite a bit when I added the flag, and explicitly tested it with files that _would_ get broken with cvs update -kk.
To recap: my main test repository has a lot of binary files, files that do get broken if I do a cvs checkout with -kk. git-cvsimport gets them right with its -k parameter. Don't ask me why, though: the cvs protocol is really messy, and I suspect that part of the -kk option is being 'implemented' on the client side.
(That being said, if you have a case where git-cvsimport is doing the wrong thing, let me know!)
> However, since CVS (RCS really) can remember the state of this flag, it
> does work to 'cvs admin -ko filename' beforehand, and then do the
> cvsimport without the '-k' option.
Yes, but a repo you don't control, where people are using keywords, means thatyou need to do -kk to kill the keywords or your imported files are going to have a horrid amount of noise in them.
cheers,
martin