|
From: | NIIMI Satoshi |
Subject: | Re: [DIFFS] Re: Connection to emacs CVS broken ? |
Date: | Sat, 17 Mar 2007 04:24:20 +0900 |
2007/3/17, Richard Stallman <address@hidden>:
4) extract changesets from my copy of CVS repository (e.g. convert the repository to changeset based SCM), verify changesets missing in savannah, commit them into savannah. Can you (or anyone) point us at documentation on how to do this?
Here is a script to extract changesets with Mercurial (Distributed SCM) and cvs20hg (CVS to Mercurial converter). One problem of this script is extracted changeset "emacs-trunk-09" contains incorrect difference for "$Id$" since cvs20hg seems to ignore sticky flag for keyword expansion. But it can be fixed to edit the changeset by hand because its format is usual unified diff. --------CUT HERE-------- #! /bin/sh set -e -x # limit processing range for speed up date='2007-03-11 00:00:00 UTC' # path to savannah repository backup cvsroot_savannah=/repo/emacs # path to my repository backup cvsroot_new=/repo/bak/emacs workdir=/tmp/emacs.$$ mkdir ${workdir} cd ${workdir} # import initial source as of ${date} cvs -Q -R -d ${cvsroot_savannah} co -P -D "${date}" emacs find emacs -name CVS -type d | xargs rm -rf hg -q init emacs hg -q --cwd emacs commit -A -m 'initial commit' -d "${date}" -u admin # convert savannah repository backup to hg cvs20hg ${cvsroot_savannah} emacs emacs # get (1+ newest) revision new=$(expr $(hg -q -R emacs tip --template '{rev}') + 1) # convert my repository backup to hg cvs20hg ${cvsroot_new} emacs emacs # extract missing changesets hg -q -R emacs export -o emacs-trunk-%n ${new}: --------CUT HERE-------- -- NIIMI Satoshi
[Prev in Thread] | Current Thread | [Next in Thread] |