|
|
|
@ -198,20 +198,39 @@ function clone() { |
|
|
|
|
} |
|
|
|
|
debug "Doing an initial merge of origin/master" |
|
|
|
|
"$GIT_PROGRAM" merge origin/master || { |
|
|
|
|
debug "Merge failed, doing a reset." |
|
|
|
|
debug "Merge failed, doing a reset and stashing conflicts." |
|
|
|
|
"$GIT_PROGRAM" reset origin/master |
|
|
|
|
cat <<EOF |
|
|
|
|
if cd "$YADM_WORK"; then # necessary because of a bug in Git |
|
|
|
|
"$GIT_PROGRAM" -c user.name='yadm clone' -c user.email='yadm' stash save Conflicts preserved from yadm clone command 2>&1 |
|
|
|
|
cat <<EOF |
|
|
|
|
**NOTE** |
|
|
|
|
Merging origin/master failed. |
|
|
|
|
|
|
|
|
|
As a result, yadm did 'reset origin/master', and then |
|
|
|
|
stashed the conflicting data. |
|
|
|
|
|
|
|
|
|
This likely happened because you had files in \$HOME |
|
|
|
|
which conflicted with files tracked by origin/master. |
|
|
|
|
|
|
|
|
|
You can review the stashed conflicts with the command |
|
|
|
|
'yadm stash show -p'. If you want to restore the stashed |
|
|
|
|
data, you can run 'yadm stash apply' or 'yadm stash pop' |
|
|
|
|
and then handle the conflicts in another way. |
|
|
|
|
EOF |
|
|
|
|
else |
|
|
|
|
cat <<EOF |
|
|
|
|
**NOTE** |
|
|
|
|
Merging origin/master failed. |
|
|
|
|
yadm did 'reset origin/master' instead. |
|
|
|
|
|
|
|
|
|
This likely happened because you had files in your |
|
|
|
|
work-tree, which conflict files tracked by origin/master |
|
|
|
|
yadm did not stash these conflicts beacuse it was unable |
|
|
|
|
to change to the $YADM_WORK directory. |
|
|
|
|
|
|
|
|
|
Please review and resolve any differences appropriately |
|
|
|
|
If you know what you're doing, and want to overwrite the |
|
|
|
|
tracked files, consider 'yadm reset --hard origin/master' |
|
|
|
|
EOF |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
CHANGES_POSSIBLE=1 |
|
|
|
|