tests/test-command-template.t
changeset 38438 ddce7bdf7f3c
parent 38432 4b73f316ba0e
child 38439 70f551a3f52e
equal deleted inserted replaced
38437:05b7dd11918e 38438:ddce7bdf7f3c
   243   $ hg tip --config 'ui.logtemplate="{rev}\n"'
   243   $ hg tip --config 'ui.logtemplate="{rev}\n"'
   244   8
   244   8
   245   $ hg tip --config 'ui.logtemplate=n{rev}\n'
   245   $ hg tip --config 'ui.logtemplate=n{rev}\n'
   246   n8
   246   n8
   247 
   247 
   248 Make sure user/global hgrc does not affect tests
       
   249 
       
   250   $ echo '[ui]' > .hg/hgrc
       
   251   $ echo 'logtemplate =' >> .hg/hgrc
       
   252   $ echo 'style =' >> .hg/hgrc
       
   253 
       
   254 Add some simple styles to settings
       
   255 
       
   256   $ cat <<'EOF' >> .hg/hgrc
       
   257   > [templates]
       
   258   > simple = "{rev}\n"
       
   259   > simple2 = {rev}\n
       
   260   > rev = "should not precede {rev} keyword\n"
       
   261   > EOF
       
   262 
       
   263   $ hg log -l1 -Tsimple
       
   264   8
       
   265   $ hg log -l1 -Tsimple2
       
   266   8
       
   267   $ hg log -l1 -Trev
       
   268   should not precede 8 keyword
       
   269   $ hg log -l1 -T '{simple}'
       
   270   8
       
   271 
       
   272 Map file shouldn't see user templates:
       
   273 
       
   274   $ cat <<EOF > tmpl
       
   275   > changeset = 'nothing expanded:{simple}\n'
       
   276   > EOF
       
   277   $ hg log -l1 --style ./tmpl
       
   278   nothing expanded:
       
   279 
       
   280 Test templates and style maps in files:
       
   281 
       
   282   $ echo "{rev}" > tmpl
       
   283   $ hg log -l1 -T./tmpl
       
   284   8
       
   285   $ hg log -l1 -Tblah/blah
       
   286   blah/blah (no-eol)
       
   287 
       
   288   $ printf 'changeset = "{rev}\\n"\n' > map-simple
       
   289   $ hg log -l1 -T./map-simple
       
   290   8
       
   291 
       
   292  a map file may have [templates] and [templatealias] sections:
       
   293 
       
   294   $ cat <<'EOF' > map-simple
       
   295   > [templates]
       
   296   > changeset = "{a}\n"
       
   297   > [templatealias]
       
   298   > a = rev
       
   299   > EOF
       
   300   $ hg log -l1 -T./map-simple
       
   301   8
       
   302 
       
   303  so it can be included in hgrc
       
   304 
       
   305   $ cat <<EOF > myhgrc
       
   306   > %include $HGRCPATH
       
   307   > %include map-simple
       
   308   > [templates]
       
   309   > foo = "{changeset}"
       
   310   > EOF
       
   311   $ HGRCPATH=./myhgrc hg log -l1 -Tfoo
       
   312   8
       
   313   $ HGRCPATH=./myhgrc hg log -l1 -T'{a}\n'
       
   314   8
       
   315 
       
   316 Test template map inheritance
       
   317 
       
   318   $ echo "__base__ = map-cmdline.default" > map-simple
       
   319   $ printf 'cset = "changeset: ***{rev}***\\n"\n' >> map-simple
       
   320   $ hg log -l1 -T./map-simple
       
   321   changeset: ***8***
       
   322   tag:         tip
       
   323   user:        test
       
   324   date:        Wed Jan 01 10:01:00 2020 +0000
       
   325   summary:     third
       
   326   
       
   327 
       
   328 Test docheader, docfooter and separator in template map
       
   329 
       
   330   $ cat <<'EOF' > map-myjson
       
   331   > docheader = '\{\n'
       
   332   > docfooter = '\n}\n'
       
   333   > separator = ',\n'
       
   334   > changeset = ' {dict(rev, node|short)|json}'
       
   335   > EOF
       
   336   $ hg log -l2 -T./map-myjson
       
   337   {
       
   338    {"node": "95c24699272e", "rev": 8},
       
   339    {"node": "29114dbae42b", "rev": 7}
       
   340   }
       
   341 
       
   342 Test docheader, docfooter and separator in [templates] section
       
   343 
       
   344   $ cat <<'EOF' >> .hg/hgrc
       
   345   > [templates]
       
   346   > myjson = ' {dict(rev, node|short)|json}'
       
   347   > myjson:docheader = '\{\n'
       
   348   > myjson:docfooter = '\n}\n'
       
   349   > myjson:separator = ',\n'
       
   350   > :docheader = 'should not be selected as a docheader for literal templates\n'
       
   351   > EOF
       
   352   $ hg log -l2 -Tmyjson
       
   353   {
       
   354    {"node": "95c24699272e", "rev": 8},
       
   355    {"node": "29114dbae42b", "rev": 7}
       
   356   }
       
   357   $ hg log -l1 -T'{rev}\n'
       
   358   8
       
   359 
       
   360 Template should precede style option
       
   361 
       
   362   $ hg log -l1 --style default -T '{rev}\n'
       
   363   8
       
   364 
       
   365 Add a commit with empty description, to ensure that the templates
       
   366 below will omit the description line.
       
   367 
       
   368   $ echo c >> c
       
   369   $ hg add c
       
   370   $ hg commit -qm ' '
       
   371 
       
   372 Default style is like normal output. Phases style should be the same
       
   373 as default style, except for extra phase lines.
       
   374 
       
   375   $ hg log > log.out
       
   376   $ hg log --style default > style.out
       
   377   $ cmp log.out style.out || diff -u log.out style.out
       
   378   $ hg log -T phases > phases.out
       
   379   $ diff -U 0 log.out phases.out | egrep -v '^---|^\+\+\+|^@@'
       
   380   +phase:       draft
       
   381   +phase:       draft
       
   382   +phase:       draft
       
   383   +phase:       draft
       
   384   +phase:       draft
       
   385   +phase:       draft
       
   386   +phase:       draft
       
   387   +phase:       draft
       
   388   +phase:       draft
       
   389   +phase:       draft
       
   390 
       
   391   $ hg log -v > log.out
       
   392   $ hg log -v --style default > style.out
       
   393   $ cmp log.out style.out || diff -u log.out style.out
       
   394   $ hg log -v -T phases > phases.out
       
   395   $ diff -U 0 log.out phases.out | egrep -v '^---|^\+\+\+|^@@'
       
   396   +phase:       draft
       
   397   +phase:       draft
       
   398   +phase:       draft
       
   399   +phase:       draft
       
   400   +phase:       draft
       
   401   +phase:       draft
       
   402   +phase:       draft
       
   403   +phase:       draft
       
   404   +phase:       draft
       
   405   +phase:       draft
       
   406 
       
   407   $ hg log -q > log.out
       
   408   $ hg log -q --style default > style.out
       
   409   $ cmp log.out style.out || diff -u log.out style.out
       
   410   $ hg log -q -T phases > phases.out
       
   411   $ cmp log.out phases.out || diff -u log.out phases.out
       
   412 
       
   413   $ hg log --debug > log.out
       
   414   $ hg log --debug --style default > style.out
       
   415   $ cmp log.out style.out || diff -u log.out style.out
       
   416   $ hg log --debug -T phases > phases.out
       
   417   $ cmp log.out phases.out || diff -u log.out phases.out
       
   418 
       
   419 Default style of working-directory revision should also be the same (but
       
   420 date may change while running tests):
       
   421 
       
   422   $ hg log -r 'wdir()' | sed 's|^date:.*|date:|' > log.out
       
   423   $ hg log -r 'wdir()' --style default | sed 's|^date:.*|date:|' > style.out
       
   424   $ cmp log.out style.out || diff -u log.out style.out
       
   425 
       
   426   $ hg log -r 'wdir()' -v | sed 's|^date:.*|date:|' > log.out
       
   427   $ hg log -r 'wdir()' -v --style default | sed 's|^date:.*|date:|' > style.out
       
   428   $ cmp log.out style.out || diff -u log.out style.out
       
   429 
       
   430   $ hg log -r 'wdir()' -q > log.out
       
   431   $ hg log -r 'wdir()' -q --style default > style.out
       
   432   $ cmp log.out style.out || diff -u log.out style.out
       
   433 
       
   434   $ hg log -r 'wdir()' --debug | sed 's|^date:.*|date:|' > log.out
       
   435   $ hg log -r 'wdir()' --debug --style default \
       
   436   > | sed 's|^date:.*|date:|' > style.out
       
   437   $ cmp log.out style.out || diff -u log.out style.out
       
   438 
       
   439 Default style should also preserve color information (issue2866):
       
   440 
       
   441   $ cp $HGRCPATH $HGRCPATH-bak
       
   442   $ cat <<EOF >> $HGRCPATH
       
   443   > [extensions]
       
   444   > color=
       
   445   > EOF
       
   446 
       
   447   $ hg --color=debug log > log.out
       
   448   $ hg --color=debug log --style default > style.out
       
   449   $ cmp log.out style.out || diff -u log.out style.out
       
   450   $ hg --color=debug log -T phases > phases.out
       
   451   $ diff -U 0 log.out phases.out | egrep -v '^---|^\+\+\+|^@@'
       
   452   +[log.phase|phase:       draft]
       
   453   +[log.phase|phase:       draft]
       
   454   +[log.phase|phase:       draft]
       
   455   +[log.phase|phase:       draft]
       
   456   +[log.phase|phase:       draft]
       
   457   +[log.phase|phase:       draft]
       
   458   +[log.phase|phase:       draft]
       
   459   +[log.phase|phase:       draft]
       
   460   +[log.phase|phase:       draft]
       
   461   +[log.phase|phase:       draft]
       
   462 
       
   463   $ hg --color=debug -v log > log.out
       
   464   $ hg --color=debug -v log --style default > style.out
       
   465   $ cmp log.out style.out || diff -u log.out style.out
       
   466   $ hg --color=debug -v log -T phases > phases.out
       
   467   $ diff -U 0 log.out phases.out | egrep -v '^---|^\+\+\+|^@@'
       
   468   +[log.phase|phase:       draft]
       
   469   +[log.phase|phase:       draft]
       
   470   +[log.phase|phase:       draft]
       
   471   +[log.phase|phase:       draft]
       
   472   +[log.phase|phase:       draft]
       
   473   +[log.phase|phase:       draft]
       
   474   +[log.phase|phase:       draft]
       
   475   +[log.phase|phase:       draft]
       
   476   +[log.phase|phase:       draft]
       
   477   +[log.phase|phase:       draft]
       
   478 
       
   479   $ hg --color=debug -q log > log.out
       
   480   $ hg --color=debug -q log --style default > style.out
       
   481   $ cmp log.out style.out || diff -u log.out style.out
       
   482   $ hg --color=debug -q log -T phases > phases.out
       
   483   $ cmp log.out phases.out || diff -u log.out phases.out
       
   484 
       
   485   $ hg --color=debug --debug log > log.out
       
   486   $ hg --color=debug --debug log --style default > style.out
       
   487   $ cmp log.out style.out || diff -u log.out style.out
       
   488   $ hg --color=debug --debug log -T phases > phases.out
       
   489   $ cmp log.out phases.out || diff -u log.out phases.out
       
   490 
       
   491   $ mv $HGRCPATH-bak $HGRCPATH
       
   492 
       
   493 Remove commit with empty commit message, so as to not pollute further
       
   494 tests.
       
   495 
       
   496   $ hg --config extensions.strip= strip -q .
       
   497 
       
   498 Revision with no copies (used to print a traceback):
       
   499 
       
   500   $ hg tip -v --template '\n'
       
   501   
       
   502 
       
   503 Compact style works:
       
   504 
       
   505   $ hg log -Tcompact
       
   506   8[tip]   95c24699272e   2020-01-01 10:01 +0000   test
       
   507     third
       
   508   
       
   509   7:-1   29114dbae42b   1970-01-12 13:46 +0000   user
       
   510     second
       
   511   
       
   512   6:5,4   d41e714fe50d   1970-01-18 08:40 +0000   person
       
   513     merge
       
   514   
       
   515   5:3   13207e5a10d9   1970-01-18 08:40 +0000   person
       
   516     new head
       
   517   
       
   518   4   bbe44766e73d   1970-01-17 04:53 +0000   person
       
   519     new branch
       
   520   
       
   521   3   10e46f2dcbf4   1970-01-16 01:06 +0000   person
       
   522     no user, no domain
       
   523   
       
   524   2   97054abb4ab8   1970-01-14 21:20 +0000   other
       
   525     no person
       
   526   
       
   527   1   b608e9d1a3f0   1970-01-13 17:33 +0000   other
       
   528     other 1
       
   529   
       
   530   0   1e4e1b8f71e0   1970-01-12 13:46 +0000   user
       
   531     line 1
       
   532   
       
   533 
       
   534   $ hg log -v --style compact
       
   535   8[tip]   95c24699272e   2020-01-01 10:01 +0000   test
       
   536     third
       
   537   
       
   538   7:-1   29114dbae42b   1970-01-12 13:46 +0000   User Name <user@hostname>
       
   539     second
       
   540   
       
   541   6:5,4   d41e714fe50d   1970-01-18 08:40 +0000   person
       
   542     merge
       
   543   
       
   544   5:3   13207e5a10d9   1970-01-18 08:40 +0000   person
       
   545     new head
       
   546   
       
   547   4   bbe44766e73d   1970-01-17 04:53 +0000   person
       
   548     new branch
       
   549   
       
   550   3   10e46f2dcbf4   1970-01-16 01:06 +0000   person
       
   551     no user, no domain
       
   552   
       
   553   2   97054abb4ab8   1970-01-14 21:20 +0000   other@place
       
   554     no person
       
   555   
       
   556   1   b608e9d1a3f0   1970-01-13 17:33 +0000   A. N. Other <other@place>
       
   557     other 1
       
   558   other 2
       
   559   
       
   560   other 3
       
   561   
       
   562   0   1e4e1b8f71e0   1970-01-12 13:46 +0000   User Name <user@hostname>
       
   563     line 1
       
   564   line 2
       
   565   
       
   566 
       
   567   $ hg log --debug --style compact
       
   568   8[tip]:7,-1   95c24699272e   2020-01-01 10:01 +0000   test
       
   569     third
       
   570   
       
   571   7:-1,-1   29114dbae42b   1970-01-12 13:46 +0000   User Name <user@hostname>
       
   572     second
       
   573   
       
   574   6:5,4   d41e714fe50d   1970-01-18 08:40 +0000   person
       
   575     merge
       
   576   
       
   577   5:3,-1   13207e5a10d9   1970-01-18 08:40 +0000   person
       
   578     new head
       
   579   
       
   580   4:3,-1   bbe44766e73d   1970-01-17 04:53 +0000   person
       
   581     new branch
       
   582   
       
   583   3:2,-1   10e46f2dcbf4   1970-01-16 01:06 +0000   person
       
   584     no user, no domain
       
   585   
       
   586   2:1,-1   97054abb4ab8   1970-01-14 21:20 +0000   other@place
       
   587     no person
       
   588   
       
   589   1:0,-1   b608e9d1a3f0   1970-01-13 17:33 +0000   A. N. Other <other@place>
       
   590     other 1
       
   591   other 2
       
   592   
       
   593   other 3
       
   594   
       
   595   0:-1,-1   1e4e1b8f71e0   1970-01-12 13:46 +0000   User Name <user@hostname>
       
   596     line 1
       
   597   line 2
       
   598   
       
   599 
       
   600 Test xml styles:
       
   601 
       
   602   $ hg log --style xml -r 'not all()'
       
   603   <?xml version="1.0"?>
       
   604   <log>
       
   605   </log>
       
   606 
       
   607   $ hg log --style xml
       
   608   <?xml version="1.0"?>
       
   609   <log>
       
   610   <logentry revision="8" node="95c24699272ef57d062b8bccc32c878bf841784a">
       
   611   <tag>tip</tag>
       
   612   <author email="test">test</author>
       
   613   <date>2020-01-01T10:01:00+00:00</date>
       
   614   <msg xml:space="preserve">third</msg>
       
   615   </logentry>
       
   616   <logentry revision="7" node="29114dbae42b9f078cf2714dbe3a86bba8ec7453">
       
   617   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   618   <author email="user@hostname">User Name</author>
       
   619   <date>1970-01-12T13:46:40+00:00</date>
       
   620   <msg xml:space="preserve">second</msg>
       
   621   </logentry>
       
   622   <logentry revision="6" node="d41e714fe50d9e4a5f11b4d595d543481b5f980b">
       
   623   <parent revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f" />
       
   624   <parent revision="4" node="bbe44766e73d5f11ed2177f1838de10c53ef3e74" />
       
   625   <author email="person">person</author>
       
   626   <date>1970-01-18T08:40:01+00:00</date>
       
   627   <msg xml:space="preserve">merge</msg>
       
   628   </logentry>
       
   629   <logentry revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f">
       
   630   <parent revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47" />
       
   631   <author email="person">person</author>
       
   632   <date>1970-01-18T08:40:00+00:00</date>
       
   633   <msg xml:space="preserve">new head</msg>
       
   634   </logentry>
       
   635   <logentry revision="4" node="bbe44766e73d5f11ed2177f1838de10c53ef3e74">
       
   636   <branch>foo</branch>
       
   637   <author email="person">person</author>
       
   638   <date>1970-01-17T04:53:20+00:00</date>
       
   639   <msg xml:space="preserve">new branch</msg>
       
   640   </logentry>
       
   641   <logentry revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47">
       
   642   <author email="person">person</author>
       
   643   <date>1970-01-16T01:06:40+00:00</date>
       
   644   <msg xml:space="preserve">no user, no domain</msg>
       
   645   </logentry>
       
   646   <logentry revision="2" node="97054abb4ab824450e9164180baf491ae0078465">
       
   647   <author email="other@place">other</author>
       
   648   <date>1970-01-14T21:20:00+00:00</date>
       
   649   <msg xml:space="preserve">no person</msg>
       
   650   </logentry>
       
   651   <logentry revision="1" node="b608e9d1a3f0273ccf70fb85fd6866b3482bf965">
       
   652   <author email="other@place">A. N. Other</author>
       
   653   <date>1970-01-13T17:33:20+00:00</date>
       
   654   <msg xml:space="preserve">other 1
       
   655   other 2
       
   656   
       
   657   other 3</msg>
       
   658   </logentry>
       
   659   <logentry revision="0" node="1e4e1b8f71e05681d422154f5421e385fec3454f">
       
   660   <author email="user@hostname">User Name</author>
       
   661   <date>1970-01-12T13:46:40+00:00</date>
       
   662   <msg xml:space="preserve">line 1
       
   663   line 2</msg>
       
   664   </logentry>
       
   665   </log>
       
   666 
       
   667   $ hg log -v --style xml
       
   668   <?xml version="1.0"?>
       
   669   <log>
       
   670   <logentry revision="8" node="95c24699272ef57d062b8bccc32c878bf841784a">
       
   671   <tag>tip</tag>
       
   672   <author email="test">test</author>
       
   673   <date>2020-01-01T10:01:00+00:00</date>
       
   674   <msg xml:space="preserve">third</msg>
       
   675   <paths>
       
   676   <path action="A">fourth</path>
       
   677   <path action="A">third</path>
       
   678   <path action="R">second</path>
       
   679   </paths>
       
   680   <copies>
       
   681   <copy source="second">fourth</copy>
       
   682   </copies>
       
   683   </logentry>
       
   684   <logentry revision="7" node="29114dbae42b9f078cf2714dbe3a86bba8ec7453">
       
   685   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   686   <author email="user@hostname">User Name</author>
       
   687   <date>1970-01-12T13:46:40+00:00</date>
       
   688   <msg xml:space="preserve">second</msg>
       
   689   <paths>
       
   690   <path action="A">second</path>
       
   691   </paths>
       
   692   </logentry>
       
   693   <logentry revision="6" node="d41e714fe50d9e4a5f11b4d595d543481b5f980b">
       
   694   <parent revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f" />
       
   695   <parent revision="4" node="bbe44766e73d5f11ed2177f1838de10c53ef3e74" />
       
   696   <author email="person">person</author>
       
   697   <date>1970-01-18T08:40:01+00:00</date>
       
   698   <msg xml:space="preserve">merge</msg>
       
   699   <paths>
       
   700   </paths>
       
   701   </logentry>
       
   702   <logentry revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f">
       
   703   <parent revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47" />
       
   704   <author email="person">person</author>
       
   705   <date>1970-01-18T08:40:00+00:00</date>
       
   706   <msg xml:space="preserve">new head</msg>
       
   707   <paths>
       
   708   <path action="A">d</path>
       
   709   </paths>
       
   710   </logentry>
       
   711   <logentry revision="4" node="bbe44766e73d5f11ed2177f1838de10c53ef3e74">
       
   712   <branch>foo</branch>
       
   713   <author email="person">person</author>
       
   714   <date>1970-01-17T04:53:20+00:00</date>
       
   715   <msg xml:space="preserve">new branch</msg>
       
   716   <paths>
       
   717   </paths>
       
   718   </logentry>
       
   719   <logentry revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47">
       
   720   <author email="person">person</author>
       
   721   <date>1970-01-16T01:06:40+00:00</date>
       
   722   <msg xml:space="preserve">no user, no domain</msg>
       
   723   <paths>
       
   724   <path action="M">c</path>
       
   725   </paths>
       
   726   </logentry>
       
   727   <logentry revision="2" node="97054abb4ab824450e9164180baf491ae0078465">
       
   728   <author email="other@place">other</author>
       
   729   <date>1970-01-14T21:20:00+00:00</date>
       
   730   <msg xml:space="preserve">no person</msg>
       
   731   <paths>
       
   732   <path action="A">c</path>
       
   733   </paths>
       
   734   </logentry>
       
   735   <logentry revision="1" node="b608e9d1a3f0273ccf70fb85fd6866b3482bf965">
       
   736   <author email="other@place">A. N. Other</author>
       
   737   <date>1970-01-13T17:33:20+00:00</date>
       
   738   <msg xml:space="preserve">other 1
       
   739   other 2
       
   740   
       
   741   other 3</msg>
       
   742   <paths>
       
   743   <path action="A">b</path>
       
   744   </paths>
       
   745   </logentry>
       
   746   <logentry revision="0" node="1e4e1b8f71e05681d422154f5421e385fec3454f">
       
   747   <author email="user@hostname">User Name</author>
       
   748   <date>1970-01-12T13:46:40+00:00</date>
       
   749   <msg xml:space="preserve">line 1
       
   750   line 2</msg>
       
   751   <paths>
       
   752   <path action="A">a</path>
       
   753   </paths>
       
   754   </logentry>
       
   755   </log>
       
   756 
       
   757   $ hg log --debug --style xml
       
   758   <?xml version="1.0"?>
       
   759   <log>
       
   760   <logentry revision="8" node="95c24699272ef57d062b8bccc32c878bf841784a">
       
   761   <tag>tip</tag>
       
   762   <parent revision="7" node="29114dbae42b9f078cf2714dbe3a86bba8ec7453" />
       
   763   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   764   <author email="test">test</author>
       
   765   <date>2020-01-01T10:01:00+00:00</date>
       
   766   <msg xml:space="preserve">third</msg>
       
   767   <paths>
       
   768   <path action="A">fourth</path>
       
   769   <path action="A">third</path>
       
   770   <path action="R">second</path>
       
   771   </paths>
       
   772   <copies>
       
   773   <copy source="second">fourth</copy>
       
   774   </copies>
       
   775   <extra key="branch">default</extra>
       
   776   </logentry>
       
   777   <logentry revision="7" node="29114dbae42b9f078cf2714dbe3a86bba8ec7453">
       
   778   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   779   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   780   <author email="user@hostname">User Name</author>
       
   781   <date>1970-01-12T13:46:40+00:00</date>
       
   782   <msg xml:space="preserve">second</msg>
       
   783   <paths>
       
   784   <path action="A">second</path>
       
   785   </paths>
       
   786   <extra key="branch">default</extra>
       
   787   </logentry>
       
   788   <logentry revision="6" node="d41e714fe50d9e4a5f11b4d595d543481b5f980b">
       
   789   <parent revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f" />
       
   790   <parent revision="4" node="bbe44766e73d5f11ed2177f1838de10c53ef3e74" />
       
   791   <author email="person">person</author>
       
   792   <date>1970-01-18T08:40:01+00:00</date>
       
   793   <msg xml:space="preserve">merge</msg>
       
   794   <paths>
       
   795   </paths>
       
   796   <extra key="branch">default</extra>
       
   797   </logentry>
       
   798   <logentry revision="5" node="13207e5a10d9fd28ec424934298e176197f2c67f">
       
   799   <parent revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47" />
       
   800   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   801   <author email="person">person</author>
       
   802   <date>1970-01-18T08:40:00+00:00</date>
       
   803   <msg xml:space="preserve">new head</msg>
       
   804   <paths>
       
   805   <path action="A">d</path>
       
   806   </paths>
       
   807   <extra key="branch">default</extra>
       
   808   </logentry>
       
   809   <logentry revision="4" node="bbe44766e73d5f11ed2177f1838de10c53ef3e74">
       
   810   <branch>foo</branch>
       
   811   <parent revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47" />
       
   812   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   813   <author email="person">person</author>
       
   814   <date>1970-01-17T04:53:20+00:00</date>
       
   815   <msg xml:space="preserve">new branch</msg>
       
   816   <paths>
       
   817   </paths>
       
   818   <extra key="branch">foo</extra>
       
   819   </logentry>
       
   820   <logentry revision="3" node="10e46f2dcbf4823578cf180f33ecf0b957964c47">
       
   821   <parent revision="2" node="97054abb4ab824450e9164180baf491ae0078465" />
       
   822   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   823   <author email="person">person</author>
       
   824   <date>1970-01-16T01:06:40+00:00</date>
       
   825   <msg xml:space="preserve">no user, no domain</msg>
       
   826   <paths>
       
   827   <path action="M">c</path>
       
   828   </paths>
       
   829   <extra key="branch">default</extra>
       
   830   </logentry>
       
   831   <logentry revision="2" node="97054abb4ab824450e9164180baf491ae0078465">
       
   832   <parent revision="1" node="b608e9d1a3f0273ccf70fb85fd6866b3482bf965" />
       
   833   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   834   <author email="other@place">other</author>
       
   835   <date>1970-01-14T21:20:00+00:00</date>
       
   836   <msg xml:space="preserve">no person</msg>
       
   837   <paths>
       
   838   <path action="A">c</path>
       
   839   </paths>
       
   840   <extra key="branch">default</extra>
       
   841   </logentry>
       
   842   <logentry revision="1" node="b608e9d1a3f0273ccf70fb85fd6866b3482bf965">
       
   843   <parent revision="0" node="1e4e1b8f71e05681d422154f5421e385fec3454f" />
       
   844   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   845   <author email="other@place">A. N. Other</author>
       
   846   <date>1970-01-13T17:33:20+00:00</date>
       
   847   <msg xml:space="preserve">other 1
       
   848   other 2
       
   849   
       
   850   other 3</msg>
       
   851   <paths>
       
   852   <path action="A">b</path>
       
   853   </paths>
       
   854   <extra key="branch">default</extra>
       
   855   </logentry>
       
   856   <logentry revision="0" node="1e4e1b8f71e05681d422154f5421e385fec3454f">
       
   857   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   858   <parent revision="-1" node="0000000000000000000000000000000000000000" />
       
   859   <author email="user@hostname">User Name</author>
       
   860   <date>1970-01-12T13:46:40+00:00</date>
       
   861   <msg xml:space="preserve">line 1
       
   862   line 2</msg>
       
   863   <paths>
       
   864   <path action="A">a</path>
       
   865   </paths>
       
   866   <extra key="branch">default</extra>
       
   867   </logentry>
       
   868   </log>
       
   869 
       
   870 
       
   871 Test JSON style:
       
   872 
       
   873   $ hg log -k nosuch -Tjson
       
   874   [
       
   875   ]
       
   876 
       
   877   $ hg log -qr . -Tjson
       
   878   [
       
   879    {
       
   880     "node": "95c24699272ef57d062b8bccc32c878bf841784a",
       
   881     "rev": 8
       
   882    }
       
   883   ]
       
   884 
       
   885   $ hg log -vpr . -Tjson --stat
       
   886   [
       
   887    {
       
   888     "bookmarks": [],
       
   889     "branch": "default",
       
   890     "date": [1577872860, 0],
       
   891     "desc": "third",
       
   892     "diff": "diff -r 29114dbae42b -r 95c24699272e fourth\n--- /dev/null\tThu Jan 01 00:00:00 1970 +0000\n+++ b/fourth\tWed Jan 01 10:01:00 2020 +0000\n@@ -0,0 +1,1 @@\n+second\ndiff -r 29114dbae42b -r 95c24699272e second\n--- a/second\tMon Jan 12 13:46:40 1970 +0000\n+++ /dev/null\tThu Jan 01 00:00:00 1970 +0000\n@@ -1,1 +0,0 @@\n-second\ndiff -r 29114dbae42b -r 95c24699272e third\n--- /dev/null\tThu Jan 01 00:00:00 1970 +0000\n+++ b/third\tWed Jan 01 10:01:00 2020 +0000\n@@ -0,0 +1,1 @@\n+third\n",
       
   893     "diffstat": " fourth |  1 +\n second |  1 -\n third  |  1 +\n 3 files changed, 2 insertions(+), 1 deletions(-)\n",
       
   894     "files": ["fourth", "second", "third"],
       
   895     "node": "95c24699272ef57d062b8bccc32c878bf841784a",
       
   896     "parents": ["29114dbae42b9f078cf2714dbe3a86bba8ec7453"],
       
   897     "phase": "draft",
       
   898     "rev": 8,
       
   899     "tags": ["tip"],
       
   900     "user": "test"
       
   901    }
       
   902   ]
       
   903 
       
   904 honor --git but not format-breaking diffopts
       
   905   $ hg --config diff.noprefix=True log --git -vpr . -Tjson
       
   906   [
       
   907    {
       
   908     "bookmarks": [],
       
   909     "branch": "default",
       
   910     "date": [1577872860, 0],
       
   911     "desc": "third",
       
   912     "diff": "diff --git a/second b/fourth\nrename from second\nrename to fourth\ndiff --git a/third b/third\nnew file mode 100644\n--- /dev/null\n+++ b/third\n@@ -0,0 +1,1 @@\n+third\n",
       
   913     "files": ["fourth", "second", "third"],
       
   914     "node": "95c24699272ef57d062b8bccc32c878bf841784a",
       
   915     "parents": ["29114dbae42b9f078cf2714dbe3a86bba8ec7453"],
       
   916     "phase": "draft",
       
   917     "rev": 8,
       
   918     "tags": ["tip"],
       
   919     "user": "test"
       
   920    }
       
   921   ]
       
   922 
       
   923   $ hg log -T json
       
   924   [
       
   925    {
       
   926     "bookmarks": [],
       
   927     "branch": "default",
       
   928     "date": [1577872860, 0],
       
   929     "desc": "third",
       
   930     "node": "95c24699272ef57d062b8bccc32c878bf841784a",
       
   931     "parents": ["29114dbae42b9f078cf2714dbe3a86bba8ec7453"],
       
   932     "phase": "draft",
       
   933     "rev": 8,
       
   934     "tags": ["tip"],
       
   935     "user": "test"
       
   936    },
       
   937    {
       
   938     "bookmarks": [],
       
   939     "branch": "default",
       
   940     "date": [1000000, 0],
       
   941     "desc": "second",
       
   942     "node": "29114dbae42b9f078cf2714dbe3a86bba8ec7453",
       
   943     "parents": ["0000000000000000000000000000000000000000"],
       
   944     "phase": "draft",
       
   945     "rev": 7,
       
   946     "tags": [],
       
   947     "user": "User Name <user@hostname>"
       
   948    },
       
   949    {
       
   950     "bookmarks": [],
       
   951     "branch": "default",
       
   952     "date": [1500001, 0],
       
   953     "desc": "merge",
       
   954     "node": "d41e714fe50d9e4a5f11b4d595d543481b5f980b",
       
   955     "parents": ["13207e5a10d9fd28ec424934298e176197f2c67f", "bbe44766e73d5f11ed2177f1838de10c53ef3e74"],
       
   956     "phase": "draft",
       
   957     "rev": 6,
       
   958     "tags": [],
       
   959     "user": "person"
       
   960    },
       
   961    {
       
   962     "bookmarks": [],
       
   963     "branch": "default",
       
   964     "date": [1500000, 0],
       
   965     "desc": "new head",
       
   966     "node": "13207e5a10d9fd28ec424934298e176197f2c67f",
       
   967     "parents": ["10e46f2dcbf4823578cf180f33ecf0b957964c47"],
       
   968     "phase": "draft",
       
   969     "rev": 5,
       
   970     "tags": [],
       
   971     "user": "person"
       
   972    },
       
   973    {
       
   974     "bookmarks": [],
       
   975     "branch": "foo",
       
   976     "date": [1400000, 0],
       
   977     "desc": "new branch",
       
   978     "node": "bbe44766e73d5f11ed2177f1838de10c53ef3e74",
       
   979     "parents": ["10e46f2dcbf4823578cf180f33ecf0b957964c47"],
       
   980     "phase": "draft",
       
   981     "rev": 4,
       
   982     "tags": [],
       
   983     "user": "person"
       
   984    },
       
   985    {
       
   986     "bookmarks": [],
       
   987     "branch": "default",
       
   988     "date": [1300000, 0],
       
   989     "desc": "no user, no domain",
       
   990     "node": "10e46f2dcbf4823578cf180f33ecf0b957964c47",
       
   991     "parents": ["97054abb4ab824450e9164180baf491ae0078465"],
       
   992     "phase": "draft",
       
   993     "rev": 3,
       
   994     "tags": [],
       
   995     "user": "person"
       
   996    },
       
   997    {
       
   998     "bookmarks": [],
       
   999     "branch": "default",
       
  1000     "date": [1200000, 0],
       
  1001     "desc": "no person",
       
  1002     "node": "97054abb4ab824450e9164180baf491ae0078465",
       
  1003     "parents": ["b608e9d1a3f0273ccf70fb85fd6866b3482bf965"],
       
  1004     "phase": "draft",
       
  1005     "rev": 2,
       
  1006     "tags": [],
       
  1007     "user": "other@place"
       
  1008    },
       
  1009    {
       
  1010     "bookmarks": [],
       
  1011     "branch": "default",
       
  1012     "date": [1100000, 0],
       
  1013     "desc": "other 1\nother 2\n\nother 3",
       
  1014     "node": "b608e9d1a3f0273ccf70fb85fd6866b3482bf965",
       
  1015     "parents": ["1e4e1b8f71e05681d422154f5421e385fec3454f"],
       
  1016     "phase": "draft",
       
  1017     "rev": 1,
       
  1018     "tags": [],
       
  1019     "user": "A. N. Other <other@place>"
       
  1020    },
       
  1021    {
       
  1022     "bookmarks": [],
       
  1023     "branch": "default",
       
  1024     "date": [1000000, 0],
       
  1025     "desc": "line 1\nline 2",
       
  1026     "node": "1e4e1b8f71e05681d422154f5421e385fec3454f",
       
  1027     "parents": ["0000000000000000000000000000000000000000"],
       
  1028     "phase": "draft",
       
  1029     "rev": 0,
       
  1030     "tags": [],
       
  1031     "user": "User Name <user@hostname>"
       
  1032    }
       
  1033   ]
       
  1034 
       
  1035   $ hg heads -v -Tjson
       
  1036   [
       
  1037    {
       
  1038     "bookmarks": [],
       
  1039     "branch": "default",
       
  1040     "date": [1577872860, 0],
       
  1041     "desc": "third",
       
  1042     "files": ["fourth", "second", "third"],
       
  1043     "node": "95c24699272ef57d062b8bccc32c878bf841784a",
       
  1044     "parents": ["29114dbae42b9f078cf2714dbe3a86bba8ec7453"],
       
  1045     "phase": "draft",
       
  1046     "rev": 8,
       
  1047     "tags": ["tip"],
       
  1048     "user": "test"
       
  1049    },
       
  1050    {
       
  1051     "bookmarks": [],
       
  1052     "branch": "default",
       
  1053     "date": [1500001, 0],
       
  1054     "desc": "merge",
       
  1055     "files": [],
       
  1056     "node": "d41e714fe50d9e4a5f11b4d595d543481b5f980b",
       
  1057     "parents": ["13207e5a10d9fd28ec424934298e176197f2c67f", "bbe44766e73d5f11ed2177f1838de10c53ef3e74"],
       
  1058     "phase": "draft",
       
  1059     "rev": 6,
       
  1060     "tags": [],
       
  1061     "user": "person"
       
  1062    },
       
  1063    {
       
  1064     "bookmarks": [],
       
  1065     "branch": "foo",
       
  1066     "date": [1400000, 0],
       
  1067     "desc": "new branch",
       
  1068     "files": [],
       
  1069     "node": "bbe44766e73d5f11ed2177f1838de10c53ef3e74",
       
  1070     "parents": ["10e46f2dcbf4823578cf180f33ecf0b957964c47"],
       
  1071     "phase": "draft",
       
  1072     "rev": 4,
       
  1073     "tags": [],
       
  1074     "user": "person"
       
  1075    }
       
  1076   ]
       
  1077 
       
  1078   $ hg log --debug -Tjson
       
  1079   [
       
  1080    {
       
  1081     "added": ["fourth", "third"],
       
  1082     "bookmarks": [],
       
  1083     "branch": "default",
       
  1084     "date": [1577872860, 0],
       
  1085     "desc": "third",
       
  1086     "extra": {"branch": "default"},
       
  1087     "manifest": "94961b75a2da554b4df6fb599e5bfc7d48de0c64",
       
  1088     "modified": [],
       
  1089     "node": "95c24699272ef57d062b8bccc32c878bf841784a",
       
  1090     "parents": ["29114dbae42b9f078cf2714dbe3a86bba8ec7453"],
       
  1091     "phase": "draft",
       
  1092     "removed": ["second"],
       
  1093     "rev": 8,
       
  1094     "tags": ["tip"],
       
  1095     "user": "test"
       
  1096    },
       
  1097    {
       
  1098     "added": ["second"],
       
  1099     "bookmarks": [],
       
  1100     "branch": "default",
       
  1101     "date": [1000000, 0],
       
  1102     "desc": "second",
       
  1103     "extra": {"branch": "default"},
       
  1104     "manifest": "f2dbc354b94e5ec0b4f10680ee0cee816101d0bf",
       
  1105     "modified": [],
       
  1106     "node": "29114dbae42b9f078cf2714dbe3a86bba8ec7453",
       
  1107     "parents": ["0000000000000000000000000000000000000000"],
       
  1108     "phase": "draft",
       
  1109     "removed": [],
       
  1110     "rev": 7,
       
  1111     "tags": [],
       
  1112     "user": "User Name <user@hostname>"
       
  1113    },
       
  1114    {
       
  1115     "added": [],
       
  1116     "bookmarks": [],
       
  1117     "branch": "default",
       
  1118     "date": [1500001, 0],
       
  1119     "desc": "merge",
       
  1120     "extra": {"branch": "default"},
       
  1121     "manifest": "4dc3def4f9b4c6e8de820f6ee74737f91e96a216",
       
  1122     "modified": [],
       
  1123     "node": "d41e714fe50d9e4a5f11b4d595d543481b5f980b",
       
  1124     "parents": ["13207e5a10d9fd28ec424934298e176197f2c67f", "bbe44766e73d5f11ed2177f1838de10c53ef3e74"],
       
  1125     "phase": "draft",
       
  1126     "removed": [],
       
  1127     "rev": 6,
       
  1128     "tags": [],
       
  1129     "user": "person"
       
  1130    },
       
  1131    {
       
  1132     "added": ["d"],
       
  1133     "bookmarks": [],
       
  1134     "branch": "default",
       
  1135     "date": [1500000, 0],
       
  1136     "desc": "new head",
       
  1137     "extra": {"branch": "default"},
       
  1138     "manifest": "4dc3def4f9b4c6e8de820f6ee74737f91e96a216",
       
  1139     "modified": [],
       
  1140     "node": "13207e5a10d9fd28ec424934298e176197f2c67f",
       
  1141     "parents": ["10e46f2dcbf4823578cf180f33ecf0b957964c47"],
       
  1142     "phase": "draft",
       
  1143     "removed": [],
       
  1144     "rev": 5,
       
  1145     "tags": [],
       
  1146     "user": "person"
       
  1147    },
       
  1148    {
       
  1149     "added": [],
       
  1150     "bookmarks": [],
       
  1151     "branch": "foo",
       
  1152     "date": [1400000, 0],
       
  1153     "desc": "new branch",
       
  1154     "extra": {"branch": "foo"},
       
  1155     "manifest": "cb5a1327723bada42f117e4c55a303246eaf9ccc",
       
  1156     "modified": [],
       
  1157     "node": "bbe44766e73d5f11ed2177f1838de10c53ef3e74",
       
  1158     "parents": ["10e46f2dcbf4823578cf180f33ecf0b957964c47"],
       
  1159     "phase": "draft",
       
  1160     "removed": [],
       
  1161     "rev": 4,
       
  1162     "tags": [],
       
  1163     "user": "person"
       
  1164    },
       
  1165    {
       
  1166     "added": [],
       
  1167     "bookmarks": [],
       
  1168     "branch": "default",
       
  1169     "date": [1300000, 0],
       
  1170     "desc": "no user, no domain",
       
  1171     "extra": {"branch": "default"},
       
  1172     "manifest": "cb5a1327723bada42f117e4c55a303246eaf9ccc",
       
  1173     "modified": ["c"],
       
  1174     "node": "10e46f2dcbf4823578cf180f33ecf0b957964c47",
       
  1175     "parents": ["97054abb4ab824450e9164180baf491ae0078465"],
       
  1176     "phase": "draft",
       
  1177     "removed": [],
       
  1178     "rev": 3,
       
  1179     "tags": [],
       
  1180     "user": "person"
       
  1181    },
       
  1182    {
       
  1183     "added": ["c"],
       
  1184     "bookmarks": [],
       
  1185     "branch": "default",
       
  1186     "date": [1200000, 0],
       
  1187     "desc": "no person",
       
  1188     "extra": {"branch": "default"},
       
  1189     "manifest": "6e0e82995c35d0d57a52aca8da4e56139e06b4b1",
       
  1190     "modified": [],
       
  1191     "node": "97054abb4ab824450e9164180baf491ae0078465",
       
  1192     "parents": ["b608e9d1a3f0273ccf70fb85fd6866b3482bf965"],
       
  1193     "phase": "draft",
       
  1194     "removed": [],
       
  1195     "rev": 2,
       
  1196     "tags": [],
       
  1197     "user": "other@place"
       
  1198    },
       
  1199    {
       
  1200     "added": ["b"],
       
  1201     "bookmarks": [],
       
  1202     "branch": "default",
       
  1203     "date": [1100000, 0],
       
  1204     "desc": "other 1\nother 2\n\nother 3",
       
  1205     "extra": {"branch": "default"},
       
  1206     "manifest": "4e8d705b1e53e3f9375e0e60dc7b525d8211fe55",
       
  1207     "modified": [],
       
  1208     "node": "b608e9d1a3f0273ccf70fb85fd6866b3482bf965",
       
  1209     "parents": ["1e4e1b8f71e05681d422154f5421e385fec3454f"],
       
  1210     "phase": "draft",
       
  1211     "removed": [],
       
  1212     "rev": 1,
       
  1213     "tags": [],
       
  1214     "user": "A. N. Other <other@place>"
       
  1215    },
       
  1216    {
       
  1217     "added": ["a"],
       
  1218     "bookmarks": [],
       
  1219     "branch": "default",
       
  1220     "date": [1000000, 0],
       
  1221     "desc": "line 1\nline 2",
       
  1222     "extra": {"branch": "default"},
       
  1223     "manifest": "a0c8bcbbb45c63b90b70ad007bf38961f64f2af0",
       
  1224     "modified": [],
       
  1225     "node": "1e4e1b8f71e05681d422154f5421e385fec3454f",
       
  1226     "parents": ["0000000000000000000000000000000000000000"],
       
  1227     "phase": "draft",
       
  1228     "removed": [],
       
  1229     "rev": 0,
       
  1230     "tags": [],
       
  1231     "user": "User Name <user@hostname>"
       
  1232    }
       
  1233   ]
       
  1234 
       
  1235 Error if style not readable:
       
  1236 
       
  1237 #if unix-permissions no-root
       
  1238   $ touch q
       
  1239   $ chmod 0 q
       
  1240   $ hg log --style ./q
       
  1241   abort: Permission denied: ./q
       
  1242   [255]
       
  1243 #endif
       
  1244 
       
  1245 Error if no style:
       
  1246 
       
  1247   $ hg log --style notexist
       
  1248   abort: style 'notexist' not found
       
  1249   (available styles: bisect, changelog, compact, default, phases, show, status, xml)
       
  1250   [255]
       
  1251 
       
  1252   $ hg log -T list
       
  1253   available styles: bisect, changelog, compact, default, phases, show, status, xml
       
  1254   abort: specify a template
       
  1255   [255]
       
  1256 
       
  1257 Error if style missing key:
       
  1258 
       
  1259   $ echo 'q = q' > t
       
  1260   $ hg log --style ./t
       
  1261   abort: "changeset" not in template map
       
  1262   [255]
       
  1263 
       
  1264 Error if style missing value:
       
  1265 
       
  1266   $ echo 'changeset =' > t
       
  1267   $ hg log --style t
       
  1268   hg: parse error at t:1: missing value
       
  1269   [255]
       
  1270 
       
  1271 Error if include fails:
       
  1272 
       
  1273   $ echo 'changeset = q' >> t
       
  1274 #if unix-permissions no-root
       
  1275   $ hg log --style ./t
       
  1276   abort: template file ./q: Permission denied
       
  1277   [255]
       
  1278   $ rm -f q
       
  1279 #endif
       
  1280 
       
  1281 Include works:
       
  1282 
       
  1283   $ echo '{rev}' > q
       
  1284   $ hg log --style ./t
       
  1285   8
       
  1286   7
       
  1287   6
       
  1288   5
       
  1289   4
       
  1290   3
       
  1291   2
       
  1292   1
       
  1293   0
       
  1294 
       
  1295 Check that recursive reference does not fall into RuntimeError (issue4758):
   248 Check that recursive reference does not fall into RuntimeError (issue4758):
  1296 
   249 
  1297  common mistake:
   250  common mistake:
  1298 
   251 
  1299   $ cat << EOF > issue4758
   252   $ cat << EOF > issue4758
  1355   o  2 (public): 1 (public) -1 (public)
   308   o  2 (public): 1 (public) -1 (public)
  1356   |
   309   |
  1357   o  1 (public): 0 (public) -1 (public)
   310   o  1 (public): 0 (public) -1 (public)
  1358   |
   311   |
  1359   o  0 (public): -1 (public) -1 (public)
   312   o  0 (public): -1 (public) -1 (public)
  1360   
       
  1361 
       
  1362 Missing non-standard names give no error (backward compatibility):
       
  1363 
       
  1364   $ echo "changeset = '{c}'" > t
       
  1365   $ hg log --style ./t
       
  1366 
       
  1367 Defining non-standard name works:
       
  1368 
       
  1369   $ cat <<EOF > t
       
  1370   > changeset = '{c}'
       
  1371   > c = q
       
  1372   > EOF
       
  1373   $ hg log --style ./t
       
  1374   8
       
  1375   7
       
  1376   6
       
  1377   5
       
  1378   4
       
  1379   3
       
  1380   2
       
  1381   1
       
  1382   0
       
  1383 
       
  1384 ui.style works:
       
  1385 
       
  1386   $ echo '[ui]' > .hg/hgrc
       
  1387   $ echo 'style = t' >> .hg/hgrc
       
  1388   $ hg log
       
  1389   8
       
  1390   7
       
  1391   6
       
  1392   5
       
  1393   4
       
  1394   3
       
  1395   2
       
  1396   1
       
  1397   0
       
  1398 
       
  1399 
       
  1400 Issue338:
       
  1401 
       
  1402   $ hg log --style=changelog > changelog
       
  1403 
       
  1404   $ cat changelog
       
  1405   2020-01-01  test  <test>
       
  1406   
       
  1407   	* fourth, second, third:
       
  1408   	third
       
  1409   	[95c24699272e] [tip]
       
  1410   
       
  1411   1970-01-12  User Name  <user@hostname>
       
  1412   
       
  1413   	* second:
       
  1414   	second
       
  1415   	[29114dbae42b]
       
  1416   
       
  1417   1970-01-18  person  <person>
       
  1418   
       
  1419   	* merge
       
  1420   	[d41e714fe50d]
       
  1421   
       
  1422   	* d:
       
  1423   	new head
       
  1424   	[13207e5a10d9]
       
  1425   
       
  1426   1970-01-17  person  <person>
       
  1427   
       
  1428   	* new branch
       
  1429   	[bbe44766e73d] <foo>
       
  1430   
       
  1431   1970-01-16  person  <person>
       
  1432   
       
  1433   	* c:
       
  1434   	no user, no domain
       
  1435   	[10e46f2dcbf4]
       
  1436   
       
  1437   1970-01-14  other  <other@place>
       
  1438   
       
  1439   	* c:
       
  1440   	no person
       
  1441   	[97054abb4ab8]
       
  1442   
       
  1443   1970-01-13  A. N. Other  <other@place>
       
  1444   
       
  1445   	* b:
       
  1446   	other 1 other 2
       
  1447   
       
  1448   	other 3
       
  1449   	[b608e9d1a3f0]
       
  1450   
       
  1451   1970-01-12  User Name  <user@hostname>
       
  1452   
       
  1453   	* a:
       
  1454   	line 1 line 2
       
  1455   	[1e4e1b8f71e0]
       
  1456   
       
  1457 
       
  1458 Issue2130: xml output for 'hg heads' is malformed
       
  1459 
       
  1460   $ hg heads --style changelog
       
  1461   2020-01-01  test  <test>
       
  1462   
       
  1463   	* fourth, second, third:
       
  1464   	third
       
  1465   	[95c24699272e] [tip]
       
  1466   
       
  1467   1970-01-18  person  <person>
       
  1468   
       
  1469   	* merge
       
  1470   	[d41e714fe50d]
       
  1471   
       
  1472   1970-01-17  person  <person>
       
  1473   
       
  1474   	* new branch
       
  1475   	[bbe44766e73d] <foo>
       
  1476   
   313   
  1477 
   314 
  1478 Keys work:
   315 Keys work:
  1479 
   316 
  1480   $ for key in author branch branches date desc file_adds file_dels file_mods \
   317   $ for key in author branch branches date desc file_adds file_dels file_mods \
  2318   $ hg add b
  1155   $ hg add b
  2319   $ hg mv fourth fifth
  1156   $ hg mv fourth fifth
  2320   $ hg rm a
  1157   $ hg rm a
  2321   $ hg ci -m "Modify, add, remove, rename"
  1158   $ hg ci -m "Modify, add, remove, rename"
  2322 
  1159 
  2323 Check the status template
  1160 Error on syntax:
  2324 
  1161 
  2325   $ cat <<EOF >> $HGRCPATH
  1162   $ cat <<EOF > t
  2326   > [extensions]
  1163   > changeset = '{c}'
  2327   > color=
  1164   > c = q
       
  1165   > x = "f
  2328   > EOF
  1166   > EOF
  2329 
  1167   $ echo '[ui]' > .hg/hgrc
  2330   $ hg log -T status -r 10
  1168   $ echo 'style = t' >> .hg/hgrc
  2331   changeset:   10:0f9759ec227a
       
  2332   tag:         tip
       
  2333   user:        test
       
  2334   date:        Thu Jan 01 00:00:00 1970 +0000
       
  2335   summary:     Modify, add, remove, rename
       
  2336   files:
       
  2337   M third
       
  2338   A b
       
  2339   A fifth
       
  2340   R a
       
  2341   R fourth
       
  2342   
       
  2343   $ hg log -T status -C -r 10
       
  2344   changeset:   10:0f9759ec227a
       
  2345   tag:         tip
       
  2346   user:        test
       
  2347   date:        Thu Jan 01 00:00:00 1970 +0000
       
  2348   summary:     Modify, add, remove, rename
       
  2349   files:
       
  2350   M third
       
  2351   A b
       
  2352   A fifth
       
  2353     fourth
       
  2354   R a
       
  2355   R fourth
       
  2356   
       
  2357   $ hg log -T status -C -r 10 -v
       
  2358   changeset:   10:0f9759ec227a
       
  2359   tag:         tip
       
  2360   user:        test
       
  2361   date:        Thu Jan 01 00:00:00 1970 +0000
       
  2362   description:
       
  2363   Modify, add, remove, rename
       
  2364   
       
  2365   files:
       
  2366   M third
       
  2367   A b
       
  2368   A fifth
       
  2369     fourth
       
  2370   R a
       
  2371   R fourth
       
  2372   
       
  2373   $ hg log -T status -C -r 10 --debug
       
  2374   changeset:   10:0f9759ec227a4859c2014a345cd8a859022b7c6c
       
  2375   tag:         tip
       
  2376   phase:       secret
       
  2377   parent:      9:bf9dfba36635106d6a73ccc01e28b762da60e066
       
  2378   parent:      -1:0000000000000000000000000000000000000000
       
  2379   manifest:    8:89dd546f2de0a9d6d664f58d86097eb97baba567
       
  2380   user:        test
       
  2381   date:        Thu Jan 01 00:00:00 1970 +0000
       
  2382   extra:       branch=default
       
  2383   description:
       
  2384   Modify, add, remove, rename
       
  2385   
       
  2386   files:
       
  2387   M third
       
  2388   A b
       
  2389   A fifth
       
  2390     fourth
       
  2391   R a
       
  2392   R fourth
       
  2393   
       
  2394   $ hg log -T status -C -r 10 --quiet
       
  2395   10:0f9759ec227a
       
  2396   $ hg --color=debug log -T status -r 10
       
  2397   [log.changeset changeset.secret|changeset:   10:0f9759ec227a]
       
  2398   [log.tag|tag:         tip]
       
  2399   [log.user|user:        test]
       
  2400   [log.date|date:        Thu Jan 01 00:00:00 1970 +0000]
       
  2401   [log.summary|summary:     Modify, add, remove, rename]
       
  2402   [ui.note log.files|files:]
       
  2403   [status.modified|M third]
       
  2404   [status.added|A b]
       
  2405   [status.added|A fifth]
       
  2406   [status.removed|R a]
       
  2407   [status.removed|R fourth]
       
  2408   
       
  2409   $ hg --color=debug log -T status -C -r 10
       
  2410   [log.changeset changeset.secret|changeset:   10:0f9759ec227a]
       
  2411   [log.tag|tag:         tip]
       
  2412   [log.user|user:        test]
       
  2413   [log.date|date:        Thu Jan 01 00:00:00 1970 +0000]
       
  2414   [log.summary|summary:     Modify, add, remove, rename]
       
  2415   [ui.note log.files|files:]
       
  2416   [status.modified|M third]
       
  2417   [status.added|A b]
       
  2418   [status.added|A fifth]
       
  2419   [status.copied|  fourth]
       
  2420   [status.removed|R a]
       
  2421   [status.removed|R fourth]
       
  2422   
       
  2423   $ hg --color=debug log -T status -C -r 10 -v
       
  2424   [log.changeset changeset.secret|changeset:   10:0f9759ec227a]
       
  2425   [log.tag|tag:         tip]
       
  2426   [log.user|user:        test]
       
  2427   [log.date|date:        Thu Jan 01 00:00:00 1970 +0000]
       
  2428   [ui.note log.description|description:]
       
  2429   [ui.note log.description|Modify, add, remove, rename]
       
  2430   
       
  2431   [ui.note log.files|files:]
       
  2432   [status.modified|M third]
       
  2433   [status.added|A b]
       
  2434   [status.added|A fifth]
       
  2435   [status.copied|  fourth]
       
  2436   [status.removed|R a]
       
  2437   [status.removed|R fourth]
       
  2438   
       
  2439   $ hg --color=debug log -T status -C -r 10 --debug
       
  2440   [log.changeset changeset.secret|changeset:   10:0f9759ec227a4859c2014a345cd8a859022b7c6c]
       
  2441   [log.tag|tag:         tip]
       
  2442   [log.phase|phase:       secret]
       
  2443   [log.parent changeset.secret|parent:      9:bf9dfba36635106d6a73ccc01e28b762da60e066]
       
  2444   [log.parent changeset.public|parent:      -1:0000000000000000000000000000000000000000]
       
  2445   [ui.debug log.manifest|manifest:    8:89dd546f2de0a9d6d664f58d86097eb97baba567]
       
  2446   [log.user|user:        test]
       
  2447   [log.date|date:        Thu Jan 01 00:00:00 1970 +0000]
       
  2448   [ui.debug log.extra|extra:       branch=default]
       
  2449   [ui.note log.description|description:]
       
  2450   [ui.note log.description|Modify, add, remove, rename]
       
  2451   
       
  2452   [ui.note log.files|files:]
       
  2453   [status.modified|M third]
       
  2454   [status.added|A b]
       
  2455   [status.added|A fifth]
       
  2456   [status.copied|  fourth]
       
  2457   [status.removed|R a]
       
  2458   [status.removed|R fourth]
       
  2459   
       
  2460   $ hg --color=debug log -T status -C -r 10 --quiet
       
  2461   [log.node|10:0f9759ec227a]
       
  2462 
       
  2463 Check the bisect template
       
  2464 
       
  2465   $ hg bisect -g 1
       
  2466   $ hg bisect -b 3 --noupdate
       
  2467   Testing changeset 2:97054abb4ab8 (2 changesets remaining, ~1 tests)
       
  2468   $ hg log -T bisect -r 0:4
       
  2469   changeset:   0:1e4e1b8f71e0
       
  2470   bisect:      good (implicit)
       
  2471   user:        User Name <user@hostname>
       
  2472   date:        Mon Jan 12 13:46:40 1970 +0000
       
  2473   summary:     line 1
       
  2474   
       
  2475   changeset:   1:b608e9d1a3f0
       
  2476   bisect:      good
       
  2477   user:        A. N. Other <other@place>
       
  2478   date:        Tue Jan 13 17:33:20 1970 +0000
       
  2479   summary:     other 1
       
  2480   
       
  2481   changeset:   2:97054abb4ab8
       
  2482   bisect:      untested
       
  2483   user:        other@place
       
  2484   date:        Wed Jan 14 21:20:00 1970 +0000
       
  2485   summary:     no person
       
  2486   
       
  2487   changeset:   3:10e46f2dcbf4
       
  2488   bisect:      bad
       
  2489   user:        person
       
  2490   date:        Fri Jan 16 01:06:40 1970 +0000
       
  2491   summary:     no user, no domain
       
  2492   
       
  2493   changeset:   4:bbe44766e73d
       
  2494   bisect:      bad (implicit)
       
  2495   branch:      foo
       
  2496   user:        person
       
  2497   date:        Sat Jan 17 04:53:20 1970 +0000
       
  2498   summary:     new branch
       
  2499   
       
  2500   $ hg log --debug -T bisect -r 0:4
       
  2501   changeset:   0:1e4e1b8f71e05681d422154f5421e385fec3454f
       
  2502   bisect:      good (implicit)
       
  2503   phase:       public
       
  2504   parent:      -1:0000000000000000000000000000000000000000
       
  2505   parent:      -1:0000000000000000000000000000000000000000
       
  2506   manifest:    0:a0c8bcbbb45c63b90b70ad007bf38961f64f2af0
       
  2507   user:        User Name <user@hostname>
       
  2508   date:        Mon Jan 12 13:46:40 1970 +0000
       
  2509   files+:      a
       
  2510   extra:       branch=default
       
  2511   description:
       
  2512   line 1
       
  2513   line 2
       
  2514   
       
  2515   
       
  2516   changeset:   1:b608e9d1a3f0273ccf70fb85fd6866b3482bf965
       
  2517   bisect:      good
       
  2518   phase:       public
       
  2519   parent:      0:1e4e1b8f71e05681d422154f5421e385fec3454f
       
  2520   parent:      -1:0000000000000000000000000000000000000000
       
  2521   manifest:    1:4e8d705b1e53e3f9375e0e60dc7b525d8211fe55
       
  2522   user:        A. N. Other <other@place>
       
  2523   date:        Tue Jan 13 17:33:20 1970 +0000
       
  2524   files+:      b
       
  2525   extra:       branch=default
       
  2526   description:
       
  2527   other 1
       
  2528   other 2
       
  2529   
       
  2530   other 3
       
  2531   
       
  2532   
       
  2533   changeset:   2:97054abb4ab824450e9164180baf491ae0078465
       
  2534   bisect:      untested
       
  2535   phase:       public
       
  2536   parent:      1:b608e9d1a3f0273ccf70fb85fd6866b3482bf965
       
  2537   parent:      -1:0000000000000000000000000000000000000000
       
  2538   manifest:    2:6e0e82995c35d0d57a52aca8da4e56139e06b4b1
       
  2539   user:        other@place
       
  2540   date:        Wed Jan 14 21:20:00 1970 +0000
       
  2541   files+:      c
       
  2542   extra:       branch=default
       
  2543   description:
       
  2544   no person
       
  2545   
       
  2546   
       
  2547   changeset:   3:10e46f2dcbf4823578cf180f33ecf0b957964c47
       
  2548   bisect:      bad
       
  2549   phase:       public
       
  2550   parent:      2:97054abb4ab824450e9164180baf491ae0078465
       
  2551   parent:      -1:0000000000000000000000000000000000000000
       
  2552   manifest:    3:cb5a1327723bada42f117e4c55a303246eaf9ccc
       
  2553   user:        person
       
  2554   date:        Fri Jan 16 01:06:40 1970 +0000
       
  2555   files:       c
       
  2556   extra:       branch=default
       
  2557   description:
       
  2558   no user, no domain
       
  2559   
       
  2560   
       
  2561   changeset:   4:bbe44766e73d5f11ed2177f1838de10c53ef3e74
       
  2562   bisect:      bad (implicit)
       
  2563   branch:      foo
       
  2564   phase:       draft
       
  2565   parent:      3:10e46f2dcbf4823578cf180f33ecf0b957964c47
       
  2566   parent:      -1:0000000000000000000000000000000000000000
       
  2567   manifest:    3:cb5a1327723bada42f117e4c55a303246eaf9ccc
       
  2568   user:        person
       
  2569   date:        Sat Jan 17 04:53:20 1970 +0000
       
  2570   extra:       branch=foo
       
  2571   description:
       
  2572   new branch
       
  2573   
       
  2574   
       
  2575   $ hg log -v -T bisect -r 0:4
       
  2576   changeset:   0:1e4e1b8f71e0
       
  2577   bisect:      good (implicit)
       
  2578   user:        User Name <user@hostname>
       
  2579   date:        Mon Jan 12 13:46:40 1970 +0000
       
  2580   files:       a
       
  2581   description:
       
  2582   line 1
       
  2583   line 2
       
  2584   
       
  2585   
       
  2586   changeset:   1:b608e9d1a3f0
       
  2587   bisect:      good
       
  2588   user:        A. N. Other <other@place>
       
  2589   date:        Tue Jan 13 17:33:20 1970 +0000
       
  2590   files:       b
       
  2591   description:
       
  2592   other 1
       
  2593   other 2
       
  2594   
       
  2595   other 3
       
  2596   
       
  2597   
       
  2598   changeset:   2:97054abb4ab8
       
  2599   bisect:      untested
       
  2600   user:        other@place
       
  2601   date:        Wed Jan 14 21:20:00 1970 +0000
       
  2602   files:       c
       
  2603   description:
       
  2604   no person
       
  2605   
       
  2606   
       
  2607   changeset:   3:10e46f2dcbf4
       
  2608   bisect:      bad
       
  2609   user:        person
       
  2610   date:        Fri Jan 16 01:06:40 1970 +0000
       
  2611   files:       c
       
  2612   description:
       
  2613   no user, no domain
       
  2614   
       
  2615   
       
  2616   changeset:   4:bbe44766e73d
       
  2617   bisect:      bad (implicit)
       
  2618   branch:      foo
       
  2619   user:        person
       
  2620   date:        Sat Jan 17 04:53:20 1970 +0000
       
  2621   description:
       
  2622   new branch
       
  2623   
       
  2624   
       
  2625   $ hg --color=debug log -T bisect -r 0:4
       
  2626   [log.changeset changeset.public|changeset:   0:1e4e1b8f71e0]
       
  2627   [log.bisect bisect.good|bisect:      good (implicit)]
       
  2628   [log.user|user:        User Name <user@hostname>]
       
  2629   [log.date|date:        Mon Jan 12 13:46:40 1970 +0000]
       
  2630   [log.summary|summary:     line 1]
       
  2631   
       
  2632   [log.changeset changeset.public|changeset:   1:b608e9d1a3f0]
       
  2633   [log.bisect bisect.good|bisect:      good]
       
  2634   [log.user|user:        A. N. Other <other@place>]
       
  2635   [log.date|date:        Tue Jan 13 17:33:20 1970 +0000]
       
  2636   [log.summary|summary:     other 1]
       
  2637   
       
  2638   [log.changeset changeset.public|changeset:   2:97054abb4ab8]
       
  2639   [log.bisect bisect.untested|bisect:      untested]
       
  2640   [log.user|user:        other@place]
       
  2641   [log.date|date:        Wed Jan 14 21:20:00 1970 +0000]
       
  2642   [log.summary|summary:     no person]
       
  2643   
       
  2644   [log.changeset changeset.public|changeset:   3:10e46f2dcbf4]
       
  2645   [log.bisect bisect.bad|bisect:      bad]
       
  2646   [log.user|user:        person]
       
  2647   [log.date|date:        Fri Jan 16 01:06:40 1970 +0000]
       
  2648   [log.summary|summary:     no user, no domain]
       
  2649   
       
  2650   [log.changeset changeset.draft|changeset:   4:bbe44766e73d]
       
  2651   [log.bisect bisect.bad|bisect:      bad (implicit)]
       
  2652   [log.branch|branch:      foo]
       
  2653   [log.user|user:        person]
       
  2654   [log.date|date:        Sat Jan 17 04:53:20 1970 +0000]
       
  2655   [log.summary|summary:     new branch]
       
  2656   
       
  2657   $ hg --color=debug log --debug -T bisect -r 0:4
       
  2658   [log.changeset changeset.public|changeset:   0:1e4e1b8f71e05681d422154f5421e385fec3454f]
       
  2659   [log.bisect bisect.good|bisect:      good (implicit)]
       
  2660   [log.phase|phase:       public]
       
  2661   [log.parent changeset.public|parent:      -1:0000000000000000000000000000000000000000]
       
  2662   [log.parent changeset.public|parent:      -1:0000000000000000000000000000000000000000]
       
  2663   [ui.debug log.manifest|manifest:    0:a0c8bcbbb45c63b90b70ad007bf38961f64f2af0]
       
  2664   [log.user|user:        User Name <user@hostname>]
       
  2665   [log.date|date:        Mon Jan 12 13:46:40 1970 +0000]
       
  2666   [ui.debug log.files|files+:      a]
       
  2667   [ui.debug log.extra|extra:       branch=default]
       
  2668   [ui.note log.description|description:]
       
  2669   [ui.note log.description|line 1
       
  2670   line 2]
       
  2671   
       
  2672   
       
  2673   [log.changeset changeset.public|changeset:   1:b608e9d1a3f0273ccf70fb85fd6866b3482bf965]
       
  2674   [log.bisect bisect.good|bisect:      good]
       
  2675   [log.phase|phase:       public]
       
  2676   [log.parent changeset.public|parent:      0:1e4e1b8f71e05681d422154f5421e385fec3454f]
       
  2677   [log.parent changeset.public|parent:      -1:0000000000000000000000000000000000000000]
       
  2678   [ui.debug log.manifest|manifest:    1:4e8d705b1e53e3f9375e0e60dc7b525d8211fe55]
       
  2679   [log.user|user:        A. N. Other <other@place>]
       
  2680   [log.date|date:        Tue Jan 13 17:33:20 1970 +0000]
       
  2681   [ui.debug log.files|files+:      b]
       
  2682   [ui.debug log.extra|extra:       branch=default]
       
  2683   [ui.note log.description|description:]
       
  2684   [ui.note log.description|other 1
       
  2685   other 2
       
  2686   
       
  2687   other 3]
       
  2688   
       
  2689   
       
  2690   [log.changeset changeset.public|changeset:   2:97054abb4ab824450e9164180baf491ae0078465]
       
  2691   [log.bisect bisect.untested|bisect:      untested]
       
  2692   [log.phase|phase:       public]
       
  2693   [log.parent changeset.public|parent:      1:b608e9d1a3f0273ccf70fb85fd6866b3482bf965]
       
  2694   [log.parent changeset.public|parent:      -1:0000000000000000000000000000000000000000]
       
  2695   [ui.debug log.manifest|manifest:    2:6e0e82995c35d0d57a52aca8da4e56139e06b4b1]
       
  2696   [log.user|user:        other@place]
       
  2697   [log.date|date:        Wed Jan 14 21:20:00 1970 +0000]
       
  2698   [ui.debug log.files|files+:      c]
       
  2699   [ui.debug log.extra|extra:       branch=default]
       
  2700   [ui.note log.description|description:]
       
  2701   [ui.note log.description|no person]
       
  2702   
       
  2703   
       
  2704   [log.changeset changeset.public|changeset:   3:10e46f2dcbf4823578cf180f33ecf0b957964c47]
       
  2705   [log.bisect bisect.bad|bisect:      bad]
       
  2706   [log.phase|phase:       public]
       
  2707   [log.parent changeset.public|parent:      2:97054abb4ab824450e9164180baf491ae0078465]
       
  2708   [log.parent changeset.public|parent:      -1:0000000000000000000000000000000000000000]
       
  2709   [ui.debug log.manifest|manifest:    3:cb5a1327723bada42f117e4c55a303246eaf9ccc]
       
  2710   [log.user|user:        person]
       
  2711   [log.date|date:        Fri Jan 16 01:06:40 1970 +0000]
       
  2712   [ui.debug log.files|files:       c]
       
  2713   [ui.debug log.extra|extra:       branch=default]
       
  2714   [ui.note log.description|description:]
       
  2715   [ui.note log.description|no user, no domain]
       
  2716   
       
  2717   
       
  2718   [log.changeset changeset.draft|changeset:   4:bbe44766e73d5f11ed2177f1838de10c53ef3e74]
       
  2719   [log.bisect bisect.bad|bisect:      bad (implicit)]
       
  2720   [log.branch|branch:      foo]
       
  2721   [log.phase|phase:       draft]
       
  2722   [log.parent changeset.public|parent:      3:10e46f2dcbf4823578cf180f33ecf0b957964c47]
       
  2723   [log.parent changeset.public|parent:      -1:0000000000000000000000000000000000000000]
       
  2724   [ui.debug log.manifest|manifest:    3:cb5a1327723bada42f117e4c55a303246eaf9ccc]
       
  2725   [log.user|user:        person]
       
  2726   [log.date|date:        Sat Jan 17 04:53:20 1970 +0000]
       
  2727   [ui.debug log.extra|extra:       branch=foo]
       
  2728   [ui.note log.description|description:]
       
  2729   [ui.note log.description|new branch]
       
  2730   
       
  2731   
       
  2732   $ hg --color=debug log -v -T bisect -r 0:4
       
  2733   [log.changeset changeset.public|changeset:   0:1e4e1b8f71e0]
       
  2734   [log.bisect bisect.good|bisect:      good (implicit)]
       
  2735   [log.user|user:        User Name <user@hostname>]
       
  2736   [log.date|date:        Mon Jan 12 13:46:40 1970 +0000]
       
  2737   [ui.note log.files|files:       a]
       
  2738   [ui.note log.description|description:]
       
  2739   [ui.note log.description|line 1
       
  2740   line 2]
       
  2741   
       
  2742   
       
  2743   [log.changeset changeset.public|changeset:   1:b608e9d1a3f0]
       
  2744   [log.bisect bisect.good|bisect:      good]
       
  2745   [log.user|user:        A. N. Other <other@place>]
       
  2746   [log.date|date:        Tue Jan 13 17:33:20 1970 +0000]
       
  2747   [ui.note log.files|files:       b]
       
  2748   [ui.note log.description|description:]
       
  2749   [ui.note log.description|other 1
       
  2750   other 2
       
  2751   
       
  2752   other 3]
       
  2753   
       
  2754   
       
  2755   [log.changeset changeset.public|changeset:   2:97054abb4ab8]
       
  2756   [log.bisect bisect.untested|bisect:      untested]
       
  2757   [log.user|user:        other@place]
       
  2758   [log.date|date:        Wed Jan 14 21:20:00 1970 +0000]
       
  2759   [ui.note log.files|files:       c]
       
  2760   [ui.note log.description|description:]
       
  2761   [ui.note log.description|no person]
       
  2762   
       
  2763   
       
  2764   [log.changeset changeset.public|changeset:   3:10e46f2dcbf4]
       
  2765   [log.bisect bisect.bad|bisect:      bad]
       
  2766   [log.user|user:        person]
       
  2767   [log.date|date:        Fri Jan 16 01:06:40 1970 +0000]
       
  2768   [ui.note log.files|files:       c]
       
  2769   [ui.note log.description|description:]
       
  2770   [ui.note log.description|no user, no domain]
       
  2771   
       
  2772   
       
  2773   [log.changeset changeset.draft|changeset:   4:bbe44766e73d]
       
  2774   [log.bisect bisect.bad|bisect:      bad (implicit)]
       
  2775   [log.branch|branch:      foo]
       
  2776   [log.user|user:        person]
       
  2777   [log.date|date:        Sat Jan 17 04:53:20 1970 +0000]
       
  2778   [ui.note log.description|description:]
       
  2779   [ui.note log.description|new branch]
       
  2780   
       
  2781   
       
  2782   $ hg bisect --reset
       
  2783 
       
  2784 Error on syntax:
       
  2785 
       
  2786   $ echo 'x = "f' >> t
       
  2787   $ hg log
  1169   $ hg log
  2788   hg: parse error at t:3: unmatched quotes
  1170   hg: parse error at t:3: unmatched quotes
  2789   [255]
  1171   [255]
  2790 
  1172 
  2791   $ hg log -T '{date'
  1173   $ hg log -T '{date'
  3188   |
  1570   |
  3189   o  0: null, C: 1, D: 1
  1571   o  0: null, C: 1, D: 1
  3190   
  1572   
  3191 
  1573 
  3192   $ cd ..
  1574   $ cd ..
  3193 
       
  3194 
       
  3195 Style path expansion: issue1948 - ui.style option doesn't work on OSX
       
  3196 if it is a relative path
       
  3197 
       
  3198   $ mkdir -p home/styles
       
  3199 
       
  3200   $ cat > home/styles/teststyle <<EOF
       
  3201   > changeset = 'test {rev}:{node|short}\n'
       
  3202   > EOF
       
  3203 
       
  3204   $ HOME=`pwd`/home; export HOME
       
  3205 
       
  3206   $ cat > latesttag/.hg/hgrc <<EOF
       
  3207   > [ui]
       
  3208   > style = ~/styles/teststyle
       
  3209   > EOF
       
  3210 
       
  3211   $ hg -R latesttag tip
       
  3212   test 11:97e5943b523a
       
  3213 
       
  3214 Test recursive showlist template (issue1989):
       
  3215 
       
  3216   $ cat > style1989 <<EOF
       
  3217   > changeset = '{file_mods}{manifest}{extras}'
       
  3218   > file_mod  = 'M|{author|person}\n'
       
  3219   > manifest = '{rev},{author}\n'
       
  3220   > extra = '{key}: {author}\n'
       
  3221   > EOF
       
  3222 
       
  3223   $ hg -R latesttag log -r tip --style=style1989
       
  3224   M|test
       
  3225   11,test
       
  3226   branch: test
       
  3227 
  1575 
  3228 Test new-style inline templating:
  1576 Test new-style inline templating:
  3229 
  1577 
  3230   $ hg log -R latesttag -r tip --template 'modified files: {file_mods % " {file}\n"}\n'
  1578   $ hg log -R latesttag -r tip --template 'modified files: {file_mods % " {file}\n"}\n'
  3231   modified files:  .hgtags
  1579   modified files:  .hgtags