obslog: simplify formatter keys
The formatter field keys are all prefixed with
`debugobshistory.'. This is annoyingly useless as they are already in
the `debughistory` topic.
This patch simplify these keys. For examle, on this repository `hg obslog -Tdebug -r 31cbace4c0f1` :
```
debugobshistory = [
{
'node':'31cbace4c0f1',
'shortdescription':'topics: make sure we have some restrictions on topic names',
'rev':2904,
'markers':[
]
},
{
'node':'d439a6087434',
'markers':[
{
'date':(1504176329.83902,
-7200 ),
'verb':'rewritten',
'succnodes':[
'31cbace4c0f1'
],
'effect':[
'parent'
],
'user':'Pierre-Yves David <pierre-yves.david@octobus.net>'
}
]
},
{
'node':'1e1f651704d4',
'markers':[
{
'date':(1504175088.811924,
-7200 ),
'verb':'rewritten',
'succnodes':[
'd439a6087434'
],
'effect':[
'parent'
],
'user':'Pierre-Yves David <pierre-yves.david@octobus.net>'
}
]
},
{
'node':'eb6495cf6cb1',
'markers':[
{
'date':(1504015275.001643,
-19800 ),
'verb':'rewritten',
'succnodes':[
'1e1f651704d4'
],
'effect':[
'parent',
'content'
],
'user':'Pulkit Goyal <7895pulkit@gmail.com>'
}
]
},
{
'node':'761e446e0112',
'markers':[
{
'date':(1504015201.780276,
-19800 ),
'verb':'rewritten',
'succnodes':[
'eb6495cf6cb1'
],
'effect':[
'content'
],
'user':'Pulkit Goyal <7895pulkit@gmail.com>'
}
]
},
{
'node':'531a626950bd',
'markers':[
{
'date':(1504015017.897054,
-19800 ),
'verb':'rewritten',
'succnodes':[
'761e446e0112'
],
'effect':[
'meta',
'parent',
'content'
],
'user':'Pulkit Goyal <7895pulkit@gmail.com>'
}
]
},
{
'node':'c2f9ba7329ea',
'markers':[
{
'date':(1504014136.876537,
-19800 ),
'verb':'rewritten',
'succnodes':[
'531a626950bd'
],
'effect':[
'meta'
],
'user':'Pulkit Goyal <7895pulkit@gmail.com>'
}
]
},
]
```
We now able to ask `hg obslog -r 78debdfb3e4d -T '{label("log.summary", shortdescription)}\n{if(markers, markers % " {date|age} {user|person}\n")}'`
```
doc: simplify the reference to in-core features
9 days ago Pierre-Yves David
9 days ago Pierre-Yves David
9 days ago Pierre-Yves David
9 days ago Pierre-Yves David
9 days ago Philippe Pepiot
9 days ago Philippe Pepiot
```
$ cat >> $HGRCPATH <<EOF
> [extensions]
> EOF
$ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
hg prev -B should move active bookmark
$ hg init test-repo
$ cd test-repo
$ touch a
$ hg add a
$ hg commit -m 'added a'
$ touch b
$ hg add b
$ hg commit -m 'added b'
$ hg bookmark mark
$ hg bookmarks
* mark 1:6e742c9127b3
$ hg prev -B
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[0] added a
$ hg bookmarks
* mark 0:a154386e50d1
hg next -B should move active bookmark
$ hg next -B --dry-run
hg update 1;
hg bookmark mark -r 1;
[1] added b
$ hg next -B
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[1] added b
$ hg bookmarks
* mark 1:6e742c9127b3
hg prev should unset active bookmark
$ hg prev --dry-run
hg update 0;
[0] added a
$ hg prev
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[0] added a
$ hg bookmarks
mark 1:6e742c9127b3
hg next should move active bookmark
$ hg bookmark mark2
$ hg bookmarks
mark 1:6e742c9127b3
* mark2 0:a154386e50d1
$ hg next --dry-run --color=debug
hg update 1;
[[evolve.rev|1]] added b
$ hg next
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[1] added b
$ hg bookmarks
mark 1:6e742c9127b3
mark2 0:a154386e50d1
$ hg bookmark -d mark2
$ hg bookmark mark
hg next/prev should not interfere with inactive bookmarks
$ touch c
$ hg add c
$ hg commit -m 'added c'
$ hg bookmark -r2 no-move
$ hg prev -B
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[1] added b
$ hg bookmarks
* mark 1:6e742c9127b3
no-move 2:4e26ef31f919
$ hg next -B
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[2] added c
$ hg bookmarks
* mark 2:4e26ef31f919
no-move 2:4e26ef31f919
$ hg up 1
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
(leaving bookmark mark)
$ hg next -B
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[2] added c
$ hg bookmarks
mark 2:4e26ef31f919
no-move 2:4e26ef31f919
$ hg prev -B
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[1] added b
$ hg bookmarks
mark 2:4e26ef31f919
no-move 2:4e26ef31f919
test prev on root
$ hg up null
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ hg prev
already at repository root
[1]
$ hg up 1
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Behavior with local modification
--------------------------------
$ echo foo > modified-bar
$ hg add modified-bar
$ hg prev
abort: uncommitted changes
(do you want --merge?)
[255]
$ hg prev --merge
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[0] added a
$ hg next
abort: uncommitted changes
(do you want --merge?)
[255]
$ hg next --merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[1] added b
Behavior with aspiring children
-------------------------------
$ hg revert --all
forgetting modified-bar
$ hg log -G
o changeset: 2:4e26ef31f919
| bookmark: mark
| bookmark: no-move
| tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: added c
|
@ changeset: 1:6e742c9127b3
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: added b
|
o changeset: 0:a154386e50d1
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: added a
no children of any kind
$ hg next
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[2] added c
$ hg next
no children
[1]
$ hg next --evolve
no children
[1]
$ hg prev --dry-run --color=debug
hg update 1;
[[evolve.rev|1]] added b
$ hg prev
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[1] added b
some aspiring children
$ hg amend -m 'added b (2)'
1 new orphan changesets
$ hg next
no children
(1 unstable changesets to be evolved here, do you want --evolve?)
[1]
$ hg next --evolve --dry-run
move:[2] added c
atop:[3] added b (2)
hg rebase -r 4e26ef31f919 -d 9ad178109a19
working directory now at 9ad178109a19
(add color output for smoke testing)
$ hg next --evolve --color debug
move:[[evolve.rev|2]] added c
atop:[[evolve.rev|3]] added b (2)
[ ui.status|working directory now at [evolve.node|e3b6d5df389b]]
next with ambiguity
$ hg prev
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[3] added b (2)
$ echo d > d
$ hg add d
$ hg commit -m 'added d'
created new head
$ hg prev
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[3] added b (2)
$ hg next
ambigious next changeset:
[4] added c
[5] added d
explicitly update to one of them
[1]
next with ambiguity in aspiring children
$ hg am -m 'added b (3)'
2 new orphan changesets
$ hg next
no children
(2 unstable changesets to be evolved here, do you want --evolve?)
[1]
$ hg next --evolve
ambigious next (unstable) changeset:
[4] added c
[5] added d
(run 'hg evolve --rev REV' on one of them)
[1]
$ hg evolve -r 5
move:[5] added d
atop:[6] added b (3)
working directory is now at 47ea25be8aea
$ cd ..
prev and next should lock properly against other commands
$ hg init repo
$ cd repo
$ HGEDITOR=${TESTDIR}/fake-editor.sh
$ echo hi > foo
$ hg ci -Am 'one'
adding foo
$ echo bye > foo
$ hg ci -Am 'two'
$ hg amend --edit &
$ sleep 1
$ hg prev
waiting for lock on working directory of $TESTTMP/repo held by process '*' on host '*' (glob)
got lock after [4-6] seconds (re)
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[0] one
$ wait
$ hg amend --edit &
$ sleep 1
$ hg next --evolve
waiting for lock on working directory of $TESTTMP/repo held by process '*' on host '*' (glob)
1 new orphan changesets
got lock after [4-6] seconds (re)
move:[2] two
atop:[3] one
working directory now at a7d885c75614
$ wait