Problems with git-svn authors file

4 messages, 3 authors, 2016-08-11 · open the first message on its own page

Problems with git-svn authors file

From: Nicolas Vilz <hidden>
Date: 2016-08-11 20:21:55

hello,

i tried to use git-svn with author-files and got stuck with following
error message:

Use of uninitialized value in hash element at /usr/bin/git-svn line
2952.
Use of uninitialized value in concatenation (.) or string at
/usr/bin/git-svn line 2953.
Author:  not defined in .git/info/svn-authors file
512 at /usr/bin/git-svn line 457
        main::fetch_lib() called at /usr/bin/git-svn line 328
        main::fetch() called at /usr/bin/git-svn line 187


my svn-authors file looks like this:
---->8-----------------
username = Real Name <email@address>
---->8-----------------
It is placed in .git/info/svn-authors and is configured via
svn.authorsfile. I tried to dig in the code and it says at line 2952 if
there is an $_author variable defined and no $users{$author}, then die
with that message... 

above function load_authors i have found

# '<svn username> = real-name <email address>' mapping based on git-svnimport:

now i am a bit confused, because the manual says, the svn-authors file
looks like my file above and here it sounds like 

<svn username> = real-name <email address>

is the real syntax for that file...

If i ommit the -A or --authors-file= parameter (or unset the
svn.authorsfile config-parameter)  while git-svn fetch, afterwards in 
gitk --all, there is only the svn-username and the revision-uuid.

Am i doing something wrong?

Sincerly

Re: Problems with git-svn authors file

From: Andy Parkins <hidden>
Date: 2016-08-11 19:42:05

On Sunday 2006 December 10 17:26, Nicolas Vilz wrote:
Use of uninitialized value in hash element at /usr/bin/git-svn line
2952.
Use of uninitialized value in concatenation (.) or string at
/usr/bin/git-svn line 2953.
Author:  not defined in .git/info/svn-authors file
512 at /usr/bin/git-svn line 457
        main::fetch_lib() called at /usr/bin/git-svn line 328
        main::fetch() called at /usr/bin/git-svn line 187
I've had errors like this.  For certain repositories (possibly very old ones) 
there is an unusual, empty, revision 0.  I got around the problem by telling 
git-svn to start at revision 1.  Everything seemed fine after that.

$ git-svn fetch -r1

I don't know if that will be your fix, but it's worth a try.


Andy
-- 
Dr Andy Parkins, M Eng (hons), MIEE

Re: Problems with git-svn authors file

From: Eric Wong <hidden>
Date: 2016-08-11 19:43:42

Nicolas Vilz [off-list ref] wrote:
hello,

i tried to use git-svn with author-files and got stuck with following
error message:

Use of uninitialized value in hash element at /usr/bin/git-svn line
2952.
Use of uninitialized value in concatenation (.) or string at
/usr/bin/git-svn line 2953.
Author:  not defined in .git/info/svn-authors file
512 at /usr/bin/git-svn line 457
        main::fetch_lib() called at /usr/bin/git-svn line 328
        main::fetch() called at /usr/bin/git-svn line 187
Am i doing something wrong?
No, this is just a bug in git-svn.

After the following patch, you should be able to use
--------------------------------------------
(no author) = real-name <email address>
--------------------------------------------
in your authors file.

-- 
Eric Wong

From b40e14605809b0b1501002a333fbd680913f127f Mon Sep 17 00:00:00 2001
From: Eric Wong <redacted>
Date: Mon, 11 Dec 2006 20:22:29 -0800
Subject: [PATCH] git-svn: correctly handle "(no author)" when using an authors file

The low-level parts of the SVN library return NULL/undef for
author-less revisions, whereas "(no author)" is a (svn) client
convention.

Signed-off-by: Eric Wong <redacted>
---
 git-svn.perl |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl
index 1f8a3b0..17ebb77 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -2948,7 +2948,8 @@ sub libsvn_log_entry {
 	my ($Y,$m,$d,$H,$M,$S) = ($date =~ /^(\d{4})\-(\d\d)\-(\d\d)T
 					 (\d\d)\:(\d\d)\:(\d\d).\d+Z$/x)
 				or die "Unable to parse date: $date\n";
-	if (defined $_authors && ! defined $users{$author}) {
+	if (defined $author && length $author > 0 &&
+	    defined $_authors && ! defined $users{$author}) {
 		die "Author: $author not defined in $_authors file\n";
 	}
 	$msg = '' if ($rev == 0 && !defined $msg);
-- 

Re: Problems with git-svn authors file

From: Nicolas Vilz <hidden>
Date: 2016-08-11 19:56:40

On Mon, Dec 11, 2006 at 09:04:52AM +0000, Andy Parkins wrote:
On Sunday 2006 December 10 17:26, Nicolas Vilz wrote:
quoted
Use of uninitialized value in hash element at /usr/bin/git-svn line
2952.
Use of uninitialized value in concatenation (.) or string at
/usr/bin/git-svn line 2953.
Author:  not defined in .git/info/svn-authors file
512 at /usr/bin/git-svn line 457
        main::fetch_lib() called at /usr/bin/git-svn line 328
        main::fetch() called at /usr/bin/git-svn line 187
I've had errors like this.  For certain repositories (possibly very old ones) 
there is an unusual, empty, revision 0.  I got around the problem by telling 
git-svn to start at revision 1.  Everything seemed fine after that.
Well it is a fresh repository. And you are right, there is an empty
revision 0. I didn't recognize that is was the revision 0 I got stuck
with. But it is obvious now :)
$ git-svn fetch -r1

I don't know if that will be your fix, but it's worth a try.
That fixed it, thx.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help