annotate tests/test-phabricator.t @ 45736:2c6b054e22d0

test: add test-transaction-rollback-on-sigpipe.t demonstrating py3 regression When an hg push is interrupted with C-c, the remote [hg serve] command receives SIGPIPE. If a pretxnchangegroup hook fails, the remote hg then tries to rollback the transaction. It begins by printing "transaction abort!\n". This returns EPIPE, but ui.py ignores that error. In python3 (but not python2), this "transaction abort!\n" message stays in a buffer, so future flushes of stderr will try to print the message again, and so those flushes will also hit EPIPE. This test demonstrates such a case where this EPIPE causes the transaction rollback to fail, leaving behind an abandoned transaction. Differential Revision: https://phab.mercurial-scm.org/D9151
author Mitchell Plamann <mplamann@janestreet.com>
date Mon, 05 Oct 2020 13:23:16 -0400
parents 1a5d3e555c70
children 294aab57a5f3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39651
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
1 #require vcr
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
2 $ cat >> $HGRCPATH <<EOF
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
3 > [extensions]
39652
d2c81e83de2a phabricator: move extension from contrib to hgext
Augie Fackler <raf@durin42.com>
parents: 39651
diff changeset
4 > phabricator =
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
5 >
44716
ed81fa859426 tests: move the phabricator auth token to the global config file
Matt Harbison <matt_harbison@yahoo.com>
parents: 44715
diff changeset
6 > [auth]
ed81fa859426 tests: move the phabricator auth token to the global config file
Matt Harbison <matt_harbison@yahoo.com>
parents: 44715
diff changeset
7 > hgphab.schemes = https
ed81fa859426 tests: move the phabricator auth token to the global config file
Matt Harbison <matt_harbison@yahoo.com>
parents: 44715
diff changeset
8 > hgphab.prefix = phab.mercurial-scm.org
ed81fa859426 tests: move the phabricator auth token to the global config file
Matt Harbison <matt_harbison@yahoo.com>
parents: 44715
diff changeset
9 > # When working on the extension and making phabricator interaction
ed81fa859426 tests: move the phabricator auth token to the global config file
Matt Harbison <matt_harbison@yahoo.com>
parents: 44715
diff changeset
10 > # changes, edit this to be a real phabricator token. When done, edit
ed81fa859426 tests: move the phabricator auth token to the global config file
Matt Harbison <matt_harbison@yahoo.com>
parents: 44715
diff changeset
11 > # it back. The VCR transcripts will be auto-sanitised to replace your real
ed81fa859426 tests: move the phabricator auth token to the global config file
Matt Harbison <matt_harbison@yahoo.com>
parents: 44715
diff changeset
12 > # token with this value.
ed81fa859426 tests: move the phabricator auth token to the global config file
Matt Harbison <matt_harbison@yahoo.com>
parents: 44715
diff changeset
13 > hgphab.phabtoken = cli-hahayouwish
ed81fa859426 tests: move the phabricator auth token to the global config file
Matt Harbison <matt_harbison@yahoo.com>
parents: 44715
diff changeset
14 >
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
15 > [phabricator]
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
16 > debug = True
39651
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
17 > EOF
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
18 $ hg init repo
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
19 $ cd repo
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
20 $ cat >> .hg/hgrc <<EOF
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
21 > [phabricator]
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
22 > url = https://phab.mercurial-scm.org/
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
23 > callsign = HG
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
24 > EOF
a641fd1a1196 tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff changeset
25 $ VCR="$TESTDIR/phabricator"
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
26
45246
b1f2659c1c34 phabricator: unconditionally pop `test_vcr` to fix debugcallconduit
Ian Moody <moz-ian@perix.co.uk>
parents: 45245
diff changeset
27 debugcallconduit doesn't claim invalid arguments without --test-vcr:
45245
b4887d0680a4 phabricator: demonstrate debugcallconduit being broken without --test-vcr
Ian Moody <moz-ian@perix.co.uk>
parents: 45152
diff changeset
28 $ echo '{}' | HGRCSKIPREPO= hg debugcallconduit 'conduit.ping'
45246
b1f2659c1c34 phabricator: unconditionally pop `test_vcr` to fix debugcallconduit
Ian Moody <moz-ian@perix.co.uk>
parents: 45245
diff changeset
29 abort: config phabricator.url is required
45245
b4887d0680a4 phabricator: demonstrate debugcallconduit being broken without --test-vcr
Ian Moody <moz-ian@perix.co.uk>
parents: 45152
diff changeset
30 [255]
b4887d0680a4 phabricator: demonstrate debugcallconduit being broken without --test-vcr
Ian Moody <moz-ian@perix.co.uk>
parents: 45152
diff changeset
31
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
32 Error is handled reasonably. We override the phabtoken here so that
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
33 when you're developing changes to phabricator.py you can edit the
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
34 above config and have a real token in the test but not have to edit
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
35 this test.
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
36 $ hg phabread --config auth.hgphab.phabtoken=cli-notavalidtoken \
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
37 > --test-vcr "$VCR/phabread-conduit-error.json" D4480 | head
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
38 abort: Conduit Error (ERR-INVALID-AUTH): API token "cli-notavalidtoken" has the wrong length. API tokens should be 32 characters long.
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
39
44579
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
40 Missing arguments don't crash, and may print the command help
44436
09f3e003fc2a phabricator: avoid a stacktrace when command arguments are missing
Matt Harbison <matt_harbison@yahoo.com>
parents: 44329
diff changeset
41
44579
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
42 $ hg debugcallconduit
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
43 hg debugcallconduit: invalid arguments
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
44 hg debugcallconduit METHOD
44436
09f3e003fc2a phabricator: avoid a stacktrace when command arguments are missing
Matt Harbison <matt_harbison@yahoo.com>
parents: 44329
diff changeset
45
44579
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
46 call Conduit API
44436
09f3e003fc2a phabricator: avoid a stacktrace when command arguments are missing
Matt Harbison <matt_harbison@yahoo.com>
parents: 44329
diff changeset
47
09f3e003fc2a phabricator: avoid a stacktrace when command arguments are missing
Matt Harbison <matt_harbison@yahoo.com>
parents: 44329
diff changeset
48 options:
09f3e003fc2a phabricator: avoid a stacktrace when command arguments are missing
Matt Harbison <matt_harbison@yahoo.com>
parents: 44329
diff changeset
49
44579
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
50 (use 'hg debugcallconduit -h' to show more help)
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
51 [255]
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
52 $ hg phabread
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
53 abort: empty DREVSPEC set
44436
09f3e003fc2a phabricator: avoid a stacktrace when command arguments are missing
Matt Harbison <matt_harbison@yahoo.com>
parents: 44329
diff changeset
54 [255]
09f3e003fc2a phabricator: avoid a stacktrace when command arguments are missing
Matt Harbison <matt_harbison@yahoo.com>
parents: 44329
diff changeset
55
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
56 Basic phabread:
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
57 $ hg phabread --test-vcr "$VCR/phabread-4480.json" D4480 | head
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
58 # HG changeset patch
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
59 # Date 1536771503 0
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
60 # Parent a5de21c9e3703f8e8eb064bd7d893ff2f703c66a
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
61 exchangev2: start to implement pull with wire protocol v2
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
62
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
63 Wire protocol version 2 will take a substantially different
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
64 approach to exchange than version 1 (at least as far as pulling
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
65 is concerned).
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
66
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
67 This commit establishes a new exchangev2 module for holding
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
68
44579
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
69 Phabread with multiple DREVSPEC
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
70
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
71 TODO: attempt to order related revisions like --stack?
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
72 $ hg phabread --test-vcr "$VCR/phabread-multi-drev.json" D8205 8206 D8207 \
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
73 > | grep '^Differential Revision'
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
74 Differential Revision: https://phab.mercurial-scm.org/D8205
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
75 Differential Revision: https://phab.mercurial-scm.org/D8206
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
76 Differential Revision: https://phab.mercurial-scm.org/D8207
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
77
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
78 Empty DREVSPECs don't crash
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
79
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
80 $ hg phabread --test-vcr "$VCR/phabread-empty-drev.json" D7917-D7917
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
81 abort: empty DREVSPEC set
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
82 [255]
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
83
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
84
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
85 phabupdate with an accept:
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
86 $ hg phabupdate --accept D4564 \
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
87 > -m 'I think I like where this is headed. Will read rest of series later.'\
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
88 > --test-vcr "$VCR/accept-4564.json"
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
89 abort: Conduit Error (ERR-CONDUIT-CORE): Validation errors:
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
90 - You can not accept this revision because it has already been closed. Only open revisions can be accepted.
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
91 [255]
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
92 $ hg phabupdate --accept D7913 -m 'LGTM' --test-vcr "$VCR/accept-7913.json"
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
93
45135
225588c4c255 phabupdate: allow revisions to be marked with "plan changes"
Matt Harbison <matt_harbison@yahoo.com>
parents: 44945
diff changeset
94 phabupdate with --plan-changes:
225588c4c255 phabupdate: allow revisions to be marked with "plan changes"
Matt Harbison <matt_harbison@yahoo.com>
parents: 44945
diff changeset
95
225588c4c255 phabupdate: allow revisions to be marked with "plan changes"
Matt Harbison <matt_harbison@yahoo.com>
parents: 44945
diff changeset
96 $ hg phabupdate --plan-changes D6876 --test-vcr "$VCR/phabupdate-change-6876.json"
225588c4c255 phabupdate: allow revisions to be marked with "plan changes"
Matt Harbison <matt_harbison@yahoo.com>
parents: 44945
diff changeset
97
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
98 Create a differential diff:
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
99 $ HGENCODING=utf-8; export HGENCODING
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
100 $ echo alpha > alpha
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
101 $ hg ci --addremove -m 'create alpha for phabricator test €'
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
102 adding alpha
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
103 $ hg phabsend -r . --test-vcr "$VCR/phabsend-create-alpha.json"
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
104 D7915 - created - d386117f30e6: create alpha for phabricator test \xe2\x82\xac (esc)
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
105 new commits: ['347bf67801e5']
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
106 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/d386117f30e6-24ffe649-phabsend.hg
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
107 $ echo more >> alpha
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
108 $ HGEDITOR=true hg ci --amend
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
109 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/347bf67801e5-3bf313e4-amend.hg
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
110 $ echo beta > beta
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
111 $ hg ci --addremove -m 'create beta for phabricator test'
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
112 adding beta
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
113 $ hg phabsend -r ".^::" --test-vcr "$VCR/phabsend-update-alpha-create-beta.json"
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
114 c44b38f24a45 mapped to old nodes []
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
115 D7915 - updated - c44b38f24a45: create alpha for phabricator test \xe2\x82\xac (esc)
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
116 D7916 - created - 9e6901f21d5b: create beta for phabricator test
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
117 new commits: ['a692622e6937']
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
118 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/9e6901f21d5b-1fcd4f0e-phabsend.hg
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
119 $ unset HGENCODING
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
120
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
121 The amend won't explode after posting a public commit. The local tag is left
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
122 behind to identify it.
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
123
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
124 $ echo 'public change' > beta
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
125 $ hg ci -m 'create public change for phabricator testing'
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
126 $ hg phase --public .
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
127 $ echo 'draft change' > alpha
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
128 $ hg ci -m 'create draft change for phabricator testing'
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
129 $ hg phabsend --amend -r '.^::' --test-vcr "$VCR/phabsend-create-public.json"
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
130 D7917 - created - 7b4185ab5d16: create public change for phabricator testing
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
131 D7918 - created - 251c1c333fc6: create draft change for phabricator testing
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
132 warning: not updating public commit 2:7b4185ab5d16
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
133 new commits: ['3244dc4a3334']
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
134 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/251c1c333fc6-41cb7c3b-phabsend.hg
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
135 $ hg tags -v
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
136 tip 3:3244dc4a3334
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
137 D7917 2:7b4185ab5d16 local
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
138
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
139 $ hg debugcallconduit user.search --test-vcr "$VCR/phab-conduit.json" <<EOF
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
140 > {
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
141 > "constraints": {
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
142 > "isBot": true
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
143 > }
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
144 > }
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
145 > EOF
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
146 {
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
147 "cursor": {
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
148 "after": null,
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
149 "before": null,
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
150 "limit": 100,
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
151 "order": null
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
152 },
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
153 "data": [],
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
154 "maps": {},
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
155 "query": {
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
156 "queryKey": null
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
157 }
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
158 }
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
159
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
160 Template keywords
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
161 $ hg log -T'{rev} {phabreview|json}\n'
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
162 3 {"id": "D7918", "url": "https://phab.mercurial-scm.org/D7918"}
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
163 2 {"id": "D7917", "url": "https://phab.mercurial-scm.org/D7917"}
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
164 1 {"id": "D7916", "url": "https://phab.mercurial-scm.org/D7916"}
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
165 0 {"id": "D7915", "url": "https://phab.mercurial-scm.org/D7915"}
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
166
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
167 $ hg log -T'{rev} {if(phabreview, "{phabreview.url} {phabreview.id}")}\n'
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
168 3 https://phab.mercurial-scm.org/D7918 D7918
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
169 2 https://phab.mercurial-scm.org/D7917 D7917
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
170 1 https://phab.mercurial-scm.org/D7916 D7916
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
171 0 https://phab.mercurial-scm.org/D7915 D7915
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
172
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
173 Commenting when phabsending:
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
174 $ echo comment > comment
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
175 $ hg ci --addremove -m "create comment for phabricator test"
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
176 adding comment
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
177 $ hg phabsend -r . -m "For default branch" --test-vcr "$VCR/phabsend-comment-created.json"
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
178 D7919 - created - d5dddca9023d: create comment for phabricator test
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
179 new commits: ['f7db812bbe1d']
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
180 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/d5dddca9023d-adf673ba-phabsend.hg
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
181 $ echo comment2 >> comment
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
182 $ hg ci --amend
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
183 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/f7db812bbe1d-8fcded77-amend.hg
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
184 $ hg phabsend -r . -m "Address review comments" --test-vcr "$VCR/phabsend-comment-updated.json"
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
185 1849d7828727 mapped to old nodes []
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
186 D7919 - updated - 1849d7828727: create comment for phabricator test
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
187
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
188 Phabsending a skipped commit:
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
189 $ hg phabsend --no-amend -r . --test-vcr "$VCR/phabsend-skipped.json"
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
190 1849d7828727 mapped to old nodes ['1849d7828727']
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
191 D7919 - skipped - 1849d7828727: create comment for phabricator test
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
192
44775
cf3e07d7648a tests: clarify a comment describing a phabricator test scenario
Matt Harbison <matt_harbison@yahoo.com>
parents: 44774
diff changeset
193 Phabsend doesn't create an instability when restacking existing revisions on top
44718
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
194 of new revisions.
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
195
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
196 $ hg init reorder
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
197 $ cd reorder
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
198 $ cat >> .hg/hgrc <<EOF
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
199 > [phabricator]
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
200 > url = https://phab.mercurial-scm.org/
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
201 > callsign = HG
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
202 > [experimental]
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
203 > evolution = all
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
204 > EOF
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
205
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
206 $ echo "add" > file1.txt
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
207 $ hg ci -Aqm 'added'
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
208 $ echo "mod1" > file1.txt
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
209 $ hg ci -m 'modified 1'
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
210 $ echo "mod2" > file1.txt
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
211 $ hg ci -m 'modified 2'
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
212 $ hg phabsend -r . --test-vcr "$VCR/phabsend-add-parent-setup.json"
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
213 D8433 - created - 5d3959e20d1d: modified 2
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
214 new commits: ['2b4aa8a88d61']
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
215 $ hg log -G -T compact
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
216 @ 3[tip]:1 2b4aa8a88d61 1970-01-01 00:00 +0000 test
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
217 | modified 2
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
218 |
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
219 o 1 d549263bcb2d 1970-01-01 00:00 +0000 test
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
220 | modified 1
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
221 |
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
222 o 0 5cbade24e0fa 1970-01-01 00:00 +0000 test
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
223 added
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
224
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
225 Also check that it doesn't create more orphans outside of the stack
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
226
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
227 $ hg up -q 1
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
228 $ echo "mod3" > file1.txt
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
229 $ hg ci -m 'modified 3'
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
230 created new head
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
231 $ hg up -q 3
44718
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
232 $ hg phabsend -r ".^ + ." --test-vcr "$VCR/phabsend-add-parent.json"
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
233 2b4aa8a88d61 mapped to old nodes ['2b4aa8a88d61']
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
234 D8434 - created - d549263bcb2d: modified 1
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
235 D8433 - updated - 2b4aa8a88d61: modified 2
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
236 new commits: ['876a60d024de']
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
237 new commits: ['0c6523cb1d0f']
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
238 restabilizing 1eda4bf55021 as d2c78c3a3e01
44718
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
239 $ hg log -G -T compact
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
240 o 7[tip]:5 d2c78c3a3e01 1970-01-01 00:00 +0000 test
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
241 | modified 3
44718
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
242 |
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
243 | @ 6 0c6523cb1d0f 1970-01-01 00:00 +0000 test
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
244 |/ modified 2
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
245 |
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
246 o 5:0 876a60d024de 1970-01-01 00:00 +0000 test
44718
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
247 | modified 1
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
248 |
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
249 o 0 5cbade24e0fa 1970-01-01 00:00 +0000 test
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
250 added
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
251
44719
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
252 Posting obsolete commits is disallowed
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
253
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
254 $ echo "mod3" > file1.txt
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
255 $ hg ci -m 'modified A'
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
256 $ echo "mod4" > file1.txt
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
257 $ hg ci -m 'modified B'
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
258
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
259 $ hg up '.^'
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
260 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
261 $ echo 'obsolete' > file1.txt
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
262 $ hg amend --config extensions.amend=
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
263 1 new orphan changesets
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
264 $ hg log -G
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
265 @ changeset: 10:082be6c94150
44719
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
266 | tag: tip
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
267 | parent: 6:0c6523cb1d0f
44719
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
268 | user: test
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
269 | date: Thu Jan 01 00:00:00 1970 +0000
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
270 | summary: modified A
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
271 |
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
272 | * changeset: 9:a67643f48146
44719
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
273 | | user: test
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
274 | | date: Thu Jan 01 00:00:00 1970 +0000
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
275 | | instability: orphan
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
276 | | summary: modified B
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
277 | |
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
278 | x changeset: 8:db79727cb2f7
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
279 |/ parent: 6:0c6523cb1d0f
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
280 | user: test
44719
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
281 | date: Thu Jan 01 00:00:00 1970 +0000
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
282 | obsolete: rewritten using amend as 10:082be6c94150
44719
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
283 | summary: modified A
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
284 |
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
285 | o changeset: 7:d2c78c3a3e01
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
286 | | parent: 5:876a60d024de
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
287 | | user: test
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
288 | | date: Thu Jan 01 00:00:00 1970 +0000
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
289 | | summary: modified 3
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
290 | |
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
291 o | changeset: 6:0c6523cb1d0f
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
292 |/ user: test
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
293 | date: Thu Jan 01 00:00:00 1970 +0000
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
294 | summary: modified 2
44719
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
295 |
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
296 o changeset: 5:876a60d024de
44719
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
297 | parent: 0:5cbade24e0fa
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
298 | user: test
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
299 | date: Thu Jan 01 00:00:00 1970 +0000
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
300 | summary: modified 1
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
301 |
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
302 o changeset: 0:5cbade24e0fa
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
303 user: test
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
304 date: Thu Jan 01 00:00:00 1970 +0000
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
305 summary: added
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
306
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
307 $ hg phabsend -r 5::
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
308 abort: obsolete commits cannot be posted for review
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
309 [255]
c482e2fe444c phabricator: prevent posting obsolete commits
Matt Harbison <matt_harbison@yahoo.com>
parents: 44718
diff changeset
310
44720
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
311 Don't restack existing orphans
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
312
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
313 $ hg phabsend -r 5::tip --test-vcr "$VCR/phabsend-no-restack-orphan.json"
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
314 876a60d024de mapped to old nodes ['876a60d024de']
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
315 0c6523cb1d0f mapped to old nodes ['0c6523cb1d0f']
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
316 D8434 - updated - 876a60d024de: modified 1
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
317 D8433 - updated - 0c6523cb1d0f: modified 2
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
318 D8435 - created - 082be6c94150: modified A
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
319 new commits: ['b5913193c805']
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
320 not restabilizing unchanged d2c78c3a3e01
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
321 $ hg log -G
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
322 @ changeset: 11:b5913193c805
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
323 | tag: tip
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
324 | parent: 6:0c6523cb1d0f
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
325 | user: test
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
326 | date: Thu Jan 01 00:00:00 1970 +0000
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
327 | summary: modified A
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
328 |
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
329 | * changeset: 9:a67643f48146
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
330 | | user: test
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
331 | | date: Thu Jan 01 00:00:00 1970 +0000
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
332 | | instability: orphan
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
333 | | summary: modified B
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
334 | |
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
335 | x changeset: 8:db79727cb2f7
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
336 |/ parent: 6:0c6523cb1d0f
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
337 | user: test
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
338 | date: Thu Jan 01 00:00:00 1970 +0000
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
339 | obsolete: rewritten using amend, phabsend as 11:b5913193c805
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
340 | summary: modified A
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
341 |
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
342 | o changeset: 7:d2c78c3a3e01
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
343 | | parent: 5:876a60d024de
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
344 | | user: test
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
345 | | date: Thu Jan 01 00:00:00 1970 +0000
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
346 | | summary: modified 3
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
347 | |
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
348 o | changeset: 6:0c6523cb1d0f
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
349 |/ user: test
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
350 | date: Thu Jan 01 00:00:00 1970 +0000
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
351 | summary: modified 2
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
352 |
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
353 o changeset: 5:876a60d024de
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
354 | parent: 0:5cbade24e0fa
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
355 | user: test
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
356 | date: Thu Jan 01 00:00:00 1970 +0000
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
357 | summary: modified 1
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
358 |
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
359 o changeset: 0:5cbade24e0fa
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
360 user: test
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
361 date: Thu Jan 01 00:00:00 1970 +0000
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
362 summary: added
601ce5392cb0 phabricator: restack any new orphans created by phabsend (issue6045)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44719
diff changeset
363
44718
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
364 $ cd ..
0680b8a1992a phabricator: avoid creating unstable children within the review stack
Matt Harbison <matt_harbison@yahoo.com>
parents: 44717
diff changeset
365
44169
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
366 Phabesending a new binary, a modified binary, and a removed binary
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
367
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
368 >>> open('bin', 'wb').write(b'\0a') and None
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
369 $ hg ci -Am 'add binary'
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
370 adding bin
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
371 >>> open('bin', 'wb').write(b'\0b') and None
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
372 $ hg ci -m 'modify binary'
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
373 $ hg rm bin
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
374 $ hg ci -m 'remove binary'
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
375 $ hg phabsend -r .~2:: --test-vcr "$VCR/phabsend-binary.json"
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
376 uploading bin@aa24a81f55de
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
377 D8007 - created - aa24a81f55de: add binary
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
378 uploading bin@d8d62a881b54
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
379 D8008 - created - d8d62a881b54: modify binary
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
380 D8009 - created - af55645b2e29: remove binary
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
381 new commits: ['b8139fbb4a57']
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
382 new commits: ['c88ce4c2d2ad']
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
383 new commits: ['75dbbc901145']
44169
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
384 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/aa24a81f55de-a3a0cf24-phabsend.hg
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
385
44329
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
386 Phabsend a renamed binary and a copied binary, with and without content changes
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
387 to src and dest
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
388
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
389 >>> open('bin2', 'wb').write(b'\0c') and None
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
390 $ hg ci -Am 'add another binary'
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
391 adding bin2
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
392
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
393 TODO: "bin2" can't be viewed in this commit (left or right side), and the URL
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
394 looks much different than when viewing "bin2_moved". No idea if this is a phab
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
395 bug, or phabsend bug. The patch (as printed by phabread) look reasonable
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
396 though.
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
397
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
398 $ hg mv bin2 bin2_moved
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
399 $ hg ci -m "moved binary"
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
400
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
401 Note: "bin2_moved" is also not viewable in phabricator with this review
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
402
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
403 $ hg cp bin2_moved bin2_copied
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
404 $ hg ci -m "copied binary"
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
405
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
406 Note: "bin2_moved_again" is marked binary in phabricator, and both sides of it
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
407 are viewable in their proper state. "bin2_copied" is not viewable, and not
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
408 listed as binary in phabricator.
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
409
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
410 >>> open('bin2_copied', 'wb').write(b'\0move+mod') and None
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
411 $ hg mv bin2_copied bin2_moved_again
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
412 $ hg ci -m "move+mod copied binary"
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
413
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
414 Note: "bin2_moved" and "bin2_moved_copy" are both marked binary, and both
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
415 viewable on each side.
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
416
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
417 >>> open('bin2_moved', 'wb').write(b'\0precopy mod') and None
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
418 $ hg cp bin2_moved bin2_moved_copied
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
419 >>> open('bin2_moved', 'wb').write(b'\0copy src+mod') and None
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
420 $ hg ci -m "copy+mod moved binary"
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
421
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
422 $ hg phabsend -r .~4:: --test-vcr "$VCR/phabsend-binary-renames.json"
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
423 uploading bin2@f42f9195e00c
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
424 D8128 - created - f42f9195e00c: add another binary
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
425 D8129 - created - 834ab31d80ae: moved binary
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
426 D8130 - created - 494b750e5194: copied binary
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
427 uploading bin2_moved_again@25f766b50cc2
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
428 D8131 - created - 25f766b50cc2: move+mod copied binary
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
429 uploading bin2_moved_copied@1b87b363a5e4
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
430 uploading bin2_moved@1b87b363a5e4
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
431 D8132 - created - 1b87b363a5e4: copy+mod moved binary
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
432 new commits: ['90437c20312a']
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
433 new commits: ['f391f4da4c61']
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
434 new commits: ['da86a9f3268c']
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
435 new commits: ['003ffc16ba66']
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
436 new commits: ['13bd750c36fa']
44329
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
437 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/f42f9195e00c-e82a0769-phabsend.hg
d1177d39012e phabricator: fix a phabsend crash when processing a renamed binary
Matt Harbison <matt_harbison@yahoo.com>
parents: 44169
diff changeset
438
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
439 Phabreading a DREV with a local:commits time as a string:
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
440 $ hg phabread --test-vcr "$VCR/phabread-str-time.json" D1285
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
441 # HG changeset patch
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
442 # User Pulkit Goyal <7895pulkit@gmail.com>
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
443 # Date 1509404054 -19800
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
444 # Node ID 44fc1c1f1774a76423b9c732af6938435099bcc5
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
445 # Parent 8feef8ef8389a3b544e0a74624f1efc3a8d85d35
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
446 repoview: add a new attribute _visibilityexceptions and related API
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
447
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
448 Currently we don't have a defined way in core to make some hidden revisions
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
449 visible in filtered repo. Extensions to achieve the purpose of unhiding some
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
450 hidden commits, wrap repoview.pinnedrevs() function.
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
451
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
452 To make the above task simple and have well defined API, this patch adds a new
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
453 attribute '_visibilityexceptions' to repoview class which will contains
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
454 the hidden revs which should be exception.
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
455 This will allow to set different exceptions for different repoview objects
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
456 backed by the same unfiltered repo.
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
457
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
458 This patch also adds API to add revs to the attribute set and get them.
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
459
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
460 Thanks to Jun for suggesting the use of repoview class instead of localrepo.
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
461
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
462 Differential Revision: https://phab.mercurial-scm.org/D1285
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
463 diff --git a/mercurial/repoview.py b/mercurial/repoview.py
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
464 --- a/mercurial/repoview.py
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
465 +++ b/mercurial/repoview.py
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
466 @@ * @@ (glob)
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
467 subclasses of `localrepo`. Eg: `bundlerepo` or `statichttprepo`.
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
468 """
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
469
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
470 + # hidden revs which should be visible
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
471 + _visibilityexceptions = set()
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
472 +
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
473 def __init__(self, repo, filtername):
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
474 object.__setattr__(self, r'_unfilteredrepo', repo)
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
475 object.__setattr__(self, r'filtername', filtername)
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
476 @@ -231,6 +234,14 @@
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
477 return self
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
478 return self.unfiltered().filtered(name)
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
479
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
480 + def addvisibilityexceptions(self, revs):
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
481 + """adds hidden revs which should be visible to set of exceptions"""
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
482 + self._visibilityexceptions.update(revs)
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
483 +
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
484 + def getvisibilityexceptions(self):
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
485 + """returns the set of hidden revs which should be visible"""
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
486 + return self._visibilityexceptions
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
487 +
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
488 # everything access are forwarded to the proxied repo
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
489 def __getattr__(self, attr):
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
490 return getattr(self._unfilteredrepo, attr)
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
491 diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
492 --- a/mercurial/localrepo.py
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
493 +++ b/mercurial/localrepo.py
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
494 @@ -570,6 +570,14 @@
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
495 def close(self):
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
496 self._writecaches()
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
497
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
498 + def addvisibilityexceptions(self, exceptions):
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
499 + # should be called on a filtered repository
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
500 + pass
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
501 +
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
502 + def getvisibilityexceptions(self):
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
503 + # should be called on a filtered repository
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
504 + return set()
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
505 +
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
506 def _loadextensions(self):
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
507 extensions.loadall(self.ui)
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
508
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
509
44127
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
510 A bad .arcconfig doesn't error out
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
511 $ echo 'garbage' > .arcconfig
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
512 $ hg config phabricator --debug
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
513 invalid JSON in $TESTTMP/repo/.arcconfig
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
514 read config from: */.hgrc (glob)
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
515 */.hgrc:*: phabricator.debug=True (glob)
44127
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
516 $TESTTMP/repo/.hg/hgrc:*: phabricator.url=https://phab.mercurial-scm.org/ (glob)
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
517 $TESTTMP/repo/.hg/hgrc:*: phabricator.callsign=HG (glob)
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
518
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
519 The .arcconfig content overrides global config
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
520 $ cat >> $HGRCPATH << EOF
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
521 > [phabricator]
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
522 > url = global
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
523 > callsign = global
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
524 > EOF
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
525 $ cp $TESTDIR/../.arcconfig .
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
526 $ mv .hg/hgrc .hg/hgrc.bak
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
527 $ hg config phabricator --debug
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
528 read config from: */.hgrc (glob)
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
529 */.hgrc:*: phabricator.debug=True (glob)
44127
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
530 $TESTTMP/repo/.arcconfig: phabricator.callsign=HG
44128
ff396501e841 phabricator: use .arcconfig for `phabricator.url` if not set locally
Matt Harbison <matt_harbison@yahoo.com>
parents: 44127
diff changeset
531 $TESTTMP/repo/.arcconfig: phabricator.url=https://phab.mercurial-scm.org/
44127
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
532
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
533 But it doesn't override local config
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
534 $ cat >> .hg/hgrc << EOF
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
535 > [phabricator]
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
536 > url = local
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
537 > callsign = local
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
538 > EOF
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
539 $ hg config phabricator --debug
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
540 read config from: */.hgrc (glob)
44715
38f7b2f02f6d phabricator: add debug logging to show previous node values in `phabsend`
Matt Harbison <matt_harbison@yahoo.com>
parents: 44579
diff changeset
541 */.hgrc:*: phabricator.debug=True (glob)
44127
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
542 $TESTTMP/repo/.hg/hgrc:*: phabricator.url=local (glob)
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
543 $TESTTMP/repo/.hg/hgrc:*: phabricator.callsign=local (glob)
59b3fe1e2021 phabricator: use .arcconfig for the callsign if not set locally (issue6243)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44125
diff changeset
544 $ mv .hg/hgrc.bak .hg/hgrc
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
545
44550
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
546 Phabimport works with a stack
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
547
44125
a5e3f38407cb tests: restore phabricator tests and regenerate the recordings
Matt Harbison <matt_harbison@yahoo.com>
parents: 43260
diff changeset
548 $ cd ..
44550
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
549 $ hg clone repo repo2 -qr 1
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
550 $ cp repo/.hg/hgrc repo2/.hg/
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
551 $ cd repo2
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
552 $ hg phabimport --stack 'D7918' --test-vcr "$VCR/phabimport-stack.json"
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
553 applying patch from D7917
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
554 applying patch from D7918
44576
2ec6160449aa tests: avoid logging a commit with a Unicode character in test-phabricator.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 44551
diff changeset
555 $ hg log -r .: -G -Tcompact
44550
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
556 o 3[tip] aaef04066140 1970-01-01 00:00 +0000 test
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
557 | create draft change for phabricator testing
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
558 |
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
559 o 2 8de3712202d1 1970-01-01 00:00 +0000 test
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
560 | create public change for phabricator testing
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
561 |
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
562 @ 1 a692622e6937 1970-01-01 00:00 +0000 test
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
563 | create beta for phabricator test
44576
2ec6160449aa tests: avoid logging a commit with a Unicode character in test-phabricator.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 44551
diff changeset
564 ~
44551
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
565 Phabimport can create secret commits
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
566
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
567 $ hg rollback --config ui.rollback=True
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
568 repository tip rolled back to revision 1 (undo phabimport)
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
569 $ hg phabimport --stack 'D7918' --test-vcr "$VCR/phabimport-stack.json" \
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
570 > --config phabimport.secret=True
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
571 applying patch from D7917
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
572 applying patch from D7918
44576
2ec6160449aa tests: avoid logging a commit with a Unicode character in test-phabricator.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 44551
diff changeset
573 $ hg log -r 'reverse(.:)' -T phases
44551
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
574 changeset: 3:aaef04066140
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
575 tag: tip
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
576 phase: secret
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
577 user: test
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
578 date: Thu Jan 01 00:00:00 1970 +0000
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
579 summary: create draft change for phabricator testing
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
580
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
581 changeset: 2:8de3712202d1
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
582 phase: secret
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
583 user: test
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
584 date: Thu Jan 01 00:00:00 1970 +0000
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
585 summary: create public change for phabricator testing
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
586
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
587 changeset: 1:a692622e6937
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
588 phase: public
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
589 user: test
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
590 date: Thu Jan 01 00:00:00 1970 +0000
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
591 summary: create beta for phabricator test
9bae1d1a0f4c phabricator: add a config knob to import in the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 44550
diff changeset
592
44579
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
593 Phabimport accepts multiple DREVSPECs
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
594
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
595 $ hg rollback --config ui.rollback=True
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
596 repository tip rolled back to revision 1 (undo phabimport)
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
597 $ hg phabimport --no-stack D7917 D7918 --test-vcr "$VCR/phabimport-multi-drev.json"
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
598 applying patch from D7917
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
599 applying patch from D7918
44550
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
600
44774
c1c922391314 phabricator: ensure that `phabsend` is given a contiguous, linear commit range
Matt Harbison <matt_harbison@yahoo.com>
parents: 44720
diff changeset
601 Phabsend requires a linear range of commits
c1c922391314 phabricator: ensure that `phabsend` is given a contiguous, linear commit range
Matt Harbison <matt_harbison@yahoo.com>
parents: 44720
diff changeset
602
c1c922391314 phabricator: ensure that `phabsend` is given a contiguous, linear commit range
Matt Harbison <matt_harbison@yahoo.com>
parents: 44720
diff changeset
603 $ hg phabsend -r 0+2+3
45152
b3b0cd8b9366 phabricator: clarify the multiple heads/roots error message for phabsend
Matt Harbison <matt_harbison@yahoo.com>
parents: 45135
diff changeset
604 abort: cannot phabsend multiple head revisions: c44b38f24a45 aaef04066140
44774
c1c922391314 phabricator: ensure that `phabsend` is given a contiguous, linear commit range
Matt Harbison <matt_harbison@yahoo.com>
parents: 44720
diff changeset
605 (the revisions must form a linear chain)
c1c922391314 phabricator: ensure that `phabsend` is given a contiguous, linear commit range
Matt Harbison <matt_harbison@yahoo.com>
parents: 44720
diff changeset
606 [255]
c1c922391314 phabricator: ensure that `phabsend` is given a contiguous, linear commit range
Matt Harbison <matt_harbison@yahoo.com>
parents: 44720
diff changeset
607
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
608 Validate arguments with --fold
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
609
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
610 $ hg phabsend --fold -r 1
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
611 abort: cannot fold a single revision
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
612 [255]
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
613 $ hg phabsend --fold --no-amend -r 1::
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
614 abort: cannot fold with --no-amend
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
615 [255]
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
616 $ hg phabsend --fold -r 1::
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
617 abort: cannot fold revisions with different DREV values
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
618 [255]
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
619
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
620 Setup a series of commits to be folded, and include the Test Plan field multiple
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
621 times to test the concatenation logic. No Test Plan field in the last one to
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
622 ensure missing fields are skipped.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
623
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
624 $ hg init ../folded
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
625 $ cd ../folded
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
626 $ cat >> .hg/hgrc <<EOF
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
627 > [phabricator]
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
628 > url = https://phab.mercurial-scm.org/
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
629 > callsign = HG
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
630 > EOF
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
631
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
632 $ echo 'added' > file.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
633 $ hg ci -Aqm 'added file'
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
634
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
635 $ cat > log.txt <<EOF
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
636 > one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
637 >
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
638 > This file was modified with 'mod1' as its contents.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
639 >
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
640 > Test Plan:
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
641 > LOL! What testing?!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
642 > EOF
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
643 $ echo mod1 > file.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
644 $ hg ci -l log.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
645
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
646 $ cat > log.txt <<EOF
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
647 > two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
648 >
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
649 > This file was modified with 'mod2' as its contents.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
650 >
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
651 > Test Plan:
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
652 > Haha! yeah, right.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
653 >
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
654 > EOF
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
655 $ echo mod2 > file.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
656 $ hg ci -l log.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
657
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
658 $ echo mod3 > file.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
659 $ hg ci -m '3: a commit with no detailed message'
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
660
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
661 The folding of immutable commits works...
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
662
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
663 $ hg phase -r tip --public
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
664 $ hg phabsend --fold -r 1:: --test-vcr "$VCR/phabsend-fold-immutable.json"
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
665 D8386 - created - a959a3f69d8d: one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
666 D8386 - created - 24a4438154ba: two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
667 D8386 - created - d235829e802c: 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
668 warning: not updating public commit 1:a959a3f69d8d
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
669 warning: not updating public commit 2:24a4438154ba
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
670 warning: not updating public commit 3:d235829e802c
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
671 no newnodes to update
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
672
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
673 $ hg phase -r 0 --draft --force
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
674
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
675 ... as does the initial mutable fold...
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
676
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
677 $ echo y | hg phabsend --fold --confirm -r 1:: \
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
678 > --test-vcr "$VCR/phabsend-fold-initial.json"
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
679 NEW - a959a3f69d8d: one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
680 NEW - 24a4438154ba: two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
681 NEW - d235829e802c: 3: a commit with no detailed message
44945
7a0a1be721a3 phabricator: make it clear what happen when no response
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 44775
diff changeset
682 Send the above changes to https://phab.mercurial-scm.org/ (Y/n)? y
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
683 D8387 - created - a959a3f69d8d: one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
684 D8387 - created - 24a4438154ba: two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
685 D8387 - created - d235829e802c: 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
686 updating local commit list for D8387
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
687 new commits: ['602c4e738243', '832553266fe8', '921f8265efbd']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
688 saved backup bundle to $TESTTMP/folded/.hg/strip-backup/a959a3f69d8d-a4a24136-phabsend.hg
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
689
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
690 ... and doesn't mangle the local commits.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
691
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
692 $ hg log -T '{rev}:{node|short}\n{indent(desc, " ")}\n'
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
693 3:921f8265efbd
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
694 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
695
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
696 Differential Revision: https://phab.mercurial-scm.org/D8387
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
697 2:832553266fe8
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
698 two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
699
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
700 This file was modified with 'mod2' as its contents.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
701
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
702 Test Plan:
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
703 Haha! yeah, right.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
704
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
705 Differential Revision: https://phab.mercurial-scm.org/D8387
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
706 1:602c4e738243
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
707 one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
708
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
709 This file was modified with 'mod1' as its contents.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
710
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
711 Test Plan:
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
712 LOL! What testing?!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
713
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
714 Differential Revision: https://phab.mercurial-scm.org/D8387
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
715 0:98d480e0d494
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
716 added file
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
718 Setup some obsmarkers by adding a file to the middle commit. This stress tests
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
719 getoldnodedrevmap() in later phabsends.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
720
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
721 $ hg up '.^'
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
722 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
723 $ echo 'modified' > file2.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
724 $ hg add file2.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
725 $ hg amend --config experimental.evolution=all --config extensions.amend=
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
726 1 new orphan changesets
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
727 $ hg up 3
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
728 obsolete feature not enabled but 1 markers found!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
729 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
730 $ hg rebase --config experimental.evolution=all --config extensions.rebase=
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
731 note: not rebasing 2:832553266fe8 "two: second commit to review", already in destination as 4:0124e5474c88 "two: second commit to review" (tip)
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
732 rebasing 3:921f8265efbd "3: a commit with no detailed message"
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
733
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
734 When commits have changed locally, the local commit list on Phabricator is
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
735 updated.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
736
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
737 $ echo y | hg phabsend --fold --confirm -r 1:: \
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
738 > --test-vcr "$VCR/phabsend-fold-updated.json"
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
739 obsolete feature not enabled but 2 markers found!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
740 602c4e738243 mapped to old nodes ['602c4e738243']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
741 0124e5474c88 mapped to old nodes ['832553266fe8']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
742 e4edb1fe3565 mapped to old nodes ['921f8265efbd']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
743 D8387 - 602c4e738243: one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
744 D8387 - 0124e5474c88: two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
745 D8387 - e4edb1fe3565: 3: a commit with no detailed message
44945
7a0a1be721a3 phabricator: make it clear what happen when no response
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 44775
diff changeset
746 Send the above changes to https://phab.mercurial-scm.org/ (Y/n)? y
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
747 D8387 - updated - 602c4e738243: one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
748 D8387 - updated - 0124e5474c88: two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
749 D8387 - updated - e4edb1fe3565: 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
750 obsolete feature not enabled but 2 markers found! (?)
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
751 updating local commit list for D8387
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
752 new commits: ['602c4e738243', '0124e5474c88', 'e4edb1fe3565']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
753 $ hg log -Tcompact
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
754 obsolete feature not enabled but 2 markers found!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
755 5[tip] e4edb1fe3565 1970-01-01 00:00 +0000 test
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
756 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
757
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
758 4:1 0124e5474c88 1970-01-01 00:00 +0000 test
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
759 two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
760
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
761 1 602c4e738243 1970-01-01 00:00 +0000 test
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
762 one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
763
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
764 0 98d480e0d494 1970-01-01 00:00 +0000 test
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
765 added file
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
766
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
767 When nothing has changed locally since the last phabsend, the commit list isn't
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
768 updated, and nothing is changed locally afterward.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
769
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
770 $ hg phabsend --fold -r 1:: --test-vcr "$VCR/phabsend-fold-no-changes.json"
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
771 obsolete feature not enabled but 2 markers found!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
772 602c4e738243 mapped to old nodes ['602c4e738243']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
773 0124e5474c88 mapped to old nodes ['0124e5474c88']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
774 e4edb1fe3565 mapped to old nodes ['e4edb1fe3565']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
775 D8387 - updated - 602c4e738243: one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
776 D8387 - updated - 0124e5474c88: two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
777 D8387 - updated - e4edb1fe3565: 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
778 obsolete feature not enabled but 2 markers found! (?)
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
779 local commit list for D8387 is already up-to-date
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
780 $ hg log -Tcompact
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
781 obsolete feature not enabled but 2 markers found!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
782 5[tip] e4edb1fe3565 1970-01-01 00:00 +0000 test
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
783 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
784
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
785 4:1 0124e5474c88 1970-01-01 00:00 +0000 test
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
786 two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
787
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
788 1 602c4e738243 1970-01-01 00:00 +0000 test
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
789 one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
790
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
791 0 98d480e0d494 1970-01-01 00:00 +0000 test
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
792 added file
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
793
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
794 Fold will accept new revisions at the end...
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
795
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
796 $ echo 'another mod' > file2.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
797 $ hg ci -m 'four: extend the fold range'
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
798 obsolete feature not enabled but 2 markers found!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
799 $ hg phabsend --fold -r 1:: --test-vcr "$VCR/phabsend-fold-extend-end.json" \
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
800 > --config experimental.evolution=all
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
801 602c4e738243 mapped to old nodes ['602c4e738243']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
802 0124e5474c88 mapped to old nodes ['0124e5474c88']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
803 e4edb1fe3565 mapped to old nodes ['e4edb1fe3565']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
804 D8387 - updated - 602c4e738243: one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
805 D8387 - updated - 0124e5474c88: two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
806 D8387 - updated - e4edb1fe3565: 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
807 D8387 - created - 94aaae213b23: four: extend the fold range
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
808 updating local commit list for D8387
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
809 new commits: ['602c4e738243', '0124e5474c88', 'e4edb1fe3565', '51a04fea8707']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
810 $ hg log -r . -T '{desc}\n'
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
811 four: extend the fold range
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
812
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
813 Differential Revision: https://phab.mercurial-scm.org/D8387
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
814 $ hg log -T'{rev} {if(phabreview, "{phabreview.url} {phabreview.id}")}\n' -r 1::
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
815 obsolete feature not enabled but 3 markers found!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
816 1 https://phab.mercurial-scm.org/D8387 D8387
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
817 4 https://phab.mercurial-scm.org/D8387 D8387
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
818 5 https://phab.mercurial-scm.org/D8387 D8387
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
819 7 https://phab.mercurial-scm.org/D8387 D8387
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
820
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
821 ... and also accepts new revisions at the beginning of the range
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
822
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
823 It's a bit unfortunate that not having a Differential URL on the first commit
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
824 causes a new Differential Revision to be created, though it isn't *entirely*
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
825 unreasonable. At least this updates the subsequent commits.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
826
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
827 TODO: See if it can reuse the existing Differential.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
828
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
829 $ hg phabsend --fold -r 0:: --test-vcr "$VCR/phabsend-fold-extend-front.json" \
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
830 > --config experimental.evolution=all
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
831 602c4e738243 mapped to old nodes ['602c4e738243']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
832 0124e5474c88 mapped to old nodes ['0124e5474c88']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
833 e4edb1fe3565 mapped to old nodes ['e4edb1fe3565']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
834 51a04fea8707 mapped to old nodes ['51a04fea8707']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
835 D8388 - created - 98d480e0d494: added file
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
836 D8388 - updated - 602c4e738243: one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
837 D8388 - updated - 0124e5474c88: two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
838 D8388 - updated - e4edb1fe3565: 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
839 D8388 - updated - 51a04fea8707: four: extend the fold range
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
840 updating local commit list for D8388
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
841 new commits: ['15e9b14b4b4c', '6320b7d714cf', '3ee132d41dbc', '30682b960804', 'ac7db67f0991']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
842
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
843 $ hg log -T '{rev}:{node|short}\n{indent(desc, " ")}\n'
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
844 obsolete feature not enabled but 8 markers found!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
845 12:ac7db67f0991
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
846 four: extend the fold range
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
847
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
848 Differential Revision: https://phab.mercurial-scm.org/D8388
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
849 11:30682b960804
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
850 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
851
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
852 Differential Revision: https://phab.mercurial-scm.org/D8388
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
853 10:3ee132d41dbc
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
854 two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
855
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
856 This file was modified with 'mod2' as its contents.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
857
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
858 Test Plan:
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
859 Haha! yeah, right.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
860
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
861 Differential Revision: https://phab.mercurial-scm.org/D8388
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
862 9:6320b7d714cf
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
863 one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
864
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
865 This file was modified with 'mod1' as its contents.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
866
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
867 Test Plan:
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
868 LOL! What testing?!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
869
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
870 Differential Revision: https://phab.mercurial-scm.org/D8388
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
871 8:15e9b14b4b4c
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
872 added file
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
873
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
874 Differential Revision: https://phab.mercurial-scm.org/D8388
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
875
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
876 Test phabsend --fold with an `hg split` at the end of the range
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
877
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
878 $ echo foo > file3.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
879 $ hg add file3.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
880
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
881 $ hg log -r . -T '{desc}' > log.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
882 $ echo 'amended mod' > file2.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
883 $ hg ci --amend -l log.txt --config experimental.evolution=all
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
884
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
885 $ cat <<EOF | hg --config extensions.split= --config ui.interactive=True \
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
886 > --config experimental.evolution=all split -r .
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
887 > n
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
888 > y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
889 > y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
890 > y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
891 > y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
892 > EOF
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
893 diff --git a/file2.txt b/file2.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
894 1 hunks, 1 lines changed
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
895 examine changes to 'file2.txt'?
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
896 (enter ? for help) [Ynesfdaq?] n
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
897
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
898 diff --git a/file3.txt b/file3.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
899 new file mode 100644
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
900 examine changes to 'file3.txt'?
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
901 (enter ? for help) [Ynesfdaq?] y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
902
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
903 @@ -0,0 +1,1 @@
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
904 +foo
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
905 record change 2/2 to 'file3.txt'?
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
906 (enter ? for help) [Ynesfdaq?] y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
907
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
908 created new head
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
909 diff --git a/file2.txt b/file2.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
910 1 hunks, 1 lines changed
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
911 examine changes to 'file2.txt'?
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
912 (enter ? for help) [Ynesfdaq?] y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
913
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
914 @@ -1,1 +1,1 @@
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
915 -modified
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
916 +amended mod
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
917 record this change to 'file2.txt'?
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
918 (enter ? for help) [Ynesfdaq?] y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
919
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
920 $ hg phabsend --fold -r 8:: --test-vcr "$VCR/phabsend-fold-split-end.json" \
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
921 > --config experimental.evolution=all
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
922 15e9b14b4b4c mapped to old nodes ['15e9b14b4b4c']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
923 6320b7d714cf mapped to old nodes ['6320b7d714cf']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
924 3ee132d41dbc mapped to old nodes ['3ee132d41dbc']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
925 30682b960804 mapped to old nodes ['30682b960804']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
926 6bc15dc99efd mapped to old nodes ['ac7db67f0991']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
927 b50946d5e490 mapped to old nodes ['ac7db67f0991']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
928 D8388 - updated - 15e9b14b4b4c: added file
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
929 D8388 - updated - 6320b7d714cf: one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
930 D8388 - updated - 3ee132d41dbc: two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
931 D8388 - updated - 30682b960804: 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
932 D8388 - updated - 6bc15dc99efd: four: extend the fold range
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
933 D8388 - updated - b50946d5e490: four: extend the fold range
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
934 updating local commit list for D8388
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
935 new commits: ['15e9b14b4b4c', '6320b7d714cf', '3ee132d41dbc', '30682b960804', '6bc15dc99efd', 'b50946d5e490']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
936
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
937 Test phabsend --fold with an `hg fold` at the end of the range
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
938
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
939 $ hg --config experimental.evolution=all --config extensions.rebase= \
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
940 > rebase -r '.^' -r . -d '.^^' --collapse -l log.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
941 rebasing 14:6bc15dc99efd "four: extend the fold range"
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
942 rebasing 15:b50946d5e490 "four: extend the fold range" (tip)
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
943
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
944 $ hg phabsend --fold -r 8:: --test-vcr "$VCR/phabsend-fold-fold-end.json" \
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
945 > --config experimental.evolution=all
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
946 15e9b14b4b4c mapped to old nodes ['15e9b14b4b4c']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
947 6320b7d714cf mapped to old nodes ['6320b7d714cf']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
948 3ee132d41dbc mapped to old nodes ['3ee132d41dbc']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
949 30682b960804 mapped to old nodes ['30682b960804']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
950 e919cdf3d4fe mapped to old nodes ['6bc15dc99efd', 'b50946d5e490']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
951 D8388 - updated - 15e9b14b4b4c: added file
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
952 D8388 - updated - 6320b7d714cf: one: first commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
953 D8388 - updated - 3ee132d41dbc: two: second commit to review
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
954 D8388 - updated - 30682b960804: 3: a commit with no detailed message
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
955 D8388 - updated - e919cdf3d4fe: four: extend the fold range
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
956 updating local commit list for D8388
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
957 new commits: ['15e9b14b4b4c', '6320b7d714cf', '3ee132d41dbc', '30682b960804', 'e919cdf3d4fe']
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
958
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
959 $ hg log -r tip -v
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
960 obsolete feature not enabled but 12 markers found!
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
961 changeset: 16:e919cdf3d4fe
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
962 tag: tip
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
963 parent: 11:30682b960804
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
964 user: test
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
965 date: Thu Jan 01 00:00:00 1970 +0000
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
966 files: file2.txt file3.txt
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
967 description:
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
968 four: extend the fold range
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
969
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
970 Differential Revision: https://phab.mercurial-scm.org/D8388
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
971
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
972
45426
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
973 Hashes in the messages are updated automatically as phabsend amends and restacks
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
974 them. This covers both commits that are posted and descendants that are
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
975 restacked.
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
976
45426
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
977 $ cat >> .hg/hgrc << EOF
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
978 > [experimental]
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
979 > evolution = all
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
980 > EOF
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
981
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
982 $ echo content > file.txt
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
983 $ hg ci -m 'base review (generate test for phabsend)'
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
984 $ echo 'more content' > file.txt
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
985 $ hg ci -m '133c1c6c6449 is my parent (generate test for phabsend)'
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
986 $ echo 'even more content' > file.txt
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
987 $ hg ci -m 'c2874a398f7e is my parent (generate test for phabsend)'
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
988
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
989 $ hg phabsend -r 17::18 --test-vcr "$VCR/phabsend-hash-fixes.json"
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
990 D8945 - created - 133c1c6c6449: base review (generate test for phabsend)
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
991 D8946 - created - c2874a398f7e: 133c1c6c6449 is my parent (generate test for phabsend)
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
992 new commits: ['f444f060f4d6']
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
993 new commits: ['9c9290f945b1']
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
994 restabilizing 1528c12fa2e4 as b28b20212bd4
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
995
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
996 $ hg log -l 3 -Tcompact
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
997 22[tip] b28b20212bd4 1970-01-01 00:00 +0000 test
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
998 9c9290f945b1 is my parent (generate test for phabsend)
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
999
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
1000 21 9c9290f945b1 1970-01-01 00:00 +0000 test
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
1001 f444f060f4d6 is my parent (generate test for phabsend)
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
1002
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
1003 20:16 f444f060f4d6 1970-01-01 00:00 +0000 test
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
1004 base review (generate test for phabsend)
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
1005
44550
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
1006 $ cd ..