Mercurial > hg
view hgeditor @ 38170:dfb888aae17a
outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
The problem here was that `default:pushurl` and `default` get translated to a
single entry in `ui.paths` named 'default', with an attribute for 'pushloc',
'loc', and 'rawloc'. ui.expandpath() then always takes the `rawloc` attribute.
Maybe the ui.expandpath() API is busted and should be removed? Or maybe
getpath() should return a copy that adds an attribute reflecting the URL of the
path chosen?
I thought that I could remove the code in hg._outgoing() and pass the location
resolved in commands.py as `dest`, but unfortunately that code is needed there
to resolve #branch type URLs. Maybe that should be pulled up to commands.py,
because I can't see any reasonable behavior for a subrepo path that's
constructed out of that type of URL.
The push command already resolves this early, so that works properly. But it
looks like bundle, histedit, largefiles, patchbomb, and summary use a similar
pattern, so they are likely similarly affected.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 28 May 2018 01:36:34 -0400 |
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 $?