Merge branch 'ne/maint-1.6.0-diff-tree-t-r-show-directory'
* ne/maint-1.6.0-diff-tree-t-r-show-directory: diff-tree -r -t: include added/removed directories in the output
This commit is contained in:
commit
4197195bee
53
t/t4037-diff-r-t-dirs.sh
Executable file
53
t/t4037-diff-r-t-dirs.sh
Executable file
@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
test_description='diff -r -t shows directory additions and deletions'
|
||||||
|
|
||||||
|
. ./test-lib.sh
|
||||||
|
|
||||||
|
test_expect_success setup '
|
||||||
|
mkdir dc dr dt &&
|
||||||
|
>dc/1 &&
|
||||||
|
>dr/2 &&
|
||||||
|
>dt/3 &&
|
||||||
|
>fc &&
|
||||||
|
>fr &&
|
||||||
|
>ft &&
|
||||||
|
git add . &&
|
||||||
|
test_tick &&
|
||||||
|
git commit -m initial &&
|
||||||
|
|
||||||
|
rm -fr dt dr ft fr &&
|
||||||
|
mkdir da ft &&
|
||||||
|
for p in dc/1 da/4 dt ft/5 fc
|
||||||
|
do
|
||||||
|
echo hello >$p || exit
|
||||||
|
done &&
|
||||||
|
git add -u &&
|
||||||
|
git add . &&
|
||||||
|
test_tick &&
|
||||||
|
git commit -m second
|
||||||
|
'
|
||||||
|
|
||||||
|
cat >expect <<\EOF
|
||||||
|
A da
|
||||||
|
A da/4
|
||||||
|
M dc
|
||||||
|
M dc/1
|
||||||
|
D dr
|
||||||
|
D dr/2
|
||||||
|
A dt
|
||||||
|
D dt
|
||||||
|
D dt/3
|
||||||
|
M fc
|
||||||
|
D fr
|
||||||
|
D ft
|
||||||
|
A ft
|
||||||
|
A ft/5
|
||||||
|
EOF
|
||||||
|
|
||||||
|
test_expect_success verify '
|
||||||
|
git diff-tree -r -t --name-status HEAD^ HEAD >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_done
|
@ -239,6 +239,12 @@ static void show_entry(struct diff_options *opt, const char *prefix, struct tree
|
|||||||
if (!tree || type != OBJ_TREE)
|
if (!tree || type != OBJ_TREE)
|
||||||
die("corrupt tree sha %s", sha1_to_hex(sha1));
|
die("corrupt tree sha %s", sha1_to_hex(sha1));
|
||||||
|
|
||||||
|
if (DIFF_OPT_TST(opt, TREE_IN_RECURSIVE)) {
|
||||||
|
newbase[baselen + pathlen] = 0;
|
||||||
|
opt->add_remove(opt, *prefix, mode, sha1, newbase);
|
||||||
|
newbase[baselen + pathlen] = '/';
|
||||||
|
}
|
||||||
|
|
||||||
init_tree_desc(&inner, tree, size);
|
init_tree_desc(&inner, tree, size);
|
||||||
show_tree(opt, prefix, &inner, newbase, baselen + 1 + pathlen);
|
show_tree(opt, prefix, &inner, newbase, baselen + 1 + pathlen);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user