I would really like to finish the migration away from CVS to hg.

This is a list of items that need to be done for this to happen.

There are at least the following topics:


hg supports conversion from CVS directly, but it doesn't handle cvs import well.

cvs2fossil is preferred, packaged in wip/cvs2fossil and wip/cvs2hg

The src and pkgsrc conversions are based on by now very old scripts and might need migration to the new tools.

hg server


Updating Repository Contents & Deployment

Switch from CVS to hg


Cleanups after conversions are final (these can only be done once the CVS-to-hg step is finalized, because they are manual work and would get lost otherwise)

Notes: Branch Merging

The migration keeps branch information, but there is no way to automatically create merge commits from the data available in CVS.

Therefore, after the conversion, before the import of a new vendor version on the branch, hg needs to be told that the merge already happened. One method for this would be:

hg checkout default
hg revert (to branch head)
hg commit (null-merge, just to let hg know this is already merged)

and only then start with importing the new version on the vendor branch.

Notes: Closing Branches

hg supports the concept of closing a branch using hg commit --close-branch. This should probably be done after the migration.