{"thread":{"id":"5001","subject":"Challenge: Importing Mozilla CVS into git","startedAt":"2006-07-26T21:08:18Z","lastAt":"2006-07-26T21:08:18Z","messageCount":1,"participants":["Jon Smirl"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"24164","messageId":"9e4733910607261408m6f3980fbxc1793ca432ef3b0a@mail.gmail.com","threadId":"5001","inReplyTo":null,"subject":"Challenge: Importing Mozilla CVS into git","fromName":"Jon Smirl","fromEmail":"jonsmirl@gmail.com","sentAt":"2006-07-26T21:08:18Z","receivedAt":"2006-07-26T21:08:18Z","isPatch":false,"sender":{"key":"jonsmirl@gmail.com","avatar":"https://gravatar.com/avatar/cff3bf5bfdfa6708b905712ff91f0f9b8aaca161659f38c02b787920d5d28b7e?d=mp&s=160"},"body":"If anyone is looking for a project, it is still not possible to import\nMozilla CVS into git and then do increment updates. As I recall from\nthe last time I played with it, cvsps throws away some of the branches\nbecause it thinks they are in a loop. parsecvs is unable to complete\nthe entire import without getting errors and aborting.\n\ncvs2svn can import the entire Mozilla repository correctly. But it\nimports it to svn and does not have incremental support.\n\nBest solution would be to use the parser from parsecvs, apply the\nchange set detection algorithm from cvs2svn, and then add cvsps'\nincremental update.\n\nIt's also not reasonable to fork git processes, there are about a\nmillion change sets in Mozilla and it takes days of CPU time to do 1M\nforks. The import app needs to use a library version of git. Another\ntactic to reduce CPU time is to directly write pack files with the\ndelta in a first pass, and add the change set index in a later pass.\n\n-- \nJon Smirl\njonsmirl@gmail.com\n"}]}