Re: git-svn dcommit ignores --username if there are cached credentials
- From
- Eric 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