From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17291 invoked from network); 12 Mar 2009 12:09:16 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 12 Mar 2009 12:09:16 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 12808 invoked from network); 12 Mar 2009 12:07:03 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 12 Mar 2009 12:07:03 -0000 Received: (qmail 28197 invoked by alias); 12 Mar 2009 12:06:56 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 26718 Received: (qmail 28179 invoked from network); 12 Mar 2009 12:06:55 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 12 Mar 2009 12:06:55 -0000 Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.18.14]) by bifrost.dotsrc.org (Postfix) with ESMTP id 5C61480307F9 for ; Thu, 12 Mar 2009 13:06:46 +0100 (CET) Received: from [212.117.84.179] (helo=fsst.voodoo.lan) by smtprelay02.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1LhjgT-00032F-Ui for zsh-workers@sunsite.dk; Thu, 12 Mar 2009 13:06:46 +0100 Received: from hawk by fsst.voodoo.lan with local (Exim 4.69) (envelope-from ) id 1LhjgS-000854-N1 for zsh-workers@sunsite.dk; Thu, 12 Mar 2009 13:06:44 +0100 Date: Thu, 12 Mar 2009 13:06:44 +0100 From: Frank Terbeck To: Zsh hackers list Subject: Re: CVS repository down Message-ID: <20090312120644.GC4167@fsst.voodoo.lan> Mail-Followup-To: Zsh hackers list References: <19130.1236766395@csr.com> <237967ef0903110331k11382cfla7f30dac18f31919@mail.gmail.com> <20090312054831.GB15649@blorf.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20090312054831.GB15649@blorf.net> User-Agent: Mutt/1.5.18 (2008-05-17) X-Df-Sender: 430444 X-Virus-Scanned: ClamAV 0.92.1/9100/Thu Mar 12 10:07:56 2009 on bifrost X-Virus-Status: Clean Wayne Davison : > Mikael Magnusson wrote: > > git clone git://repo.or.cz/zsh.git > > I pushed that one to sourceforge [...] That is a clone of Clint's cvs-to-git conversion from git.debian.org. He uses tailor¹ to perform the conversion. It seems that tailor gets confused here and there, as it quite often creates two (sometimes even three) git commits per cvs commit. [snip] (6086)-/tmp/zsh [master]-% git log -12 | git shortlog pws (12): add whole-path style to _perforce completer add whole-path style to _perforce completer unposted: fix definition of _perforce_whole_path in 26690 unposted: fix definition of _perforce_whole_path in 26690 26697: test for Linux- and Mac-style xattr functions derf@sievert.tabularazor.org: 26701: new devtodo completion derf@sievert.tabularazor.org: 26701: new devtodo completion 26072: lexsave()/lexrestore() to fix bug with sourcing from "funny" places 26072: lexsave()/lexrestore() to fix bug with sourcing from "funny" places 26705: multibyte characters with Meta in ${(%)foo} etc. 26705: multibyte characters with Meta in ${(%)foo} etc. print message if we give up trying to crate a lock file with hard links [snap] I think Clint chose tailor, because at the time 'git cvsimport' failed to import the zsh repository. That however, isn't the case anymore. And the history created by 'git cvsimport' seems to be a lot more consistent with cvs's history. To import the cvs repository into a git repository, the following script may be used: [snip] #!/bin/sh PROJECT='zsh' MODULE='zsh' DESTINATION="/usr/src/${PROJECT}.git" AUTHORS="/usr/src/${PROJECT}-authors.txt" CVS="/usr/src/mirror/${PROJECT}-cvs" RSYNCURI="rsync://${PROJECT}.cvs.sourceforge.net/cvsroot/${PROJECT}" [ ! -d "${CVS}" ] && { mkdir -p "${CVS}" || { printf 'Could not create %s.\n' "${CVS}" && exit 1 ; } ; } (cd "${CVS}"; rsync -av "${RSYNCURI}/*" .) if [ -f "${AUTHORS}" ] ; then git cvsimport -v -k -s- -a -u -A "${AUTHORS}" -C "${DESTINATION}" -d"${CVS}" "${MODULE}" else git cvsimport -v -k -s- -a -u -C "${DESTINATION}" -d"${CVS}" "${MODULE}" fi [snap] If you create a file that describes the cvs-usernames a little further, git will transform that to "User Name " - which is the common format when using git. If the script above is unchanged, such a file would be named /usr/src/zsh-authors.txt and it would look like this: [snip] pws=Peter Stephenson barts=Bart Schaefer [snap] And so on... The initial import takes about 40 minutes on my really not up to date laptop. After that you got a clean history in git, too. Regards, Frank ¹ -- In protocol design, perfection has been reached not when there is nothing left to add, but when there is nothing left to take away. -- RFC 1925