Re: Problems with git-svn authors file
- From
- Eric Wong <normalperson@yhbt.net>
- Date
- Dec 12, 2006, 04:25 UTC
- Message-ID
- <20061212042558.GA31795@soma>
- In-Reply-To
- <20061210172604.GA18385@hermes.lan.home.vilz.de>
Nicolas Vilz <niv@iaglans.de> wrote:
Show 13 quoted lines
> 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 <normalperson@yhbt.net>
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 <normalperson@yhbt.net>
---
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);
--