sapling/tests/test-myparent.t
Alexander Mols 8391d808d0 myparent: commit template keywords based on your previous commit
Summary:
An extension to pre-fill your commit template based on your own
previous commit. Useful for stacked diffs where the commits are mostly related
and will have mostly the same reviewers, tasks, etc.

Test Plan: dogfooding + tests

Reviewers: #sourcecontrol, mjpieters, quark

Reviewed By: quark

Subscribers: quark, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D4265616

Tasks: 12218809

Signature: t1:4265616:1480946835:ed18fadbd9068f2d2ec4799fa1ac176132b41e4b
2016-12-05 06:27:29 -08:00

54 lines
1.3 KiB
Perl

Setup
$ PYTHONPATH=$TESTDIR/..:$PYTHONPATH
$ export PYTHONPATH
$ cat >> $HGRCPATH << EOF
> [extensions]
> myparent=$TESTDIR/../hgext3rd/myparent.py
> EOF
$ hg init repo
$ cd repo
$ touch foo
$ cat >> ../commitmessage << EOF
> [prefix] My title
>
> Summary: Very good summary of my commit.
>
> Test Plan: cat foo
>
> Reviewers: #sourcecontrol, rmcelroy
>
> Subscribers: rmcelroy, mjpieters
>
> Differential Revision: https://phabricator.fb.com/D42
>
> Tasks: 1337
> EOF
$ hg commit -qAl ../commitmessage
$ touch bar
$ hg commit -qAm 'Differential Revision: https://phabricator.fb.com/D2'
All template keywords work if the current author matches the other of the
previous commit.
$ hg log -T '{myparentdiff}\n' -r .
D42
$ hg log -T '{myparentreviewers}\n' -r .
#sourcecontrol, rmcelroy
$ hg log -T '{myparentsubscribers}\n' -r .
rmcelroy, mjpieters
$ hg log -T '{myparenttasks}\n' -r .
1337
$ hg log -T '{myparenttitleprefix}\n' -r .
[prefix]
If the authors do not match the keywords will be empty.
$ hg commit -q --amend --user hacker2
$ hg log -T '{myparentdiff}' -r .
$ hg log -T '{myparentreviewers}' -r .
$ hg log -T '{myparentsubscribers}' -r .
$ hg log -T '{myparenttasks}' -r .
$ hg log -T '{myparenttitleprefix}' -r .