Mercurial > hg
view tests/test-custom-filters @ 11524:24965bb270b7
dispatch: add shell aliases
This patch adds git-style "shell aliases" to Mercurial.
Any alias with a definition beginning with a '!' will be treated as a shell
alias. For example:
[alias]
echo = !echo
qempty = !hg qrefresh -X "`hg root`" ; echo Emptied patch "`hg qtop`"
$ hg echo foo
foo
$ hg qempty
Emptied patch foo
$
author | Steve Losh <steve@stevelosh.com> |
---|---|
date | Wed, 07 Jul 2010 18:49:43 -0400 |
parents | a964ab624385 |
children |
line wrap: on
line source
#!/bin/sh hg init cat > .hg/hgrc <<EOF [extensions] prefixfilter = prefix.py [encode] *.txt = stripprefix: Copyright 2046, The Masters [decode] *.txt = insertprefix: Copyright 2046, The Masters EOF cat > prefix.py <<EOF from mercurial import util def stripprefix(s, cmd, filename, **kwargs): header = '%s\n' % cmd if s[:len(header)] != header: raise util.Abort('missing header "%s" in %s' % (cmd, filename)) return s[len(header):] def insertprefix(s, cmd): return '%s\n%s' % (cmd, s) def reposetup(ui, repo): repo.adddatafilter('stripprefix:', stripprefix) repo.adddatafilter('insertprefix:', insertprefix) EOF cat > .hgignore <<EOF .hgignore prefix.py prefix.pyc EOF cat > stuff.txt <<EOF Copyright 2046, The Masters Some stuff to ponder very carefully. EOF hg add stuff.txt hg ci -m stuff echo '% Repository data:' hg cat stuff.txt echo '% Fresh checkout:' rm stuff.txt hg up -C cat stuff.txt echo >> stuff.txt <<EOF Very very carefully. EOF hg stat cat > morestuff.txt <<EOF Unauthorized material subject to destruction. EOF echo '% Problem encoding:' hg add morestuff.txt hg ci -m morestuff hg stat