summaryrefslogtreecommitdiff
path: root/git-svn.perl
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2008-01-02 18:10:03 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-01-02 18:44:22 (GMT)
commit321b1842dceb94bbaa00b9f75c7c2fe6bf6fad1c (patch)
tree88ab1f336b8ebd9bea60f7a2cfbd07b83e01a7c2 /git-svn.perl
parent7dfa16b9dc89c14c8e351cb70d775a21e87d5c23 (diff)
downloadgit-321b1842dceb94bbaa00b9f75c7c2fe6bf6fad1c.zip
git-321b1842dceb94bbaa00b9f75c7c2fe6bf6fad1c.tar.gz
git-321b1842dceb94bbaa00b9f75c7c2fe6bf6fad1c.tar.bz2
git-svn: unlink index files that were globbed, too
commit 3157dd9e89a71e80673d0bc21b5c0630f3b1fe68 (git-svn: unlink internal index files after operations) introduced unlinking index files after fetching. However, this missed indices for refs that were created by globbing branches and tags. This will track all refs we ever touch during a fetch and unlink them at exit time. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-xgit-svn.perl9
1 files changed, 6 insertions, 3 deletions
diff --git a/git-svn.perl b/git-svn.perl
index 9b1113a..2c97b05 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1283,8 +1283,11 @@ BEGIN {
}
}
-my %LOCKFILES;
-END { unlink keys %LOCKFILES if %LOCKFILES }
+my (%LOCKFILES, %INDEX_FILES);
+END {
+ unlink keys %LOCKFILES if %LOCKFILES;
+ unlink keys %INDEX_FILES if %INDEX_FILES;
+}
sub resolve_local_globs {
my ($url, $fetch, $glob_spec) = @_;
@@ -1376,7 +1379,6 @@ sub fetch_all {
($base, $head) = parse_revision_argument($base, $head);
$ra->gs_fetch_loop_common($base, $head, \@gs, \@globs);
- unlink $_->{index} foreach @gs;
}
sub read_all_remotes {
@@ -3945,6 +3947,7 @@ sub gs_fetch_loop_common {
if ($log_entry) {
$gs->do_git_commit($log_entry);
}
+ $INDEX_FILES{$gs->{index}} = 1;
}
foreach my $g (@$globs) {
my $k = "svn-remote.$g->{remote}." .