Re: git clone svn: authors from authors file are ignored, authors-prog works, but crashes on branch points
From: Till Schäfer <hidden>
Date: 2016-06-15 23:06:30
Hi, I can confirm, that the patch (see mail: "[PATCH] git-svn: parse authors file more leniently") fixes the "Author: **** not defined in **** file" problem in my case. Downgrading to subversion 1.8.13 (from 1.8.14) also fixes the branching crash in revision 17. With subversion 1.8.14 i still get: Found possible branch point: svn://svn.code.sf.net/p/scaffoldhunter/code/trunk => svn://svn.code.sf.net/p/scaffoldhunter/code/branches/subsearch, 17 Use of uninitialized value $u in substitution (s///) at /usr/lib64/perl5/vendor_perl/5.20.2/Git/SVN.pm line 101. Use of uninitialized value $u in concatenation (.) or string at /usr/lib64/perl5/vendor_perl/5.20.2/Git/SVN.pm line 101. refs/remotes/origin/trunk: 'svn://svn.code.sf.net/p/scaffoldhunter/code' not found in '' Am Donnerstag, 10. September 2015, 14:32:07 schrieb Michael J Gruber:
Till Schäfer venit, vidit, dixit 26.08.2015 21:57:quoted
Hi, i am observing some weired "git svn clone" behavior during my try to migrate the Scaffold Hunter [1] SVN repository [2] to Git: if i just use the command $ git svn clone svn://svn.code.sf.net/p/scaffoldhunter/code --no-metadata -s codeIs there a specific reason for "--no-metadata"? The man page advises against it. Basically, it keeps you from converting the history in chunks. (You can always filter-branch everything after a complete, "one shot" conversion which may be done in stages.)
i was basically following the tutorial at git-scm [1] (which is also somewhat outdated in the later svn branch conversion). Anyway, i did not read the manual :-/ (man-page) Regards, Till [1] https://git-scm.com/book/en/v2/Git-and-Other-Systems-Migrating-to-Git
quoted
everything went smoothly. Now i wanted to replace the authors SVN-logins by useful names and created a mapping file with the following content: anjenson = Andrew Zhilka <> bernhard.dick = Bernhard Dick <> dominic.sacre = Dominic Sacré <> doxmoxbox = doxmoxbox <> falkn = Falk Nette <> henning.garus = Henning Garus <> kakl = Karsten Klein <> klein = Karsten Klein <> lappie00 = Jeroen Lappenschaar <> michael.hesse = Michael Hesse <> nlskrg = Nils Kriege [off-list ref] philipp.kopp = Philipp Kopp <> philipp.lewe = Philipp Lewe <> schrins = Sven Schrinner <> shamshadnpti = Shamshad Alam <> srenner7 = Steffen Renner <> sturm89 = Werner Sturm <> thomas.schmitz = Thomas Schmitz <> thorsten.fluegel = Thorsten Flügel <> till.schaefer = Till Schäfer [off-list ref] tillschaefer = Till Schäfer [off-list ref] I executed: $ git svn clone svn://svn.code.sf.net/p/scaffoldhunter/code --authors-file=/home/till/temp/code-authors-transform.txt --no-metadata -s code and got the error message "Author: klein not defined in /home/till/temp/code-authors-transform.txt file". I tried a workaround by using a python script to return the entries i have already defined in the authors file: $ git svn clone svn://svn.code.sf.net/p/scaffoldhunter/code --authors-file=/home/till/temp/code-authors-transform.txt --authors-prog=/home/till/temp/authors.py --no-metadata -s code The import process now went over the "klein" commit. The weired thing is, that a few SVN usernames seem to be recognized in the authors file and a few are passed to my script (I logged the output). However, at the first revision, where a tag was added in the SVN repo the cloning process crashed with the error message:That first part is weird already. The reason is that author-file processing and author-prog output processing use different perl regexps. I will follow up with a patch.quoted
Found possible branch point: svn://svn.code.sf.net/p/scaffoldhunter/code/trunk => svn://svn.code.sf.net/p/scaffoldhunter/code/branches/subsearch, 17 Use of uninitialized value $u in substitution (s///) at /usr/lib64/perl5/vendor_perl/5.20.2/Git/SVN.pm line 101. Use of uninitialized value $u in concatenation (.) or string at /usr/lib64/perl5/vendor_perl/5.20.2/Git/SVN.pm line 101. refs/remotes/origin/trunk: 'svn://svn.code.sf.net/p/scaffoldhunter/code' not found in '' One problem I am seeing in the SVN repo is, that between the revisions 97 and 102 the trunk folder was absent. the old one was moved to some subfolder and a new one was created. Therefore, I started the cloning beginning with rev 102 using the command line option "-r102:HEAD". However, the same error occurred for some later tag (the first tag after rev 102). Found possible branch point: svn://svn.code.sf.net/p/scaffoldhunter/code/trunk => svn://svn.code.sf.net/p/scaffoldhunter/code/tags/release-2.0, 1565 Use of uninitialized value $u in substitution (s///) at /usr/lib64/perl5/vendor_perl/5.20.2/Git/SVN.pm line 101. Use of uninitialized value $u in concatenation (.) or string at /usr/lib64/perl5/vendor_perl/5.20.2/Git/SVN.pm line 101. refs/remotes/origin/trunk: 'svn://svn.code.sf.net/p/scaffoldhunter/code' not found in '' I would be very glad if someone has a hint about what is going wrong here. Is this a bug in git or is something wrong with the SVN repo?The layout change (no root) certainly doesn't help. We shouldn't crash, though.quoted
used software versions: - git 2.5.0 - subversion 1.8.14The conversion goes through for me with (your other options and) your authors file and specifying a stupid authors prog: --->8--- #!/bin/sh grep "$1" /tmp/t/authors | head -n 1 | cut -d'=' -f2 | cut -c'2-' --->8--- and: git version 2.6.0.rc0.178.g4177fa5 svn, Version 1.8.13 (r1667537) with our without --authors-file... (It went also through with a patched git-svn and just the authors file.) I don't think git-svn has changed since git 2.5.0. Maybe you can downgrade svn for the one-shot conversion? I don't see anything suspicious in their changelog but don't remember it as being overly complete. git svn served us well in making itself mostly obsolete. The downside is that not many are using it any more. Keeping up with subversion changes (to keep git svn working) has become more and more difficult. Michael
-- Dipl.-Inf. Till Schäfer TU Dortmund University Chair 11 - Algorithm Engineering Otto-Hahn-Str. 14 / Room 237 44227 Dortmund, Germany e-mail: till.schaefer@cs.tu-dortmund.de phone: +49(231)755-7706 fax: +49(231)755-7740 web: http://ls11-www.cs.uni-dortmund.de/staff/schaefer pgp: https://keyserver2.pgp.com/vkd/SubmitSearch.event?&&SearchCriteria=0xD84DED79