git-svn: allow --follow-parent on deleted directories
Any operations on the index in Git::SVN that is not wrapped by tmp_index_do() is wrong. Signed-off-by: Eric Wong <normalperson@yhbt.net>maint
							parent
							
								
									b805b44a92
								
							
						
					
					
						commit
						a2003abc23
					
				|  | @ -1091,7 +1091,7 @@ sub find_parent_branch { | |||
| 	} | ||||
| 	if (defined $r0 && defined $parent && $gs->revisions_eq($r0, $r)) { | ||||
| 		print STDERR "Found branch parent: ($self->{ref_id}) $parent\n"; | ||||
| 		command_noisy('read-tree', $parent); | ||||
| 		$self->assert_index_clean($parent); | ||||
| 		my $ed; | ||||
| 		if ($self->ra->can_do_switch) { | ||||
| 			print STDERR "Following parent with do_switch\n"; | ||||
|  |  | |||
|  | @ -49,6 +49,18 @@ test_expect_success 'init and fetch from one svn-remote' " | |||
|                  sed -n -e '3p'\`\" = goodbye | ||||
|         " | ||||
|  | ||||
| test_expect_success 'follow deleted parent' " | ||||
|         svn cp -m 'resurrecting trunk as junk' \ | ||||
|                -r2 $svnrepo/trunk $svnrepo/junk && | ||||
|         git-repo-config --add svn-remote.git-svn.fetch \ | ||||
|           junk:refs/remotes/svn/junk && | ||||
|         git-svn fetch --follow-parent -i svn/thunk && | ||||
|         git-svn fetch -i svn/junk --follow-parent && | ||||
|         test -z \"\`git diff svn/junk svn/trunk\`\" && | ||||
|         test \"\`git merge-base svn/junk svn/trunk\`\" \ | ||||
|            = \"\`git rev-parse svn/trunk\`\" | ||||
|         " | ||||
|  | ||||
| test_debug 'gitk --all &' | ||||
|  | ||||
| test_done | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Eric Wong
						Eric Wong