config/shell: utilise git for file merges
This commit is contained in:
parent
29e55772b2
commit
5c2eac73b1
|
@ -3,7 +3,9 @@ alias g="git"
|
||||||
alias bfg="java -jar $HOME/daten/applications/bfg-1.13.0.jar"
|
alias bfg="java -jar $HOME/daten/applications/bfg-1.13.0.jar"
|
||||||
alias magit='nvim -c MagitOnly'
|
alias magit='nvim -c MagitOnly'
|
||||||
|
|
||||||
alias y='yadm'
|
y() {
|
||||||
|
test "$#" -eq 0 && yadm s || yadm "$@"
|
||||||
|
}
|
||||||
yc() {
|
yc() {
|
||||||
echo "config/$1:" >/tmp/yc-msg
|
echo "config/$1:" >/tmp/yc-msg
|
||||||
yadm commit -v --template /tmp/yc-msg ${@:2} -- "$XDG_CONFIG_HOME/$1"
|
yadm commit -v --template /tmp/yc-msg ${@:2} -- "$XDG_CONFIG_HOME/$1"
|
||||||
|
|
|
@ -8,11 +8,12 @@ if test "$#" -gt 0
|
||||||
( stats "$orig" "$1"; dif "$orig" "$@" ) |
|
( stats "$orig" "$1"; dif "$orig" "$@" ) |
|
||||||
less --RAW-CONTROL-CHARS --quit-on-intr --quit-if-one-screen
|
less --RAW-CONTROL-CHARS --quit-on-intr --quit-if-one-screen
|
||||||
test "$?" -eq "2" && exit 1
|
test "$?" -eq "2" && exit 1
|
||||||
echo "y|r to restore, n|d to delete"
|
echo "y|r to restore, n|d to delete, m to merge"
|
||||||
read reply
|
read reply
|
||||||
case "$reply" in
|
case "$reply" in
|
||||||
(y|r) st-restore "$1";;
|
(y|r) st-restore "$1";;
|
||||||
(n|d) rm -v "$1";;
|
(n|d) rm -v "$1";;
|
||||||
|
(m) touch /tmp/empty && git merge-file "$orig" /tmp/empty "$1" && nvim "$orig" && rm "$1";;
|
||||||
esac
|
esac
|
||||||
else find -name '*sync-conflict*' -exec st-diff '{}' \;
|
else find -name '*sync-conflict*' -exec st-diff '{}' \;
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue