##// END OF EJS Templates
largefiles: access to specific fields only if largefiles enabled (issue4547)...
largefiles: access to specific fields only if largefiles enabled (issue4547) Even if largefiles extension is enabled in a repository, "repo" object, which isn't "largefiles.reposetup()"-ed, is passed to overridden functions in the cases below unexpectedly, because extensions are enabled for each repositories strictly. (1) clone without -U: (2) pull with -U: (3) pull with --rebase: combination of "enabled@src", "disabled@dst" and "not-required@src" cause this situation. largefiles requirement @src @dst @src result -------- -------- --------------- -------------------- enabled disabled not-required aborted unexpectedly required requirement error (intentional) -------- -------- --------------- -------------------- enabled enabled * success -------- -------- --------------- -------------------- disabled enabled * success (only for "pull") -------- -------- --------------- -------------------- disabled disabled not-required success required requirement error (intentional) -------- -------- --------------- -------------------- (4) update/revert with a subrepo disabling largefiles In these cases, overridden functions cause accessing to largefiles specific fields of not "largefiles.reposetup()"-ed "repo" object, and execution is aborted. - (1), (2), (4) cause accessing to "_lfstatuswriters" in "getstatuswriter()" invoked via "updatelfiles()" - (3) causes accessing to "_lfcommithooks" in "overriderebase()" For safe accessing to these fields, this patch examines whether passed "repo" object is "largefiles.reposetup()"-ed or not before accessing to them. This patch chooses examining existence of newly introduced "_largefilesenabled" instead of "_lfcommithooks" and "_lfstatuswriters" directly, because the former is better name for the generic "largefiles is enabled in this repo" mark than the latter. In the future, all other overridden functions should avoid largefiles specific processing for efficiency, and "_largefilesenabled" is better also for such purpose. BTW, "lfstatus" can't be used for such purpose, because some code paths set it forcibly regardless of existence of it in specified "repo" object.

File last commit:

