git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] git svn: read global+system config for clone+init

From
EWEric Wong <normalperson@yhbt.net>
Date
Nov 14, 2009, 22:39 UTC
Message-ID
<20091114223930.GA10176@dcvr.yhbt.net>
In-Reply-To
<20091110130913.GR19475@poetic.cynic.net>
Curt Sampson <cjs@cynic.net> wrote:
Show 8 quoted lines
> When using "git svn fetch" or "git svn clone", the --authors-file
> command line parameter does what it claims in the docs. Additionally,
> for "git svn fetch", an svn.authorsfile configuration parameter in
> ~/.gitconfig is used, if no command line argument is specified. However,
> svn.authorsfile is ignored by "git svn clone", though the documentation
> claims that clone "runs init and fetch."
> 
> I have confirmed this bug is present in git versions 1.6.0.4 and 1.6.5.1.
Hi Curt,

Thanks for the bug report, the following patch should fix the bug. Also pullable from git://git.bogomips.org/git-svn

>From 1a30582b43e137e16b3486d83bb86b0eb090e13d Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson@yhbt.net>
Date: Sat, 14 Nov 2009 14:25:11 -0800
Subject: [PATCH] git svn: read global+system config for clone+init

Since $GIT_DIR does not exist when initializing new repositories, we can follow back to the global and system config files for git.

The logic for this was originally introduced when $GIT_DIR/config was the only config file git could read (back when "git config" was "git repo-config"), so the function is renamed to "read_git_config" instead of "read_repo_config".

Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
 git-svn.perl |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl
index 27fbe30..ea922ac 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -274,7 +274,7 @@ unless ($cmd && $cmd =~ /(?:clone|init|multi-init)$/) {
 
 my %opts = %{$cmd{$cmd}->[2]} if (defined $cmd);
 
-read_repo_config(\%opts);
+read_git_config(\%opts);
 if ($cmd && ($cmd eq 'log' || $cmd eq 'blame')) {
 	Getopt::Long::Configure('pass_through');
 }
@@ -1390,8 +1390,7 @@ sub load_authors {
 }
 
 # convert GetOpt::Long specs for use by git-config
-sub read_repo_config {
-	return unless -d $ENV{GIT_DIR};
+sub read_git_config {
 	my $opts = shift;
 	my @config_only;
 	foreach my $o (keys %$opts) {
-- 
Eric Wong
Previous: Curt SampsonNext: Eric Wong
Message 7 of 8 in “Bug: "git svn clone" does not honor svn.authorsfile setting”
  1. Curt SampsonNov 10, 2009
  2. Sverre RabbelierNov 10, 2009
  3. Junio C HamanoNov 10, 2009
  4. Curt SampsonNov 13, 2009
  5. Sam VilainNov 11, 2009
  6. Curt SampsonNov 13, 2009
  7. git svn: read global+system config for clone+initEric Wong, Nov 14, 2009
  8. Eric WongNov 14, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.