remaining git-cvsimport problems: relying on timestamps looses patchsets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I use git-cvsimport daily to sync from an inernal CVS repository at
work.  Occasionally (in fact, much too often ;), I notice that not all
patchsets were really imported into git (and thus I have to reimport
from scratch, update my graft file, migrate my stgit branches, which
is quite a tedious and time-consuming task).

The problem seems to stem from the fact that git-cvsimport decides
which patch to import based on commit dates, and that we cannot rely
on all machines being correctly time-synchronized.

It would seem much more reliable to keep track of the latest patchset
imported on each branch.  Now, maybe this option was considered
already, and rejected for various reasons.  I'd welcome any info on
this.

One such reason I can think about is that cvsps patchset numbers seem
to be currently the only way to identify a patchset, and those are not
guaranted to be stable from one cvsps release to the other - eg. I
hope the bug mentionned in previous mail there can be fixed some day,
and thus the fixed patchsets will have different numbers; or maybe
some day cvsps will deal better with the pseudo-revisions introduced
by RCS when adding a file on a branch.

So we have to be able to detect when the cvsps output has changed and
the git history is now possibly out of sync, or it would also be
possible to have a corrupted mirror of the cvs history.

For this, we would need to record some patchset information in the
imported commits - currently only the patchset number seems to make
sense, but if new cvsps releases can show the commitid's introduced in
cvs 1.12.x that would be of great help here.  Then we could validate
for each patchset whether we can find a commit with its patchset
number in the git history, and do some checks to assert this commit
corresponds to the expected patchset - until we have access to the cvs
commitid's, we can check that the files changed by the commit are the
same than those in the patchset.

Does that make sense to anyone, or am I completely off-track ?
-- 
Yann Dirson    <ydirson@xxxxxxxxxx> |
Debian-related: <dirson@xxxxxxxxxx> |   Support Debian GNU/Linux:
                                    |  Freedom, Power, Stability, Gratis
     http://ydirson.free.fr/        | Check <http://www.debian.org/>
-
: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]