[Kolab-devel] CVS to Mercurial conversion
Gunnar Wrobel
wrobel at kolabsys.com
Wed Sep 1 09:56:43 CEST 2010
Hi!
We are finally getting ready to migrate from CVS to Mercurial. There
are two things that might need some feedback from the community:
- Conversion of CVS commiter IDs to Mercurial commiter IDs
- Conversion of CVS branch and tag names to Mercurial branch and tag names
I attached the relevant information. Both files list the commands I
used to extract information from our CVS repository so I hope the
approach is transparent. Please speak up if you find flaws in these
commands.
For the branch and tag names I just included by personal opinion on
how these tags and branch names could be named in mercurial. Feel free
to disagree and add alternative suggestions.
The basic ideas behind my tag suggestions:
- Use the "server" prefix to identify the product. So far CVS just holds the
"server" product. But it is likely that there will be variants of this
product in the future (e.g. "hosted" or maybe "debian" or some such).
- Use the version number in the tag.
So the most recent release tag would be "server.2.2.4".
There was nothing specific to my branch name suggestions. I'm used to
capitals because of the Horde project but to be honest I don't know if
there exist specific conventions concerning branch names. I would
suggest to also have the product name in there as suggested for tag
names, too.
If we agree on a common tag/branch naming pattern I'd like to document
this in the wiki as a point of reference for the years to come.
The more important part than these conventions are the names of people
with Kolab CVS commit rights. In CVS these were short user names while
we will use the full name + mail address for mercurial. So it was
necessary to establish a mapping between the two. I did try my best to
compile an accurate list which I attached. Not all of this information
will be accurate though and we need your help to correct it.
Especially if you are a person with Kolab CVS commit access.
I have several questions concerning this list:
- Is the listed mail address the correct one?
- I tried identifying the most recent mail addresses for the persons with
commit access. Is this what we want to use or should we use old
addresses if
we are certain those were being used when the person was actively
working on
the Kolab server?
- Should we send a mail to all the people on the list and get verification of
the addresses?
- Should we use Umlauts in the names or not?
I felt like a human spam bot when compiling this list :)
We'd like to get the whole conversion thing completed as quickly as
possible. So it would be nice if we could get responses during this
week.
Thomas: To which extent is it possible to correct any of the
information listed here *after* the conversion has been done?
Cheers,
Gunnar
--
Gunnar Wrobel
Developer, Kolab Systems AG
e: wrobel at kolabsys.com
t: +49 700 6245 0000
w: http://www.kolabsys.com
pgp: 9703 43BE
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
-------------- next part --------------
Extracted the available CVS tags using:
cvs log -h | sed -n '/symbolic names:/,/keyword substitution:/p' | grep -v "keyword substitution" | grep -v "symbolic names" | grep -v -e "0\.[0-9]\+$" | sed -e 's/^\s*\([^ ]*\):.*/\1/' | sort | uniq
The suggested mercurial tag name is listed after the colon. This is
just my suggestion. Feel free to suggest an alternative.
-TAGS---------------------------
V1-0-BETA-2:server.1.0.beta2
kdab: server.2.0.pre_kolabd.1
kolab-server-2-0-4:server.2.0.4
kolab-server-2-1-0:server.2.1.0
kolab-server-2-1-beta-2:server.2.1.beta2
kolab-server-2-1-beta-3:server.2.1.beta3
kolab-server-2-1-beta-4:server.2.1.beta4
kolab-server-2-1-rc-1:server.2.1.rc1
kolab-server-2-1-rc-2:server.2.1.rc2
kolab-server-2-2-0:server.2.2.0
kolab-server-2-2-1:server.2.2.1
kolab-server-2-2-1-beta-1:server.2.2.1.beta1
kolab-server-2-2-1-rc-1:server.2.2.1.rc1
kolab-server-2-2-2:server.2.2.2
kolab-server-2-2-3:server.2.2.3
kolab-server-2-2-3-rc-1:server.2.2.3.rc1
kolab-server-2-2-4:server.2.2.4
kolab-server-2-2-beta-2:server.2.2.beta2
kolab-server-2-2-beta-3:server.2.2.beta3
kolab-server-2-2-rc-1:server.2.2.rc1
kolab-server-2-2-rc-2:server.2.2.rc2
kolab-server-2-2-rc-3:server.2.2.rc3
kolab2:server.2.0.pre_kolabd.2
kolab_2_0_tag:server.2.0
kroupware:server.1.0
pre_autoperl:server.2.0.pre_perlkolab
proko2_m1:server.1.0.proko2.m1
proko2_m2c:server.1.0.proko2.m2
proko2_m3::server.1.0.proko2.m3
--------------------------------
Extracted the available CVS branches using:
cvs log -h | sed -n '/symbolic names:/,/keyword substitution:/p' | grep -v "keyword substitution" | grep -v "symbolic names" | grep -e "0\.[0-9]\+$" | sed -e 's/^\s*\([^ ]*\):.*/\1/' | sort | uniq
The suggested mercurial branch name is listed after the colon. This is
just my suggestion. Feel free to suggest an alternative.
-BRANCHES-----------------------
KOLAB_1_0: SERVER_1_0
KOLAB_1_1: SERVER_1_1
kolab_2_0_branch: SERVER_2_0
kolab_2_1_branch: SERVER_2_1
kolab_2_2_branch: SERVER_2_3
suc_branch: SERVER_CUST_SUC
--------------------------------
-------------- next part --------------
Extracted the authors in each module by running:
cvs log . | grep "author:" | sed -e 's/.*author: \([^;]*\).*/\1/' | sort | uniq > commiters.txt
Concatenated the authors from the different modules by:
cat */commiters.txt | sort | uniq > commiters_all_modules.txt
Finally search different resources on the net for the most probable
commiter names and mail addresses. Remarks added in [].
-START----------------------------------------------------------------------------------------------------
achim=Achim Frank <achim.frank at erfrakon.de>
bernhard=Bernhard Reiter <bernhard at intevation.de>
bh=Bernhard Herzog <bh at intevation.de>
bo=Bo Thorsen <bo at fioniasoftware.dk>
danimo=Daniel Molkentin <daniel at molkentin.de>
david=David Faure <dfaure at kdab.com> [only commited in module "doc"]
emanuel=Emanuel Schuetze <emanuel at intevation.de> [Umlaut: Schütze, only commited in module "doc"]
greve=Georg Greve <greve at kolabsys.com> [only commited in module "doc"]
gunnar=Gunnar Wrobel <wrobel at pardus.de>
jan=Jan-Oliver Wagener <jan-oliver.wagner at intevation.de> [most likely candidate]
khruskowski=Karl-Heinz Ruskowski <khruskowski at intevation.de>
ljohansen= [?, no clue who that might be, only commited in module "doc"]
ludwig=Ludwig Reiter <ludwig.reiter at intevation.de> [only commited in module "utils"]
marc=Marc Mutz <marc at kdab.com> [most likely candidate, only commited in module "doc"]
marcus=Marcus Huewe <suse-tux at gmx.de> [Umlaut: Marcus Hüwe]
martin=Martin Konold <martin.konold at erfrakon.de>
mathieu=Mathieu Parent <math.parent at gmail.com>
michel=Michel Boyer de la Giroday <michel at kdab.com> [only commited in module "doc"]
richard=Richard Bos <ml at radoeka.nl>
romain=Romain Pokrzywka <romain at kdab.com>
schreiber=Arne Schreiber<arne at kdab.com>
steffen=Steffen Hansen <steffen at kdab.com>
stephan=Stephan Buys <main at stephanbuys.com> [Is this the current mail address?]
stuart=Stuart Binge <s.binge at codefusion.co.za> [Umlaut: Bingé]
tassilo=Tassilo Erlewein <tassilo.erlewein at erfrakon.de>
thomas=Thomas Arendsen Hein <thomas at intevation.de>
till=Till Adam <till at kdab.net>
tobias= [?, no clue who that might be, only commited in module "doc"]
torsten=Torsten Irlaender <torsten.irlaender at intevation.de> [only commited in module "utils" and "doc"]
wilde=Sascha Wilde <wilde at intevation.de>
-END-------------------------------------------------------------------------------------------------------
Clean this up by running:
cat commiters_all_modules.txt | sed -n '/-START/,/-END/p' | grep -v -- "----" | sed -e 's/^\([^\[]*\) \[.*/\1/'
More information about the devel
mailing list