sbywater
sbywater

Reputation: 1301

mercurial - list users with changeset in default not in stable

I'd like to be able to output a list of users that have commits in default (or, more specifically, the bookmark @) that are not yet in stable. To do this with git I would do:

git log stable..at --format="%an" | sort | uniq

The closest I've got is:

hg log -r "@ - stable" | grep user:

Upvotes: 0

Views: 27

Answers (1)

Reimer Behrends
Reimer Behrends

Reputation: 8720

The following command should do the trick:

hg log -r 'ancestors(@) - ancestors(stable)' -T '{author|person}\n' | sort -u

The -T or --template option allows you to configure the output; see hg help templates for details.

The ancestors(stable) revset should work for both a stable bookmark and a named branch called stable; ancestors(default) can be substituted for ancestors(@) to capture the entire default branch and not just the part following the bookmark @. To further customize author information (e.g. to extract email information only), see hg help templates again; {author} will provide the full author information, {author|email} will provide their email address, {author|emailuser} will provide the local part of the email address, etc. Above, {author|person} will provide the real name to reflect the semantics of %an in Git.

Upvotes: 3

Related Questions