mirror of
https://github.com/sheumann/hush.git
synced 2024-12-21 08:29:45 +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)
|
void *userdata, int depth UNUSED_PARAM)
|
||||||
{
|
{
|
||||||
struct dlist *const l = userdata;
|
struct dlist *const l = userdata;
|
||||||
|
const char *file = filename + l->len;
|
||||||
l->dl = xrealloc_vector(l->dl, 6, l->e);
|
l->dl = xrealloc_vector(l->dl, 6, l->e);
|
||||||
/* + 1 skips "/" after dirname */
|
while(*file == '/')
|
||||||
l->dl[l->e] = xstrdup(filename + l->len + 1);
|
file++;
|
||||||
|
l->dl[l->e] = xstrdup(file);
|
||||||
l->e++;
|
l->e++;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
. ./testing.sh
|
. ./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
|
# diff outputs date/time in the header, which should not be analysed
|
||||||
# NB: sed has tab character in s command!
|
# 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" \
|
"abc\na c\ndef\n" \
|
||||||
"a c\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
|
rm -rf diff1 diff2
|
||||||
|
|
||||||
mkdir diff1 diff2 diff2/subdir
|
mkdir diff1 diff2 diff2/subdir
|
||||||
echo qwe >diff1/-
|
echo qwe >diff1/-
|
||||||
echo asd >diff2/subdir/-
|
echo asd >diff2/subdir/-
|
||||||
@ -187,4 +189,29 @@ SKIP=
|
|||||||
# clean up
|
# clean up
|
||||||
rm -rf diff1 diff2
|
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
|
exit $FAILCOUNT
|
||||||
|
Loading…
Reference in New Issue
Block a user