tests/test-metaedit.t
author Anton Shestakov <av6@dwimlabs.net>
Wed, 09 Oct 2019 21:22:03 +0700
branchstable
changeset 4898 9936aecc9ea3
parent 4897 20380ae44d0f
child 5114 08112f100d70
child 5234 ea3f9e171b9a
permissions -rw-r--r--
metaedit: don't change commit date by default (issue5994) We deliberately unset devel.default-date to allow hg commands to see the real system date, that demonstrates that metaedit doesn't fall back to system date for any of these commands.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4897
20380ae44d0f tests: simply use testlib/common.sh in test-metaedit.t
Anton Shestakov <av6@dwimlabs.net>
parents: 4896
diff changeset
     1
  $ . $TESTDIR/testlib/common.sh
20380ae44d0f tests: simply use testlib/common.sh in test-metaedit.t
Anton Shestakov <av6@dwimlabs.net>
parents: 4896
diff changeset
     2
81
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     3
  $ cat >> $HGRCPATH <<EOF
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     4
  > [alias]
4896
14698b28aa57 tests: turn glog shell function into an alias in test-metaedit.t
Anton Shestakov <av6@dwimlabs.net>
parents: 4895
diff changeset
     5
  > glog = log -GT "{rev}:{node|short}@{branch}({phase}) {desc|firstline}"
4724
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
     6
  > gluf = log -GT "{rev}: {desc|firstline} - {author|user} ({files})"
81
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     7
  > [extensions]
4897
20380ae44d0f tests: simply use testlib/common.sh in test-metaedit.t
Anton Shestakov <av6@dwimlabs.net>
parents: 4896
diff changeset
     8
  > evolve =
81
5cec25ce019c Basic kill command
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     9
  > EOF
1358
3f5db977d46f evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents: 1357
diff changeset
    10
82
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    11
##########################
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    12
importing Parren test
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    13
##########################
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    14
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    15
  $ cat << EOF >> $HGRCPATH
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    16
  > [ui]
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    17
  > 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
    18
  > EOF
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    19
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    20
HG METAEDIT
82
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    21
===============================
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    22
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    23
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
    24
-------------------
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    25
8108d566a8b5 [evolution] imported hg amend from parren works
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 81
diff changeset
    26
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
    27
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    28
  $ 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
    29
  $ mkcommit "ROOT"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    30
  $ 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
    31
  $ mkcommit "A"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    32
  $ mkcommit "B"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    33
  $ 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
    34
  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
    35
  $ mkcommit "C"
137
bbc653876876 fix evolve test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 116
diff changeset
    36
  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
    37
  $ mkcommit "D"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    38
  $ echo "D'" > D
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    39
  $ 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
    40
  $ 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
    41
  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
    42
  $ mkcommit "E"
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    43
  created new head
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    44
  $ 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
    45
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    46
Test
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    47
----
418
18a0d96ed559 evolve: graft --continue is optional, test
Patrick Mezard <patrick@mezard.eu>
parents: 414
diff changeset
    48
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    49
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    50
  @  7	: F - test
933
e5baeb8fefec fold: add --message and --logfile options
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 915
diff changeset
    51
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    52
  o  6	: E - test
1141
ca17770d2ee9 evolve: preserve branch change
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1133
diff changeset
    53
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    54
  | o  5	: D2 - test
1325
1fe3da0b4601 evolve: add --rev option to the evolve command
Laurent Charignon <lcharignon@fb.com>
parents: 1283
diff changeset
    55
  |/
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    56
  o  3	: C - test
1325
1fe3da0b4601 evolve: add --rev option to the evolve command
Laurent Charignon <lcharignon@fb.com>
parents: 1283
diff changeset
    57
  |
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    58
  | o  2	: B - test
1325
1fe3da0b4601 evolve: add --rev option to the evolve command
Laurent Charignon <lcharignon@fb.com>
parents: 1283
diff changeset
    59
  |/
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    60
  o  1	: A - test
1325
1fe3da0b4601 evolve: add --rev option to the evolve command
Laurent Charignon <lcharignon@fb.com>
parents: 1283
diff changeset
    61
  |
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    62
  o  0	: ROOT - test
1441
a4abe588d77f evolve: mechanism to load some commands selectively
Laurent Charignon <lcharignon@fb.com>
parents: 1428
diff changeset
    63
  
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    64
  $ hg update --clean .
