tests/test-phabricator.t
author Matt Harbison <matt_harbison@yahoo.com>
Thu, 25 Mar 2021 19:06:28 -0400
branchstable
changeset 46810 bc268ea9f984
parent 46037 9624bf057c2a
child 46865 466236e99eac
permissions -rw-r--r--
typing: disable processing of mercurial/upgrade_utils/actions.py There was a recent regression in pytype that causes processing to stall and consume memory, and it doesn't sound like it will be fixed any time soon. Differential Revision: https://phab.mercurial-scm.org/D10273
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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"
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   104
  D7915 - created - 0:d386117f30e6 tip "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 []
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   115
  D7915 - updated - 0:c44b38f24a45 "create alpha for phabricator test \xe2\x82\xac" (esc)
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   116
  D7916 - created - 1:9e6901f21d5b tip "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"
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   130
  D7917 - created - 2:7b4185ab5d16 "create public change for phabricator testing"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   131
  D7918 - created - 3:251c1c333fc6 tip "create draft change for phabricator testing"
44125
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"
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   178
  D7919 - created - 4:d5dddca9023d tip "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 []
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   186
  D7919 - updated - 4:1849d7828727 tip "create comment for phabricator test"
44125
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']
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   191
  D7919 - skipped - 4:1849d7828727 tip "create comment for phabricator test"
44125
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"
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   213
  D8433 - created - 2:5d3959e20d1d tip "modified 2"
44718
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']
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   234
  D8434 - created - 1:d549263bcb2d "modified 1"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   235
  D8433 - updated - 3:2b4aa8a88d61 "modified 2"
44718
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']
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   316
  D8434 - updated - 5:876a60d024de "modified 1"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   317
  D8433 - updated - 6:0c6523cb1d0f "modified 2"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   318
  D8435 - created - 10:082be6c94150 tip "modified A"
44720
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
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   377
  D8007 - created - 5:aa24a81f55de "add binary"
44169
5d85e9ddc7b9 phabricator: fix a crash when submitting binaries (issue6260)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44128
diff changeset
   378
  uploading bin@d8d62a881b54
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   379
  D8008 - created - 6:d8d62a881b54 "modify binary"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   380
  D8009 - created - 7:af55645b2e29 tip "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
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   424
  D8128 - created - 8:f42f9195e00c "add another binary"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   425
  D8129 - created - 9:834ab31d80ae "moved binary"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   426
  D8130 - created - 10:494b750e5194 "copied binary"
44329
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
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   428
  D8131 - created - 11:25f766b50cc2 "move+mod copied binary"
44329
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
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   431
  D8132 - created - 12:1b87b363a5e4 tip "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
  
46037
9624bf057c2a phabricator: allow local revisions to be specified with `phabupdate`
Matt Harbison <matt_harbison@yahoo.com>
parents: 45772
diff changeset
   593
phabupdate can convert from local revisions
9624bf057c2a phabricator: allow local revisions to be specified with `phabupdate`
Matt Harbison <matt_harbison@yahoo.com>
parents: 45772
diff changeset
   594
9624bf057c2a phabricator: allow local revisions to be specified with `phabupdate`
Matt Harbison <matt_harbison@yahoo.com>
parents: 45772
diff changeset
   595
  $ hg phabupdate --reclaim D7917 -r '.: and not public()'
9624bf057c2a phabricator: allow local revisions to be specified with `phabupdate`
Matt Harbison <matt_harbison@yahoo.com>
parents: 45772
diff changeset
   596
  abort: cannot specify both DREVSPEC and --rev
9624bf057c2a phabricator: allow local revisions to be specified with `phabupdate`
Matt Harbison <matt_harbison@yahoo.com>
parents: 45772
diff changeset
   597
  [10]
9624bf057c2a phabricator: allow local revisions to be specified with `phabupdate`
Matt Harbison <matt_harbison@yahoo.com>
parents: 45772
diff changeset
   598
9624bf057c2a phabricator: allow local revisions to be specified with `phabupdate`
Matt Harbison <matt_harbison@yahoo.com>
parents: 45772
diff changeset
   599
  $ hg phabupdate --reclaim -r '.: and not public()' --test-vcr "$VCR/phabupdate-revs.json"
