Kirill Smelkov <kirr@mns.spb.ru> [Thu, 10 Jan 2008 12:07:18 +0300] rev 5830
hg qrecord -- like record, but for mq
I'm a former Darcs user, and I've discovered that it is very convenient to
actually perform development using MQ first, and only when the patches are
'ready' move them to project's history in stone.
Usually I work on some topic, temporarily forgetting about any version control,
and just do coding, experimenting, debugging, etc.
After some time, I approach a moment, where my work should actually go to
patches/commits, and here is the problem::
As it is now, there is no way to put part of the changes into one patch,
and another part of the changes into second patch.
This works, but only when changes are touching separate files, and for
semantically different changes touching the same file(s) there is now
pretty way to put them into separate patches.
For some time, I've tolerated the pain to run vim patches/... and move hunks
between files by hand, but I think this affects my productivity badly.
So, here is the first step towards untiing the problem:
Let's use 'hg qrecord' for mq, like we use 'hg record' for usual commits!
Kirill Smelkov <kirr@mns.spb.ru> [Thu, 10 Jan 2008 12:07:18 +0300] rev 5829
cmdutil.commit: extract 'addremove' from opts carefully
we are going to use cmdutil.commit for qrecord, and it's brother
qrefresh does not support addremove.
Kirill Smelkov <kirr@mns.spb.ru> [Thu, 10 Jan 2008 12:07:18 +0300] rev 5828
dispatch: allow extensions to provide setup code
we'll need this soon, when record extension will optionally depend
on mq early -- when preparing cmdtable.
Also, if accepted, ExtensionHowto wiki should be updated as well.
Kirill Smelkov <kirr@mns.spb.ru> [Thu, 10 Jan 2008 12:07:13 +0300] rev 5827
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.
Kirill Smelkov <kirr@mns.spb.ru> [Thu, 10 Jan 2008 11:43:30 +0300] rev 5826
record: some docs
While studing record, I've written some docstrings and comments.
Hope they are useful.
Christian Ebert <blacktrash@gmx.net> [Wed, 09 Jan 2008 05:24:33 +0100] rev 5825
keyword: clean up quiet setting in kwdemo and adding of untracked kwfiles
Christian Ebert <blacktrash@gmx.net> [Wed, 09 Jan 2008 11:21:40 +0100] rev 5824
keyword: suppress keyword expansion for log commands
With previous bugfix "hg log -p" expanded keywords.
Turn off again by making log, tip nokwcommands.
Christian Ebert <blacktrash@gmx.net> [Wed, 09 Jan 2008 05:18:50 +0100] rev 5823
keyword: (bugfix) only set changenode for kwtemplater when committing
kwexpand must always obtain changenode from filectx,
otherwise current changenode is expanded in every file.
Also fixes "hg cat <more than 1 file>".
Maxim Dounin <mdounin@mdounin.ru> [Tue, 08 Jan 2008 06:56:21 +0300] rev 5822
test-mq-header: don't fail with different patch(1)
At least under FreeBSD patch(1) won't fail on empty patch and will print
'Hmm...' warning instead. Sanitize output so tests won't fail unexpectedly.
Matt Mackall <mpm@selenic.com> [Tue, 08 Jan 2008 15:56:12 -0600] rev 5821
Fix up tests for XHTML validation bits
Kevin Christen <kevin.christen@gmail.com> [Mon, 07 Jan 2008 21:29:40 -0600] rev 5820
Fixed numerous XHTML problems that caused validation errors and warnings.
Link elements for Atom and RSS feeds had no end tag. <div> block element
inside <a> in-line element isn't right and caused rendering problems on
Safari. Spurious </div> tag in search forms. Branch entry missing closing
</a> tag.
Dennis Schoen <ds@1d10t.de> [Mon, 31 Dec 2007 16:18:17 +0100] rev 5819
patchbomb: attachment options changed
'-a/--attach' send patches as attachment
'-i/--inline' sends patches as inline attachment (old behavior of -a/--attach)
Christian Ebert <blacktrash@gmx.net> [Fri, 04 Jan 2008 16:11:01 +0100] rev 5818
patchbomb: consistently use opts.get
Christian Ebert <blacktrash@gmx.net> [Fri, 04 Jan 2008 15:58:22 +0100] rev 5817
patchbomb: fix more line continuations (coding style)
Christian Ebert <blacktrash@gmx.net> [Fri, 04 Jan 2008 18:22:39 +0100] rev 5816
keyword: add test
Christian Ebert <blacktrash@gmx.net> [Fri, 04 Jan 2008 18:22:09 +0100] rev 5815
Add extension for filewise RCS-keyword expansion in working dir
- keywords are only expanded working dir, not in change history
- completely customizable keywords/expansions based on hg templates
- intrusiveness/slowdown can be reduced by specifying precise [keyword]
file patterns
- can be turned off/on anytime
- changesets can be exchanged regardless of remote/local keyword settings
Alexandre Vassalotti <mercurial-bugs@selenic.com> [Mon, 07 Jan 2008 15:26:12 -0600] rev 5814
restore branch after rollback (issue 902)
Patrick Mezard <pmezard@gmail.com> [Sun, 06 Jan 2008 15:40:32 +0100] rev 5813
context: fix filectx.parents() bug introduced when editing
180a3eee4b75
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 06 Jan 2008 13:17:10 +0100] rev 5812
merge with crew-stable
Maxim Dounin <mdounin@mdounin.ru> [Sat, 29 Dec 2007 17:11:48 +0300] rev 5811
Fix copies reporting in log and convert.
If copy logged in file revision, we report copy for changeset only
if file revisions linkrev points back to the changeset in question
or both changeset parents contain different file revisions.
This fixes extra copies reported when executable bit was changed for
previously copied file.
Maxim Dounin <mdounin@mdounin.ru> [Sat, 29 Dec 2007 16:57:43 +0300] rev 5810
context: preserve changeset in filectx if we have one
If we know original changeset we are working with - try hard to
preserve it. Fallback to filelog.linkrev() only if we have no way
to get original changeset, since linkrev() may point to other
changeset.
Patrick Mezard <pmezard@gmail.com> [Sat, 05 Jan 2008 17:36:16 +0100] rev 5809
test-convert-hg-svn: make it more windows friendly
Patrick Mezard <pmezard@gmail.com> [Sat, 05 Jan 2008 17:36:16 +0100] rev 5808
test-convert-svn-sink: wrap repetitive svn checks in a function
Patrick Mezard <pmezard@gmail.com> [Sat, 05 Jan 2008 22:52:28 +0100] rev 5807
Merge with crew-stable
Shun-ichi GOTO <shunichi.goto@gmail.com> [Sat, 05 Jan 2008 11:46:00 +0900] rev 5806
convert: Fix bug of limit_arglist() loosing file on limit boundary.
Patrick Mezard <pmezard@gmail.com> [Fri, 04 Jan 2008 23:43:55 +0100] rev 5805
test-convert: test before() and after() conversion actions
Patrick Mezard <pmezard@gmail.com> [Fri, 04 Jan 2008 23:43:55 +0100] rev 5804
test-convert-svn-source: test convert/multiple extra fields
Patrick Mezard <pmezard@gmail.com> [Fri, 04 Jan 2008 23:43:49 +0100] rev 5803
Merge with crew-stable
Bryan O'Sullivan <bos@serpentine.com> [Fri, 04 Jan 2008 13:56:31 -0800] rev 5802
util: drop params added during experimentation
John Coomes <john.coomes@sun.com> [Tue, 18 Dec 2007 12:45:30 -0800] rev 5801
hg tag: run tag hook just once