Mercurial > hg-stable
view hgeditor @ 48546:5151b0f6519e
simplemerge: make `localorother` a "mode" instead of a separate thing
`simplemerge()` takes a `mode` argument, which can be "union", "merge"
or "mergediff", and a `localorother` argument, which can be `None`,
"local", or "other". The two options are not at all orthogonal -- most
combinations don't make sense. Also, at least "union", "local", and
"other" are very closely related. Therefore, it makes sense to combine
them into one.
It probably makes sense to split the `mode` argument into `resolve`
and `marker_style`, where the former can be `None`, "union", "local",
or "other", and the latter can be "merge", "merge3", "mergediff", or
"minimize". This is a good step in that direction whether or not we
end up doing that.
Differential Revision: https://phab.mercurial-scm.org/D11887
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 07 Dec 2021 17:48:50 -0800 |
parents | 1aee2ab0f902 |
children |
line wrap: on
line source
#!/bin/sh # # This is an example of using HGEDITOR to create of diff to review the # changes while committing. # If you want to pass your favourite editor some other parameters # only for Mercurial, modify this: case "${EDITOR}" in "") EDITOR="vi" ;; emacs) EDITOR="$EDITOR -nw" ;; gvim|vim) EDITOR="$EDITOR -f -o" ;; esac HGTMP="" cleanup_exit() { rm -rf "$HGTMP" } # Remove temporary files even if we get interrupted trap "cleanup_exit" 0 # normal exit trap "exit 255" HUP INT QUIT ABRT TERM HGTMP=$(mktemp -d ${TMPDIR-/tmp}/hgeditor.XXXXXX) [ x$HGTMP != x -a -d $HGTMP ] || { echo "Could not create temporary directory! Exiting." 1>&2 exit 1 } ( grep '^HG: changed' "$1" | cut -b 13- | while read changed; do "$HG" diff "$changed" >> "$HGTMP/diff" done ) cat "$1" > "$HGTMP/msg" MD5=$(which md5sum 2>/dev/null) || \ MD5=$(which md5 2>/dev/null) [ -x "${MD5}" ] && CHECKSUM=`${MD5} "$HGTMP/msg"` if [ -s "$HGTMP/diff" ]; then $EDITOR "$HGTMP/msg" "$HGTMP/diff" || exit $? else $EDITOR "$HGTMP/msg" || exit $? fi [ -x "${MD5}" ] && (echo "$CHECKSUM" | ${MD5} -c >/dev/null 2>&1 && exit 13) mv "$HGTMP/msg" "$1" exit $?