mirror of
https://github.com/sheumann/hush.git
synced 2024-12-26 10:32:02 +00:00
diff: fix "diff dir1 dir2/". Closes bug 2203
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
1883cb1746
commit
61f5f7823c
@ -760,9 +760,11 @@ static int FAST_FUNC add_to_dirlist(const char *filename,
|
||||
void *userdata, int depth UNUSED_PARAM)
|
||||
{
|
||||
struct dlist *const l = userdata;
|
||||
const char *file = filename + l->len;
|
||||
l->dl = xrealloc_vector(l->dl, 6, l->e);
|
||||
/* + 1 skips "/" after dirname */
|
||||
l->dl[l->e] = xstrdup(filename + l->len + 1);
|
||||
while(*file == '/')
|
||||
file++;
|
||||
l->dl[l->e] = xstrdup(file);
|
||||
l->e++;
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
. ./testing.sh
|
||||
|
||||
# testing "test name" "options" "expected result" "file input" "stdin"
|
||||
# testing "test name" "commands" "expected result" "file input" "stdin"
|
||||
|
||||
# diff outputs date/time in the header, which should not be analysed
|
||||
# NB: sed has tab character in s command!
|
||||
@ -100,9 +100,11 @@ testing "diff always takes context from old file" \
|
||||
"abc\na c\ndef\n" \
|
||||
"a c\n"
|
||||
|
||||
# testing "test name" "options" "expected result" "file input" "stdin"
|
||||
# testing "test name" "commands" "expected result" "file input" "stdin"
|
||||
|
||||
# clean up
|
||||
rm -rf diff1 diff2
|
||||
|
||||
mkdir diff1 diff2 diff2/subdir
|
||||
echo qwe >diff1/-
|
||||
echo asd >diff2/subdir/-
|
||||
@ -187,4 +189,29 @@ SKIP=
|
||||
# clean up
|
||||
rm -rf diff1 diff2
|
||||
|
||||
# NOT using directory structure from prev test...
|
||||
mkdir diff1 diff2
|
||||
echo qwe >diff1/-
|
||||
echo rty >diff2/-
|
||||
optional FEATURE_DIFF_DIR
|
||||
testing "diff diff1 diff2/" \
|
||||
"diff -ur diff1 diff2/ | $TRIM_TAB; diff -ur .///diff1 diff2//// | $TRIM_TAB" \
|
||||
"\
|
||||
--- diff1/-
|
||||
+++ diff2/-
|
||||
@@ -1 +1 @@
|
||||
-qwe
|
||||
+rty
|
||||
--- .///diff1/-
|
||||
+++ diff2////-
|
||||
@@ -1 +1 @@
|
||||
-qwe
|
||||
+rty
|
||||
" \
|
||||
"" ""
|
||||
SKIP=
|
||||
|
||||
# clean up
|
||||
rm -rf diff1 diff2
|
||||
|
||||
exit $FAILCOUNT
|
||||
|
Loading…
Reference in New Issue
Block a user