Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F161928176
D21623.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D21623.diff
View Options
Index: head/contrib/mtree/specspec.c
===================================================================
--- head/contrib/mtree/specspec.c
+++ head/contrib/mtree/specspec.c
@@ -145,7 +145,7 @@
return (1);
}
if (n1->type != n2->type) {
- differs = 0;
+ differs = F_TYPE;
mismatch(n1, n2, differs, path);
return (1);
}
Index: head/contrib/netbsd-tests/usr.sbin/mtree/t_mtree.sh
===================================================================
--- head/contrib/netbsd-tests/usr.sbin/mtree/t_mtree.sh
+++ head/contrib/netbsd-tests/usr.sbin/mtree/t_mtree.sh
@@ -411,7 +411,42 @@
FLAVOR=netbsd6 nonemptydir_body
}
+atf_test_case mtree_specspec_type
+mtree_specspec_type_head()
+{
+ atf_set "descr" "Test that spec comparisons detect type changes"
+}
+mtree_specspec_type_body()
+{
+ mkdir testdir
+
+ touch testdir/bar
+ mtree -c -p testdir > mtree1.spec
+
+ if [ ! -f mtree1.spec ]; then
+ atf_fail "mtree failed"
+ fi
+
+ rm -f testdir/bar
+ ln -s foo testdir/bar
+ # uid change is expected to be ignored as done in -C
+ chown -h operator testdir/bar
+ mtree -c -p testdir > mtree2.spec
+
+ if [ ! -f mtree2.spec ]; then
+ atf_fail "mtree failed"
+ fi
+
+ atf_check -s ignore -o save:output \
+ -x "mtree -f mtree1.spec -f mtree2.spec"
+
+ if ! cut -f 3 output | egrep -q "bar file" || \
+ ! cut -f 3 output | egrep -q "bar link"; then
+ atf_fail "mtree did not detect type change"
+ fi
+}
+
atf_init_test_cases()
{
atf_add_test_case mtree_create
@@ -423,6 +458,7 @@
atf_add_test_case mtree_ignore
atf_add_test_case mtree_merge
atf_add_test_case mtree_nonemptydir
+ atf_add_test_case mtree_specspec_type
atf_add_test_case netbsd6_create
atf_add_test_case netbsd6_check
Index: head/usr.sbin/fmtree/specspec.c
===================================================================
--- head/usr.sbin/fmtree/specspec.c
+++ head/usr.sbin/fmtree/specspec.c
@@ -132,7 +132,7 @@
return (1);
}
if (n1->type != n2->type) {
- differs = 0;
+ differs = F_TYPE;
mismatch(n1, n2, differs, path);
return (1);
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Jul 9, 2:37 AM (4 h, 15 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34870742
Default Alt Text
D21623.diff (2 KB)
Attached To
Mode
D21623: mtree: Fix -f -f not considering type changes.
Attached
Detach File
Event Timeline
Log In to Comment