diff options
-rwxr-xr-x | baserock-system-config-sync/baserock-system-config-sync | 8 | ||||
-rw-r--r-- | tests/bscs-merge.pass/upgrades.out/systems/version2/run/etc/file7.orig | 2 |
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 |