diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-12-22 12:16:29 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-12-22 12:16:30 -0800 |
commit | 447c39a9b25e222a96711f7736078e4f33001388 (patch) | |
tree | ab7bebf74d7db8ef26222e88031c296f3e849f04 /t | |
parent | bef111d0a5e4b5dcac07f92b0fc918bb31184066 (diff) | |
parent | c5326bd62b7e168ba1339dacb7ee812d0fe98c7c (diff) | |
download | git-447c39a9b25e222a96711f7736078e4f33001388.tar.gz |
Merge branch 'jk/checkout-from-tree' into maint
"git checkout $treeish $path", when $path in the index and the
working tree already matched what is in $treeish at the $path,
still overwrote the $path unnecessarily.
* jk/checkout-from-tree:
checkout $tree: do not throw away unchanged index entries
Diffstat (limited to 't')
-rwxr-xr-x | t/t2022-checkout-paths.sh | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/t/t2022-checkout-paths.sh b/t/t2022-checkout-paths.sh index 8e3545d868..f46d0499bc 100755 --- a/t/t2022-checkout-paths.sh +++ b/t/t2022-checkout-paths.sh @@ -61,4 +61,21 @@ test_expect_success 'do not touch unmerged entries matching $path but not in $tr test_cmp expect.next0 actual.next0 ' +test_expect_success 'do not touch files that are already up-to-date' ' + git reset --hard && + echo one >file1 && + echo two >file2 && + git add file1 file2 && + git commit -m base && + echo modified >file1 && + test-chmtime =1000000000 file2 && + git update-index -q --refresh && + git checkout HEAD -- file1 file2 && + echo one >expect && + test_cmp expect file1 && + echo "1000000000 file2" >expect && + test-chmtime -v +0 file2 >actual && + test_cmp expect actual +' + test_done |