[PATCH 3 of 3] debugbuilddag: build a changelog dag from a concise description
peter.arrenbrecht at gmail.com
Fri Feb 12 00:20:22 CST 2010
On Thu, Feb 11, 2010 at 11:35 PM, Matt Mackall <mpm at selenic.com> wrote:
> On Thu, 2010-02-11 at 23:02 +0100, Peter Arrenbrecht wrote:
>> # HG changeset patch
>> # User Peter Arrenbrecht <peter.arrenbrecht at gmail.com>
>> # Date 1265925643 -3600
>> debugbuilddag: build a changelog dag from a concise description
>> Useful in tests to quickly build a complex DAG in an empty repo.
>> Handles local tags and named branches.
>> Options to, at each rev,
>> - create a new file,
>> - overwrite the same file,
>> - append to the same file,
>> - write to a specific line in a mergeable file.
>> Can run shell commands during DAG buildup.
> Ideally, I'd like a version that runs with no args.
Hmm. I'll have to handle empty commits and merges then, somehow. I can
see the following options:
* disallow ! commands and use pure in-memory operations,
* status before each commit to determine if I can use in-memory ops
or not for this commit,
* implement commit --force and merge --force for non-fastforward merges.
The latter was actually a topic at the sprint where dsop wanted them
for a particular workflow (mandatory feature branches) with bookmarks
instead of named branches.
> The -a variant broke
> for me.
What DAG description did you use?
>> + if not (mergeable_file or appended_file or overwritten_file or new_file):
>> + raise Exception(_('need at least one of -m, -a, -o, -n'))
> util.Abort, please.
> Also, several new check-code complaints from this code.
Ah, have to get used to that thing.
More information about the Mercurial-devel