summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbaserock-system-config-sync/baserock-system-config-sync8
-rw-r--r--tests/bscs-merge.pass/upgrades.out/systems/version2/run/etc/file7.orig2
2 files changed, 8 insertions, 2 deletions
diff --git a/baserock-system-config-sync/baserock-system-config-sync b/baserock-system-config-sync/baserock-system-config-sync
index cb5984d..a093b15 100755
--- a/baserock-system-config-sync/baserock-system-config-sync
+++ b/baserock-system-config-sync/baserock-system-config-sync
@@ -151,13 +151,17 @@ merge_regular_file() {
cp -a "$vu" "$vt"
;;
'none exists exists')
- if ! (diff -u "$v2" --label="$v2" "$vu" --label="$vu" | patch "$v2" -t -o "$vt"); then
+ cp -a "$v2" "$vt"
+ if ! (diff -u "$v2" --label="$v2" "$vu" --label="$vu" | patch "$vt" -t); then
cp -a "$v2" "$vt" # merge failed, use v2
+ # 'patch' creates a file '.rej' with the diff that did not apply
fi
;;
'exists exists exists')
- if ! (diff -u "$v1" --label="$v1" "$vu" --label="$vu" | patch "$v2" -t -o "$vt"); then
+ cp -a "$v2" "$vt"
+ if ! (diff -u "$v1" --label="$v1" "$vu" --label="$vu" | patch "$vt" -t); then
cp -a "$v2" "$vt" # merge failed, use v2
+ # 'patch' creates a file '.rej' with the diff that did not apply
fi
;;
*)
diff --git a/tests/bscs-merge.pass/upgrades.out/systems/version2/run/etc/file7.orig b/tests/bscs-merge.pass/upgrades.out/systems/version2/run/etc/file7.orig
new file mode 100644
index 0000000..93c46eb
--- /dev/null
+++ b/tests/bscs-merge.pass/upgrades.out/systems/version2/run/etc/file7.orig
@@ -0,0 +1,2 @@
+whereami=v1,vu,v2
+version=v2