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

Re: git-svn dcommit ignores --username if there are cached credentials

From
EWEric Wong <normalperson@yhbt.net>
Date
Jan 13, 2010, 05:41 UTC
Message-ID
<20100113054138.GB23182@dcvr.yhbt.net>
In-Reply-To
<loom.20100112T233835-324@post.gmane.org>
Michel Jouvin <jouvin@lal.in2p3.fr> wrote:
Show 19 quoted lines
> Hi,
> 
> I am new to Git and using 1.6.6. I'm very interested by using it to mirror SVN 
> repositories. But I am running into troubles with the way git-svn handles SVN 
> credentials. 
> 
> For one SVN I use I have some cached credentials that have only very restricted 
> write access. With svn command, I am using --username for every commit and this 
> cached credential is just ignored: I'm asked for a password.
> 
> With git-svn, I use --username at init/fetch but during dcommit --username is 
> ignored becaused of the cached credential. I can see in SVN logs that the 
> cached credential (which doesn't have the right to commit the mods I made) has 
> been used instead of the one specified during fetch. If I removed the cached 
> credential, the username specified with --username is taken into account (I'm 
> asked a password for it and it works) and if I ommit the --username, the one 
> specified at fetch time is used.
> 
> IMO, looks like a bug... Thanks in advance for any comment.
 
Hi Michel,

I wonder if this is because we explicitly reread the config directory when creating Git::SVN::Editor.

Does using --no-auth-cache work for you?
Otherwise, try pointing --config-dir= to an empty directory.
Or you can try this patch to force us to not reread the config_dir:
diff --git a/git-svn.perl b/git-svn.perl
index 650c9e5..280fd15 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -550,9 +550,6 @@ sub cmd_dcommit {
 			my %ed_opts = ( r => $last_rev,
 			                log => get_commit_entry($d)->{log},
 			                ra => Git::SVN::Ra->new($url),
-			                config => SVN::Core::config_get_config(
-			                        $Git::SVN::Ra::config_dir
-			                ),
 			                tree_a => "$d~1",
 			                tree_b => $d,
 			                editor_cb => sub {

We have a good reason to read config dirs there for getting auto-props,
though, so the above patch isn't going into git.git
-- 
Eric Wong
Previous: Michel JouvinNext: Michel Jouvin
Message 2 of 3 in “git-svn dcommit ignores --username if there are cached credentials”
  1. Michel JouvinJan 12, 2010
  2. Eric WongJan 13, 2010
  3. Michel JouvinJan 13, 2010

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.