hgeditor
author mpm@selenic.com
Sun, 03 Jul 2005 20:33:35 -0800
changeset 602 56d81b303656
parent 547 4fc63e22b1fe
child 663 562404de61fb
permissions -rwxr-xr-x
Various HTML cleanups -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Various HTML cleanups From: Edouard Gomez <ed.gomez@free.fr> Cleaned up the changeset summary table differentiating title cells from data cells using th and td. Added semantic classes. Changed the big pre tag into a div that mimics pre tag style (that is monospace font and white space preformated). This is required because pre is an inline element, and thus cannot be the parent of block elements as div (diffblock). I replaced all these div blocks by a series ul lists as patches can be seen as lists of changes in versioned files. If someone has a better semantic to propose, i'd be pleased he drops me an email about this patch. - -- Cleaned up the filediff summary table differentiating title cells from data cells using th and td. Added semantic classes. - -- Keep style unchanged for changeset template As promised no changes in style. This one got through my eyes + brain checking... sorry. manifest hash: 68dd5c1ac71aa6a5932fb209d48df5fc0c78643b -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCyLwfywK+sNU5EO8RAtE9AJ0cxl80eF3zpBWLn8OkoSs7dkZOTgCgtYto j7T/iRk0Hq4Q0mjdos7FvYU= =KOP2 -----END PGP SIGNATURE-----

#!/bin/sh
#
# This is an example of using HGEDITOR to automate the signing of
# commits and so on.

T1=""; T2=""
cleanup_exit() {
    rm -f "$T1" "$T2"
    exit $1
}

case "${EDITOR:=vi}" in
    emacs)
        EDITOR="$EDITOR -nw"
        ;;
    gvim|vim)
        EDITOR="$EDITOR -f -o"
        ;;
esac

if grep -q "^HG: merge resolve" "$1" ; then
    # we don't sign merges
    exec $EDITOR "$1"
else
    T1=`mktemp`; T2=`mktemp`
    MANIFEST=`grep '^HG: manifest hash' "$1" | cut -b 19-`

    echo -e "\n\nmanifest hash: $MANIFEST" >> "$T1"
    grep -vE '^(HG: manifest hash .*)?$' "$1" >> "$T1"
    (
        cd "`hg root`"
        grep '^HG: changed' "$1" | cut -b 13- | while read changed; do
            hg diff "$changed" >> "$T2"
        done
    )

    CHECKSUM=`md5sum "$T1"`
    $EDITOR "$T1" "$T2" || cleanup_exit $?
    echo "$CHECKSUM" | md5sum -c 2>/dev/null && cleanup_exit 0
    {
        head -1 "$T1"
        echo
        grep -v "^HG:" "$T1" | gpg -a -u "${HGUSER:-$EMAIL}" --clearsign
    } > "$T2" && mv "$T2" "$1"
    cleanup_exit $?
fi