Mercurial > hg
view contrib/sample.hgrc @ 5827:0c29977bd7db
record: refactor record into generic record driver
rationale
---------
I'd like to make MQ version of record -- qrecord.
>From the first glance it seemed to be easy -- the task in essence would be to
change call to cmdutil.commit() to something like mq.qrefresh().
As it turned out queue.refresh() and cmdutil.commit() have different semantics
-- cmdutil.commit() first scans for changes and then delegate the actual commit
to lowlevel func. On the other hand queue.refresh() do it all in once, and I am
a bit scary to change it.
Maybe the right way would be to first refactor queue.refresh() to use
cmdutil.commit() machinery, and then trivially adjust record, but I feel I'm
not competent for the task right now.
Instead, I propose we refactor record to be some sort of high-level driver, or
like a high-level decorator one can say, which will first interactively filter
changes, and then delegate commit job to high-level commiter, e.g. 'commit' or
'qrefresh'
So, this patch does just that -- refactor record to be generic driver, and
update 'hg record' code to use the driver.
'hg qrecord' will follow.
author | Kirill Smelkov <kirr@mns.spb.ru> |
---|---|
date | Thu, 10 Jan 2008 12:07:13 +0300 |
parents | 345ed833854d |
children | 5f01fd602542 |
line wrap: on
line source
### --- User interface [ui] ### show changed files and be a bit more verbose if True # verbose = True ### username data to appear in comits ### it usually takes the form: Joe User <joe.user@host.com> # username = Joe User <j.user@example.com> ### --- Extensions [extensions] ### each extension has its own 'extension_name=path' line ### the default python library path is used when path is left blank ### the hgext dir is used when 'hgext.extension_name=' is written ### acl - Access control lists ### hg help acl # hgext.acl = ### bisect - binary search changesets to detect bugs ### hg help bisect # hgext.hbisect = ### bugzilla - update bugzilla bugs when changesets mention them ### hg help bugzilla # hgext.bugzilla = ### extdiff - Use external diff application instead of builtin one # hgext.extdiff = ### gpg - GPG checks and signing ### hg help gpg # hgext.gpg = ### graphlog - ASCII graph log ### hg help glog # hgext.graphlog = ### hgk - GUI repository browser ### hg help view # hgext.hgk = ### mq - Mercurial patch queues ### hg help mq # hgext.mq = ### notify - Template driven e-mail notifications ### hg help notify # hgext.notify = ### patchbomb - send changesets as a series of patch emails ### hg help email # hgext.patchbomb = ### churn - create a graph showing who changed the most lines ### hg help churn # hgext.churn = /home/user/hg/hg/contrib/churn.py ### win32text - line ending conversion filters for the Windows platform # hgext.win32text = ### --- hgk additional configuration [hgk] ### set executable path # path = /home/user/hg/hg/contrib/hgk ### --- Hook to Mercurial actions - See hgrc man page for avaliable hooks [hooks] ### Example notify hooks (load hgext.notify extension before use) # incoming.notify = python:hgext.notify.hook # changegroup.notify = python:hgext.notify.hook ### Email configuration for the notify and patchbomb extensions [email] ### Your email address # from = user@example.com ### Method to send email - smtp or /usr/sbin/sendmail or other program name # method = smtp ### smtp server to send email to [smtp] # host = mail # port = 25 # tls = false # username = user # password = blivet # local_hostname = myhost ### --- Email notification hook for server [notify] ### multiple sources can be specified as a whitespace or comma separated list # sources = serve push pull bundle ### set this to False when you're ready for mail to start sending # test = True ### path to config file with names of subscribers # config = /path/to/subscription/file