9624bf057c2a phabricator: allow local revisions to be specified with `phabupdate`
Matt Harbison <matt_harbison@yahoo.com>
parents: 45772
diff changeset
   600
44579
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
   601
Phabimport accepts multiple DREVSPECs
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
   602
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
   603
  $ 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
   604
  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
   605
  $ 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
   606
  applying patch from D7917
a7f8c657a3f0 phabricator: allow multiple DREVSPEC args to phabread|phabimport|phabupdate
Matt Harbison <matt_harbison@yahoo.com>
parents: 44576
diff changeset
   607
  applying patch from D7918
44550
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
   608
44774
c1c922391314 phabricator: ensure that `phabsend` is given a contiguous, linear commit range
Matt Harbison <matt_harbison@yahoo.com>
parents: 44720
diff changeset
   609
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
   610
c1c922391314 phabricator: ensure that `phabsend` is given a contiguous, linear commit range
Matt Harbison <matt_harbison@yahoo.com>
parents: 44720
diff changeset
   611
  $ 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
   612
  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
   613
  (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
   614
  [255]
c1c922391314 phabricator: ensure that `phabsend` is given a contiguous, linear commit range
Matt Harbison <matt_harbison@yahoo.com>
parents: 44720
diff changeset
   615
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   616
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
   617
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   618
  $ 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
   619
  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
   620
  [255]
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   621
  $ 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
   622
  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
   623
  [255]
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 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
   625
  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
   626
  [255]
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   627
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   628
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
   629
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
   630
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
   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
  $ 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
   633
  $ 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
   634
  $ 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
   635
  > [phabricator]
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   636
  > 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
   637
  > 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
   638
  > EOF
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
  $ 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
   641
  $ 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
   642
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   643
  $ 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
   644
  > 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
   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
  > 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
   647
  > 
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   648
  > 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
   649
  > 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
   650
  > EOF
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   651
  $ 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
   652
  $ 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
   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
  $ 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
   655
  > 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
   656
  > 
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   657
  > 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
   658
  > 
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   659
  > 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
   660
  > 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
   661
  > 
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   662
  > EOF
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   663
  $ 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
   664
  $ 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
   665
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   666
  $ 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
   667
  $ 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
   668
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   669
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
   670
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   671
  $ 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
   672
  $ hg phabsend --fold -r 1:: --test-vcr "$VCR/phabsend-fold-immutable.json"
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   673
  D8386 - created - 1:a959a3f69d8d "one: first commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   674
  D8386 - created - 2:24a4438154ba "two: second commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   675
  D8386 - created - 3:d235829e802c tip "3: a commit with no detailed message"
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   676
  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
   677
  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
   678
  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
   679
  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
   680
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   681
  $ 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
   682
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   683
... 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
   684
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   685
  $ 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
   686
  >          --test-vcr "$VCR/phabsend-fold-initial.json"
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   687
  NEW - 1:a959a3f69d8d "one: first commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   688
  NEW - 2:24a4438154ba "two: second commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   689
  NEW - 3:d235829e802c tip "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
   690
  Send the above changes to https://phab.mercurial-scm.org/ (Y/n)? y
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   691
  D8387 - created - 1:a959a3f69d8d "one: first commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   692
  D8387 - created - 2:24a4438154ba "two: second commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   693
  D8387 - created - 3:d235829e802c tip "3: a commit with no detailed message"
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   694
  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
   695
  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
   696
  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
   697
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   698
... 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
   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
  $ 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
   701
  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
   702
    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
   703
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   704
    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
   705
  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
   706
    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
   707
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   708
    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
   709
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   710
    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
   711
    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
   712
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   713
    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
   714
  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
   715
    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
   716
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   717
    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
   718
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   719
    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
   720
    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
   721
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   722
    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
   723
  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
   724
    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
   725
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   726
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
   727
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
   728
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   729
  $ 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
   730
  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
   731
  $ 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
   732
  $ 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
   733
  $ 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
   734
  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
   735
  $ 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
   736
  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
   737
  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
   738
  $ hg rebase --config experimental.evolution=all --config extensions.rebase=
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   739
  note: not rebasing 2:832553266fe8 "two: second commit to review", already in destination as 4:0124e5474c88 tip "two: second commit to review"
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   740
  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
   741
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   742
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
   743
updated.
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   744
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   745
  $ 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
   746
  >          --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
   747
  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
   748
  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
   749
  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
   750
  e4edb1fe3565 mapped to old nodes ['921f8265efbd']
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   751
  D8387 - 1:602c4e738243 "one: first commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   752
  D8387 - 4:0124e5474c88 "two: second commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   753
  D8387 - 5:e4edb1fe3565 tip "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
   754
  Send the above changes to https://phab.mercurial-scm.org/ (Y/n)? y
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   755
  D8387 - updated - 1:602c4e738243 "one: first commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   756
  D8387 - updated - 4:0124e5474c88 "two: second commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   757
  D8387 - updated - 5:e4edb1fe3565 tip "3: a commit with no detailed message"
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   758
  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
   759
  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
   760
  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
   761
  $ 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
   762
  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
   763
  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
   764
    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
   765
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   766
  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
   767
    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
   768
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   769
  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
   770
    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
   771
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   772
  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
   773
    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
   774
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   775
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
   776
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
   777
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   778
  $ 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
   779
  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
   780
  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
   781
  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
   782
  e4edb1fe3565 mapped to old nodes ['e4edb1fe3565']
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   783
  D8387 - updated - 1:602c4e738243 "one: first commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   784
  D8387 - updated - 4:0124e5474c88 "two: second commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   785
  D8387 - updated - 5:e4edb1fe3565 tip "3: a commit with no detailed message"
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   786
  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
   787
  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
   788
  $ 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
   789
  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
   790
  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
   791
    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
   792
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   793
  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
   794
    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
   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
  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
   797
    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
   798
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   799
  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
   800
    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
   801
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   802
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
   803
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   804
  $ 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
   805
  $ 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
   806
  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
   807
  $ 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
   808
  >             --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
   809
  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
   810
  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
   811
  e4edb1fe3565 mapped to old nodes ['e4edb1fe3565']
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   812
  D8387 - updated - 1:602c4e738243 "one: first commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   813
  D8387 - updated - 4:0124e5474c88 "two: second commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   814
  D8387 - updated - 5:e4edb1fe3565 "3: a commit with no detailed message"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   815
  D8387 - created - 6:94aaae213b23 tip "four: extend the fold range"
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   816
  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
   817
  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
   818
  $ 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
   819
  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
   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
  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
   822
  $ 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
   823
  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
   824
  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
   825
  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
   826
  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
   827
  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
   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
... 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
   830
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   831
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
   832
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
   833
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
   834
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   835
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
   836
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   837
  $ 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
   838
  >             --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
   839
  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
   840
  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
   841
  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
   842
  51a04fea8707 mapped to old nodes ['51a04fea8707']
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   843
  D8388 - created - 0:98d480e0d494 "added file"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   844
  D8388 - updated - 1:602c4e738243 "one: first commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   845
  D8388 - updated - 4:0124e5474c88 "two: second commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   846
  D8388 - updated - 5:e4edb1fe3565 "3: a commit with no detailed message"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   847
  D8388 - updated - 7:51a04fea8707 tip "four: extend the fold range"
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   848
  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
   849
  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
   850
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   851
  $ 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
   852
  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
   853
  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
   854
    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
   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
    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
   857
  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
   858
    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
   859
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   860
    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
   861
  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
   862
    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
   863
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   864
    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
   865
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   866
    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
   867
    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
   868
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   869
    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
   870
  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
   871
    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
   872
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   873
    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
   874
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   875
    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
   876
    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
   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
    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
   879
  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
   880
    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
   881
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   882
    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
   883
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   884
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
   885
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   886
  $ 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
   887
  $ 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
   888
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   889
  $ 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
   890
  $ 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
   891
  $ 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
   892
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   893
  $ 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
   894
  >                --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
   895
  > n
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   896
  > y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   897
  > y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   898
  > y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   899
  > y
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   900
  > EOF
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   901
  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
   902
  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
   903
  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
   904
  (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
   905
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   906
  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
   907
  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
   908
  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
   909
  (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
   910
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   911
  @@ -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
   912
  +foo
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   913
  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
   914
  (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
   915
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   916
  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
   917
  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
   918
  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
   919
  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
   920
  (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
   921
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   922
  @@ -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
   923
  -modified
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   924
  +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
   925
  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
   926
  (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
   927
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   928
  $ 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
   929
  >             --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
   930
  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
   931
  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
   932
  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
   933
  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
   934
  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
   935
  b50946d5e490 mapped to old nodes ['ac7db67f0991']
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   936
  D8388 - updated - 8:15e9b14b4b4c "added file"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   937
  D8388 - updated - 9:6320b7d714cf "one: first commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   938
  D8388 - updated - 10:3ee132d41dbc "two: second commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   939
  D8388 - updated - 11:30682b960804 "3: a commit with no detailed message"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   940
  D8388 - updated - 14:6bc15dc99efd "four: extend the fold range"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   941
  D8388 - updated - 15:b50946d5e490 tip "four: extend the fold range"
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   942
  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
   943
  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
   944
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   945
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
   946
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   947
  $ 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
   948
  >    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
   949
  rebasing 14:6bc15dc99efd "four: extend the fold range"
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   950
  rebasing 15:b50946d5e490 tip "four: extend the fold range"
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   951
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   952
  $ 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
   953
  >             --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
   954
  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
   955
  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
   956
  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
   957
  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
   958
  e919cdf3d4fe mapped to old nodes ['6bc15dc99efd', 'b50946d5e490']
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   959
  D8388 - updated - 8:15e9b14b4b4c "added file"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   960
  D8388 - updated - 9:6320b7d714cf "one: first commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   961
  D8388 - updated - 10:3ee132d41dbc "two: second commit to review"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   962
  D8388 - updated - 11:30682b960804 "3: a commit with no detailed message"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   963
  D8388 - updated - 16:e919cdf3d4fe tip "four: extend the fold range"
44717
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   964
  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
   965
  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
   966
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   967
  $ 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
   968
  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
   969
  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
   970
  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
   971
  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
   972
  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
   973
  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
   974
  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
   975
  description:
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   976
  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
   977
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   978
  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
   979
  
3dc6a70779f2 phabricator: add an option to fold several commits into one review (issue6244)
Matt Harbison <matt_harbison@yahoo.com>
parents: 44716
diff changeset
   980
  
45426
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
   981
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
   982
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
   983
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
   984
45426
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
   985
  $ 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
   986
  > [experimental]
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
   987
  > evolution = all
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
   988
  > EOF
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
   989
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
   990
  $ 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
   991
  $ 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
   992
  $ 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
   993
  $ 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
   994
  $ 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
   995
  $ 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
   996
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
   997
  $ hg phabsend -r 17::18  --test-vcr "$VCR/phabsend-hash-fixes.json"
45772
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   998
  D8945 - created - 17:133c1c6c6449 "base review (generate test for phabsend)"
294aab57a5f3 phabsend: use default one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45426
diff changeset
   999
  D8946 - created - 18:c2874a398f7e "133c1c6c6449 is my parent (generate test for phabsend)"
45426
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
  1000
  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
  1001
  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
  1002
  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
  1003
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
  1004
  $ 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
  1005
  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
  1006
    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
  1007
  
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
  1008
  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
  1009
    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
  1010
  
1a5d3e555c70 phabricator: update the hashes in commit messages as they get submitted
Matt Harbison <matt_harbison@yahoo.com>
parents: 45246
diff changeset
  1011
  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
  1012
    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
  1013
  
44550
bbb170f9396d phabricator: add a `phabimport` command
Matt Harbison <matt_harbison@yahoo.com>
parents: 44436
diff changeset
  1014
  $ cd ..