{"thread":{"id":"4309","subject":"remaining git-cvsimport problems: relying on timestamps looses patchsets","startedAt":"2006-05-27T12:24:55Z","lastAt":"2006-05-27T12:24:55Z","messageCount":1,"participants":["Yann Dirson"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"20794","messageId":"20060527122455.GM6535@nowhere.earth","threadId":"4309","inReplyTo":null,"subject":"remaining git-cvsimport problems: relying on timestamps looses patchsets","fromName":"Yann Dirson","fromEmail":"ydirson@altern.org","sentAt":"2006-05-27T12:24:55Z","receivedAt":"2006-05-27T12:24:55Z","isPatch":false,"sender":{"key":"ydirson@altern.org","avatar":"https://avatars.githubusercontent.com/u/1190950?v=4"},"body":"I use git-cvsimport daily to sync from an inernal CVS repository at\nwork.  Occasionally (in fact, much too often ;), I notice that not all\npatchsets were really imported into git (and thus I have to reimport\nfrom scratch, update my graft file, migrate my stgit branches, which\nis quite a tedious and time-consuming task).\n\nThe problem seems to stem from the fact that git-cvsimport decides\nwhich patch to import based on commit dates, and that we cannot rely\non all machines being correctly time-synchronized.\n\nIt would seem much more reliable to keep track of the latest patchset\nimported on each branch.  Now, maybe this option was considered\nalready, and rejected for various reasons.  I'd welcome any info on\nthis.\n\nOne such reason I can think about is that cvsps patchset numbers seem\nto be currently the only way to identify a patchset, and those are not\nguaranted to be stable from one cvsps release to the other - eg. I\nhope the bug mentionned in previous mail there can be fixed some day,\nand thus the fixed patchsets will have different numbers; or maybe\nsome day cvsps will deal better with the pseudo-revisions introduced\nby RCS when adding a file on a branch.\n\nSo we have to be able to detect when the cvsps output has changed and\nthe git history is now possibly out of sync, or it would also be\npossible to have a corrupted mirror of the cvs history.\n\nFor this, we would need to record some patchset information in the\nimported commits - currently only the patchset number seems to make\nsense, but if new cvsps releases can show the commitid's introduced in\ncvs 1.12.x that would be of great help here.  Then we could validate\nfor each patchset whether we can find a commit with its patchset\nnumber in the git history, and do some checks to assert this commit\ncorresponds to the expected patchset - until we have access to the cvs\ncommitid's, we can check that the files changed by the commit are the\nsame than those in the patchset.\n\nDoes that make sense to anyone, or am I completely off-track ?\n-- \nYann Dirson    <ydirson@altern.org> |\nDebian-related: <dirson@debian.org> |   Support Debian GNU/Linux:\n                                    |  Freedom, Power, Stability, Gratis\n     http://ydirson.free.fr/        | Check <http://www.debian.org/>\n"}]}