* git-svn problem: unexpected files/diffs in commit
@ 2006-08-25 16:31 Seth Falcon
2006-08-25 19:15 ` Eric Wong
0 siblings, 1 reply; 8+ messages in thread
From: Seth Falcon @ 2006-08-25 16:31 UTC (permalink / raw)
To: git
Hi,
I just made an svn commit using 'git-svn commit' and ended up with a
quite unexpected result.
I'm using svn, version 1.3.2 (r19776) _with_ the SVN:: lib and
git is git version 1.4.2.g7099c (actually, I just updated and so I was
a few commits back, but git-svn.perl didn't change, so I'm pretty
confident that I'm current w.r.t. git-svn).
Here is a copy/paste of my session (some edits since some history was lost):
## Check for changes in svn repos and merge them in.
ziti:~/proj/graph-git seth$ git-svn fetch
ziti:~/proj/graph-git seth$ git pull . remotes/git-svn
Trying really trivial in-index merge...
Wonderful.
In-index merge
DESCRIPTION | 2 +-
R/AllGenerics.R | 2 +-
R/clustergraph.R | 4 ++--
man/distGraph-class.Rd | 6 ++++--
4 files changed, 8 insertions(+), 6 deletions(-)
## I'm really where I think I am:
ziti:~/proj/graph-git seth$ git branch
* master
## Let's see what I _would_ commit if I did the normal git-svn commit
## thing
ziti:~/proj/graph-git seth$ git diff --stat remotes/git-svn..master
inst/unitTests/graphNEL_test.R | 2 +-
inst/unitTests/runalltests.R | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
## Yeah, that looks right.
## ok, go for the commit
ziti:~/proj/graph-git seth$ git-svn commit remotes/git-svn..master
diff-tree f5ebf17f7e460d3bc3de72ab381c72dc76d26936 0681f7614c342b85b91d909ff02a9a966a44c3f4
M DESCRIPTION
M R/AllGenerics.R
M R/clustergraph.R
M inst/unitTests/graphNEL_test.R
M inst/unitTests/runalltests.R
M man/distGraph-class.Rd
r19467 = 1b75d81a95da328f0b0d06b7562fdb48970b4c98
RA layer request failed: OPTIONS request failed on '/bioconductor': OPTIONS of '/bioconductor': Could not read status line: SSL error: decryption failed or bad record mac (https://hedgehog.fhcrc.org) at /Users/seth/scm/bin/git-svn line 526
65280 at /Users/seth/scm/bin/git-svn line 547
main::commit_lib('0681f7614c342b85b91d909ff02a9a966a44c3f4', '0cccf3753b472b52a93154ed8021499055bb3923') called at /Users/seth/scm/bin/git-svn line 457
main::commit('remotes/git-svn..master') called at /Users/seth/scm/bin/git-svn line 149
## GAAAHH! That isn't what I wanted at all. It looks as if I didn't
## really do the pull. What is going on?
Despite the SSL error, the commit to svn actually went through and I
had to back it out. Did I do something wrong? I did the git-svn
fetch and pull to sync up, then reapplied my patch and git-svn commit
"worked" although I got the same SSL error.
If I can provide more info, let me know.
Thanks,
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: git-svn problem: unexpected files/diffs in commit 2006-08-25 16:31 git-svn problem: unexpected files/diffs in commit Seth Falcon @ 2006-08-25 19:15 ` Eric Wong 2006-08-25 19:28 ` [PATCH] git-svn: establish new connections on commit after fork Eric Wong ` (3 more replies) 0 siblings, 4 replies; 8+ messages in thread From: Eric Wong @ 2006-08-25 19:15 UTC (permalink / raw) To: Seth Falcon; +Cc: git Seth Falcon <sethfalcon@gmail.com> wrote: > Hi, > > I just made an svn commit using 'git-svn commit' and ended up with a > quite unexpected result. > > I'm using svn, version 1.3.2 (r19776) _with_ the SVN:: lib and > git is git version 1.4.2.g7099c (actually, I just updated and so I was > a few commits back, but git-svn.perl didn't change, so I'm pretty > confident that I'm current w.r.t. git-svn). Cool that it works for you, I've yet to get SVN:: libs working with a repository I didn't have full read access to. I assume you have full read access? > Here is a copy/paste of my session (some edits since some history was lost): > > ## Check for changes in svn repos and merge them in. > > ziti:~/proj/graph-git seth$ git-svn fetch > ziti:~/proj/graph-git seth$ git pull . remotes/git-svn > Trying really trivial in-index merge... > Wonderful. > In-index merge > DESCRIPTION | 2 +- > R/AllGenerics.R | 2 +- > R/clustergraph.R | 4 ++-- > man/distGraph-class.Rd | 6 ++++-- > 4 files changed, 8 insertions(+), 6 deletions(-) > > ## I'm really where I think I am: > > ziti:~/proj/graph-git seth$ git branch > * master > > ## Let's see what I _would_ commit if I did the normal git-svn commit > ## thing > > ziti:~/proj/graph-git seth$ git diff --stat remotes/git-svn..master > inst/unitTests/graphNEL_test.R | 2 +- > inst/unitTests/runalltests.R | 6 +++--- > 2 files changed, 4 insertions(+), 4 deletions(-) > > ## Yeah, that looks right. I usually check with git log remotes/git-svn..HEAD instead of git diff. Perhaps adding --no-merges would be more correct? > ## ok, go for the commit > > ziti:~/proj/graph-git seth$ git-svn commit remotes/git-svn..master > diff-tree f5ebf17f7e460d3bc3de72ab381c72dc76d26936 0681f7614c342b85b91d909ff02a9a966a44c3f4 > M DESCRIPTION > M R/AllGenerics.R > M R/clustergraph.R > M inst/unitTests/graphNEL_test.R > M inst/unitTests/runalltests.R > M man/distGraph-class.Rd > r19467 = 1b75d81a95da328f0b0d06b7562fdb48970b4c98 > RA layer request failed: OPTIONS request failed on '/bioconductor': OPTIONS of '/bioconductor': Could not read status line: SSL error: decryption failed or bad record mac (https://hedgehog.fhcrc.org) at /Users/seth/scm/bin/git-svn line 526 > 65280 at /Users/seth/scm/bin/git-svn line 547 > main::commit_lib('0681f7614c342b85b91d909ff02a9a966a44c3f4', '0cccf3753b472b52a93154ed8021499055bb3923') called at /Users/seth/scm/bin/git-svn line 457 > main::commit('remotes/git-svn..master') called at /Users/seth/scm/bin/git-svn line 149 > > > ## GAAAHH! That isn't what I wanted at all. It looks as if I didn't > ## really do the pull. What is going on? > > Despite the SSL error, the commit to svn actually went through and I > had to back it out. Did I do something wrong? I did the git-svn > fetch and pull to sync up, then reapplied my patch and git-svn commit > "worked" although I got the same SSL error. I haven't been able to reproduce the SSL error message consistently, but I have seen it[1]. It could be SSL having state information that gets screwed up with the forking git-svn does to avoid memory leaks in SVN:: Outside of the SSL problems, the mis-commit isn't strictly user-error, but git-svn is confusing in this case, as the documentation is unclear about what git-svn should do in this case :x Simple answer: instead of pull, you should've used git rebase. But I don't think the documentation makes it clear at all. I've been really slacking on the git-svn documentation the past few months, help would be much appreciated. Here's an in-depth explanation: This is what git-svn does when issued "commit remotes/git-svn..master": 1. git-rev-list remotes/git-svn..master | tac => 0681f7614c342b85b91d909ff02a9a966a44c3f4 0cccf3753b472b52a93154ed8021499055bb3923 0cccf3753b472b52a93154ed8021499055bb3923 is the result of your 'git pull . remotes/git-svn', correct? And 0681f7614c342b85b91d909ff02a9a966a44c3f4 was made to git before the pull. So this is what git-svn does, it commits the output of: diff-tree f5ebf17f7e460d3bc3de72ab381c72dc76d26936 0681f7614c342b85b91d909ff02a9a966a44c3f4 (f5eb... is remotes/git-svn at that point). If the SVN/SSL connection had not died, it would've then proceeded to commit the output of: diff-tree 1b75d81a95da328f0b0d06b7562fdb48970b4c98 0cccf3753b472b52a93154ed8021499055bb3923 Where 1b75d81a95da328f0b0d06b7562fdb48970b4c98 is the output of your previous commit (r19467) Personally, I've been starting to favor 'git-svn commit-diff' myself over 'git-svn commit', as it leaves cleaner history and makes git-svn fetch results reproducable on different machines. [1] - unfortunately, I seem to have forgotten about it since I use commit-diff more often these days :x -- Eric Wong ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] git-svn: establish new connections on commit after fork 2006-08-25 19:15 ` Eric Wong @ 2006-08-25 19:28 ` Eric Wong 2006-08-25 19:48 ` [PATCH] git-svn: recommend rebase for syncing against an SVN repo Eric Wong ` (2 subsequent siblings) 3 siblings, 0 replies; 8+ messages in thread From: Eric Wong @ 2006-08-25 19:28 UTC (permalink / raw) To: Seth Falcon; +Cc: git SVN seems to have a problem with https:// repositories from time-to-time when doing multiple, sequential commits. This problem is not consistently reproducible without the patch, but it should go away entirely with this patch... Signed-off-by: Eric Wong <normalperson@yhbt.net> --- git-svn.perl | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/git-svn.perl b/git-svn.perl index 0d58bb9..b311c3d 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -500,6 +500,8 @@ sub commit_lib { my @lock = $SVN::Core::VERSION ge '1.2.0' ? (undef, 0) : (); my $commit_msg = "$GIT_SVN_DIR/.svn-commit.tmp.$$"; + my $repo; + ($repo, $SVN_PATH) = repo_path_split($SVN_URL); set_svn_commit_env(); foreach my $c (@revs) { my $log_msg = get_commit_message($c, $commit_msg); @@ -508,6 +510,8 @@ sub commit_lib { # can't track down... (it's probably in the SVN code) defined(my $pid = open my $fh, '-|') or croak $!; if (!$pid) { + $SVN_LOG = libsvn_connect($repo); + $SVN = libsvn_connect($repo); my $ed = SVN::Git::Editor->new( { r => $r_last, ra => $SVN, -- 1.4.2.g7c9b ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] git-svn: recommend rebase for syncing against an SVN repo 2006-08-25 19:15 ` Eric Wong 2006-08-25 19:28 ` [PATCH] git-svn: establish new connections on commit after fork Eric Wong @ 2006-08-25 19:48 ` Eric Wong 2006-08-26 0:46 ` git-svn problem: unexpected files/diffs in commit Seth Falcon 2006-08-26 7:01 ` [PATCH] git-svn: add the 'dcommit' command Eric Wong 3 siblings, 0 replies; 8+ messages in thread From: Eric Wong @ 2006-08-25 19:48 UTC (permalink / raw) To: Seth Falcon; +Cc: git Does this make sense to other git-svn users out there? pull can give funky history unless you understand how git-svn works internally, which users should not be expected to do. Signed-off-by: Eric Wong <normalperson@yhbt.net> --- Documentation/git-svn.txt | 22 ++++++++++++++++++++-- 1 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt index 7d86809..9fce4d3 100644 --- a/Documentation/git-svn.txt +++ b/Documentation/git-svn.txt @@ -212,12 +212,26 @@ # Commit only the git commits you want t git-svn commit <tree-ish> [<tree-ish_2> ...] # Commit all the git commits from my-branch that don't exist in SVN: git-svn commit remotes/git-svn..my-branch -# Something is committed to SVN, pull the latest into your branch: - git-svn fetch && git pull . remotes/git-svn +# Something is committed to SVN, rebase the latest into your branch: + git-svn fetch && git rebase remotes/git-svn # Append svn:ignore settings to the default git exclude file: git-svn show-ignore >> .git/info/exclude ------------------------------------------------------------------------ +REBASE VS. PULL +--------------- + +Originally, git-svn recommended that the remotes/git-svn branch be +pulled from. This is because the author favored 'git-svn commit B' +to commit a single head rather than the 'git-svn commit A..B' notation +to commit multiple commits. + +If you use 'git-svn commit A..B' to commit several diffs and you do not +have the latest remotes/git-svn merged into my-branch, you should use +'git rebase' to update your work branch instead of 'git pull'. 'pull' +can cause non-linear history to be flattened when committing into SVN, +which can lead to merge commits reversing previous commits in SVN. + DESIGN PHILOSOPHY ----------------- Merge tracking in Subversion is lacking and doing branched development @@ -310,6 +324,10 @@ the possible corner cases (git doesn't d copied files are fully supported if they're similar enough for git to detect them. +SEE ALSO +-------- +gitlink:git-rebase[1] + Author ------ Written by Eric Wong <normalperson@yhbt.net>. -- 1.4.2.g7c9b ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: git-svn problem: unexpected files/diffs in commit 2006-08-25 19:15 ` Eric Wong 2006-08-25 19:28 ` [PATCH] git-svn: establish new connections on commit after fork Eric Wong 2006-08-25 19:48 ` [PATCH] git-svn: recommend rebase for syncing against an SVN repo Eric Wong @ 2006-08-26 0:46 ` Seth Falcon 2006-08-26 7:33 ` Eric Wong 2006-08-26 7:01 ` [PATCH] git-svn: add the 'dcommit' command Eric Wong 3 siblings, 1 reply; 8+ messages in thread From: Seth Falcon @ 2006-08-26 0:46 UTC (permalink / raw) To: git Eric Wong <normalperson@yhbt.net> writes: > Cool that it works for you, I've yet to get SVN:: libs working with a > repository I didn't have full read access to. I assume you have full > read access? Yes, I have full rw access on that part of the svn repos. The SVN:: libs are noticeably faster. Aside: For others tracking this: the "SVN::" libs in question are the Perl bindings that come with Subversion and are optionally built when you build from source. I wasted some google time searching CPAN for SVN:: so this might help someone. :-) > Outside of the SSL problems, the mis-commit isn't strictly user-error, > but git-svn is confusing in this case, as the documentation is unclear > about what git-svn should do in this case :x > I usually check with git log remotes/git-svn..HEAD instead of git > diff. Perhaps adding --no-merges would be more correct? I'm not sure how to reproduce the situation I was in, but what would git log have shown me that git diff didn't -- IOW, would it have been obvious that the commit op was going to add extra stuff and effectively undo a rev in svn? > Simple answer: instead of pull, you should've used git rebase. But I > don't think the documentation makes it clear at all. ... reads git-rebase man page... Ah, git-rebase does sound like what I want. > I've been really slacking on the git-svn documentation the past few > months, help would be much appreciated. I will try to send some doc patches. But I may have a few questions ;-) > Here's an in-depth explanation: > > This is what git-svn does when issued "commit remotes/git-svn..master": > 1. git-rev-list remotes/git-svn..master | tac => > 0681f7614c342b85b91d909ff02a9a966a44c3f4 > 0cccf3753b472b52a93154ed8021499055bb3923 > > 0cccf3753b472b52a93154ed8021499055bb3923 is the result of your > 'git pull . remotes/git-svn', correct? > And 0681f7614c342b85b91d909ff02a9a966a44c3f4 was made to git before > the pull. > > So this is what git-svn does, it commits the output of: > diff-tree f5ebf17f7e460d3bc3de72ab381c72dc76d26936 0681f7614c342b85b91d909ff02a9a966a44c3f4 > (f5eb... is remotes/git-svn at that point). > > If the SVN/SSL connection had not died, it would've then proceeded to > commit the output of: > > diff-tree 1b75d81a95da328f0b0d06b7562fdb48970b4c98 0cccf3753b472b52a93154ed8021499055bb3923 > Where 1b75d81a95da328f0b0d06b7562fdb48970b4c98 is the output of your > previous commit (r19467) I think I'm getting it. Thank you very much for providing these details. > Personally, I've been starting to favor 'git-svn commit-diff' myself > over 'git-svn commit', as it leaves cleaner history and makes git-svn > fetch results reproducable on different machines. > > [1] - unfortunately, I seem to have forgotten about it since I use > commit-diff more often these days :x I think commit-diff might be what I want to be using too, but I need to contribute some documentation for it before I can read the man page and start using it ;-) An example call to git-svn commit-diff would be very helpful, I suspect. I will have a look... While I'm thinking of it, it would be really nice for git-svn's commit and commit-diff to have a dry-run type of flag. Commits to your own git repos are easy to correct, but those made on some other public scm are less pretty. Cheers, + seth ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: git-svn problem: unexpected files/diffs in commit 2006-08-26 0:46 ` git-svn problem: unexpected files/diffs in commit Seth Falcon @ 2006-08-26 7:33 ` Eric Wong 0 siblings, 0 replies; 8+ messages in thread From: Eric Wong @ 2006-08-26 7:33 UTC (permalink / raw) To: Seth Falcon; +Cc: git Seth Falcon <sethfalcon@gmail.com> wrote: > Eric Wong <normalperson@yhbt.net> writes: > > Outside of the SSL problems, the mis-commit isn't strictly user-error, > > but git-svn is confusing in this case, as the documentation is unclear > > about what git-svn should do in this case :x > > > I usually check with git log remotes/git-svn..HEAD instead of git > > diff. Perhaps adding --no-merges would be more correct? No, --no-merges is not correct (see below). > I'm not sure how to reproduce the situation I was in, but what would > git log have shown me that git diff didn't -- IOW, would it have been > obvious that the commit op was going to add extra stuff and > effectively undo a rev in svn? > > I've been really slacking on the git-svn documentation the past few > > months, help would be much appreciated. > > I will try to send some doc patches. But I may have a few questions ;-) > I think commit-diff might be what I want to be using too, but I need > to contribute some documentation for it before I can read the man page > and start using it ;-) > > An example call to git-svn commit-diff would be very helpful, I > suspect. git-svn commit-diff <a> <b> (git diff-tree <a> <b> to check the result) My new command, 'dcommit' wraps it. 'commit-diff' very low-level command that does exactly what you tell it to do, compute the delta of two trees, and send it to the SVN repo. The <a> tree doesn't even have to strictly match what's in the SVN repo at the given moment if you're using the SVN:: libs. 'commit' was the original command, that meant: write this tree to SVN. Period. This was before SVN:: library support was available, so it had to be stupidly simple. foo..bar notation was supported, which in hindsight was a mistake that has probably confused lots of people.... > I will have a look... > > While I'm thinking of it, it would be really nice for git-svn's commit and > commit-diff to have a dry-run type of flag. Commits to your own git > repos are easy to correct, but those made on some other public scm are > less pretty. I think everything is somewhat documented in the commit logs, but most of those were back when git-svn was in contrib/ Otherwise, git-svn help attempts to be reasonably self-documenting, and I've tried to keep the code to git-svn fairly readable (except the code to generate the aforementioned help output :) -- Eric Wong ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] git-svn: add the 'dcommit' command 2006-08-25 19:15 ` Eric Wong ` (2 preceding siblings ...) 2006-08-26 0:46 ` git-svn problem: unexpected files/diffs in commit Seth Falcon @ 2006-08-26 7:01 ` Eric Wong 2006-08-26 16:52 ` [PATCH] git-svn: stop repeatedly reusing the first commit message with dcommit Eric Wong 3 siblings, 1 reply; 8+ messages in thread From: Eric Wong @ 2006-08-26 7:01 UTC (permalink / raw) To: Seth Falcon; +Cc: git This is a high-level wrapper around the 'commit-diff' command and used to produce cleaner history against the mirrored repository through rebase/reset usage. It's basically a more polished version of this: for i in `git rev-list --no-merges remotes/git-svn..HEAD | tac`; do git-svn commit-diff $i~1 $i done git reset --hard remotes/git-svn Signed-off-by: Eric Wong <normalperson@yhbt.net> --- Documentation/git-svn.txt | 25 +++++++++++++++++++++++++ git-svn.perl | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 59 insertions(+), 1 deletions(-) diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt index 9fce4d3..38e73ba 100644 --- a/Documentation/git-svn.txt +++ b/Documentation/git-svn.txt @@ -53,6 +53,15 @@ fetch:: See 'Additional Fetch Arguments' if you are interested in manually joining branches on commit. +dcommit:: + Commit all diffs from the current HEAD directly to the SVN + repository, and then rebase or reset (depending on whether or + not there is a diff between SVN and HEAD). It is recommended + that you run git-svn fetch and rebase (not pull) your commits + against the latest changes in the SVN repository. + This is advantageous over 'commit' (below) because it produces + cleaner, more linear history. + commit:: Commit specified commit or tree objects to SVN. This relies on your imported fetch data being up-to-date. This makes @@ -146,6 +155,22 @@ loginname = Joe User <user@example.com> repo-config key: svn.authors-file +-m:: +--merge:: +-s<strategy>:: +--strategy=<strategy>:: + These are only used with the 'dcommit' command. + + Passed directly to git-rebase when using 'dcommit' if a + 'git-reset' cannot be used (see dcommit). + +-n:: +--dry-run:: + This is only used with the 'dcommit' command. + + Print out the series of git arguments that would show + which diffs would be committed to SVN. + ADVANCED OPTIONS ---------------- -b<refname>:: diff --git a/git-svn.perl b/git-svn.perl index b311c3d..9382a15 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -51,7 +51,8 @@ my ($_revision,$_stdin,$_no_ignore_ext,$ $_message, $_file, $_follow_parent, $_no_metadata, $_template, $_shared, $_no_default_regex, $_no_graft_copy, $_limit, $_verbose, $_incremental, $_oneline, $_l_fmt, $_show_commit, - $_version, $_upgrade, $_authors, $_branch_all_refs, @_opt_m); + $_version, $_upgrade, $_authors, $_branch_all_refs, @_opt_m, + $_merge, $_strategy, $_dry_run); my (@_branch_from, %tree_map, %users, %rusers, %equiv); my ($_svn_co_url_revs, $_svn_pg_peg_revs); my @repo_path_split_cache; @@ -118,6 +119,11 @@ my %cmd = ( { 'message|m=s' => \$_message, 'file|F=s' => \$_file, %cmt_opts } ], + dcommit => [ \&dcommit, 'Commit several diffs to merge with upstream', + { 'merge|m|M' => \$_merge, + 'strategy|s=s' => \$_strategy, + 'dry-run|n' => \$_dry_run, + %cmt_opts } ], ); my $cmd; @@ -561,6 +567,33 @@ sub commit_lib { unlink $commit_msg; } +sub dcommit { + my $gs = "refs/remotes/$GIT_SVN"; + chomp(my @refs = safe_qx(qw/git-rev-list --no-merges/, "$gs..HEAD")); + foreach my $d (reverse @refs) { + if ($_dry_run) { + print "diff-tree $d~1 $d\n"; + } else { + commit_diff("$d~1", $d); + } + } + return if $_dry_run; + fetch(); + my @diff = safe_qx(qw/git-diff-tree HEAD/, $gs); + my @finish; + if (@diff) { + @finish = qw/rebase/; + push @finish, qw/--merge/ if $_merge; + push @finish, "--strategy=$_strategy" if $_strategy; + print STDERR "W: HEAD and $gs differ, using @finish:\n", @diff; + } else { + print "No changes between current HEAD and $gs\n", + "Hard resetting to the latest $gs\n"; + @finish = qw/reset --hard/; + } + sys('git', @finish, $gs); +} + sub show_ignore { $SVN_URL ||= file_to_s("$GIT_SVN_DIR/info/url"); $_use_lib ? show_ignore_lib() : show_ignore_cmd(); -- 1.4.2.g7c9b ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] git-svn: stop repeatedly reusing the first commit message with dcommit 2006-08-26 7:01 ` [PATCH] git-svn: add the 'dcommit' command Eric Wong @ 2006-08-26 16:52 ` Eric Wong 0 siblings, 0 replies; 8+ messages in thread From: Eric Wong @ 2006-08-26 16:52 UTC (permalink / raw) To: Junio C Hamano, seth; +Cc: git, Eric Wong Excessive use of global variables got me into trouble. Signed-off-by: Eric Wong <normalperson@yhbt.net> --- git-svn.perl | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/git-svn.perl b/git-svn.perl index 9382a15..0290850 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -819,6 +819,7 @@ sub commit_diff { } else { $ed->close_edit; } + $_message = $_file = undef; } ########################### utility functions ######################### -- 1.4.2.g7c9b ^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2006-08-26 16:52 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-08-25 16:31 git-svn problem: unexpected files/diffs in commit Seth Falcon 2006-08-25 19:15 ` Eric Wong 2006-08-25 19:28 ` [PATCH] git-svn: establish new connections on commit after fork Eric Wong 2006-08-25 19:48 ` [PATCH] git-svn: recommend rebase for syncing against an SVN repo Eric Wong 2006-08-26 0:46 ` git-svn problem: unexpected files/diffs in commit Seth Falcon 2006-08-26 7:33 ` Eric Wong 2006-08-26 7:01 ` [PATCH] git-svn: add the 'dcommit' command Eric Wong 2006-08-26 16:52 ` [PATCH] git-svn: stop repeatedly reusing the first commit message with dcommit Eric Wong
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).