Uploaded image for project: 'Code Tools'
  1. Code Tools
  2. CODETOOLS-7901466

Mercurial 3.4 breaks behavior of webrev -r

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • None
    • None
    • tools
    • None

      Mercurial 3.4 contains this patch
      http://patchwork.serpentine.com/patch/7848/
      log: make -fr show complete history from the given revs (BC)

      This patch change the behavior of hg log -r -f command which is used in the comments_from_mercurial() function.
      The result is a long list of comments not limited to requested revisions.
      It seems to me that the equivalent of the old --rev $FIRST_CREV:tip --follow behavior is now "$FIRST_CREV::tip", see https://www.selenic.com/hg/help/revsets
      I've attached sample script which creates a repo and shows the result of log commands.

      Its output with hg < 3.4 is:
      $ ./test.sh
      ++ hg log --rev 4:tip --template 'rev {rev} : {desc}\n' file2
      rev 4 : edit3
      ++ hg log --rev 4:tip --follow --template 'rev {rev} : {desc}\n' file2
      rev 4 : edit3
      ++ hg log --rev 4::tip --template 'rev {rev} : {desc}\n' file2
      rev 4 : edit3

      With hg >= 3.4 the output is:
      $ ./test.sh
      ++ hg log --rev 4:tip --template 'rev {rev} : {desc}\n' file2
      rev 4 : edit3
      ++ hg log --rev 4:tip --follow --template 'rev {rev} : {desc}\n' file2
      rev 4 : edit3
      rev 3 : edit2
      rev 2 : rename
      ++ hg log --rev 4::tip --template 'rev {rev} : {desc}\n' file2
      rev 4 : edit3

      The result of webrev -N -r -2 is the same, 1 comment with old hg, 3 comments with new hg.

            Unassigned Unassigned
            vadim Vadim Pakhnushev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: