tests/test-metaedit.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 13 Sep 2018 17:08:05 +0200
branchstable
changeset 4099 84b203a60788
parent 3565 cfe31185ad07
child 3591 98941c28f3e2
child 4724 77bf84025dd5
permissions -rw-r--r--
depthcache: ignore permission and OS errors when writing This cache is related to the obshashrange one and we update it lazily by default. This can be an issue when pulling locally from a read only repository that was not configured for a more aggressive cache warming. The raised permission error was uncaught and could crash the whole process. Errors during Cache update should not block Mercurial operations.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
81
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
2517
b78c2794e13f test: fix metaedit tests by forcing dates
Boris Feld <boris.feld@octobus.net>
parents: 2501
diff changeset
     2
  > [defaults]
b78c2794e13f test: fix metaedit tests by forcing dates
Boris Feld <boris.feld@octobus.net>
parents: 2501
diff changeset
     3
  > amend=-d "0 0"
b78c2794e13f test: fix metaedit tests by forcing dates
Boris Feld <boris.feld@octobus.net>
parents: 2501
diff changeset
     4
  > fold=-d "0 0"
b78c2794e13f test: fix metaedit tests by forcing dates
Boris Feld <boris.feld@octobus.net>
parents: 2501
diff changeset
     5
  > metaedit=-d "0 0"
81
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     6
  > [web]
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     7
  > push_ssl = false
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     8
  > allow_push = *
113
3bdabdbb4140 adapt evolution to phase in core.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 94
diff changeset
     9
  > [phases]
3bdabdbb4140 adapt evolution to phase in core.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 94
diff changeset
    10
  > publish = False
81
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    11
  > [alias]
113
3bdabdbb4140 adapt evolution to phase in core.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 94
diff changeset
    12
  > qlog = log --template='{rev} - {node|short} {desc} ({phase})\n'
82
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    13
  > [diff]
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    14
  > git = 1
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    15
  > unified = 0
81
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    16
  > [extensions]
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    17
  > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1785
diff changeset
    18
  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
81
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    19
  $ mkcommit() {
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    20
  >    echo "$1" > "$1"
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    21
  >    hg add "$1"
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    22
  >    hg ci -m "$1"
81
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    23
  > }
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    24
1358
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    25
  $ mkstack() {
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    26
  >    # Creates a stack of commit based on $1 with messages from $2, $3 ..
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    27
  >    hg update $1 -C
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    28
  >    shift
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    29
  >    mkcommits $*
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    30
  > }
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    31
296
c3ff47e6bd36 test-evolve: extend output and exhibit an amend bug
Patrick Mezard <patrick@mezard.eu>
parents: 269
diff changeset
    32
  $ glog() {
2776
4dd84054ebbb test: remove reference to the graphlog extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2769
diff changeset
    33
  >   hg log -G --template '{rev}:{node|short}@{branch}({phase}) {desc|firstline}\n' "$@"
296
c3ff47e6bd36 test-evolve: extend output and exhibit an amend bug
Patrick Mezard <patrick@mezard.eu>
parents: 269
diff changeset
    34
  > }
c3ff47e6bd36 test-evolve: extend output and exhibit an amend bug
Patrick Mezard <patrick@mezard.eu>
parents: 269
diff changeset
    35
1358
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    36
  $ shaof() {
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    37
  >   hg log -T {node} -r "first(desc($1))"
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    38
  > }
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    39
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    40
  $ mkcommits() {
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    41
  >   for i in $@; do mkcommit $i ; done
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    42
  > }
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    43
82
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    44
##########################
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    45
importing Parren test
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    46
##########################
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    47
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    48
  $ cat << EOF >> $HGRCPATH
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    49
  > [ui]
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    50
  > logtemplate = "{rev}\t{bookmarks}: {desc|firstline} - {author|user}\n"
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    51
  > EOF
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    52
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    53
HG METAEDIT
82
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    54
===============================
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    55
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    56
Setup the Base Repo
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    57
-------------------
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    58
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    59
We start with a plain base repo::
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    60
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    61
  $ hg init $TESTTMP/metaedit; cd $TESTTMP/metaedit
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    62
  $ mkcommit "ROOT"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    63
  $ hg phase --public "desc(ROOT)"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    64
  $ mkcommit "A"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    65
  $ mkcommit "B"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    66
  $ hg up "desc(A)"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    67
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    68
  $ mkcommit "C"
137
bbc653876876 fix evolve test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 116
diff changeset
    69
  created new head
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    70
  $ mkcommit "D"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    71
  $ echo "D'" > D
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    72
  $ hg amend -m "D2"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    73
  $ hg up "desc(C)"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    74
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    75
  $ mkcommit "E"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    76
  created new head
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    77
  $ mkcommit "F"
