##// END OF EJS Templates
identify: add template support...
identify: add template support This is based on a patch proposed last year by Mathias De Maré[1], with a few changes. - Tags and bookmarks are now formatted lists, for more flexible queries. - The templater is populated whether or not [-nibtB] is specified. (Plain output is unchanged.) This seems more consistent with other templated commands. - The 'id' property is a string, instead of a list. - The parents of 'wdir()' have their own list of attributes. I left 'id' as a string because it seems very useful for generating version info. It's also a bit strange because the value and meaning changes depending on whether or not --debug is passed (short vs full hash), whether the revision is a merge or not (one hash or two, separated by a '+'), the working directory or not (node vs p1node), and local or not (remote defaults to tip, and never has '+'). The equivalent string built with {rev} seems much less useful, and I couldn't think of a reasonable name, so I left it out. The discussion seemed to be pointing towards having a list of nodes, with more than one entry for a merge. It seems simpler to give the nodes a name, and use {node} for the actual commit probed, especially now that there is a virtual node for 'wdir()'. Yuya mentioned using fm.nested() in that thread, so I did for the parent nodes. I'm not sure if the plan is to fill in all of the context attributes in these items, or if these nested items should simply be made {p1node} and {p1rev}. I used ':' as the tag separator for consistency with {tags} in the log templater. Likewise, bookmarks are separated by a space for consistency with the corresponding log template. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-August/087039.html

File last commit:

r32940:75be1499 default
r33051:15a79ac8 default
Show More
test-relink.t
100 lines | 2.5 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require hardlink
Mads Kiilerich
tests: introduce hghave hardlinks...
r16971
Nicolas Dumazet
tests: unify test-relink
r12115 $ echo "[extensions]" >> $HGRCPATH
$ echo "relink=" >> $HGRCPATH
$ fix_path() {
> tr '\\' /
> }
$ cat > arelinked.py <<EOF
> import sys, os
> from mercurial import util
> path1, path2 = sys.argv[1:3]
> if util.samefile(path1, path2):
> print '%s == %s' % (path1, path2)
> else:
> print '%s != %s' % (path1, path2)
> EOF
create source repository
$ hg init repo
$ cd repo
$ echo a > a
$ echo b > b
$ hg ci -Am addfile
adding a
adding b
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ cat "$TESTDIR/binfile.bin" >> a
$ cat "$TESTDIR/binfile.bin" >> b
Nicolas Dumazet
tests: unify test-relink
r12115 $ hg ci -Am changefiles
Martin Geisler
relink: format reclaimed byte count nicely
r13656 make another commit to create files larger than 1 KB to test
formatting of final byte count
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ cat "$TESTDIR/binfile.bin" >> a
$ cat "$TESTDIR/binfile.bin" >> b
Martin Geisler
relink: format reclaimed byte count nicely
r13656 $ hg ci -m anotherchange
Martin Geisler
relink: avoid trying to lock the same repo twice
r13657 don't sit forever trying to double-lock the source repo
$ hg relink .
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 relinking $TESTTMP/repo/.hg/store to $TESTTMP/repo/.hg/store (glob)
Martin Geisler
relink: avoid trying to lock the same repo twice
r13657 there is nothing to relink
Martin Geisler
merge with stable
r13659
Nicolas Dumazet
tests: unify test-relink
r12115 Test files are read in binary mode
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c "file('.hg/store/data/dummy.i', 'wb').write('a\r\nb\n')"
Nicolas Dumazet
tests: unify test-relink
r12115 $ cd ..
clone and pull to break links
$ hg clone --pull -r0 repo clone
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd clone
$ hg pull -q
$ echo b >> b
$ hg ci -m changeb
created new head
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c "file('.hg/store/data/dummy.i', 'wb').write('a\nb\r\n')"
Nicolas Dumazet
tests: unify test-relink
r12115
relink
Pierre-Yves David
progress: get the extremely verbose output out of default debug...
r25125 $ hg relink --debug --config progress.debug=true | fix_path
Mads Kiilerich
tests: remove redundant globs...
r12640 relinking $TESTTMP/repo/.hg/store to $TESTTMP/clone/.hg/store
Nicolas Dumazet
tests: unify test-relink
r12115 tip has 2 files, estimated total number of files: 3
collecting: 00changelog.i 1/3 files (33.33%)
collecting: 00manifest.i 2/3 files (66.67%)
collecting: a.i 3/3 files (100.00%)
collecting: b.i 4/3 files (133.33%)
collecting: dummy.i 5/3 files (166.67%)
collected 5 candidate storage files
not linkable: 00changelog.i
not linkable: 00manifest.i
timeless
progress: dropping superfluous space from units
r12744 pruning: data/a.i 3/5 files (60.00%)
Nicolas Dumazet
tests: unify test-relink
r12115 not linkable: data/b.i
timeless
progress: dropping superfluous space from units
r12744 pruning: data/dummy.i 5/5 files (100.00%)
Nicolas Dumazet
tests: unify test-relink
r12115 pruned down to 2 probably relinkable files
timeless
progress: dropping superfluous space from units
r12744 relinking: data/a.i 1/2 files (50.00%)
Nicolas Dumazet
tests: unify test-relink
r12115 not linkable: data/dummy.i
Siddharth Agarwal
revlog: store fulltext when compressed delta is bigger than it...
r23285 relinked 1 files (1.36 KB reclaimed)
Nicolas Dumazet
tests: unify test-relink
r12115 $ cd ..
check hardlinks
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON arelinked.py repo/.hg/store/data/a.i clone/.hg/store/data/a.i
Nicolas Dumazet
tests: unify test-relink
r12115 repo/.hg/store/data/a.i == clone/.hg/store/data/a.i
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON arelinked.py repo/.hg/store/data/b.i clone/.hg/store/data/b.i
Nicolas Dumazet
tests: unify test-relink
r12115 repo/.hg/store/data/b.i != clone/.hg/store/data/b.i