From nisse at lysator.liu.se Tue Jan 24 10:01:01 2012 From: nisse at lysator.liu.se (Niels =?iso-8859-1?Q?M=F6ller?=) Date: Tue, 24 Jan 2012 10:01:01 +0100 Subject: Migration from CVS to GIT Message-ID: I'm finally looking into conversion of the lsh repository from CVS to GIT, and this naturally also includes nettle. A public test repository can be found at lysator's gitorious installation, at http://git.lysator.liu.se/lsh/test-2. The conversion was done by the pcvs2git.pike program (see git://pike-git.lysator.liu.se/pcvs2git.git), and I got some help from Henrik Grubbstr?m to write a config file to handle the few peculiarities in the lsh repository. The intention is that the new git repository should include all branches and tags from the old cvs repository, and record major merge events, like the 2006-05-16 merge from the experimental branch to the trunk. Please test, and if all goes well I'll rename this repository to "lsh" (or recreate, if I can't figure out how to do repository renames with gitorious). If this first steps works out ok, step two is to do a some cleanups (switching to utf-8 for the files, deleting old $Id$ tags, etc). And then step three is to extract the nettle subdirectory as an independent project and repository, using git subtree of git filter-branch or so (I'm not sure what's the best tool for that job). Other sub-projects, e.g., the argp implementation, can be split out later, if desired. For the few "common files" (e.g., misc/run-tests), they'll simply have to be duplicated in several repositories. If I still want to bundle nettle with the lsh distribution, I'll handle that by setting up some symlink in my working tree. git submodule is probably not a solution, and git subtree is most likely overkill. The old CVS repository can be considered read-only now. Regards, /Niels -- Niels M?ller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. From nisse at lysator.liu.se Tue Jan 24 13:15:08 2012 From: nisse at lysator.liu.se (Niels =?iso-8859-1?Q?M=F6ller?=) Date: Tue, 24 Jan 2012 13:15:08 +0100 Subject: Migration from CVS to GIT In-Reply-To: ("Martin =?iso-8859-1?Q?Storsj=F6=22's?= message of "Tue, 24 Jan 2012 11:27:44 +0200 (EET)") References: Message-ID: Martin Storsj? writes: > I'd hope for a round of filter-branch to rewrite author names in git > to the original author of patches. I was thinking that it's good enough to convert the information recorded by cvs. But it's certainly possible to add specified author names for certain commits, as a part of the conversion process. The config/Pike-real-authors file (from the git://pike-git.lysator.liu.se/pcvs2git.git repository) is an example of what that input file should look like. Since I haven't used it I'm not sure how it works, but I could try to find out. But it's going to be some manual work, going through the ChangeLog files looking for contributed changes, and then looking at the cvs log to identify affected revisions and writing the input file for --contributors. > If you don't feel up to doing this yourself, I can try to give it a go. If you want to give it a try, I'll explain what's needed. 1. Get pike 7.8 release 550 or later, http://pike.ida.liu.se/pub/pike/beta/7.8.550/Pike-v7.8.550.tar.gz Annoyingly enough, it doesn't support the most recent version of nettle, resulting in compilation errors on the DES glue. I had to #if out the DES and DES3 ciphers from the Nettle module. Alternatively, there should be some configure argument to force Pike to build with the bundled version of nettle, rather than the installed version. 2. Get git://pike-git.lysator.liu.se/pcvs2git.git. This includes Henrik's configuration file in config/lsh.pcvs2git. 3. Get the CVS repository. I'm putting a copy at http://www.lysator.liu.se/~nisse/misc/lsh-cvsroot.tar.gz 4. Create an authors.txt file, containing nisse=Niels M?ller uid444=Niels M?ller _cvs_pont=Pontus Freyhult 5. To do the conversion, I used the command line pike ../pcvs2git/pcvs2git.pike -c ../pcvs2git/config/lsh.pcvs2git \ -A authors.txt -k -l -C lsh.git -d lsh-cvsroot/lsh It spawns a git fast-import process which populates the new repository. The result should be almost identical to the current "test-2" repository (Henrik has committed some tweaks for the generated .gitattributes files). To use a contributors file, add --contributors contributors.txt early on the above command line (the -d option and argument has to come after other options). Regards, /Niels -- Niels M?ller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. From nisse at lysator.liu.se Tue Jan 31 15:39:11 2012 From: nisse at lysator.liu.se (Niels =?iso-8859-1?Q?M=F6ller?=) Date: Tue, 31 Jan 2012 15:39:11 +0100 Subject: Migration from CVS to GIT In-Reply-To: ("Niels =?iso-8859-1?Q?M=F6ller=22's?= message of "Tue, 24 Jan 2012 10:01:01 +0100") References: Message-ID: Now I've went through the history, back from the previous millennium, startig from the authors and contributors files that Martin was kind enough to prepare. It's taken a few days. The early ChangeLog entries were a bit messy. The new repository is now git://git.lysator.liu.se/lsh/test-3.git And I also found out some things which I had forgotten. E.g., * The very first version of the lsh-export-key program was written by Jean-Pierre Stierlin. * Dan Egnor wrote the base64 code in Nettle, with much effort spent on finding the right interface design. * Pieces of Bal?zs Scheidler's now obsolete lsh_proxy program still survives, since current gateway_channel.c evolved from his proxy_channel.c. The recorded authors are listed below. These are all people I have been able to find who have contributed a larger or smaller change to lsh or nettle (not counting bug reports or sugestions for changes). Change sets which mix a contributed patch with other changes also don't get the contributor listed as author. So we have 37 authors over the years: Adam Langley Andres Mejia Bal?zs Scheidler Dagobert Michelsen Dan Egnor Daniel Kahn Gillmor David Hoyt Gordon Matzigkeit Grant Robinson Henrik Grubbstr?m J.H.M. Dassen James Ralston Jean-Pierre Stierlin Joseph Galbraith Kalle Olavi Niemitalo Karl Berry Keresztfalvi Gabor Agoston Luiz Eduardo Gava Magnus Holmgren Martin Storsj? Meilof Veeningen Niels M?ller Nikos Mavrogiannopoulos Pavel Roskin Per Cederqvist Pontus Freyhult Pontus Sk?ld Rafael Sevilla Rafal Maszkowski Ruud de Rooij Ryan Schmidt Sebastian Reitenbach Simon Josefsson Stefan Pfetzing Thayne Harbaugh Vincent Torri Volker Zell (Some statistics on first and latest contribution for each author, lines contributed, contributed lines still surviving in the tree, etc, would be interesting). Testing and general browsing of the history is appreciated. In a few days, I think I'll consider the conversion final. Regards, /Niels -- Niels M?ller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. From nisse at lysator.liu.se Fri Feb 3 10:04:30 2012 From: nisse at lysator.liu.se (Niels =?iso-8859-1?Q?M=F6ller?=) Date: Fri, 03 Feb 2012 10:04:30 +0100 Subject: Migration from CVS to GIT In-Reply-To: ("Martin =?iso-8859-1?Q?Storsj=F6=22's?= message of "Tue, 31 Jan 2012 16:50:48 +0200 (EET)") References: Message-ID: Martin Storsj? writes: > The author mapping looks good to me at least, looking forward to the > final repo Now "final". Repo url git://git.lysator.liu.se/lsh/lsh.git. I renamed the old gitorious "project" to get the various test repositories out of the way. After the conversion, I have pushed some tags to all branches to mark the conversion. On master only, I have eliminatd $Id tags in files, and converted all textfiles to utf-8 (encoding marks in texinfo and html not yet updated, though). > (including separated nettle)! Not there yet. Regards, /Niels -- Niels M?ller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. From simon at josefsson.org Sat Feb 4 09:42:36 2012 From: simon at josefsson.org (Simon Josefsson) Date: Sat, 04 Feb 2012 09:42:36 +0100 Subject: Migration from CVS to GIT In-Reply-To: ("Niels \=\?iso-8859-1\?Q\?M\=F6ller\=22's\?\= message of "Fri, 03 Feb 2012 10:04:30 +0100") References: Message-ID: <87ipjnkn0j.fsf@latte.josefsson.org> nisse at lysator.liu.se (Niels M?ller) writes: > Martin Storsj? writes: > >> The author mapping looks good to me at least, looking forward to the >> final repo > > Now "final". Repo url git://git.lysator.liu.se/lsh/lsh.git. I renamed > the old gitorious "project" to get the various test repositories out of > the way. Great! I added it to my batch job to create statistics for, see output here: http://gitstats.josefsson.org/lsh/ /Simon