Merge branch 'jk/filter-branch-come-back-to-original' into maint
* jk/filter-branch-come-back-to-original: filter-branch: return to original dir after filteringmaint
						commit
						13e11087fe
					
				|  | @ -199,6 +199,7 @@ t) | ||||||
| 	test -d "$tempdir" && | 	test -d "$tempdir" && | ||||||
| 		die "$tempdir already exists, please remove it" | 		die "$tempdir already exists, please remove it" | ||||||
| esac | esac | ||||||
|  | orig_dir=$(pwd) | ||||||
| mkdir -p "$tempdir/t" && | mkdir -p "$tempdir/t" && | ||||||
| tempdir="$(cd "$tempdir"; pwd)" && | tempdir="$(cd "$tempdir"; pwd)" && | ||||||
| cd "$tempdir/t" && | cd "$tempdir/t" && | ||||||
|  | @ -206,7 +207,7 @@ workdir="$(pwd)" || | ||||||
| die "" | die "" | ||||||
|  |  | ||||||
| # Remove tempdir on exit | # Remove tempdir on exit | ||||||
| trap 'cd ../..; rm -rf "$tempdir"' 0 | trap 'cd "$orig_dir"; rm -rf "$tempdir"' 0 | ||||||
|  |  | ||||||
| ORIG_GIT_DIR="$GIT_DIR" | ORIG_GIT_DIR="$GIT_DIR" | ||||||
| ORIG_GIT_WORK_TREE="$GIT_WORK_TREE" | ORIG_GIT_WORK_TREE="$GIT_WORK_TREE" | ||||||
|  | @ -469,7 +470,7 @@ if [ "$filter_tag_name" ]; then | ||||||
| 	done | 	done | ||||||
| fi | fi | ||||||
|  |  | ||||||
| cd ../.. | cd "$orig_dir" | ||||||
| rm -rf "$tempdir" | rm -rf "$tempdir" | ||||||
|  |  | ||||||
| trap - 0 | trap - 0 | ||||||
|  |  | ||||||
|  | @ -64,6 +64,20 @@ test_expect_success 'correct GIT_DIR while using -d' ' | ||||||
| 	grep drepo "$TRASHDIR/backup-refs" | 	grep drepo "$TRASHDIR/backup-refs" | ||||||
| ' | ' | ||||||
|  |  | ||||||
|  | test_expect_success 'tree-filter works with -d' ' | ||||||
|  | 	git init drepo-tree && | ||||||
|  | 	( | ||||||
|  | 		cd drepo-tree && | ||||||
|  | 		test_commit one && | ||||||
|  | 		git filter-branch -d "$TRASHDIR/dfoo" \ | ||||||
|  | 			--tree-filter "echo changed >one.t" && | ||||||
|  | 		echo changed >expect && | ||||||
|  | 		git cat-file blob HEAD:one.t >actual && | ||||||
|  | 		test_cmp expect actual && | ||||||
|  | 		test_cmp one.t actual | ||||||
|  | 	) | ||||||
|  | ' | ||||||
|  |  | ||||||
| test_expect_success 'Fail if commit filter fails' ' | test_expect_success 'Fail if commit filter fails' ' | ||||||
| 	test_must_fail git filter-branch -f --commit-filter "exit 1" HEAD | 	test_must_fail git filter-branch -f --commit-filter "exit 1" HEAD | ||||||
| ' | ' | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Junio C Hamano
						Junio C Hamano