cvsps_import can think that trunk checkins happened on a new branch

Bug #235884 reported by Max Kanat-Alexander
4
Affects Status Importance Assigned to Milestone
CVS to Bazaar importer
Triaged
Medium
Unassigned

Bug Description

I have been regularly rsync'ing the Bugzilla CVS repository to my local machine and running bzr cvsps-import on it, using the following commands:

 TZ=UTC CVSROOT=`pwd`/mozilla-cvs/ cvsps --root `pwd`/mozilla-cvs/ mozilla/webtools/bugzilla -u -A > bugzilla.cvsps.log 2> /dev/null
 bzr cvsps-import --quiet --cvsps-dump=bugzilla.cvsps.log mozilla-cvs mozilla/webtools/bugzilla bugzilla-import

However, the new BUGZILLA-3_2-BRANCH seems to have checkins that only happened in HEAD, in it. Here's probably why:

1. We made BUGZILLA-3_2-BRANCH in CVS.
2. After branching for 3.2, we did some checkins on HEAD that had been waiting for us to branch.
3. We didn't check anything into the new BUGZILLA-3_2-BRANCH for several days.

So now my bzr import of the 3.2 branch has all of the HEAD checkins we did for those several days, when it really shouldn't.

Revision history for this message
Max Kanat-Alexander (mkanat) wrote :

Here's the cvsps output for the bugzilla import. The HEAD parts that shouldn't be in the branch start at PatchSet 8195.

Revision history for this message
John A Meinel (jameinel) wrote :

This seems to be a basic problem with cvsps's ability to divine what actually happened. It seems like it is only focusing on timestamps, and not recognizing that when you create a branch, the tag of each file is important.

There isn't much that cvsps-import can do, other than push it to 'cvsps' to do a better job.

If we did get cvsps fixed, then we would have to look at changing cvsps-import to not think it had already converted those patches. Which should be possible, just remove stuff from the map files, and it won't know about the work it has already done, and then it should re-do it with different revision ids.

Revision history for this message
Alexandre Garnier (zigarn) wrote :

The problem is that branch creation is detected by cvsps only at first commit on the branch.
In cvsps 2.2b1, it introduce new notion to detect branch creation at last commit before (http://www.cobite.com/cvsps/CHANGELOG):
"add a new line item in the PatchSet output which indicates which
  branches fork off from after this PatchSet. This is actually
  the only way to correctly indicate the branching. The 'Ancestor
  Branch' thing is actually broken by design, and is now deprecated."

It would be nice to use this new "Branches:" line to create branches at right time : after last commit before their creation

Revision history for this message
John A Meinel (jameinel) wrote :

It would certainly be good to support this, I don't have the specific time right now to work on it, but I'd be happy to look at patches.

Changed in bzr-cvsps-import:
importance: Undecided → Medium
status: New → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.