r24136:46d6cdfc default
r24158:d414c28d stable
Show More
test-obsolete.t
755 lines | 27.1 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]
> logtemplate="{rev}:{node|short} ({phase}) [{tags} {bookmarks}] {desc|firstline}\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() {
Pierre-Yves David
clfilter: enforce hidden changeset globally...
r18267 > hg id --debug --hidden -ir "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):
> ui.write('listkeys %s\n' % (namespace,))
> 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]
> evolution=createmarkers,exchange
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
[255]
$ hg debugobsolete '00'
abort: changeset references must be full hexadecimal node identifiers
[255]
Pierre-Yves.David@ens-lyon.org
command: creation of obsolete marker...
r17071 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
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
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'
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`
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
$ hg debugobsolete -d '1339 0' 1337133713371337133713371337133713371337 `getid new_3_c`
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
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
4:ca819180edb9 (draft) [ ] add new_2_c
3:cdbce2fbb163 (draft) [ ] add new_c
2:245bde4270cd (draft) [ ] add original_c
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)
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)
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
abort: unknown revision '6'!
[255]
$ hg log -r 4
Pierre-Yves David
repoview: issue a special message when filtering hidden changesets...
r23046 abort: hidden revision '4'!
(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)'
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 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 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
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
$ hg log --hidden -r 'bumped()'
Pierre-Yves David
test-obsolete: better logging template...
r21978 5:5601fb93a350 (draft) [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
abort: push includes bumped changeset: 5601fb93a350!
[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
$ 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`
$ hg log -r 'bumped()'
$ 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
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 $ cd ..
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
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 Try to pull markers
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
$ 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@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 (run 'hg heads' to see heads, 'hg merge' to merge)
$ 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'}
5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 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
$ 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'}
5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
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
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
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-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 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 | x 5:5601fb93a350 (draft) [ ] add new_3_c
|/
| x 4:ca819180edb9 (draft) [ ] add new_2_c
|/
| x 3:cdbce2fbb163 (draft) [ ] add new_c
|/
| 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
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@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'}
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
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
[1]
$ hg -R ../tmpc 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
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'
$ 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()'
Pierre-Yves David
test-obsolete: better logging template...
r21978 4:94b33453f93b (draft) [ ] add original_d
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G -r '::unstable()'
Pierre-Yves David
test-obsolete: better logging template...
r21978 @ 5:cda648ca50f5 (draft) [tip ] add original_e
|
x 4:94b33453f93b (draft) [ ] add original_d
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
push includes an xxx changeset: yyyyyyyyyy
obsolete: simplify push abort message...
r17833 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
push includes an xxx changeset: yyyyyyyyyy
obsolete: simplify push abort message...
r17833 abort: push includes unstable changeset: cda648ca50f5!
Pierre-Yves David
push: refuse to push unstable changesets without force...
r17172 [255]
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
4:94b33453f93b (draft) [ ] add original_d
5:cda648ca50f5 (draft) [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)
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
Pierre-Yves David
test-obsolete: better logging template...
r21978 @ 5:cda648ca50f5 (draft) [tip ] add original_e
Pierre-Yves David
checkheads: take future obsoleted heads into account...
r17214 |
Pierre-Yves David
test-obsolete: better logging template...
r21978 x 4:94b33453f93b (draft) [ ] add original_d
|
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
$ hg debugobsolete `getid 'original_e'` `getid 'obsolete_e'`
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
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
|
| x 5:cda648ca50f5 (draft) [ ] add original_e
| |
| x 4:94b33453f93b (draft) [ ] add original_d
|/
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'}
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 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'}
94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
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
cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
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'}
cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
Mads Kiilerich
tests: fix for windows - slashes and no serve
r18506 #if serve
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)
(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
$ hg up tip
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ 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
$ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'shortlog/'
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
$ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'graph'
200 Script output follows
Pierre-Yves David
hgweb: add test regarding filtering and hgweb...
r18401 check filelog view
$ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'log/'`hg id --debug --id`/'babar'
200 Script output follows
Pierre-Yves David
hgweb: add a `web.view` to control filtering...
r18522
$ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/68'
200 Script output follows
$ "$TESTDIR/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:
Augie Fackler
test-obsolete.t: migrate to killdaemons from kill `cat pidfile`
r18596 $ "$TESTDIR/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
$ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/67'
200 Script output follows
Augie Fackler
test-obsolete.t: migrate to killdaemons from kill `cat pidfile`
r18596 $ "$TESTDIR/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
$ 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
hgweb: add test regarding filtering and hgweb...
r18401 obsolete feature not enabled but 68 markers found!
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
$ echo "evolution=createmarkers,exchange" >> $HGRCPATH
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568
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
Test incoming/outcoming with changesets obsoleted remotely, known locally
===============================================================================
This test issue 3805
$ hg init repo-issue3805
$ cd repo-issue3805
$ echo "foo" > foo
$ hg ci -Am "A"
adding foo
$ hg clone . ../other-issue3805
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo "bar" >> foo
$ hg ci --amend
$ cd ../other-issue3805
$ hg log -G
Pierre-Yves David
test-obsolete: better logging template...
r21978 @ 0:193e9254ce7e (draft) [tip ] A
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568
$ hg log -G -R ../repo-issue3805
Pierre-Yves David
test-obsolete: better logging template...
r21978 @ 2:3816541e5485 (draft) [tip ] A
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568
$ hg incoming
Simon Heimberg
tests: append glob to filename output when required (windows)...
r18679 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 searching for changes
Pierre-Yves David
test-obsolete: better logging template...
r21978 2:3816541e5485 (draft) [tip ] A
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 $ hg incoming --bundle ../issue3805.hg
Simon Heimberg
tests: append glob to filename output when required (windows)...
r18679 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 searching for changes
Pierre-Yves David
test-obsolete: better logging template...
r21978 2:3816541e5485 (draft) [tip ] A
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 $ hg outgoing
Simon Heimberg
tests: append glob to filename output when required (windows)...
r18679 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
Pierre-Yves David
incoming: fix incoming when a local head is remotely filtered (issue3805)...
r18568 searching for changes
no changes found
[1]
#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
Eric Sumner
bundlerepo: retract phase boundary...
r23632 1:3816541e5485 (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
no changes found
[1]
$ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
#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
$ hg push -r 3816541e5485 ../repo-issue3814
pushing to ../repo-issue3814
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
$ 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
Sean Farley
repoview: add non-global tags to candidate list for blocking hidden changesets...
r20807 $ hg tag -l visible -r 0 --hidden
$ hg log -G
Pierre-Yves David
test-obsolete: better logging template...
r21978 @ 2:3816541e5485 (draft) [tip ] A
Sean Farley
repoview: add non-global tags to candidate list for blocking hidden changesets...
r20807
Pierre-Yves David
test-obsolete: better logging template...
r21978 x 0:193e9254ce7e (draft) [visible ] A
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
tiptag 2:3816541e5485
tip 2:3816541e5485
visible 0:193e9254ce7e
$ hg --config extensions.strip= strip -r tip --no-backup
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg tags
visible 0:193e9254ce7e
tip 0:193e9254ce7e