196
dea67dae27a4 amend: add a warning after amend added unstablility
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 145
diff changeset
    78
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    79
Test
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    80
----
418
18a0d96ed559 evolve: graft --continue is optional, test
Patrick Mezard <patrick@mezard.eu>
parents: 414
diff changeset
    81
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    82
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    83
  @  7	: F - test
933
e5baeb8fefec fold: add --message and --logfile options
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 915
diff changeset
    84
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    85
  o  6	: E - test
1141
ca17770d2ee9 evolve: preserve branch change
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1133
diff changeset
    86
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    87
  | o  5	: D2 - test
1325
1fe3da0b4601 evolve: add --rev option to the evolve command
Laurent Charignon <lcharignon@fb.com>
parents: 1283
diff changeset
    88
  |/
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    89
  o  3	: C - test
1325
1fe3da0b4601 evolve: add --rev option to the evolve command
Laurent Charignon <lcharignon@fb.com>
parents: 1283
diff changeset
    90
  |
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    91
  | o  2	: B - test
1325
1fe3da0b4601 evolve: add --rev option to the evolve command
Laurent Charignon <lcharignon@fb.com>
parents: 1283
diff changeset
    92
  |/
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    93
  o  1	: A - test
1325
1fe3da0b4601 evolve: add --rev option to the evolve command
Laurent Charignon <lcharignon@fb.com>
parents: 1283
diff changeset
    94
  |
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    95
  o  0	: ROOT - test
1441
a4abe588d77f evolve: mechanism to load some commands selectively
Laurent Charignon <lcharignon@fb.com>
parents: 1428
diff changeset
    96
  
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    97
  $ hg update --clean .
1397
35f2f54b557c evolve: make prune respect allowunsable
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
    98
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
    99
  $ hg metaedit -r 0
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   100
  abort: cannot edit commit information for public revisions
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   101
  [255]
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   102
  $ hg metaedit --fold
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   103
  abort: revisions must be specified with --fold
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   104
  [255]
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   105
  $ hg metaedit -r 0 --fold
2780
58e4b51ee902 prefetc: point at the offending changeset when aborting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2779
diff changeset
   106
  abort: cannot fold public changesets: ea207398892e
2779
f51efb2bb8c9 precheck: point to 'phase' help when aborting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2778
diff changeset
   107
  (see 'hg help phases' for details)
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   108
  [255]
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   109
  $ hg metaedit 'desc(C) + desc(F)' --fold
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   110
  abort: cannot fold non-linear revisions (multiple roots given)
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   111
  [255]
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   112
  $ hg metaedit "desc(C)::desc(D2) + desc(E)" --fold
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   113
  abort: cannot fold non-linear revisions (multiple heads given)
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   114
  [255]
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   115
check that metaedit respects allowunstable
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   116
  $ hg metaedit '.^' --config 'experimental.evolution=createmarkers, allnewcommands'
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   117
  abort: cannot edit commit information in the middle of a stack
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   118
  (587528abfffe will become unstable and new unstable changes are not allowed)
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   119
  [255]
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   120
  $ hg metaedit 'desc(A)::desc(B)' --fold --config 'experimental.evolution=createmarkers, allnewcommands'
2784
d17d193c4145 precheck: update the orphan message to something me generic
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2783
diff changeset
   121
  abort: fold will orphan 4 descendants
2783
3e9c3119410a precheck: point to the instability doc when aborting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2780
diff changeset
   122
  (see 'hg help evolution.instability')
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   123
  [255]
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   124
  $ hg metaedit --user foobar
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   125
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   126
  $ hg log --template '{rev}: {author}\n' -r 'desc(F):' --hidden
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   127
  7: test
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   128
  8: foobar
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   129
  $ hg log --template '{rev}: {author}\n' -r .
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   130
  8: foobar
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   131
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   132
TODO: support this
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   133
  $ hg metaedit '.^::.'
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   134
  abort: editing multiple revisions without --fold is not currently supported
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   135
  [255]
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   136
3224
bac69ab0782c tests: add a test for newline in obsnote
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3223
diff changeset
   137
  $ HGEDITOR=cat hg metaedit '.^::.' --fold --note 'folding changesets using metaedit,
bac69ab0782c tests: add a test for newline in obsnote
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3223
diff changeset
   138
  > and newlines'
bac69ab0782c tests: add a test for newline in obsnote
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3223
diff changeset
   139
  abort: note cannot contain a newline
bac69ab0782c tests: add a test for newline in obsnote
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3223
diff changeset
   140
  [255]
