tests/test-evolve-obshistory-split.t
author Anton Shestakov <av6@dwimlabs.net>
Fri, 07 Jun 2019 18:14:48 +0800
branchstable
changeset 4687 313565dd75e3
parent 4455 b58e45aa9be2
child 4513 d70db7e455dc
child 4712 e2c548cc83b5
permissions -rw-r--r--
pick: remove transaction on the whole command (issue6037) At its core, pick is a pretty straightforward and well-behaving command, it uses functions already in core hg, it checks that wdir is clean and that changeset to pick is not public, it checks if there happen to be merge conflicts and can be --continue'd later, etc. It is very similar to graft in core (it also uses mergemod.graft function), but it obsoletes the original changeset. However, graft does not experience this incorrect behavior from issue 6037. What happens in the test case for this issue when we pick a revision that touches both "a" and "b": mergemod.graft() takes the original changeset and tries to apply it to the wdir, which results in "b" being marked as newly added and ready to be committed, "a" updated with the new content and being marked as modified, but "a" also has conflicts. Pick correctly notices this and saves its state before asking for user intervention. So far so good. However, when the command raises InterventionRequired to print a user-facing message and exit while being wrapped in repo.transaction() context manager, the latter partially undoes what mergemod.graft() did: it unmarks "b" as added. And when user continues pick, "b" is therefore not tracked and is not included in the resulting commit. The transaction is not useful here, because it doesn't touch wdir (it's still dirty), it doesn't remove pickstate (and other commands will refuse to work until pick --abort or --continue), it just makes "b" untracked. The solution is to use repo.transaction() only to wrap code that writes data to hg store in the final stages of the command after all checks have passed and is not expected to fail on trivial cases like merge conflicts. For example, committing the picked changeset. But since pick uses repo.commit() for that, and because that function already uses a transaction, wrapping it in another transaction doesn't make sense.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     1
This test file test the various messages when accessing obsolete
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     2
revisions.
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     3
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     4
Global setup
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     5
============
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     6
3885
3df8b6ecce2a tests: extract obshistory setup in a separate file
Boris Feld <boris.feld@octobus.net>
parents: 3884
diff changeset
     7
  $ . $TESTDIR/testlib/obshistory_setup.sh
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     8
4455
b58e45aa9be2 test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4294
diff changeset
     9
Test output with split commit
b58e45aa9be2 test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4294
diff changeset
    10
=============================
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    11
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    12
Test setup
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    13
----------
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    14
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    15
  $ hg init $TESTTMP/local-split
3896
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
    16
  $ hg init $TESTTMP/server
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    17
  $ cd $TESTTMP/local-split
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    18
  $ mkcommit ROOT
3896
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
    19
  $ sync
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    20
  $ echo 42 >> a
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    21
  $ echo 43 >> b
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    22
  $ hg commit -A -m "A0"
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    23
  adding a
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    24
  adding b
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    25
  $ hg log --hidden -G
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    26
  @  changeset:   1:471597cad322
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    27
  |  tag:         tip
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    28
  |  user:        test
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    29
  |  date:        Thu Jan 01 00:00:00 1970 +0000
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    30
  |  summary:     A0
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    31
  |
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    32
  o  changeset:   0:ea207398892e
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    33
     user:        test
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    34
     date:        Thu Jan 01 00:00:00 1970 +0000
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    35
     summary:     ROOT
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    36
  
3216
13cb0810ce22 split: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3154
diff changeset
    37
  $ hg split -r 'desc(A0)' -n "testing split" -d "0 0" << EOF
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    38
  > y
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    39
  > y
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    40
  > n
4294
8974a05a49fa split: rework the prompt to be more standard
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4293
diff changeset
    41
  > y
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    42
  > y
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    43
  > y
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    44
  > EOF
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    45
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    46
  adding a
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    47
  adding b
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    48
  diff --git a/a b/a
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    49
  new file mode 100644
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    50
  examine changes to 'a'? [Ynesfdaq?] y
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    51
  
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    52
  @@ -0,0 +1,1 @@
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    53
  +42
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    54
  record change 1/2 to 'a'? [Ynesfdaq?] y
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    55
  
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    56
  diff --git a/b b/b
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    57
  new file mode 100644
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    58
  examine changes to 'b'? [Ynesfdaq?] n
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    59
  
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    60
  created new head
4294
8974a05a49fa split: rework the prompt to be more standard
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4293
diff changeset
    61
  continue splitting? [Ycdq?] y
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    62
  diff --git a/b b/b
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    63
  new file mode 100644
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    64
  examine changes to 'b'? [Ynesfdaq?] y
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    65
  
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    66
  @@ -0,0 +1,1 @@
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    67
  +43
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    68
  record this change to 'b'? [Ynesfdaq?] y
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    69
  
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    70
  no more change to split
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    71
3896
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
    72
  $ sync
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
    73
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    74
  $ hg log --hidden -G
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    75
  @  changeset:   3:f257fde29c7a
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    76
  |  tag:         tip
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    77
  |  user:        test
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    78
  |  date:        Thu Jan 01 00:00:00 1970 +0000
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    79
  |  summary:     A0
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    80
  |
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    81
  o  changeset:   2:337fec4d2edc
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    82
  |  parent:      0:ea207398892e
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    83
  |  user:        test
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    84
  |  date:        Thu Jan 01 00:00:00 1970 +0000
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    85
  |  summary:     A0
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    86
  |
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    87
  | x  changeset:   1:471597cad322
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    88
  |/   user:        test
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    89
  |    date:        Thu Jan 01 00:00:00 1970 +0000
3567
5ddea3b8d2a4 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3566
diff changeset
    90
  |    obsolete:    split using split as 2:337fec4d2edc, 3:f257fde29c7a
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    91
  |    summary:     A0
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    92
  |
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    93
  o  changeset:   0:ea207398892e
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    94
     user:        test
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    95
     date:        Thu Jan 01 00:00:00 1970 +0000
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    96
     summary:     ROOT
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    97
  
3896
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
    98
Check output on the client side
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
    99
-------------------------------
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   100
4455
b58e45aa9be2 test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4294
diff changeset
   101
Check that debugobshistory on split commit show both targets
2637
49f2741c4dd7 obslog: add a patch option
Boris Feld <boris.feld@octobus.net>
parents: 2585
diff changeset
   102
  $ hg obslog 471597cad322 --hidden --patch
2407
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   103
  x  471597cad322 (1) A0
3567
5ddea3b8d2a4 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3566
diff changeset
   104
       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a using split 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: 3216
diff changeset
   105
         note: testing split
3055
774b4ea6ca58 obslog: remove the word "yet" from "No patch available yet"
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3054
diff changeset
   106
         (No patch available, too many successors (2))
2407
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   107
  
2477
d7f7e8f3b51c test: rename all olog references
Boris Feld <boris.feld@octobus.net>
parents: 2476
diff changeset
   108
  $ hg obslog 471597cad322 --hidden --no-graph -Tjson | python -m json.tool
2342
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   109
  [
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   110
      {
2957
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   111
          "markers": [
2342
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   112
              {
2957
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   113
                  "date": [
2342
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   114
                      *, (glob)
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   115
                      0 (glob)
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   116
                  ],
2957
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   117
                  "effect": [
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   118
                      "parent",
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   119
                      "content"
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   120
                  ],
3216
13cb0810ce22 split: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3154
diff changeset
   121
                  "note": "testing split",
3567
5ddea3b8d2a4 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3566
diff changeset
   122
                  "operation": "split",
2957
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   123
                  "succnodes": [
2342
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   124
                      "337fec4d2edc",
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   125
                      "f257fde29c7a"
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   126
                  ],
2957
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   127
                  "user": "test",
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   128
                  "verb": "rewritten"
2342
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   129
              }
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   130
          ],
2957
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   131
          "node": "471597cad322",
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   132
          "rev": 1,
586c9ace20b3 obslog: simplify formatter keys
Alain Leufroy
parents: 2956
diff changeset
   133
          "shortdescription": "A0"
2342
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   134
      }
e28026b4d3c1 obshistory: use formatter instead of ui.write in the debugobshistory command
Boris Feld <boris.feld@octobus.net>
parents: 2336
diff changeset
   135
  ]
2407
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   136
Check that debugobshistory on the first successor after split show
4455
b58e45aa9be2 test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4294
diff changeset
   137
the revision plus the split one
2637
49f2741c4dd7 obslog: add a patch option
Boris Feld <boris.feld@octobus.net>
parents: 2585
diff changeset
   138
  $ hg obslog 337fec4d2edc --patch
2407
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   139
  o  337fec4d2edc (2) A0
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   140
  |
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   141
  x  471597cad322 (1) A0
3567
5ddea3b8d2a4 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3566
diff changeset
   142
       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a using split 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: 3216
diff changeset
   143
         note: testing split
3055
774b4ea6ca58 obslog: remove the word "yet" from "No patch available yet"
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3054
diff changeset
   144
         (No patch available, too many successors (2))
2407
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   145
  
2484
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   146
With the all option, it should show the three changesets
2637
49f2741c4dd7 obslog: add a patch option
Boris Feld <boris.feld@octobus.net>
parents: 2585
diff changeset
   147
  $ hg obslog --all 337fec4d2edc --patch
2484
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   148
  o  337fec4d2edc (2) A0
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   149
  |
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   150
  | @  f257fde29c7a (3) A0
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   151
  |/
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   152
  x  471597cad322 (1) A0
3567
5ddea3b8d2a4 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3566
diff changeset
   153
       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a using split 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: 3216
diff changeset
   154
         note: testing split
3055
774b4ea6ca58 obslog: remove the word "yet" from "No patch available yet"
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3054
diff changeset
   155
         (No patch available, too many successors (2))
2484
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   156
  
2407
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   157
Check that debugobshistory on the second successor after split show
4455
b58e45aa9be2 test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4294
diff changeset
   158
the revision plus the split one
2637
49f2741c4dd7 obslog: add a patch option
Boris Feld <boris.feld@octobus.net>
parents: 2585
diff changeset
   159
  $ hg obslog f257fde29c7a --patch
2407
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   160
  @  f257fde29c7a (3) A0
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   161
  |
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   162
  x  471597cad322 (1) A0
3567
5ddea3b8d2a4 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3566
diff changeset
   163
       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a using split 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: 3216
diff changeset
   164
         note: testing split
3055
774b4ea6ca58 obslog: remove the word "yet" from "No patch available yet"
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3054
diff changeset
   165
         (No patch available, too many successors (2))
2407
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   166
  
2484
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   167
With the all option, it should show the three changesets
2637
49f2741c4dd7 obslog: add a patch option
Boris Feld <boris.feld@octobus.net>
parents: 2585
diff changeset
   168
  $ hg obslog f257fde29c7a --all --patch
2484
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   169
  o  337fec4d2edc (2) A0
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   170
  |
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   171
  | @  f257fde29c7a (3) A0
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   172
  |/
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   173
  x  471597cad322 (1) A0
3567
5ddea3b8d2a4 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3566
diff changeset
   174
       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a using split 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: 3216
diff changeset
   175
         note: testing split
3055
774b4ea6ca58 obslog: remove the word "yet" from "No patch available yet"
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3054
diff changeset
   176
         (No patch available, too many successors (2))
2484
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   177
  
4455
b58e45aa9be2 test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4294
diff changeset
   178
Obslog with all option all should also works on the split commit
2637
49f2741c4dd7 obslog: add a patch option
Boris Feld <boris.feld@octobus.net>
parents: 2585
diff changeset
   179
  $ hg obslog -a 471597cad322 --hidden --patch
2484
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   180
  o  337fec4d2edc (2) A0
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   181
  |
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   182
  | @  f257fde29c7a (3) A0
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   183
  |/
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   184
  x  471597cad322 (1) A0
3567
5ddea3b8d2a4 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3566
diff changeset
   185
       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a using split 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: 3216
diff changeset
   186
         note: testing split
3055
774b4ea6ca58 obslog: remove the word "yet" from "No patch available yet"
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3054
diff changeset
   187
         (No patch available, too many successors (2))
2484
262d684851dc obshistory: add the all option to obslog to show the while obs tree
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   188
  
2407
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   189
Check that debugobshistory on both successors after split show
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   190
a coherent graph
2637
49f2741c4dd7 obslog: add a patch option
Boris Feld <boris.feld@octobus.net>
parents: 2585
diff changeset
   191
  $ hg obslog 'f257fde29c7a+337fec4d2edc' --patch
2407
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   192
  o  337fec4d2edc (2) A0
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   193
  |
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   194
  | @  f257fde29c7a (3) A0
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   195
  |/
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   196
  x  471597cad322 (1) A0
3567
5ddea3b8d2a4 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3566
diff changeset
   197
       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a using split 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: 3216
diff changeset
   198
         note: testing split
3055
774b4ea6ca58 obslog: remove the word "yet" from "No patch available yet"
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3054
diff changeset
   199
         (No patch available, too many successors (2))
2407
783a74c60a5e obshistory: add a graph option on the debugobshistory command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2404
diff changeset
   200
  
2290
a36a8c6a09ac ui: change the hidden revision error message
Boris Feld <boris.feld@octobus.net>
parents: 2289
diff changeset
   201
  $ hg update 471597cad322
3663
54a469cd5b26 test: update output to match upstream
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3567
diff changeset
   202
  abort: hidden revision '471597cad322' was split as: 337fec4d2edc, f257fde29c7a!
54a469cd5b26 test: update output to match upstream
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3567
diff changeset
   203
  (use --hidden to access hidden revisions)
2290
a36a8c6a09ac ui: change the hidden revision error message
Boris Feld <boris.feld@octobus.net>
parents: 2289
diff changeset
   204
  [255]
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   205
  $ hg update --hidden 'min(desc(A0))'
3747
1e103c7f7663 test: update to new outputs
Boris Feld <boris.feld@octobus.net>
parents: 3730
diff changeset
   206
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1e103c7f7663 test: update to new outputs
Boris Feld <boris.feld@octobus.net>
parents: 3730
diff changeset
   207
  updated to hidden changeset 471597cad322
3432
f57be161f34b test: update with new 'update' hint about obsfate
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3417
diff changeset
   208
  (hidden revision '471597cad322' was split as: 337fec4d2edc, f257fde29c7a)
2289
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   209
  working directory parent is obsolete! (471597cad322)
61d073590fb7 ui: add better messages when the working copy become obsolete.
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   210
  (use 'hg evolve' to update to its tipmost successor: 337fec4d2edc, f257fde29c7a)
3896
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   211
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   212
Check output on the server side
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   213
-------------------------------
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   214
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   215
  $ hg obslog -R $TESTTMP/server --patch tip
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   216
  o  f257fde29c7a (2) A0
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   217
  |
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   218
  x  471597cad322
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   219
       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   220
         note: testing split
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   221
         (No patch available, context is not local)
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   222
  
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   223
  $ hg obslog -R $TESTTMP/server -f --patch tip
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   224
  o  f257fde29c7a (2) A0
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   225
  
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   226
  $ hg obslog -R $TESTTMP/server --all --patch tip
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   227
  o  337fec4d2edc (1) A0
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   228
  |
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   229
  | o  f257fde29c7a (2) A0
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   230
  |/
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   231
  x  471597cad322
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   232
       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   233
         note: testing split
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   234
         (No patch available, context is not local)
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   235
  
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   236
  $ hg obslog -R $TESTTMP/server --all -f --patch tip
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   237
  o  337fec4d2edc (1) A0
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   238
  
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   239
  o  f257fde29c7a (2) A0
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   240
  
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   241
  $ hg obslog -R $TESTTMP/server --no-graph -f --all --patch tip
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   242
  f257fde29c7a (2) A0
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   243
  471597cad322
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   244
    rewritten(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   245
      note: testing split
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   246
      (No patch available, context is not local)
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   247
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   248
  $ hg obslog -R $TESTTMP/server --no-graph -f --all --patch tip
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   249
  f257fde29c7a (2) A0
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   250
  471597cad322
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   251
    rewritten(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   252
      note: testing split
7b782e419df7 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net>
parents: 3888
diff changeset
   253
      (No patch available, context is not local)