##// END OF EJS Templates
commit: get info from mergestate whether a file was merged or not...
commit: get info from mergestate whether a file was merged or not While commiting a merge, the commit code does not know whether a file was merged during `hg merge` or not. This leads the commit code to look for filelog ancestor to choose parents of new filelog created on merge commit. This leads to wrong results in some cases as demonstrated by previous patch. From this patch, we start storing information about merged files in mergestate in stateextras and then use that on commit to detect whether we need to set two parents or not. Differential Revision: https://phab.mercurial-scm.org/D10149

File last commit:

r47567:5a0b930c default
r47567:5a0b930c default
Show More
test-obsolete.t
1852 lines | 67.6 KiB | text/troff | Tads3Lexer
Pierre-Yves David
obsolete: compute unstable changeset...
r17171 $ cat >> $HGRCPATH << EOF
> [phases]
> # public changeset are not obsolete
> publish=false
Pierre-Yves David
test-obsolete: better logging template...
r21978 > [ui]
Boris Feld
templatekw: introduce obsfate keyword...
r34848 > logtemplate="{rev}:{node|short} ({phase}{if(obsolete, ' *{obsolete}*')}{if(instabilities, ' {instabilities}')}) [{tags} {bookmarks}] {desc|firstline}{if(obsfate, " [{join(obsfate, "; ")}]")}\n"
Pierre-Yves David
obsolete: compute unstable changeset...
r17171 > EOF
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071 $ mkcommit() {
> echo "$1" > "$1"
> hg add "$1"
> hg ci -m "add $1"
> }
$ getid() {
Matt Harbison
test-obsolete: use 'log -T {node}' instead of 'id --debug -i' to lookup hash...
r24162 > hg log -T "{node}\n" --hidden -r "desc('$1')"
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071 > }
Patrick Mezard
push: do not try to push remote obsolete if local has none
r17252 $ cat > debugkeys.py <<EOF
> def reposetup(ui, repo):
> class debugkeysrepo(repo.__class__):
> def listkeys(self, namespace):
Pulkit Goyal
py3: add b'' prefixes in tests/test-obsolete.t...
r36512 > ui.write(b'listkeys %s\n' % (namespace,))
Patrick Mezard
push: do not try to push remote obsolete if local has none
r17252 > return super(debugkeysrepo, self).listkeys(namespace)
>
> if repo.local():
> repo.__class__ = debugkeysrepo
> EOF
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071
$ hg init tmpa
$ cd tmpa
Pierre-Yves David
obsolete: introduce an `_enabled` switch to disable the feature by default...
r17296 $ mkcommit kill_me
Checking that the feature is properly disabled
$ hg debugobsolete -d '0 0' `getid kill_me` -u babar
Durham Goode
obsolete: add readonly flag to obstore constructor...
r22950 abort: creating obsolete markers is not enabled on this repo
Pierre-Yves David
obsolete: introduce an `_enabled` switch to disable the feature by default...
r17296 [255]
Enabling it
Durham Goode
obsolete: update tests to use obsolete options...
r22955 $ cat >> $HGRCPATH << EOF
> [experimental]
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 > evolution=exchange
> evolution.createmarkers=True
Pierre-Yves David
obsolete: introduce an `_enabled` switch to disable the feature by default...
r17296 > EOF
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071
Killing a single changeset without replacement
Patrick Mezard
debugobsolete: do not traceback on invalid node identifiers
r17292 $ hg debugobsolete 0
abort: changeset references must be full hexadecimal node identifiers
Martin von Zweigbergk
errors: raise InputError in `hg debugobsolete`...
r46486 [10]
Patrick Mezard
debugobsolete: do not traceback on invalid node identifiers
r17292 $ hg debugobsolete '00'
abort: changeset references must be full hexadecimal node identifiers
Martin von Zweigbergk
errors: raise InputError in `hg debugobsolete`...
r46486 [10]
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Pierre-Yves.David@ens-lyon.org
debugobsolete: list all obsolete marker if no argument are specified
r17074 $ hg debugobsolete
Pierre-Yves David
debugobsolete: explicitly display date in the output...
r22220 97b7c2d76b1845ed3eb988cd612611e72406cef0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'babar'}
Pierre-Yves David
changectx: fix the handling of `tip`...
r18464
(test that mercurial is not confused)
$ hg up null --quiet # having 0 as parent prevents it to be hidden
$ hg tip
Pierre-Yves David
test-obsolete: better logging template...
r21978 -1:000000000000 (public) [tip ]
Pierre-Yves David
changectx: fix the handling of `tip`...
r18464 $ hg up --hidden tip --quiet
Martin von Zweigbergk
update: print warning about hidden changeset after update...
r37939 updated to hidden changeset 97b7c2d76b18
Boris Feld
update: display the obsfate of hidden revision we update to...
r35729 (hidden revision '97b7c2d76b18' is pruned)
Pierre-Yves David
obsstore.create: add a simple safeguard against cyclic markers...
r22177
Killing a single changeset with itself should fail
(simple local safeguard)
$ hg debugobsolete `getid kill_me` `getid kill_me`
abort: bad obsmarker input: in-marker cycle with 97b7c2d76b1845ed3eb988cd612611e72406cef0
[255]
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071 $ cd ..
Killing a single changeset with replacement
Durham Goode
obsstore: fix defaultformat option passing...
r22948 (and testing the format option)
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071
$ hg init tmpb
$ cd tmpb
$ mkcommit a
$ mkcommit b
$ mkcommit original_c
$ hg up "desc('b')"
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ mkcommit new_c
created new head
Patrick Mezard
revset: add hidden() revset
r17390 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 $ hg debugobsolete --config format.obsstore-version=0 --flag 12 `getid original_c` `getid new_c` -d '121 120'
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Patrick Mezard
revset: add hidden() revset
r17390 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
2:245bde4270cd add original_c
Matt Mackall
debugrevlog: use unfiltered view for changelog
r21033 $ hg debugrevlog -cd
Sune Foldager
debugrevlog: add chainlen column to --dump output
r22311 # rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen
0 -1 -1 0 59 0 0 0 0 58 58 0 1 0
1 0 -1 59 118 59 59 0 0 58 116 0 1 0
Siddharth Agarwal
revlog: store fulltext when compressed delta is bigger than it...
r23285 2 1 -1 118 193 118 118 59 0 76 192 0 1 0
3 1 -1 193 260 193 193 59 0 66 258 0 2 0
Pierre-Yves.David@ens-lyon.org
debugobsolete: list all obsolete marker if no argument are specified
r17074 $ hg debugobsolete
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071
Durham Goode
obsstore: fix defaultformat option passing...
r22948 (check for version number of the obsstore)
$ dd bs=1 count=1 if=.hg/store/obsstore 2>/dev/null
\x00 (no-eol) (esc)
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071 do it again (it read the obsstore before adding new changeset)
$ hg up '.^'
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ mkcommit new_2_c
created new head
$ hg debugobsolete -d '1337 0' `getid new_c` `getid new_2_c`
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Pierre-Yves.David@ens-lyon.org
debugobsolete: list all obsolete marker if no argument are specified
r17074 $ hg debugobsolete
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
debugobsolete: explicitly display date in the output...
r22220 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071
Register two markers with a missing node
$ hg up '.^'
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ mkcommit new_3_c
created new head
$ hg debugobsolete -d '1338 0' `getid new_2_c` 1337133713371337133713371337133713371337
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071 $ hg debugobsolete -d '1339 0' 1337133713371337133713371337133713371337 `getid new_3_c`
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Pierre-Yves.David@ens-lyon.org
debugobsolete: list all obsolete marker if no argument are specified
r17074 $ hg debugobsolete
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
debugobsolete: explicitly display date in the output...
r22220 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075
Kostia Balytskyi
debugobsolete: add an option to show marker index...
r28613 Test the --index option of debugobsolete command
$ hg debugobsolete --index
0 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
1 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
2 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
3 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: cheap detection of nullid as successors...
r17774 Refuse pathological nullid successors
$ hg debugobsolete -d '9001 0' 1337133713371337133713371337133713371337 0000000000000000000000000000000000000000
transaction abort!
rollback completed
abort: bad obsolescence marker detected: invalid successors nullid
[255]
Pierre-Yves David
graphlog: display obsolete changeset as "x"...
r17119 Check that graphlog detect that a changeset is obsolete:
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G
Pierre-Yves David
test-obsolete: better logging template...
r21978 @ 5:5601fb93a350 (draft) [tip ] add new_3_c
Pierre-Yves David
graphlog: display obsolete changeset as "x"...
r17119 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 o 1:7c3bad9141dc (draft) [ ] add b
Pierre-Yves David
graphlog: display obsolete changeset as "x"...
r17119 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 o 0:1f0dee641bb7 (draft) [ ] add a
Pierre-Yves David
graphlog: display obsolete changeset as "x"...
r17119
Pierre-Yves David
clfilter: ensure that hidden filtering is working on all commands...
r18268 check that heads does not report them
$ hg heads
Pierre-Yves David
test-obsolete: better logging template...
r21978 5:5601fb93a350 (draft) [tip ] add new_3_c
Pierre-Yves David
clfilter: ensure that hidden filtering is working on all commands...
r18268 $ hg heads --hidden
Pierre-Yves David
test-obsolete: better logging template...
r21978 5:5601fb93a350 (draft) [tip ] add new_3_c
Boris Feld
obsfate: only display date in verbose mode...
r34852 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c [rewritten as 5:5601fb93a350]
3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c [rewritten as 4:ca819180edb9]
2:245bde4270cd (draft *obsolete*) [ ] add original_c [rewritten as 3:cdbce2fbb163]
Pierre-Yves David
clfilter: ensure that hidden filtering is working on all commands...
r18268
check that summary does not report them
$ hg init ../sink
$ echo '[paths]' >> .hg/hgrc
$ echo 'default=../sink' >> .hg/hgrc
$ hg summary --remote
parent: 5:5601fb93a350 tip
add new_3_c
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Pierre-Yves David
clfilter: ensure that hidden filtering is working on all commands...
r18268 remote: 3 outgoing
$ hg summary --remote --hidden
parent: 5:5601fb93a350 tip
add new_3_c
branch: default
commit: (clean)
update: 3 new changesets, 4 branch heads (merge)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 6 draft
Pierre-Yves David
clfilter: ensure that hidden filtering is working on all commands...
r18268 remote: 3 outgoing
Pierre-Yves David
clfilter: stronger detection of filtered changeset in changectx.__init__...
r18423 check that various commands work well with filtering
$ hg tip
Pierre-Yves David
test-obsolete: better logging template...
r21978 5:5601fb93a350 (draft) [tip ] add new_3_c
Pierre-Yves David
clfilter: stronger detection of filtered changeset in changectx.__init__...
r18423 $ hg log -r 6
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: unknown revision '6'
Pierre-Yves David
clfilter: stronger detection of filtered changeset in changectx.__init__...
r18423 [255]
$ hg log -r 4
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: hidden revision '4' was rewritten as: 5601fb93a350
Pierre-Yves David
repoview: issue a special message when filtering hidden changesets...
r23046 (use --hidden to access hidden revisions)
Pierre-Yves David
clfilter: stronger detection of filtered changeset in changectx.__init__...
r18423 [255]
Yuya Nishihara
revset: have rev() drop out-of-range or filtered rev explicitly (issue4396)...
r23062 $ hg debugrevspec 'rev(6)'
$ hg debugrevspec 'rev(4)'
Yuya Nishihara
revset: extend fullreposet to make "null" revision magically appears in set...
r24204 $ hg debugrevspec 'null'
-1
Pierre-Yves David
clfilter: stronger detection of filtered changeset in changectx.__init__...
r18423
Pierre-Yves David
graphlog: display obsolete changeset as "x"...
r17119 Check that public changeset are not accounted as obsolete:
Pierre-Yves David
clfilter: enforce hidden changeset globally...
r18267 $ hg --hidden phase --public 2
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new phase-divergent changesets
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G
Boris Feld
evolution: rename bumped to phase-divergent...
r33652 @ 5:5601fb93a350 (draft phase-divergent) [tip ] add new_3_c
Pierre-Yves David
graphlog: display obsolete changeset as "x"...
r17119 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 | o 2:245bde4270cd (public) [ ] add original_c
|/
o 1:7c3bad9141dc (public) [ ] add b
Pierre-Yves David
graphlog: display obsolete changeset as "x"...
r17119 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 o 0:1f0dee641bb7 (public) [ ] add a
Pierre-Yves David
graphlog: display obsolete changeset as "x"...
r17119
Matt Harbison
revset: import `unstable()` from the evolve extension...
r45182 $ hg log -r 'unstable()'
5:5601fb93a350 (draft phase-divergent) [tip ] add new_3_c
Pierre-Yves David
graphlog: display obsolete changeset as "x"...
r17119
Pierre-Yves David
revset: add a bumped revset...
r17829 And that bumped changeset are detected
--------------------------------------
If we didn't filtered obsolete changesets out, 3 and 4 would show up too. Also
note that the bumped changeset (5:5601fb93a350) is not a direct successor of
the public changeset
Boris Feld
revset: rename bumped into phasedivergent...
r33771 $ hg log --hidden -r 'phasedivergent()'
Boris Feld
evolution: rename bumped to phase-divergent...
r33652 5:5601fb93a350 (draft phase-divergent) [tip ] add new_3_c
Pierre-Yves David
revset: add a bumped revset...
r17829
Pierre-Yves David
push: refuse to push bumped changeset...
r17834 And that we can't push bumped changeset
Pierre-Yves David
test: fix truncated comment in test...
r18085 $ hg push ../tmpa -r 0 --force #(make repo related)
Pierre-Yves David
clfilter: fix a false positive in the test-obsolete.t...
r18015 pushing to ../tmpa
searching for changes
Pierre-Yves David
clfilter: use filtering in `visibleheads`...
r18104 warning: repository is unrelated
Pierre-Yves David
clfilter: fix a false positive in the test-obsolete.t...
r18015 adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Pierre-Yves David
push: refuse to push bumped changeset...
r17834 $ hg push ../tmpa
pushing to ../tmpa
searching for changes
exchange: backout changeset c26335fa4225...
r45782 abort: push includes phase-divergent changeset: 5601fb93a350!
Pierre-Yves David
push: refuse to push bumped changeset...
r17834 [255]
Pierre-Yves David
obsolete: add a flag that allows fixing "bumped" changeset...
r17831 Fixing "bumped" situation
We need to create a clone of 5 and add a special marker with a flag
Laurent Charignon
summary: add troubles list to the output of hg summary...
r27385 $ hg summary
Boris Feld
evolution: rename bumped to phase-divergent...
r33652 parent: 5:5601fb93a350 tip (phase-divergent)
Laurent Charignon
summary: add troubles list to the output of hg summary...
r27385 add new_3_c
branch: default
commit: (clean)
update: 1 new changesets, 2 branch heads (merge)
phases: 1 draft
Boris Feld
evolution: rename bumped to phase-divergent...
r33652 phase-divergent: 1 changesets
Pierre-Yves David
obsolete: add a flag that allows fixing "bumped" changeset...
r17831 $ hg up '5^'
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg revert -ar 5
adding new_3_c
$ hg ci -m 'add n3w_3_c'
created new head
$ hg debugobsolete -d '1338 0' --flags 1 `getid new_3_c` `getid n3w_3_c`
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Boris Feld
revset: rename bumped into phasedivergent...
r33771 $ hg log -r 'phasedivergent()'
Pierre-Yves David
obsolete: add a flag that allows fixing "bumped" changeset...
r17831 $ hg log -G
Pierre-Yves David
test-obsolete: better logging template...
r21978 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
Pierre-Yves David
obsolete: add a flag that allows fixing "bumped" changeset...
r17831 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 | o 2:245bde4270cd (public) [ ] add original_c
|/
o 1:7c3bad9141dc (public) [ ] add b
Pierre-Yves David
obsolete: add a flag that allows fixing "bumped" changeset...
r17831 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 o 0:1f0dee641bb7 (public) [ ] add a
Pierre-Yves David
obsolete: add a flag that allows fixing "bumped" changeset...
r17831
obsolete: add a function to compute "exclusive-markers" for a set of nodes...
r32626 Basic exclusive testing
$ hg log -G --hidden
@ 6:6f9641995072 (draft) [tip ] add n3w_3_c
|
Boris Feld
obsfate: only display date in verbose mode...
r34852 | x 5:5601fb93a350 (draft *obsolete*) [ ] add new_3_c [rewritten as 6:6f9641995072]
obsolete: add a function to compute "exclusive-markers" for a set of nodes...
r32626 |/
Boris Feld
obsfate: only display date in verbose mode...
r34852 | x 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c [rewritten as 5:5601fb93a350]
obsolete: add a function to compute "exclusive-markers" for a set of nodes...
r32626 |/
Boris Feld
obsfate: only display date in verbose mode...
r34852 | x 3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c [rewritten as 4:ca819180edb9]
obsolete: add a function to compute "exclusive-markers" for a set of nodes...
r32626 |/
| o 2:245bde4270cd (public) [ ] add original_c
|/
o 1:7c3bad9141dc (public) [ ] add b
|
o 0:1f0dee641bb7 (public) [ ] add a
$ hg debugobsolete --rev 6f9641995072
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
$ hg debugobsolete --rev 6f9641995072 --exclusive
5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
$ hg debugobsolete --rev 5601fb93a350 --hidden
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
$ hg debugobsolete --rev 5601fb93a350 --hidden --exclusive
$ hg debugobsolete --rev 5601fb93a350+6f9641995072 --hidden --exclusive
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Yuya Nishihara
archive: look for first visible revision to build repo identity (issue4591)...
r24681 $ cd ..
Revision 0 is hidden
--------------------
$ hg init rev0hidden
$ cd rev0hidden
$ mkcommit kill0
$ hg up -q null
$ hg debugobsolete `getid kill0`
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Yuya Nishihara
archive: look for first visible revision to build repo identity (issue4591)...
r24681 $ mkcommit a
$ mkcommit b
Should pick the first visible revision as "repo" node
$ hg archive ../archive-null
$ cat ../archive-null/.hg_archival.txt
repo: 1f0dee641bb7258c56bd60e93edfa2405381c41e
node: 7c3bad9141dcb46ff89abf5f61856facd56e476c
branch: default
latesttag: null
latesttagdistance: 2
changessincelatesttag: 2
Pierre-Yves David
obsolete: add a flag that allows fixing "bumped" changeset...
r17831
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 $ cd ..
Martin von Zweigbergk
evolution: make reporting of new unstable changesets optional...
r35728 Can disable transaction summary report
$ hg init transaction-summary
$ cd transaction-summary
$ mkcommit a
$ mkcommit b
$ hg up -q null
$ hg --config experimental.evolution.report-instabilities=false debugobsolete `getid a`
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Martin von Zweigbergk
evolution: make reporting of new unstable changesets optional...
r35728 obsoleted 1 changesets
$ cd ..
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 Exchange Test
============================
Destination repo does not have any data
---------------------------------------
Pierre-Yves David
discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)...
r18493 Simple incoming test
$ hg init tmpc
$ cd tmpc
$ hg incoming ../tmpb
comparing with ../tmpb
Pierre-Yves David
test-obsolete: better logging template...
r21978 0:1f0dee641bb7 (public) [ ] add a
1:7c3bad9141dc (public) [ ] add b
2:245bde4270cd (public) [ ] add original_c
6:6f9641995072 (draft) [tip ] add n3w_3_c
Pierre-Yves David
discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)...
r18493
Pulkit Goyal
pull: add `--confirm` flag to confirm before writing changes...
r45033 Try to pull markers while testing pull --confirm
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206 (extinct changeset are excluded but marker are pushed)
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075
Pulkit Goyal
pull: add `--confirm` flag to confirm before writing changes...
r45033 $ hg pull ../tmpb --confirm --config ui.interactive=true <<EOF
> n
> EOF
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 pulling from ../tmpb
requesting all changes
adding changesets
adding manifests
adding file changes
Pulkit Goyal
pull: add `--confirm` flag to confirm before writing changes...
r45033 adding 4 changesets with 4 changes to 4 files (+1 heads)
5 new obsolescence markers
new changesets 1f0dee641bb7:6f9641995072 (1 drafts)
accept incoming changes (yn)? n
transaction abort!
rollback completed
abort: user aborted
[255]
$ HGPLAIN=1 hg pull ../tmpb --confirm --config ui.interactive=true <<EOF
> n
> EOF
pulling from ../tmpb
requesting all changes
adding changesets
adding manifests
adding file changes
adding 4 changesets with 4 changes to 4 files (+1 heads)
5 new obsolescence markers
new changesets 1f0dee641bb7:6f9641995072 (1 drafts)
accept incoming changes (yn)? n
transaction abort!
rollback completed
abort: user aborted
[255]
$ hg pull ../tmpb --confirm --config ui.interactive=true <<EOF
> y
> EOF
pulling from ../tmpb
requesting all changes
adding changesets
adding manifests
adding file changes
adding 4 changesets with 4 changes to 4 files (+1 heads)
5 new obsolescence markers
new changesets 1f0dee641bb7:6f9641995072 (1 drafts)
accept incoming changes (yn)? y
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206 added 4 changesets with 4 changes to 4 files (+1 heads)
Pierre-Yves David
test: use bundle2 for exchange in test-obsolete...
r25351 5 new obsolescence markers
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 1f0dee641bb7:6f9641995072 (1 drafts)
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg debugobsolete
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
debugobsolete: explicitly display date in the output...
r22220 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: write obsolete marker inside a transaction...
r17126
Rollback//Transaction support
$ hg debugobsolete -d '1340 0' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Pierre-Yves David
obsolete: write obsolete marker inside a transaction...
r17126 $ hg debugobsolete
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
debugobsolete: explicitly display date in the output...
r22220 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
Pierre-Yves David
debugobsolete: explicitly display date in the output...
r22220 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: write obsolete marker inside a transaction...
r17126 $ hg rollback -n
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206 repository tip rolled back to revision 3 (undo debugobsolete)
Pierre-Yves David
obsolete: write obsolete marker inside a transaction...
r17126 $ hg rollback
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206 repository tip rolled back to revision 3 (undo debugobsolete)
Pierre-Yves David
obsolete: write obsolete marker inside a transaction...
r17126 $ hg debugobsolete
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
debugobsolete: explicitly display date in the output...
r22220 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075
$ cd ..
Pierre-Yves David
test: minor documentation fix...
r18492 Try to push markers
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075
$ hg init tmpd
$ hg -R tmpb push tmpd
pushing to tmpd
searching for changes
adding changesets
adding manifests
adding file changes
Pierre-Yves David
push: refuse to push obsolete changesets...
r17169 added 4 changesets with 4 changes to 4 files (+1 heads)
Pierre-Yves David
test: use bundle2 for exchange in test-obsolete...
r25351 5 new obsolescence markers
Pierre-Yves David
test-obsolete: sort the output of debugobsolete...
r22349 $ hg -R tmpd debugobsolete | sort
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
test-obsolete: sort the output of debugobsolete...
r22349 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
debugobsolete: explicitly display date in the output...
r22220 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075
Patrick Mezard
push: do not try to push remote obsolete if local has none
r17252 Check obsolete keys are exchanged only if source has an obsolete store
$ hg init empty
$ hg --config extensions.debugkeys=debugkeys.py -R empty push tmpd
pushing to tmpd
Pierre-Yves David
push: perform phases discovery before the push...
r22019 listkeys phases
Pierre-Yves David
push: move bookmark discovery with other discovery steps...
r22239 listkeys bookmarks
Patrick Mezard
push: do not try to push remote obsolete if local has none
r17252 no changes found
listkeys phases
[1]
Pierre-Yves.David@ens-lyon.org
clone: copy obsolete markers during local clone...
r17249 clone support
(markers are copied and extinct changesets are included to allow hardlinks)
$ hg clone tmpb clone-dest
updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg -R clone-dest log -G --hidden
Pierre-Yves David
test-obsolete: better logging template...
r21978 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
Pierre-Yves.David@ens-lyon.org
clone: copy obsolete markers during local clone...
r17249 |
Boris Feld
obsfate: only display date in verbose mode...
r34852 | x 5:5601fb93a350 (draft *obsolete*) [ ] add new_3_c [rewritten as 6:6f9641995072]
Pierre-Yves David
test-obsolete: better logging template...
r21978 |/
Boris Feld
obsfate: only display date in verbose mode...
r34852 | x 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c [rewritten as 5:5601fb93a350]
Pierre-Yves David
test-obsolete: better logging template...
r21978 |/
Boris Feld
obsfate: only display date in verbose mode...
r34852 | x 3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c [rewritten as 4:ca819180edb9]
Pierre-Yves David
test-obsolete: better logging template...
r21978 |/
| o 2:245bde4270cd (public) [ ] add original_c
|/
o 1:7c3bad9141dc (public) [ ] add b
Pierre-Yves.David@ens-lyon.org
clone: copy obsolete markers during local clone...
r17249 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 o 0:1f0dee641bb7 (public) [ ] add a
Pierre-Yves.David@ens-lyon.org
clone: copy obsolete markers during local clone...
r17249
$ hg -R clone-dest debugobsolete
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
debugobsolete: explicitly display date in the output...
r22220 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves.David@ens-lyon.org
clone: copy obsolete markers during local clone...
r17249
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075
Destination repo have existing data
---------------------------------------
On pull
$ hg init tmpe
$ cd tmpe
Pierre-Yves David
test-obsolete: change a marker so it is relevant to the exchanged set...
r22348 $ hg debugobsolete -d '1339 0' 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 $ hg pull ../tmpb
pulling from ../tmpb
requesting all changes
adding changesets
adding manifests
adding file changes
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206 added 4 changesets with 4 changes to 4 files (+1 heads)
Pierre-Yves David
test: use bundle2 for exchange in test-obsolete...
r25351 5 new obsolescence markers
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 1f0dee641bb7:6f9641995072 (1 drafts)
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg debugobsolete
Pierre-Yves David
test-obsolete: change a marker so it is relevant to the exchanged set...
r22348 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
debugobsolete: explicitly display date in the output...
r22220 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075
Pierre-Yves David
obsolete: compute unstable changeset...
r17171
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 On push
$ hg push ../tmpc
pushing to ../tmpc
searching for changes
no changes found
Pierre-Yves David
test: use bundle2 for exchange in test-obsolete...
r25351 1 new obsolescence markers
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 [1]
$ hg -R ../tmpc debugobsolete
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
debugobsolete: explicitly display date in the output...
r22220 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
Pierre-Yves David
test-obsolete: change a marker so it is relevant to the exchanged set...
r22348 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: compute unstable changeset...
r17171
detect outgoing obsolete and unstable
---------------------------------------
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G
Pierre-Yves David
test-obsolete: better logging template...
r21978 o 3:6f9641995072 (draft) [tip ] add n3w_3_c
Pierre-Yves David
obsolete: compute unstable changeset...
r17171 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 | o 2:245bde4270cd (public) [ ] add original_c
|/
o 1:7c3bad9141dc (public) [ ] add b
Pierre-Yves David
obsolete: compute unstable changeset...
r17171 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 o 0:1f0dee641bb7 (public) [ ] add a
Pierre-Yves David
obsolete: compute unstable changeset...
r17171
Pierre-Yves David
obsolete: add a flag that allows fixing "bumped" changeset...
r17831 $ hg up 'desc("n3w_3_c")'
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
obsolete: compute unstable changeset...
r17171 $ mkcommit original_d
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206 $ mkcommit original_e
Pierre-Yves David
debugobsolete: add a way to record parent information...
r22272 $ hg debugobsolete --record-parents `getid original_d` -d '0 0'
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new orphan changesets
Matt Harbison
revset: import `unstable()` from the evolve extension...
r45182 $ hg log -r 'unstable()'
5:cda648ca50f5 (draft orphan) [tip ] add original_e
Pierre-Yves David
debugobsolete: add a way to record parent information...
r22272 $ hg debugobsolete | grep `getid original_d`
94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206 $ hg log -r 'obsolete()'
Boris Feld
obsfate: only display date in verbose mode...
r34852 4:94b33453f93b (draft *obsolete*) [ ] add original_d [pruned]
Laurent Charignon
summary: add troubles list to the output of hg summary...
r27385 $ hg summary
Boris Feld
evolution: rename unstable to orphan...
r33632 parent: 5:cda648ca50f5 tip (orphan)
Laurent Charignon
summary: add troubles list to the output of hg summary...
r27385 add original_e
branch: default
commit: (clean)
update: 1 new changesets, 2 branch heads (merge)
phases: 3 draft
Boris Feld
evolution: rename unstable to orphan...
r33632 orphan: 1 changesets
Boris Feld
revset: rename unstable into orphan...
r33769 $ hg log -G -r '::orphan()'
Boris Feld
evolution: rename unstable to orphan...
r33632 @ 5:cda648ca50f5 (draft orphan) [tip ] add original_e
Pierre-Yves David
test-obsolete: better logging template...
r21978 |
Boris Feld
obsfate: only display date in verbose mode...
r34852 x 4:94b33453f93b (draft *obsolete*) [ ] add original_d [pruned]
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 o 3:6f9641995072 (draft) [ ] add n3w_3_c
Pierre-Yves David
obsolete: compute unstable changeset...
r17171 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 o 1:7c3bad9141dc (public) [ ] add b
Pierre-Yves David
obsolete: compute unstable changeset...
r17171 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 o 0:1f0dee641bb7 (public) [ ] add a
Pierre-Yves David
obsolete: compute unstable changeset...
r17171
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206
refuse to push obsolete changeset
$ hg push ../tmpc/ -r 'desc("original_d")'
pushing to ../tmpc/
searching for changes
exchange: backout changeset c26335fa4225...
r45782 abort: push includes obsolete changeset: 94b33453f93b!
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206 [255]
refuse to push unstable changeset
Pierre-Yves David
push: refuse to push unstable changesets without force...
r17172 $ hg push ../tmpc/
pushing to ../tmpc/
searching for changes
exchange: backout changeset c26335fa4225...
r45782 abort: push includes orphan changeset: cda648ca50f5!
Pierre-Yves David
push: refuse to push unstable changesets without force...
r17172 [255]
Pierre-Yves David
obsolete: compute extinct changesets...
r17173
Manuel Jacob
tests: test that push doesn’t complain about unstable changesets if no changes...
r45715 with --force it will work anyway
$ hg push ../tmpc/ --force
pushing to ../tmpc/
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
1 new obsolescence markers
1 new orphan changesets
if the orphan changeset is already on the server, pushing should work
$ hg push ../tmpc/
pushing to ../tmpc/
searching for changes
no changes found
[1]
Pierre-Yves David
obsolete: compute extinct changesets...
r17173 Test that extinct changeset are properly detected
$ hg log -r 'extinct()'
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206
Don't try to push extinct changeset
$ hg init ../tmpf
$ hg out ../tmpf
comparing with ../tmpf
searching for changes
Pierre-Yves David
test-obsolete: better logging template...
r21978 0:1f0dee641bb7 (public) [ ] add a
1:7c3bad9141dc (public) [ ] add b
2:245bde4270cd (public) [ ] add original_c
3:6f9641995072 (draft) [ ] add n3w_3_c
Boris Feld
obsfate: only display date in verbose mode...
r34852 4:94b33453f93b (draft *obsolete*) [ ] add original_d [pruned]
Boris Feld
evolution: rename unstable to orphan...
r33632 5:cda648ca50f5 (draft orphan) [tip ] add original_e
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206 $ hg push ../tmpf -f # -f because be push unstable too
pushing to ../tmpf
searching for changes
adding changesets
adding manifests
adding file changes
added 6 changesets with 6 changes to 6 files (+1 heads)
Pierre-Yves David
test: use bundle2 for exchange in test-obsolete...
r25351 7 new obsolescence markers
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new orphan changesets
Pierre-Yves David
obsolete: do not exchange extinct changesets...
r17206
no warning displayed
$ hg push ../tmpf
pushing to ../tmpf
searching for changes
no changes found
[1]
Pierre-Yves David
checkheads: take future obsoleted heads into account...
r17214
Do not warn about new head when the new head is a successors of a remote one
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G
Boris Feld
evolution: rename unstable to orphan...
r33632 @ 5:cda648ca50f5 (draft orphan) [tip ] add original_e
Pierre-Yves David
checkheads: take future obsoleted heads into account...
r17214 |
Boris Feld
obsfate: only display date in verbose mode...
r34852 x 4:94b33453f93b (draft *obsolete*) [ ] add original_d [pruned]
Pierre-Yves David
test-obsolete: better logging template...
r21978 |
o 3:6f9641995072 (draft) [ ] add n3w_3_c
Pierre-Yves David
checkheads: take future obsoleted heads into account...
r17214 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 | o 2:245bde4270cd (public) [ ] add original_c
|/
o 1:7c3bad9141dc (public) [ ] add b
Pierre-Yves David
checkheads: take future obsoleted heads into account...
r17214 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 o 0:1f0dee641bb7 (public) [ ] add a
Pierre-Yves David
checkheads: take future obsoleted heads into account...
r17214
Pierre-Yves David
obsolete: add a flag that allows fixing "bumped" changeset...
r17831 $ hg up -q 'desc(n3w_3_c)'
Pierre-Yves David
checkheads: take future obsoleted heads into account...
r17214 $ mkcommit obsolete_e
created new head
Yuya Nishihara
test-obsolete: include <> in user field to check JSON escapes...
r32741 $ hg debugobsolete `getid 'original_e'` `getid 'obsolete_e'` \
> -u 'test <test@example.net>'
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Pierre-Yves David
discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)...
r18493 $ hg outgoing ../tmpf # parasite hg outgoing testin
comparing with ../tmpf
searching for changes
Pierre-Yves David
test-obsolete: better logging template...
r21978 6:3de5eca88c00 (draft) [tip ] add obsolete_e
Pierre-Yves David
checkheads: take future obsoleted heads into account...
r17214 $ hg push ../tmpf
pushing to ../tmpf
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Pierre-Yves David
test: use bundle2 for exchange in test-obsolete...
r25351 1 new obsolescence markers
obsolete: reports the number of local changeset obsoleted when unbundling...
r33249 obsoleted 1 changesets
Pierre-Yves David
obsolete: warns if markers exist in a repo where the feature is not enabled...
r17297
Pierre-Yves David
debugobsolete: add a --rev argument...
r22274 test relevance computation
---------------------------------------
Checking simple case of "marker relevance".
Reminder of the repo situation
$ hg log --hidden --graph
@ 6:3de5eca88c00 (draft) [tip ] add obsolete_e
|
Boris Feld
obsfate: only display date in verbose mode...
r34852 | x 5:cda648ca50f5 (draft *obsolete*) [ ] add original_e [rewritten as 6:3de5eca88c00 by test <test@example.net>]
Pierre-Yves David
debugobsolete: add a --rev argument...
r22274 | |
Boris Feld
obsfate: only display date in verbose mode...
r34852 | x 4:94b33453f93b (draft *obsolete*) [ ] add original_d [pruned]
Pierre-Yves David
debugobsolete: add a --rev argument...
r22274 |/
o 3:6f9641995072 (draft) [ ] add n3w_3_c
|
| o 2:245bde4270cd (public) [ ] add original_c
|/
o 1:7c3bad9141dc (public) [ ] add b
|
o 0:1f0dee641bb7 (public) [ ] add a
List of all markers
$ hg debugobsolete
Pierre-Yves David
test-obsolete: change a marker so it is relevant to the exchanged set...
r22348 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
debugobsolete: add a --rev argument...
r22274 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Pierre-Yves David
obsolete: sort obsmarkers during exchange...
r25118 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
Pierre-Yves David
debugobsolete: add a --rev argument...
r22274 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
Yuya Nishihara
test-obsolete: include <> in user field to check JSON escapes...
r32741 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test <test@example.net>'} (glob)
Pierre-Yves David
debugobsolete: add a --rev argument...
r22274
List of changesets with no chain
$ hg debugobsolete --hidden --rev ::2
List of changesets that are included on marker chain
$ hg debugobsolete --hidden --rev 6
Yuya Nishihara
test-obsolete: include <> in user field to check JSON escapes...
r32741 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test <test@example.net>'} (glob)
Pierre-Yves David
debugobsolete: add a --rev argument...
r22274
List of changesets with a longer chain, (including a pruned children)
$ hg debugobsolete --hidden --rev 3
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
Pierre-Yves David
test-obsolete: change a marker so it is relevant to the exchanged set...
r22348 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
debugobsolete: add a --rev argument...
r22274 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
List of both
$ hg debugobsolete --hidden --rev 3::6
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
Pierre-Yves David
test-obsolete: change a marker so it is relevant to the exchanged set...
r22348 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
FUJIWARA Katsunori
tests: change obsolete timestamp to avoid "gmtime()" problem on Windows...
r23094 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
Pierre-Yves David
debugobsolete: add a --rev argument...
r22274 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
Yuya Nishihara
test-obsolete: include <> in user field to check JSON escapes...
r32741 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test <test@example.net>'} (glob)
Pierre-Yves David
debugobsolete: add a --rev argument...
r22274 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 List of all markers in JSON
$ hg debugobsolete -Tjson
[
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [1339, 0],
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "flag": 0,
"metadata": {"user": "test"},
Boris Feld
obsmarker: precnode was renamed into prednode...
r33856 "prednode": "1339133913391339133913391339133913391339",
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "succnodes": ["ca819180edb99ed25ceafb3e9584ac287e240b00"]
},
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [1339, 0],
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "flag": 0,
"metadata": {"user": "test"},
Boris Feld
obsmarker: precnode was renamed into prednode...
r33856 "prednode": "1337133713371337133713371337133713371337",
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "succnodes": ["5601fb93a350734d935195fee37f4054c529ff39"]
},
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [121, 120],
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "flag": 12,
"metadata": {"user": "test"},
Boris Feld
obsmarker: precnode was renamed into prednode...
r33856 "prednode": "245bde4270cd1072a27757984f9cda8ba26f08ca",
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "succnodes": ["cdbce2fbb16313928851e97e0d85413f3f7eb77f"]
},
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [1338, 0],
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "flag": 1,
"metadata": {"user": "test"},
Boris Feld
obsmarker: precnode was renamed into prednode...
r33856 "prednode": "5601fb93a350734d935195fee37f4054c529ff39",
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "succnodes": ["6f96419950729f3671185b847352890f074f7557"]
},
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [1338, 0],
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "flag": 0,
"metadata": {"user": "test"},
Boris Feld
obsmarker: precnode was renamed into prednode...
r33856 "prednode": "ca819180edb99ed25ceafb3e9584ac287e240b00",
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "succnodes": ["1337133713371337133713371337133713371337"]
},
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [1337, 0],
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "flag": 0,
"metadata": {"user": "test"},
Boris Feld
obsmarker: precnode was renamed into prednode...
r33856 "prednode": "cdbce2fbb16313928851e97e0d85413f3f7eb77f",
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "succnodes": ["ca819180edb99ed25ceafb3e9584ac287e240b00"]
},
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [0, 0],
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "flag": 0,
"metadata": {"user": "test"},
"parentnodes": ["6f96419950729f3671185b847352890f074f7557"],
Boris Feld
obsmarker: precnode was renamed into prednode...
r33856 "prednode": "94b33453f93bdb8d457ef9b770851a618bf413e1",
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "succnodes": []
},
{
"date": *, (glob)
"flag": 0,
Yuya Nishihara
json: pass formatting options recursively...
r32743 "metadata": {"user": "test <test@example.net>"},
Boris Feld
obsmarker: precnode was renamed into prednode...
r33856 "prednode": "cda648ca50f50482b7055c0b0c4c117bba6733d9",
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "succnodes": ["3de5eca88c00aa039da7399a220f4a5221faa585"]
}
]
Template keywords
$ hg debugobsolete -r6 -T '{succnodes % "{node|short}"} {date|shortdate}\n'
3de5eca88c00 ????-??-?? (glob)
$ hg debugobsolete -r6 -T '{join(metadata % "{key}={value}", " ")}\n'
Yuya Nishihara
test-obsolete: include <> in user field to check JSON escapes...
r32741 user=test <test@example.net>
Yuya Nishihara
formatter: fix default list/dict generator to be evaluated more than once...
r34426 $ hg debugobsolete -r6 -T '{metadata}\n{metadata}\n'
'user': 'test <test@example.net>'
Yuya Nishihara
test-obsolete: include <> in user field to check JSON escapes...
r32741 'user': 'test <test@example.net>'
Yuya Nishihara
formatter: fix default list/dict generator to be evaluated more than once...
r34426 $ hg debugobsolete -r6 -T '{succnodes}\n{succnodes}\n'
3de5eca88c00aa039da7399a220f4a5221faa585
3de5eca88c00aa039da7399a220f4a5221faa585
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 $ hg debugobsolete -r6 -T '{flag} {get(metadata, "user")}\n'
Yuya Nishihara
test-obsolete: include <> in user field to check JSON escapes...
r32741 0 test <test@example.net>
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795
Pierre-Yves David
obsolete: experimental flag to get debug about obsmarkers exchange...
r24733 Test the debug output for exchange
----------------------------------
Pierre-Yves David
tests: remove all remaining usage of experimental.bundle2-exp...
r29688 $ hg pull ../tmpb --config 'experimental.obsmarkers-exchange-debug=True' # bundle2
Pierre-Yves David
obsolete: experimental flag to get debug about obsmarkers exchange...
r24733 pulling from ../tmpb
searching for changes
no changes found
obsmarker-exchange: 346 bytes received
Pierre-Yves David
hgweb: add test regarding filtering and hgweb...
r18401 check hgweb does not explode
====================================
$ hg unbundle $TESTDIR/bundles/hgweb+obs.hg
adding changesets
adding manifests
adding file changes
added 62 changesets with 63 changes to 9 files (+60 heads)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 50c51b361e60:c15e9edfca13 (62 drafts)
Boris Feld
pullreport: rev duplicated and extinct into account...
r39936 (2 other changesets obsolete on arrival)
Pierre-Yves David
hgweb: add test regarding filtering and hgweb...
r18401 (run 'hg heads .' to see heads, 'hg merge' to merge)
$ for node in `hg log -r 'desc(babar_)' --template '{node}\n'`;
> do
> hg debugobsolete $node
> done
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Pierre-Yves David
hgweb: add test regarding filtering and hgweb...
r18401 $ hg up tip
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Harbison
test-obsolete: stabilize output on platforms without 'serve' support...
r30733 #if serve
Pierre-Yves David
hgweb: add test regarding filtering and hgweb...
r18401 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
Pierre-Yves David
hgweb: ignore filtered revision in revnav...
r18426 check changelog view
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py --headeronly localhost:$HGPORT 'shortlog/'
Pierre-Yves David
hgweb: ignore filtered revision in revnav...
r18426 200 Script output follows
Pierre-Yves David
hgweb: add test regarding filtering and hgweb...
r18401
Pierre-Yves David
hgweb: walk the graph through the changelog...
r18428 check graph view
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py --headeronly localhost:$HGPORT 'graph'
Pierre-Yves David
hgweb: walk the graph through the changelog...
r18428 200 Script output follows
Pierre-Yves David
hgweb: add test regarding filtering and hgweb...
r18401 check filelog view
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py --headeronly localhost:$HGPORT 'log/'`hg log -r . -T "{node}"`/'babar'
Pierre-Yves David
hgweb: add test regarding filtering and hgweb...
r18401 200 Script output follows
Pierre-Yves David
hgweb: add a `web.view` to control filtering...
r18522
Martin von Zweigbergk
tests: show that hgweb contains hidden revisions in /filelog/ view...
r37380 check filelog view for hidden commits (obsolete ones are hidden here)
$ get-with-headers.py localhost:$HGPORT 'log/'`hg log -r . -T "{node}"`/'babar' | grep obsolete
Martin von Zweigbergk
hgweb: don't include hidden revisions in /filelog/ view...
r37381 [1]
Martin von Zweigbergk
tests: show that hgweb contains hidden revisions in /filelog/ view...
r37380
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/68'
Pierre-Yves David
hgweb: add a `web.view` to control filtering...
r18522 200 Script output follows
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/67'
Matt Mackall
test-obsolete: now gets 404 for hidden change
r18532 404 Not Found
Pierre-Yves David
hgweb: add a `web.view` to control filtering...
r18522 [1]
check that web.view config option:
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ killdaemons.py hg.pid
Pierre-Yves David
hgweb: add a `web.view` to control filtering...
r18522 $ cat >> .hg/hgrc << EOF
> [web]
> view=all
> EOF
$ wait
$ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/67'
Pierre-Yves David
hgweb: add a `web.view` to control filtering...
r18522 200 Script output follows
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ killdaemons.py hg.pid
Pierre-Yves David
hgweb: add test regarding filtering and hgweb...
r18401
Thomas Arendsen Hein
obsolete: fix typos in comments introduced by 6955d69a52a4
r17306 Checking _enable=False warning if obsolete marker exists
Pierre-Yves David
obsolete: warns if markers exist in a repo where the feature is not enabled...
r17297
Durham Goode
obsolete: update tests to use obsolete options...
r22955 $ echo '[experimental]' >> $HGRCPATH
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 $ echo "evolution=" >> $HGRCPATH
Pierre-Yves David
obsolete: warns if markers exist in a repo where the feature is not enabled...
r17297 $ hg log -r tip
Pierre-Yves David
test-obsolete: better logging template...
r21978 68:c15e9edfca13 (draft) [tip ] add celestine
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568
reenable for later test
Durham Goode
obsolete: update tests to use obsolete options...
r22955 $ echo '[experimental]' >> $HGRCPATH
Boris Feld
config: use 'experimental.evolution.exchange'...
r34869 $ echo "evolution.exchange=True" >> $HGRCPATH
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 $ echo "evolution.createmarkers=True" >> $HGRCPATH
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568
Gregory Szorc
tests: remove pid file by default...
r37865 $ rm access.log errors.log
Mads Kiilerich
tests: fix for windows - slashes and no serve
r18506 #endif
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568
Sushil khanchi
obsutil: fix the issue5686...
r41187 Several troubles on the same changeset (create an unstable and bumped and content-divergent changeset)
Denis Laxalde
test: test "trouble: " line in log output with multiple troubles...
r30711
$ hg debugobsolete `getid obsolete_e`
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 2 new orphan changesets
Denis Laxalde
test: test "trouble: " line in log output with multiple troubles...
r30711 $ hg debugobsolete `getid original_c` `getid babar`
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new phase-divergent changesets
Sushil khanchi
obsutil: fix the issue5686...
r41187 2 new content-divergent changesets
$ hg log --config ui.logtemplate= -r 'phasedivergent() and orphan() and contentdivergent()'
Denis Laxalde
test: test "trouble: " line in log output with multiple troubles...
r30711 changeset: 7:50c51b361e60
user: test
date: Thu Jan 01 00:00:00 1970 +0000
Sushil khanchi
obsutil: fix the issue5686...
r41187 instability: orphan, phase-divergent, content-divergent
Denis Laxalde
test: test "trouble: " line in log output with multiple troubles...
r30711 summary: add babar
Denis Laxalde
templatekw: add an "obsolete" keyword...
r31699 test the "obsolete" templatekw
$ hg log -r 'obsolete()'
Boris Feld
obsfate: only display date in verbose mode...
r34852 6:3de5eca88c00 (draft *obsolete*) [ ] add obsolete_e [pruned]
Denis Laxalde
templatekw: add an "obsolete" keyword...
r31699
Denis Laxalde
templatekw: add a "troubles" template keyword...
r30712 test the "troubles" templatekw
Boris Feld
revset: rename bumped into phasedivergent...
r33771 $ hg log -r 'phasedivergent() and orphan()'
Sushil khanchi
obsutil: fix the issue5686...
r41187 7:50c51b361e60 (draft orphan phase-divergent content-divergent) [ ] add babar
Denis Laxalde
templatekw: add a "troubles" template keyword...
r30712
Denis Laxalde
templates: display evolution "troubles" in command line style
r30713 test the default cmdline template
Boris Feld
revset: rename bumped into phasedivergent...
r33771 $ hg log -T default -r 'phasedivergent()'
Denis Laxalde
templates: display evolution "troubles" in command line style
r30713 changeset: 7:50c51b361e60
user: test
date: Thu Jan 01 00:00:00 1970 +0000
Sushil khanchi
obsutil: fix the issue5686...
r41187 instability: orphan, phase-divergent, content-divergent
Denis Laxalde
templates: display evolution "troubles" in command line style
r30713 summary: add babar
Denis Laxalde
templates: add "changeset.obsolete" label in command line style...
r31702 $ hg log -T default -r 'obsolete()'
changeset: 6:3de5eca88c00
parent: 3:6f9641995072
user: test
date: Thu Jan 01 00:00:00 1970 +0000
Boris Feld
obsfate: rename obsfate into obsolete in default mapfile...
r34902 obsolete: pruned
Denis Laxalde
templates: add "changeset.obsolete" label in command line style...
r31702 summary: add obsolete_e
Denis Laxalde
templates: display evolution "troubles" in command line style
r30713
Boris Feld
test: add a test for stabilization related labels...
r33775 test the obsolete labels
$ hg log --config ui.logtemplate= --color=debug -r 'phasedivergent()'
Sushil khanchi
obsutil: fix the issue5686...
r41187 [log.changeset changeset.draft changeset.unstable instability.orphan instability.phase-divergent instability.content-divergent|changeset: 7:50c51b361e60]
Boris Feld
test: add a test for stabilization related labels...
r33775 [log.user|user: test]
[log.date|date: Thu Jan 01 00:00:00 1970 +0000]
Sushil khanchi
obsutil: fix the issue5686...
r41187 [log.instability|instability: orphan, phase-divergent, content-divergent]
Boris Feld
test: add a test for stabilization related labels...
r33775 [log.summary|summary: add babar]
$ hg log -T default -r 'phasedivergent()' --color=debug
Sushil khanchi
obsutil: fix the issue5686...
r41187 [log.changeset changeset.draft changeset.unstable instability.orphan instability.phase-divergent instability.content-divergent|changeset: 7:50c51b361e60]
Boris Feld
test: add a test for stabilization related labels...
r33775 [log.user|user: test]
[log.date|date: Thu Jan 01 00:00:00 1970 +0000]
Sushil khanchi
obsutil: fix the issue5686...
r41187 [log.instability|instability: orphan, phase-divergent, content-divergent]
Boris Feld
test: add a test for stabilization related labels...
r33775 [log.summary|summary: add babar]
$ hg log --config ui.logtemplate= --color=debug -r "obsolete()"
[log.changeset changeset.draft changeset.obsolete|changeset: 6:3de5eca88c00]
[log.parent changeset.draft|parent: 3:6f9641995072]
[log.user|user: test]
[log.date|date: Thu Jan 01 00:00:00 1970 +0000]
Boris Feld
obsfate: rename obsfate into obsolete in changeset_printer...
r34901 [log.obsfate|obsolete: pruned]
Boris Feld
test: add a test for stabilization related labels...
r33775 [log.summary|summary: add obsolete_e]
$ hg log -T default -r 'obsolete()' --color=debug
[log.changeset changeset.draft changeset.obsolete|changeset: 6:3de5eca88c00]
[log.parent changeset.draft|parent: 3:6f9641995072]
[log.user|user: test]
[log.date|date: Thu Jan 01 00:00:00 1970 +0000]
Boris Feld
obsfate: rename obsfate into obsolete in default mapfile...
r34902 [log.obsfate|obsolete: pruned]
Boris Feld
test: add a test for stabilization related labels...
r33775 [log.summary|summary: add obsolete_e]
Denis Laxalde
summary: add evolution "troubles" information to summary output...
r30715 test summary output
Boris Feld
revset: rename bumped into phasedivergent...
r33771 $ hg up -r 'phasedivergent() and orphan()'
Denis Laxalde
summary: add evolution "troubles" information to summary output...
r30715 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg summary
Sushil khanchi
obsutil: fix the issue5686...
r41187 parent: 7:50c51b361e60 (orphan, phase-divergent, content-divergent)
Denis Laxalde
summary: add evolution "troubles" information to summary output...
r30715 add babar
branch: default
Matt Harbison
test-obsolete: stabilize output on platforms without 'serve' support...
r30733 commit: (clean)
Denis Laxalde
summary: add evolution "troubles" information to summary output...
r30715 update: 2 new changesets (update)
phases: 4 draft
Boris Feld
evolution: rename unstable to orphan...
r33632 orphan: 2 changesets
Sushil khanchi
obsutil: fix the issue5686...
r41187 content-divergent: 2 changesets
Boris Feld
evolution: rename bumped to phase-divergent...
r33652 phase-divergent: 1 changesets
Denis Laxalde
summary: display obsolete state of parents...
r31703 $ hg up -r 'obsolete()'
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg summary
parent: 6:3de5eca88c00 (obsolete)
add obsolete_e
branch: default
commit: (clean)
update: 3 new changesets (update)
phases: 4 draft
Boris Feld
evolution: rename unstable to orphan...
r33632 orphan: 2 changesets
Sushil khanchi
obsutil: fix the issue5686...
r41187 content-divergent: 2 changesets
Boris Feld
evolution: rename bumped to phase-divergent...
r33652 phase-divergent: 1 changesets
Denis Laxalde
summary: add evolution "troubles" information to summary output...
r30715
av6
debug: add debugwhyunstable that explains instabilities...
r36972 test debugwhyunstable output
$ hg debugwhyunstable 50c51b361e60
orphan: obsolete parent 3de5eca88c00aa039da7399a220f4a5221faa585
phase-divergent: immutable predecessor 245bde4270cd1072a27757984f9cda8ba26f08ca
Sushil khanchi
obsutil: fix the issue5686...
r41187 content-divergent: 6f96419950729f3671185b847352890f074f7557 (draft) predecessor 245bde4270cd1072a27757984f9cda8ba26f08ca
av6
debug: add debugwhyunstable that explains instabilities...
r36972
av6
templates: add whyunstable template keyword
r37703 test whyunstable template keyword
$ hg log -r 50c51b361e60 -T '{whyunstable}\n'
orphan: obsolete parent 3de5eca88c00
phase-divergent: immutable predecessor 245bde4270cd
Sushil khanchi
obsutil: fix the issue5686...
r41187 content-divergent: 3:6f9641995072 (draft) predecessor 245bde4270cd
av6
tests: make custom templates that use {whyunstable} terser...
r37723 $ hg log -r 50c51b361e60 -T '{whyunstable % "{instability}: {reason} {node|shortest}\n"}'
orphan: obsolete parent 3de5
phase-divergent: immutable predecessor 245b
Sushil khanchi
obsutil: fix the issue5686...
r41187 content-divergent: predecessor 245b
av6
templates: add whyunstable template keyword
r37703
av6
hgweb: show obsolescence status of a commit...
r35088 #if serve
$ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
check obsolete changeset
$ get-with-headers.py localhost:$HGPORT 'log?rev=first(obsolete())&style=paper' | grep '<span class="obsolete">'
<span class="phase">draft</span> <span class="obsolete">obsolete</span>
$ get-with-headers.py localhost:$HGPORT 'log?rev=first(obsolete())&style=coal' | grep '<span class="obsolete">'
<span class="phase">draft</span> <span class="obsolete">obsolete</span>
$ get-with-headers.py localhost:$HGPORT 'log?rev=first(obsolete())&style=gitweb' | grep '<span class="logtags">'
<span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="obsoletetag" title="obsolete">obsolete</span> </span>
$ get-with-headers.py localhost:$HGPORT 'log?rev=first(obsolete())&style=monoblue' | grep '<span class="logtags">'
<span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="obsoletetag" title="obsolete">obsolete</span> </span>
$ get-with-headers.py localhost:$HGPORT 'log?rev=first(obsolete())&style=spartan' | grep 'class="obsolete"'
av6
hgweb: show each obsfateentry on its own line...
r36340 <th class="obsolete">obsolete:</th>
<td class="obsolete">pruned by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
av6
hgweb: display fate of obsolete changesets...
r35501
av6
hgweb: show instabilities of a commit...
r35093 check changeset with instabilities
$ get-with-headers.py localhost:$HGPORT 'log?rev=first(phasedivergent())&style=paper' | grep '<span class="instability">'
Sushil khanchi
obsutil: fix the issue5686...
r41187 <span class="phase">draft</span> <span class="instability">orphan</span> <span class="instability">phase-divergent</span> <span class="instability">content-divergent</span>
av6
hgweb: show instabilities of a commit...
r35093 $ get-with-headers.py localhost:$HGPORT 'log?rev=first(phasedivergent())&style=coal' | grep '<span class="instability">'
Sushil khanchi
obsutil: fix the issue5686...
r41187 <span class="phase">draft</span> <span class="instability">orphan</span> <span class="instability">phase-divergent</span> <span class="instability">content-divergent</span>
av6
hgweb: show instabilities of a commit...
r35093 $ get-with-headers.py localhost:$HGPORT 'log?rev=first(phasedivergent())&style=gitweb' | grep '<span class="logtags">'
Sushil khanchi
obsutil: fix the issue5686...
r41187 <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="instabilitytag" title="orphan">orphan</span> <span class="instabilitytag" title="phase-divergent">phase-divergent</span> <span class="instabilitytag" title="content-divergent">content-divergent</span> </span>
av6
hgweb: show instabilities of a commit...
r35093 $ get-with-headers.py localhost:$HGPORT 'log?rev=first(phasedivergent())&style=monoblue' | grep '<span class="logtags">'
Sushil khanchi
obsutil: fix the issue5686...
r41187 <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="instabilitytag" title="orphan">orphan</span> <span class="instabilitytag" title="phase-divergent">phase-divergent</span> <span class="instabilitytag" title="content-divergent">content-divergent</span> </span>
av6
hgweb: explain instabilities of unstable changesets (the rest of the themes)
r37042 $ get-with-headers.py localhost:$HGPORT 'log?rev=first(phasedivergent())&style=spartan' | grep 'class="unstable"'
<th class="unstable">unstable:</th>
<td class="unstable">orphan: obsolete parent <a href="/rev/3de5eca88c00?style=spartan">3de5eca88c00</a></td>
<th class="unstable">unstable:</th>
<td class="unstable">phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td>
Sushil khanchi
obsutil: fix the issue5686...
r41187 <th class="unstable">unstable:</th>
<td class="unstable">content-divergent: <a href="/rev/6f9641995072?style=spartan">6f9641995072</a> (draft) predecessor <a href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td>
av6
hgweb: show instabilities of a commit...
r35093
Sushil khanchi
obsutil: fix the issue5686...
r41187 check explanation for an orphan, phase-divergent and content-divergent changeset
av6
hgweb: explain instabilities of unstable changesets
r36973
Sushil khanchi
obsutil: fix the issue5686...
r41187 $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=paper' | egrep '(orphan|phase-divergent|content-divergent):'
av6
hgweb: explain instabilities of unstable changesets
r36973 <td>orphan: obsolete parent <a href="/rev/3de5eca88c00?style=paper">3de5eca88c00</a><br>
Sushil khanchi
obsutil: fix the issue5686...
r41187 phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=paper">245bde4270cd</a><br>
content-divergent: <a href="/rev/6f9641995072?style=paper">6f9641995072</a> (draft) predecessor <a href="/rev/245bde4270cd?style=paper">245bde4270cd</a></td>
$ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=coal' | egrep '(orphan|phase-divergent|content-divergent):'
av6
hgweb: explain instabilities of unstable changesets
r36973 <td>orphan: obsolete parent <a href="/rev/3de5eca88c00?style=coal">3de5eca88c00</a><br>
Sushil khanchi
obsutil: fix the issue5686...
r41187 phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=coal">245bde4270cd</a><br>
content-divergent: <a href="/rev/6f9641995072?style=coal">6f9641995072</a> (draft) predecessor <a href="/rev/245bde4270cd?style=coal">245bde4270cd</a></td>
$ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=gitweb' | egrep '(orphan|phase-divergent|content-divergent):'
av6
hgweb: explain instabilities of unstable changesets (the rest of the themes)
r37042 <td>orphan: obsolete parent <a class="list" href="/rev/3de5eca88c00?style=gitweb">3de5eca88c00</a></td>
<td>phase-divergent: immutable predecessor <a class="list" href="/rev/245bde4270cd?style=gitweb">245bde4270cd</a></td>
Sushil khanchi
obsutil: fix the issue5686...
r41187 <td>content-divergent: <a class="list" href="/rev/6f9641995072?style=gitweb">6f9641995072</a> (draft) predecessor <a class="list" href="/rev/245bde4270cd?style=gitweb">245bde4270cd</a></td>
$ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=monoblue' | egrep '(orphan|phase-divergent|content-divergent):'
av6
hgweb: explain instabilities of unstable changesets (the rest of the themes)
r37042 <dd>orphan: obsolete parent <a href="/rev/3de5eca88c00?style=monoblue">3de5eca88c00</a></dd>
<dd>phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=monoblue">245bde4270cd</a></dd>
Sushil khanchi
obsutil: fix the issue5686...
r41187 <dd>content-divergent: <a href="/rev/6f9641995072?style=monoblue">6f9641995072</a> (draft) predecessor <a href="/rev/245bde4270cd?style=monoblue">245bde4270cd</a></dd>
$ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=spartan' | egrep '(orphan|phase-divergent|content-divergent):'
av6
hgweb: explain instabilities of unstable changesets (the rest of the themes)
r37042 <td class="unstable">orphan: obsolete parent <a href="/rev/3de5eca88c00?style=spartan">3de5eca88c00</a></td>
<td class="unstable">phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td>
Sushil khanchi
obsutil: fix the issue5686...
r41187 <td class="unstable">content-divergent: <a href="/rev/6f9641995072?style=spartan">6f9641995072</a> (draft) predecessor <a href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td>
av6
hgweb: explain instabilities of unstable changesets
r36973
av6
hgweb: show obsolescence status of a commit...
r35088 $ killdaemons.py
$ rm hg.pid access.log errors.log
av6
hgweb: explain instabilities of unstable changesets
r36973
av6
hgweb: show obsolescence status of a commit...
r35088 #endif
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 Test incoming/outcoming with changesets obsoleted remotely, known locally
===============================================================================
This test issue 3805
$ hg init repo-issue3805
$ cd repo-issue3805
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 $ echo "base" > base
$ hg ci -Am "base"
adding base
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 $ echo "foo" > foo
$ hg ci -Am "A"
adding foo
$ hg clone . ../other-issue3805
updating to branch default
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 $ echo "bar" >> foo
$ hg ci --amend
$ cd ../other-issue3805
$ hg log -G
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 @ 1:29f0c6921ddd (draft) [tip ] A
|
o 0:d20a80d4def3 (draft) [ ] base
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568
$ hg log -G -R ../repo-issue3805
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 @ 2:323a9c3ddd91 (draft) [tip ] A
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 |
o 0:d20a80d4def3 (draft) [ ] base
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568
$ hg incoming
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/tmpe/repo-issue3805
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 searching for changes
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 2:323a9c3ddd91 (draft) [tip ] A
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 $ hg incoming --bundle ../issue3805.hg
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/tmpe/repo-issue3805
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 searching for changes
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 2:323a9c3ddd91 (draft) [tip ] A
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 $ hg outgoing
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/tmpe/repo-issue3805
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 searching for changes
Pierre-Yves David
discovery: properly filter changeset in 'peer.known' (issue4982)...
r27319 1:29f0c6921ddd (draft) [tip ] A
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568
#if serve
$ hg serve -R ../repo-issue3805 -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
$ hg incoming http://localhost:$HGPORT
comparing with http://localhost:$HGPORT/
searching for changes
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 2:323a9c3ddd91 (draft) [tip ] A
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 $ hg outgoing http://localhost:$HGPORT
comparing with http://localhost:$HGPORT/
searching for changes
Pierre-Yves David
discovery: properly filter changeset in 'peer.known' (issue4982)...
r27319 1:29f0c6921ddd (draft) [tip ] A
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568
#endif
Pierre-Yves David
outgoing: fix possible filtering crash in outgoing (issue3814)...
r18617
This test issue 3814
(nothing to push but locally hidden changeset)
$ cd ..
$ hg init repo-issue3814
$ cd repo-issue3805
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 $ hg push -r 323a9c3ddd91 ../repo-issue3814
Pierre-Yves David
outgoing: fix possible filtering crash in outgoing (issue3814)...
r18617 pushing to ../repo-issue3814
searching for changes
adding changesets
adding manifests
adding file changes
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 added 2 changesets with 2 changes to 2 files
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 1 new obsolescence markers
Pierre-Yves David
outgoing: fix possible filtering crash in outgoing (issue3814)...
r18617 $ hg out ../repo-issue3814
comparing with ../repo-issue3814
searching for changes
no changes found
[1]
Sean Farley
repoview: add non-global tags to candidate list for blocking hidden changesets...
r20807 Test that a local tag blocks a changeset from being hidden
Pierre-Yves David
outgoing: fix possible filtering crash in outgoing (issue3814)...
r18617
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 $ hg tag -l visible -r 1 --hidden
Sean Farley
repoview: add non-global tags to candidate list for blocking hidden changesets...
r20807 $ hg log -G
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 @ 2:323a9c3ddd91 (draft) [tip ] A
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 |
Boris Feld
obsfate: only display date in verbose mode...
r34852 | x 1:29f0c6921ddd (draft *obsolete*) [visible ] A [rewritten using amend as 2:323a9c3ddd91]
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 |/
o 0:d20a80d4def3 (draft) [ ] base
Sean Farley
repoview: add non-global tags to candidate list for blocking hidden changesets...
r20807
Angel Ezquerra
repoview: do not crash when localtags refers to non existing revisions...
r21823 Test that removing a local tag does not cause some commands to fail
$ hg tag -l -r tip tiptag
$ hg tags
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 tiptag 2:323a9c3ddd91
tip 2:323a9c3ddd91
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 visible 1:29f0c6921ddd
Angel Ezquerra
repoview: do not crash when localtags refers to non existing revisions...
r21823 $ hg --config extensions.strip= strip -r tip --no-backup
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg tags
Pierre-Yves David
test: add an extra base changeset in test-obsolete.t...
r27318 visible 1:29f0c6921ddd
tip 1:29f0c6921ddd
Matt Harbison
localrepo: don't reintroduce pruned tag entries when tagging...
r24113
Yuya Nishihara
bundlerepo: disable filtering of changelog while constructing revision text...
r24882 Test bundle overlay onto hidden revision
$ cd ..
$ hg init repo-bundleoverlay
$ cd repo-bundleoverlay
$ echo "A" > foo
$ hg ci -Am "A"
adding foo
$ echo "B" >> foo
$ hg ci -m "B"
$ hg up 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo "C" >> foo
$ hg ci -m "C"
created new head
$ hg log -G
@ 2:c186d7714947 (draft) [tip ] C
|
| o 1:44526ebb0f98 (draft) [ ] B
|/
o 0:4b34ecfb0d56 (draft) [ ] A
$ hg clone -r1 . ../other-bundleoverlay
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 4b34ecfb0d56:44526ebb0f98 (2 drafts)
Yuya Nishihara
bundlerepo: disable filtering of changelog while constructing revision text...
r24882 updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../other-bundleoverlay
$ echo "B+" >> foo
$ hg ci --amend -m "B+"
$ hg log -G --hidden
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 @ 2:b7d587542d40 (draft) [tip ] B+
Yuya Nishihara
bundlerepo: disable filtering of changelog while constructing revision text...
r24882 |
Boris Feld
obsfate: only display date in verbose mode...
r34852 | x 1:44526ebb0f98 (draft *obsolete*) [ ] B [rewritten using amend as 2:b7d587542d40]
Yuya Nishihara
bundlerepo: disable filtering of changelog while constructing revision text...
r24882 |/
o 0:4b34ecfb0d56 (draft) [ ] A
Gregory Szorc
tests: disallow using simple store repo with bundlerepo...
r37364 #if repobundlerepo
Yuya Nishihara
bundlerepo: disable filtering of changelog while constructing revision text...
r24882 $ hg incoming ../repo-bundleoverlay --bundle ../bundleoverlay.hg
comparing with ../repo-bundleoverlay
searching for changes
1:44526ebb0f98 (draft) [ ] B
2:c186d7714947 (draft) [tip ] C
$ hg log -G -R ../bundleoverlay.hg
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 o 3:c186d7714947 (draft) [tip ] C
Yuya Nishihara
bundlerepo: disable filtering of changelog while constructing revision text...
r24882 |
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 | @ 2:b7d587542d40 (draft) [ ] B+
Yuya Nishihara
bundlerepo: disable filtering of changelog while constructing revision text...
r24882 |/
o 0:4b34ecfb0d56 (draft) [ ] A
Gregory Szorc
tests: disallow using simple store repo with bundlerepo...
r37364 #endif
Yuya Nishihara
bundlerepo: disable filtering of changelog while constructing revision text...
r24882
Anton Shestakov
hgweb: use introrev() for finding parents (issue4506)...
r24136 #if serve
Test issue 4506
$ cd ..
$ hg init repo-issue4506
$ cd repo-issue4506
$ echo "0" > foo
$ hg add foo
$ hg ci -m "content-0"
$ hg up null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo "1" > bar
$ hg add bar
$ hg ci -m "content-1"
created new head
$ hg up 0
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg graft 1
grafting 1:1c9eddb02162 "content-1" (tip)
$ hg debugobsolete `hg log -r1 -T'{node}'` `hg log -r2 -T'{node}'`
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Anton Shestakov
hgweb: use introrev() for finding parents (issue4506)...
r24136
$ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/1'
Anton Shestakov
hgweb: use introrev() for finding parents (issue4506)...
r24136 404 Not Found
[1]
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py --headeronly localhost:$HGPORT 'file/tip/bar'
Anton Shestakov
hgweb: use introrev() for finding parents (issue4506)...
r24136 200 Script output follows
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py --headeronly localhost:$HGPORT 'annotate/tip/bar'
Anton Shestakov
hgweb: use introrev() for finding parents (issue4506)...
r24136 200 Script output follows
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Anton Shestakov
hgweb: use introrev() for finding parents (issue4506)...
r24136
#endif
Laurent Charignon
changelog: fix bug in heads computation...
r25297 Test heads computation on pending index changes with obsolescence markers
$ cd ..
$ cat >$TESTTMP/test_extension.py << EOF
Augie Fackler
tests: update test-obsolete to pass our import checker
r33972 > from __future__ import absolute_import
> from mercurial.i18n import _
Augie Fackler
tests: port inline extensions in test-obsolete.t to Python 3...
r38110 > from mercurial import cmdutil, pycompat, registrar
> from mercurial.utils import stringutil
Laurent Charignon
changelog: fix bug in heads computation...
r25297 >
> cmdtable = {}
Yuya Nishihara
registrar: move cmdutil.command to registrar module (API)...
r32337 > command = registrar.command(cmdtable)
Pulkit Goyal
py3: add b'' prefixes in tests/test-obsolete.t...
r36512 > @command(b"amendtransient",[], _(b'hg amendtransient [rev]'))
Laurent Charignon
changelog: fix bug in heads computation...
r25297 > def amend(ui, repo, *pats, **opts):
Augie Fackler
tests: port inline extensions in test-obsolete.t to Python 3...
r38110 > opts = pycompat.byteskwargs(opts)
> opts[b'message'] = b'Test'
> opts[b'logfile'] = None
> cmdutil.amend(ui, repo, repo[b'.'], {}, pats, opts)
> ui.write(b'%s\n' % stringutil.pprint(repo.changelog.headrevs()))
Laurent Charignon
changelog: fix bug in heads computation...
r25297 > EOF
$ cat >> $HGRCPATH << EOF
> [extensions]
> testextension=$TESTTMP/test_extension.py
> EOF
$ hg init repo-issue-nativerevs-pending-changes
$ cd repo-issue-nativerevs-pending-changes
$ mkcommit a
$ mkcommit b
$ hg up ".^"
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo aa > a
$ hg amendtransient
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new orphan changesets
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 [1, 2]
Laurent Charignon
repoview: invalidate 'visible' filtered revisions when bookmarks change...
r25569
Test cache consistency for the visible filter
1) We want to make sure that the cached filtered revs are invalidated when
bookmarks change
$ cd ..
$ cat >$TESTTMP/test_extension.py << EOF
Augie Fackler
tests: update test-obsolete to pass our import checker
r33993 > from __future__ import absolute_import, print_function
Augie Fackler
test-obsolete: update extension in test to actually work...
r29065 > import weakref
Augie Fackler
tests: update test-obsolete to pass our import checker
r33993 > from mercurial import (
> bookmarks,
> cmdutil,
> extensions,
> repoview,
> )
Laurent Charignon
repoview: invalidate 'visible' filtered revisions when bookmarks change...
r25569 > def _bookmarkchanged(orig, bkmstoreinst, *args, **kwargs):
Augie Fackler
test-obsolete: update extension in test to actually work...
r29065 > reporef = weakref.ref(bkmstoreinst._repo)
> def trhook(tr):
> repo = reporef()
> hidden1 = repoview.computehidden(repo)
Pulkit Goyal
py3: add b'' prefixes in tests/test-obsolete.t...
r36512 > hidden = repoview.filterrevs(repo, b'visible')
Augie Fackler
test-obsolete: update extension in test to actually work...
r29065 > if sorted(hidden1) != sorted(hidden):
Augie Fackler
tests: update test-obsolete to pass our import checker
r33993 > print("cache inconsistency")
Augie Fackler
tests: port inline extensions in test-obsolete.t to Python 3...
r38110 > bkmstoreinst._repo.currenttransaction().addpostclose(b'test_extension', trhook)
Augie Fackler
test-obsolete: update extension in test to actually work...
r29065 > orig(bkmstoreinst, *args, **kwargs)
Laurent Charignon
repoview: invalidate 'visible' filtered revisions when bookmarks change...
r25569 > def extsetup(ui):
Boris Feld
bookmark: deprecate 'recordchange' in favor of 'applychanges'...
r33515 > extensions.wrapfunction(bookmarks.bmstore, '_recordchange',
Augie Fackler
test-obsolete: update extension in test to actually work...
r29065 > _bookmarkchanged)
Laurent Charignon
repoview: invalidate 'visible' filtered revisions when bookmarks change...
r25569 > EOF
$ hg init repo-cache-inconsistency
$ cd repo-issue-nativerevs-pending-changes
$ mkcommit a
a already tracked!
$ mkcommit b
$ hg id
13bedc178fce tip
$ echo "hello" > b
$ hg commit --amend -m "message"
$ hg book bookb -r 13bedc178fce --hidden
Pulkit Goyal
bookmarks: add bookmarks to hidden revs if directaccess config is set...
r35629 bookmarking hidden changeset 13bedc178fce
Boris Feld
bookmarks: display the obsfate of hidden revision we create a bookmark on...
r35730 (hidden revision '13bedc178fce' was rewritten as: a9b1f8652753)
Laurent Charignon
repoview: invalidate 'visible' filtered revisions when bookmarks change...
r25569 $ hg log -r 13bedc178fce
Boris Feld
obsfate: only display date in verbose mode...
r34852 4:13bedc178fce (draft *obsolete*) [ bookb] add b [rewritten using amend as 5:a9b1f8652753]
Laurent Charignon
repoview: invalidate 'visible' filtered revisions when bookmarks change...
r25569 $ hg book -d bookb
$ hg log -r 13bedc178fce
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: hidden revision '13bedc178fce' was rewritten as: a9b1f8652753
Laurent Charignon
repoview: invalidate 'visible' filtered revisions when bookmarks change...
r25569 (use --hidden to access hidden revisions)
[255]
Augie Fackler
test-obsolete: update extension in test to actually work...
r29065 Empty out the test extension, as it isn't compatible with later parts
of the test.
$ echo > $TESTTMP/test_extension.py
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 Test ability to pull changeset with locally applying obsolescence markers
(issue4945)
Laurent Charignon
repoview: invalidate 'visible' filtered revisions when bookmarks change...
r25569
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 $ cd ..
$ hg init issue4845
$ cd issue4845
Laurent Charignon
repoview: invalidate 'visible' filtered revisions when bookmarks change...
r25569
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 $ echo foo > f0
$ hg add f0
$ hg ci -m '0'
$ echo foo > f1
$ hg add f1
$ hg ci -m '1'
$ echo foo > f2
$ hg add f2
$ hg ci -m '2'
$ echo bar > f2
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 $ hg commit --amend --config experimental.evolution.createmarkers=True
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 $ hg log -G
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 @ 3:b0551702f918 (draft) [tip ] 2
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 |
o 1:e016b03fd86f (draft) [ ] 1
|
o 0:a78f55e5508c (draft) [ ] 0
$ hg log -G --hidden
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 @ 3:b0551702f918 (draft) [tip ] 2
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 |
Boris Feld
obsfate: only display date in verbose mode...
r34852 | x 2:e008cf283490 (draft *obsolete*) [ ] 2 [rewritten using amend as 3:b0551702f918]
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 |/
o 1:e016b03fd86f (draft) [ ] 1
|
o 0:a78f55e5508c (draft) [ ] 0
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 $ hg strip --hidden -r 2 --config extensions.strip= --config devel.strip-obsmarkers=no
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/tmpe/issue4845/.hg/strip-backup/e008cf283490-ede36964-backup.hg
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 $ hg debugobsolete
Boris Feld
obsolete: activate effect-flag by default...
r34962 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 $ hg log -G
@ 2:b0551702f918 (draft) [tip ] 2
|
o 1:e016b03fd86f (draft) [ ] 1
|
o 0:a78f55e5508c (draft) [ ] 0
$ hg log -G --hidden
@ 2:b0551702f918 (draft) [tip ] 2
|
o 1:e016b03fd86f (draft) [ ] 1
|
o 0:a78f55e5508c (draft) [ ] 0
$ hg debugbundle .hg/strip-backup/e008cf283490-*-backup.hg
Augie Fackler
debugcommands: stabilize output of debugbundle by having a custom repr...
r34027 Stream params: {Compression: BZ}
Boris Feld
debugbundle: also display if a part is mandatory or advisory...
r37919 changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 e008cf2834908e5d6b0f792a9d4b0e2272260fb8
Boris Feld
bundle2: mark the bundle2 part as advisory (issue5872)...
r37920 cache:rev-branch-cache -- {} (mandatory: False)
Boris Feld
debugbundle: also display if a part is mandatory or advisory...
r37919 phase-heads -- {} (mandatory: True)
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 draft
strip: strip obsmarkers exclusive to the stripped changeset...
r32629
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #if repobundlerepo
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 $ hg pull .hg/strip-backup/e008cf283490-*-backup.hg
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 pulling from .hg/strip-backup/e008cf283490-ede36964-backup.hg
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 searching for changes
no changes found
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 #endif
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 $ hg debugobsolete
Boris Feld
obsolete: activate effect-flag by default...
r34962 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 $ hg log -G
@ 2:b0551702f918 (draft) [tip ] 2
|
o 1:e016b03fd86f (draft) [ ] 1
|
o 0:a78f55e5508c (draft) [ ] 0
$ hg log -G --hidden
@ 2:b0551702f918 (draft) [tip ] 2
|
o 1:e016b03fd86f (draft) [ ] 1
|
o 0:a78f55e5508c (draft) [ ] 0
Testing that strip remove markers:
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 $ hg strip -r 1 --config extensions.strip=
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/tmpe/issue4845/.hg/strip-backup/e016b03fd86f-65ede734-backup.hg
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 $ hg debugobsolete
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 $ hg log -G
@ 0:a78f55e5508c (draft) [tip ] 0
$ hg log -G --hidden
@ 0:a78f55e5508c (draft) [tip ] 0
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 $ hg debugbundle .hg/strip-backup/e016b03fd86f-*-backup.hg
Augie Fackler
debugcommands: stabilize output of debugbundle by having a custom repr...
r34027 Stream params: {Compression: BZ}
Boris Feld
debugbundle: also display if a part is mandatory or advisory...
r37919 changegroup -- {nbchanges: 2, version: 02} (mandatory: True)
strip: also backup obsmarkers...
r32623 e016b03fd86fcccc54817d120b90b751aaf367d6
b0551702f918510f01ae838ab03a463054c67b46
Boris Feld
bundle2: mark the bundle2 part as advisory (issue5872)...
r37920 cache:rev-branch-cache -- {} (mandatory: False)
Boris Feld
debugbundle: also display if a part is mandatory or advisory...
r37919 obsmarkers -- {} (mandatory: True)
Boris Feld
obsolete: activate effect-flag by default...
r34962 version: 1 (92 bytes)
e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
Boris Feld
debugbundle: also display if a part is mandatory or advisory...
r37919 phase-heads -- {} (mandatory: True)
Martin von Zweigbergk
strip: include phases in bundle (BC)...
r33032 b0551702f918510f01ae838ab03a463054c67b46 draft
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 $ hg unbundle .hg/strip-backup/e016b03fd86f-*-backup.hg
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 1 new obsolescence markers
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets e016b03fd86f:b0551702f918 (2 drafts)
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 (run 'hg update' to get a working copy)
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 $ hg debugobsolete | sort
Boris Feld
obsolete: activate effect-flag by default...
r34962 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220 $ hg log -G
o 2:b0551702f918 (draft) [tip ] 2
|
o 1:e016b03fd86f (draft) [ ] 1
|
@ 0:a78f55e5508c (draft) [ ] 0
$ hg log -G --hidden
o 2:b0551702f918 (draft) [tip ] 2
|
o 1:e016b03fd86f (draft) [ ] 1
|
@ 0:a78f55e5508c (draft) [ ] 0
Joerg Sonnenberger
bundle: optional advisory obsolescence parts...
r46780
Test that bundles can ship the markers without making them mandatory
for non-obsmarker enabled clients:
$ hg --config experimental.evolution.bundle-obsmarker=1 --config experimental.evolution.bundle-obsmarker:mandatory=0 bundle --base 0 -r 1:: obslog-bundle.hg
2 changesets found
$ hg debugbundle obslog-bundle.hg
Stream params: {Compression: BZ}
changegroup -- {nbchanges: 2, version: 02} (mandatory: True)
e016b03fd86fcccc54817d120b90b751aaf367d6
b0551702f918510f01ae838ab03a463054c67b46
cache:rev-branch-cache -- {} (mandatory: False)
obsmarkers -- {} (mandatory: False)
version: 1 (92 bytes)
e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
Kostia Balytskyi
commands: make --rev and --index compatible in debugobsolete
r28845 Test that 'hg debugobsolete --index --rev' can show indices of obsmarkers when
only a subset of those are displayed (because of --rev option)
$ hg init doindexrev
$ cd doindexrev
$ echo a > a
$ hg ci -Am a
adding a
$ hg ci --amend -m aa
$ echo b > b
$ hg ci -Am b
adding b
$ hg ci --amend -m bb
$ echo c > c
$ hg ci -Am c
adding c
$ hg ci --amend -m cc
$ echo d > d
$ hg ci -Am d
adding d
Boris Feld
config: rename stabilization.track-operation...
r34871 $ hg ci --amend -m dd --config experimental.evolution.track-operation=1
Kostia Balytskyi
commands: make --rev and --index compatible in debugobsolete
r28845 $ hg debugobsolete --index --rev "3+7"
Boris Feld
obsolete: activate effect-flag by default...
r34962 1 6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1 d27fb9b066076fd921277a4b9e8b9cb48c95bc6a 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
3 4715cf767440ed891755448016c2b8cf70760c30 7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 $ hg debugobsolete --index --rev "3+7" -Tjson
[
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [0, 0],
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "flag": 0,
"index": 1,
Boris Feld
obsolete: activate effect-flag by default...
r34962 "metadata": {"ef1": "1", "operation": "amend", "user": "test"},
Boris Feld
obsmarker: precnode was renamed into prednode...
r33856 "prednode": "6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1",
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "succnodes": ["d27fb9b066076fd921277a4b9e8b9cb48c95bc6a"]
},
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [0, 0],
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "flag": 0,
"index": 3,
Boris Feld
obsolete: activate effect-flag by default...
r34962 "metadata": {"ef1": "1", "operation": "amend", "user": "test"},
Boris Feld
obsmarker: precnode was renamed into prednode...
r33856 "prednode": "4715cf767440ed891755448016c2b8cf70760c30",
Yuya Nishihara
debugobsolete: add formatter support (issue5134)...
r29795 "succnodes": ["7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d"]
}
]
Pierre-Yves David
bundlerepo: properly handle hidden linkrev in filelog (issue4945)...
r28220
Kostia Balytskyi
commands: allow debugobsolete to delete arbitrary obsmarkers...
r28795 Test the --delete option of debugobsolete command
Kostia Balytskyi
debugobsolete: style fixes to debugobsolete that slipped from original commit
r28867 $ hg debugobsolete --index
Boris Feld
obsolete: activate effect-flag by default...
r34962 0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b f9bd49731b0b175e42992a3c8fa6c678b2bc11f1 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
1 6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1 d27fb9b066076fd921277a4b9e8b9cb48c95bc6a 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
2 1ab51af8f9b41ef8c7f6f3312d4706d870b1fb74 29346082e4a9e27042b62d2da0e2de211c027621 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
3 4715cf767440ed891755448016c2b8cf70760c30 7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
Kostia Balytskyi
debugobsolete: style fixes to debugobsolete that slipped from original commit
r28867 $ hg debugobsolete --delete 1 --delete 3
Mads Kiilerich
spelling: fixes of non-dictionary words
r30332 deleted 2 obsolescence markers
Kostia Balytskyi
commands: allow debugobsolete to delete arbitrary obsmarkers...
r28795 $ hg debugobsolete
Boris Feld
obsolete: activate effect-flag by default...
r34962 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b f9bd49731b0b175e42992a3c8fa6c678b2bc11f1 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
1ab51af8f9b41ef8c7f6f3312d4706d870b1fb74 29346082e4a9e27042b62d2da0e2de211c027621 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
obsolete: test an important corner case...
r32388
Test adding changeset after obsmarkers affecting it
(eg: during pull, or unbundle)
$ mkcommit e
$ hg bundle -r . --base .~1 ../bundle-2.hg
1 changesets found
$ getid .
$ hg --config extensions.strip= strip -r .
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/tmpe/issue4845/doindexrev/.hg/strip-backup/9bc153528424-ee80edd4-backup.hg
obsolete: test an important corner case...
r32388 $ hg debugobsolete 9bc153528424ea266d13e57f9ff0d799dfe61e4b
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
obsolete: test an important corner case...
r32388 $ hg unbundle ../bundle-2.hg
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Boris Feld
pullreport: issue a message about "extinct" pulled changesets...
r39935 (1 other changesets obsolete on arrival)
obsolete: test an important corner case...
r32388 (run 'hg update' to get a working copy)
$ hg log -G
@ 7:7ae79c5d60f0 (draft) [tip ] dd
|
| o 6:4715cf767440 (draft) [ ] d
|/
o 5:29346082e4a9 (draft) [ ] cc
|
o 3:d27fb9b06607 (draft) [ ] bb
|
| o 2:6fdef60fcbab (draft) [ ] b
|/
o 1:f9bd49731b0b (draft) [ ] aa
Kostia Balytskyi
commands: allow debugobsolete to delete arbitrary obsmarkers...
r28795 $ cd ..
Zharaskhan Aman
obsolete: fix ValueError when stored note contains ':' char (issue5783)...
r40117
Test issue 5783
$ hg init issue-5783 --config format.obsstore-version=0
$ cd issue-5783
$ touch a.cpp
$ hg add a.cpp
$ hg commit -m 'Add a.cpp'
$ echo 'Hello' > a.cpp
$ hg amend -n 'Testing::Obsstore' --config format.obsstore-version=0 --config extensions.amend=
$ touch b.cpp
$ hg add b.cpp
$ hg commit -m 'Add b.cpp'
$ echo 'Hello' > b.cpp
$ hg amend -n 'Testing::Obsstore2' --config extensions.amend=
$ hg debugobsolete
d1b09fe3ad2b2a03e23a72f0c582e29a49570145 1a1a11184d2588af24e767e5335d5d9d07e8c550 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'note': 'Testing::Obsstore', 'operation': 'amend', 'user': 'test'}
1bfd8e3868f641e048b6667cd672c68932f26d00 79959ca316d5b27ac6be1dd0cfd0843a5b5412eb 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'note': 'Testing::Obsstore2', 'operation': 'amend', 'user': 'test'}
$ cd ..
Martin von Zweigbergk
tests: demonstrate crash caused by pinning of non-existent mergestate node...
r46115
Test that pinning of revisions in broken mergestate doesn't cause crash
$ hg init pinning-broken-mergestate
$ cd pinning-broken-mergestate
$ echo a > file
$ hg ci -Aqm first
Create a pruned commit so pinning comes into play
$ echo pruned > pruned
$ hg ci -Aqm pruned
$ hg co -q 0
$ hg debugobsolete $(getid pruned)
1 new obsolescence markers
obsoleted 1 changesets
Back up changelog, so we can restore it later after causing merge conflicts
with it, thus ending up with mergestate that points to a non-existent commit
$ cp .hg/store/00changelog.i .hg/store/00changelog.i.first
$ echo b > file
$ hg ci -qm second
$ echo c > file
$ hg co -m 0
merging file
warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges
[1]
$ mv -f .hg/store/00changelog.i.first .hg/store/00changelog.i
The local node should now point to a non-existent commit
$ hg debugmergestate
local (working copy): b73b8c9a4ab4da89a5a35a6f10dfb13edc84ca37
other (destination): f53e9479dce52f79c923908241fa54f7da90a7ad
file: file (state "u")
local path: file (hash 971c419dd609331343dee105fffd0f4608dc0bf2, flags "")
ancestor path: file (node bc7ebe2d260cff30d2a39a130d84add36216f791)
other path: file (node b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3)
extra: ancestorlinknode = b73b8c9a4ab4da89a5a35a6f10dfb13edc84ca37
Pulkit Goyal
commit: get info from mergestate whether a file was merged or not...
r47567 extra: merged = yes
Martin von Zweigbergk
repoview: don't crash if mergestate points to non-existent node...
r46116 We should be able to see the log (without the deleted commit, of course)
Martin von Zweigbergk
tests: demonstrate crash caused by pinning of non-existent mergestate node...
r46115 $ hg log -G
Martin von Zweigbergk
repoview: don't crash if mergestate points to non-existent node...
r46116 @ 0:f53e9479dce5 (draft) [tip ] first
Martin von Zweigbergk
tests: demonstrate crash caused by pinning of non-existent mergestate node...
r46115 $ cd ..