@matheusbsbs / matheus-bagliano / commits / 321b1842dc
Fork 0

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>

Eric Wong committed Jan 2, 2008 at 10:10 UTC 321b1842dceb94bbaa00b9f75c7c2fe6bf6fad1c
1 file changed +6 -3
git-svn.perl
+6 -3
@@ -1283,8 +1283,11 @@ BEGIN {
1283 }
1284 }
1285
1286 -my %LOCKFILES;
1287 -END { unlink keys %LOCKFILES if %LOCKFILES }
1286 +my (%LOCKFILES, %INDEX_FILES);
1287 +END {
1288 + unlink keys %LOCKFILES if %LOCKFILES;
1289 + unlink keys %INDEX_FILES if %INDEX_FILES;
1290 +}
1291
1292 sub resolve_local_globs {
1293 my ($url, $fetch, $glob_spec) = @_;
@@ -1376,7 +1379,6 @@ sub fetch_all {
1379
1380 ($base, $head) = parse_revision_argument($base, $head);
1381 $ra->gs_fetch_loop_common($base, $head, \@gs, \@globs);
1379 - unlink $_->{index} foreach @gs;
1382 }
1383
1384 sub read_all_remotes {
@@ -3945,6 +3947,7 @@ sub gs_fetch_loop_common {
3947 if ($log_entry) {
3948 $gs->do_git_commit($log_entry);
3949 }
3950 + $INDEX_FILES{$gs->{index}} = 1;
3951 }
3952 foreach my $g (@$globs) {
3953 my $k = "svn-remote.$g->{remote}." .