3218
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   141
  $ HGEDITOR=cat hg metaedit '.^::.' --fold --note "folding changesets using metaedit"
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   142
  HG: This is a fold of 2 changesets.
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   143
  HG: Commit message of changeset 6.
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   144
  
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   145
  E
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   146
  
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   147
  HG: Commit message of changeset 8.
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   148
  
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   149
  F
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   150
  
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   151
  
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   152
  
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   153
  HG: Enter commit message.  Lines beginning with 'HG:' are removed.
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   154
  HG: Leave message empty to abort commit.
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   155
  HG: --
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   156
  HG: user: test
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   157
  HG: branch 'default'
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   158
  HG: added E
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   159
  HG: added F
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   160
  2 changesets folded
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   161
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   162
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   163
  $ glog -r .
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   164
  @  9:a08d35fd7d9d@default(draft) E
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   165
  |
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   166
  ~
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   167
3218
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   168
  $ hg obslog -r .
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   169
  @    a08d35fd7d9d (9) E
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   170
  |\
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   171
  x |  212b2a2b87cd (8) F
3565
cfe31185ad07 metaedit: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3224
diff changeset
   172
  | |    rewritten(description, user, parent, content) as a08d35fd7d9d using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
3223
73b4e84df0bd obsnote: don't add '' to note while showing it in obslog
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3218
diff changeset
   173
  | |      note: folding changesets using metaedit
3218
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   174
  | |
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   175
  | x  c2bd843aa246 (6) E
3565
cfe31185ad07 metaedit: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3224
diff changeset
   176
  |      rewritten(description, content) as a08d35fd7d9d using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
3223
73b4e84df0bd obsnote: don't add '' to note while showing it in obslog
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3218
diff changeset
   177
  |        note: folding changesets using metaedit
3218
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   178
  |
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   179
  x  587528abfffe (7) F
3565
cfe31185ad07 metaedit: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3224
diff changeset
   180
       rewritten(user) as 212b2a2b87cd using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
3218
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   181
  
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   182
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   183
no new commit is created here because the date is the same
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   184
  $ HGEDITOR=cat hg metaedit
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   185
  E
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   186
  
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   187
  
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   188
  F
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   189
  
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   190
  
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   191
  HG: Enter commit message.  Lines beginning with 'HG:' are removed.
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   192
  HG: Leave message empty to abort commit.
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   193
  HG: --
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   194
  HG: user: test
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   195
  HG: branch 'default'
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   196
  HG: added E
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   197
  HG: added F
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   198
  nothing changed
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   199
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   200
  $ glog -r '.^::.'
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   201
  @  9:a08d35fd7d9d@default(draft) E
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   202
  |
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   203
  o  3:3260958f1169@default(draft) C
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   204
  |
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   205
  ~
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   206
2481
d63f383e43b6 test: fix test-evolve.t
Boris Feld <boris.feld@octobus.net>
parents: 2426
diff changeset
   207
TODO: don't create a new commit in this case, we should take the date of the
d63f383e43b6 test: fix test-evolve.t
Boris Feld <boris.feld@octobus.net>
parents: 2426
diff changeset
   208
old commit (we add a default date with a value to show that metaedit is taking
d63f383e43b6 test: fix test-evolve.t
Boris Feld <boris.feld@octobus.net>
parents: 2426
diff changeset
   209
the current date to generate the hash, this way we still have a stable hash
d63f383e43b6 test: fix test-evolve.t
Boris Feld <boris.feld@octobus.net>
parents: 2426
diff changeset
   210
but highlight the bug)
d63f383e43b6 test: fix test-evolve.t
Boris Feld <boris.feld@octobus.net>
parents: 2426
diff changeset
   211
  $ hg metaedit --config defaults.metaedit= --config devel.default-date="42 0"
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   212
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   213
  $ hg log -r '.^::.' --template '{rev}: {desc|firstline}\n'
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   214
  3: C
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   215
  10: E
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   216
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   217
  $ hg up .^
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   218
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   219
  $ hg metaedit --user foobar2 tip
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   220
  $ hg log --template '{rev}: {author}\n' -r "user(foobar):" --hidden
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   221
  8: foobar
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   222
  9: test
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   223
  10: test
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   224
  11: foobar2
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   225
  $ hg diff -r "10" -r "11" --hidden
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   226
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   227
'fold' one commit
3208
c9e7b8db9900 test: remove dangling --config in test-metaedit.t
Boris Feld <boris.feld@octobus.net>
parents: 3013
diff changeset
   228
  $ HGUSER=foobar3 hg metaedit "desc(D2)" --fold -U
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   229
  1 changesets folded
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   230
  $ hg log -r "tip" --template '{rev}: {author}\n'
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   231
  12: foobar3