1397
35f2f54b557c evolve: make prune respect allowunsable
Laurent Charignon <lcharignon@fb.com>
parents: 1370
diff changeset
    65
  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
    66
  $ hg metaedit -r 0
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
    67
  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
    68
  [255]
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
    69
  $ hg metaedit --fold
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
    70
  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
    71
  [255]
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
    72
  $ 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
    73
  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
    74
  (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
    75
  [255]
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    76
  $ 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
    77
  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
    78
  [255]
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    79
  $ 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
    80
  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
    81
  [255]
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
    82
check that metaedit respects allowunstable
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
    83
  $ 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
    84
  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
    85
  (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
    86
  [255]
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
    87
  $ 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
    88
  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
    89
  (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
    90
  [255]
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
    91
  $ hg metaedit --user foobar
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
    92
  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
    93
  $ 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
    94
  7: test
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    95
  8: foobar
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
    96
  $ 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
    97
  8: foobar
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
    98
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
    99
TODO: support this
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   100
  $ hg metaedit '.^::.'
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   101
  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
   102
  [255]
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   103
3224
bac69ab0782c tests: add a test for newline in obsnote
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3223
diff changeset
   104
  $ 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
   105
  > and newlines'
bac69ab0782c tests: add a test for newline in obsnote
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3223
diff changeset
   106
  abort: note cannot contain a newline
bac69ab0782c tests: add a test for newline in obsnote
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3223
diff changeset
   107
  [255]
3218
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   108
  $ 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
   109
  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
   110
  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
   111
  
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   112
  E
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   113
  
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   114
  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
   115
  
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   116
  F
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   117
  
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   118
  
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   119
  
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   120
  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
   121
  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
   122
  HG: --
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   123
  HG: user: test
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   124
  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
   125
  HG: added E
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   126
  HG: added F
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   127
  2 changesets folded
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   128
  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
   129
4896
14698b28aa57 tests: turn glog shell function into an alias in test-metaedit.t
Anton Shestakov <av6@dwimlabs.net>
parents: 4895
diff changeset
   130
  $ hg glog -r .
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   131
  @  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
   132
  |
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   133
  ~
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   134
3218
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   135
  $ hg obslog -r .
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   136
  @    a08d35fd7d9d (9) E
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   137
  |\
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   138
  x |  212b2a2b87cd (8) F
3565
cfe31185ad07 metaedit: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3224
diff changeset
   139
  | |    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
   140
  | |      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
   141
  | |
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   142
  | x  c2bd843aa246 (6) E
3565
cfe31185ad07 metaedit: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3224
diff changeset
   143
  |      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
   144
  |        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
   145
  |
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   146
  x  587528abfffe (7) F
3565
cfe31185ad07 metaedit: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com>
parents: 3224
diff changeset
   147
       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
   148
  
772cc931f085 metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3208
diff changeset
   149
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   150
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
   151
  $ 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
   152
  E
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   153
  
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   154
  
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   155
  F
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   156
  
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   157
  
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   158
  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
   159
  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
   160
  HG: --
1686
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   161
  HG: user: test
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   162
  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
   163
  HG: added E
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   164
  HG: added F
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   165
  nothing changed
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   166
4896
14698b28aa57 tests: turn glog shell function into an alias in test-metaedit.t
Anton Shestakov <av6@dwimlabs.net>
parents: 4895
diff changeset
   167
  $ hg glog -r '.^::.'
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   168
  @  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
   169
  |
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   170
  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
   171
  |
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   172
  ~
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   173
4898
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   174
metaedit should preserve the original date of the edited commit (issue5994)
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   175
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   176
  $ hg metaedit --config devel.default-date=
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   177
  nothing changed
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   178
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   179
metaedit doesn't create new commit if message and user aren't changed
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   180
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   181
  $ hg metaedit --config devel.default-date= --user test --message 'E
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   182
  > 
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   183
  > 
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   184
  > F'
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   185
  nothing changed
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   186
9936aecc9ea3 metaedit: don't change commit date by default (issue5994)
Anton Shestakov <av6@dwimlabs.net>
parents: 4897
diff changeset
   187
  $ hg metaedit --config devel.default-date= --date "42 0"
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   188
  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
   189
  $ 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
   190
  3: C
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   191
  10: E
1685
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   192
4fd0db2f6d84 commands: introduce a new command to edit commit metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1673
diff changeset
   193
  $ hg up .^
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   194
  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
   195
  $ 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
   196
  $ 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
   197
  8: foobar
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   198
  9: test
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   199
  10: test
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   200
  11: foobar2
2501
67be11064077 test: extract metaedit tests into test-metaedit.t test file
Boris Feld <boris.feld@octobus.net>
parents: 2483
diff changeset
   201
  $ 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
   202
474db2d60202 metaedit: add support for folding commits while editing their metadata
Siddharth Agarwal <sid0@fb.com>
parents: 1685
diff changeset
   203
'fold' one commit
3208
c9e7b8db9900 test: remove dangling --config in test-metaedit.t
Boris Feld <boris.feld@octobus.net>
parents: 3013
diff changeset
   204
  $ 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
   205
  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
   206
  $ 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
   207
  12: foobar3
4724
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   208
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   209
working on merge commits too
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   210
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   211
  $ hg up -q 11
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   212
  $ hg merge -q 12
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   213
  $ hg ci -m 'merge commit'
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   214
  $ hg st --change .
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   215
  A D
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   216
  $ hg metaedit --user someone-else
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   217
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   218
  $ hg st --change .
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   219
  A D
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   220
  $ hg gluf
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   221
  @    14: merge commit - someone-else ()
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   222
  |\
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   223
  | o  12: D2 - foobar3 (D)
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   224
  | |
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   225
  o |  11: E - foobar2 (E F)
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   226
  |/
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   227
  o  3: C - test (C)
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   228
  |
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   229
  | o  2: B - test (B)
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   230
  |/
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   231
  o  1: A - test (A)
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   232
  |
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   233
  o  0: ROOT - test (ROOT)
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   234
  
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   235
  $ hg metaedit --user mr-squasher -r 3:14 --fold --message squashed
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   236
  4 changesets folded
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   237
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   238
  $ hg st --change .
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   239
  A C
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   240
  A D
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   241
  A E
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   242
  A F
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   243
  $ hg gluf
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   244
  @  15: squashed - mr-squasher (C D E F)
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   245
  |
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   246
  | o  2: B - test (B)
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   247
  |/
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   248
  o  1: A - test (A)
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   249
  |
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   250
  o  0: ROOT - test (ROOT)
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   251
  
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   252
  $ hg files
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   253
  A
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   254
  C
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   255
  D
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   256
  E
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   257
  F
77bf84025dd5 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net>
parents: 3565
diff changeset
   258
  ROOT