Mercurial > hg
view tests/test-dispatch.py @ 25881:9de443515f1d stable
help: scripting help topic
There are a lot of non-human consumers of Mercurial. And the challenges
and considerations for machines consuming Mercurial is significantly
different from what humans face.
I think there are enough special considerations around how machines
consume Mercurial that a dedicated help topic is warranted. I concede
the audience for this topic is probably small compared to the general
audience. However, lots of normal Mercurial users do things like create
one-off shell scripts for common workflows that I think this is useful
enough to be in the install (as opposed to, say, a wiki page - which
most users will likely never find).
This text is by no means perfect. But you have to start somewhere. I
think I did cover the important parts, though.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 18 Jul 2015 17:10:28 -0700 |
parents | 08bfec2ef031 |
children | 06245740b408 |
line wrap: on
line source
import os from mercurial import dispatch def testdispatch(cmd): """Simple wrapper around dispatch.dispatch() Prints command and result value, but does not handle quoting. """ print "running: %s" % (cmd,) req = dispatch.request(cmd.split()) result = dispatch.dispatch(req) print "result: %r" % (result,) testdispatch("init test1") os.chdir('test1') # create file 'foo', add and commit f = open('foo', 'wb') f.write('foo\n') f.close() testdispatch("add foo") testdispatch("commit -m commit1 -d 2000-01-01 foo") # append to file 'foo' and commit f = open('foo', 'ab') f.write('bar\n') f.close() testdispatch("commit -m commit2 -d 2000-01-02 foo") # check 88803a69b24 (fancyopts modified command table) testdispatch("log -r 0") testdispatch("log -r tip")