cscvs sometimes split a CVS commit in multiple changesets
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad CSCVS |
Triaged
|
Low
|
Unassigned |
Bug Description
CSCVS identifies CVS changesets with a sequential id and creates them by grouping related commits from the same user, with the same message, and occuring within a short time period. When a sync occurs concurrently to a group of related CVS commits, the part of the commit group that is completed at the time of the sync is interpreted as a changeset, and the rest of group is interpreted as a separate changeset on the next sync. I will call this situation a ``split changeset''.
If the cache is generated from scratch at a later date, the changeset is properly grouped in the cache. But since the split changeset was imported in two commits by the previous syncs, all subsequent changesets do not have matching ids in the branch and in the cache. If there was one split commit, the first new changeset to import has, in the cache, the id of the last committed changeset in the branch, so the first new changeset is not imported.
In principle it should be possible to ignore recent commits that may be grouped with future commits, but David Allouche looked at the problem in the past and was unable to understand how changesets were generated.
Regardless, it is almost certain that several import branches now contain such split changesets. So being able to delete the CSCVS cache would require a way to deal with existing split changesets, just preventing the creation of new ones would not be sufficient.
Publishing split changesets is not a big problem in itself, so this fixing this bug needs not be a high priority.
Changed in launchpad: | |
assignee: | nobody → ddaa |
status: | Unconfirmed → Confirmed |
Changed in launchpad-bazaar: | |
assignee: | ddaa → nobody |
tags: | added: cvs |
Changed in launchpad-cscvs: | |
importance: | Medium → Low |
subscribing losas as this has an impact wrt backups on escurdero; between the importds and codehost.