[Bug 4149] New: `hg log -r "file(...)"` shows -less- csets if --follow flag used.

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Thu Jan 16 12:26:58 CST 2014


http://bz.selenic.com/show_bug.cgi?id=4149

          Priority: normal
            Bug ID: 4149
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: `hg log -r "file(...)"` shows -less- csets if --follow
                    flag used.
          Severity: bug
    Classification: Unclassified
                OS: Linux
          Reporter: g.gherdovich at gmail.com
          Hardware: All
            Status: UNCONFIRMED
           Version: 2.7.2
         Component: Mercurial
           Product: Mercurial

I am surprised by the following things, happening in a repository I am working
on:

i)  `hg log "file()"` find LESS changeset if --follow is used
         (Case 2 ~VS~ Case 1, and also Case 5 ~VS~ Case 6)
ii) the --graph option have an influence on the number of csets found
         (Case 4 ~VS~ Case 3, and also Case 8 ~VS~ Case 7)

Unfortunately the repo is confidential.
I hope you can help polish this report and nail the actual problem to a minimal
repro.

== what's here ==

         | file()    | filelog()  | --follow  | --graph  | # of csets found  |
------------------------------------------------------------------------------
Case 1:  |     x     |            |           |          |        4          |
Case 2:  |     x     |            |     x     |          |        1          |
Case 3:  |     x     |            |           |     x    |        4          |
Case 4:  |     x     |            |     x     |     x    |        4          |
Case 5:  |           |     x      |           |          |        4          |
Case 6:  |           |     x      |     x     |          |        1          |
Case 7:  |           |     x      |           |     x    |        4          |
Case 8:  |           |     x      |     x     |     x    |        4          |


== Case 1 ==

{{{
$ hg log --rev "file('/path/to/file')" \
         --template '{node|short}\t{rev}\n'
87b46c90bb27    16187
8344f07fcf39    16191
4fd98bb63ec9    16193
c01e8f255173    16437
}}}

== Case 2 ==

{{{
$ hg log --follow \
         --rev "file('/path/to/file')" \
         --template '{node|short}\t{rev}\n'
87b46c90bb27    16187
}}}

== Case 3 ==

{{{
$ hg log --graph \
         --rev "file('/path/to/file')" \
         --template '{node|short}\t{rev}\n'
@    c01e8f255173    16437
|\
| o    4fd98bb63ec9    16193
| |\
| | o    8344f07fcf39    16191
| | |\
| | | o  87b46c90bb27    16187
| | | |
}}}

== Case 4 ==

{{{
$ hg log --graph \
         --follow \
         --rev "file('/path/to/file')" \
         --template '{node|short}\t{rev}\n'
@    c01e8f255173    16437
|\
| o    4fd98bb63ec9    16193
| |\
| | o    8344f07fcf39    16191
| | |\
| | | o  87b46c90bb27    16187
| | | |
}}}

== Case 5 ==

{{{
$ hg log --rev "filelog('/path/to/file')" \
         --template '{node|short}\t{rev}\n'
87b46c90bb27    16187
8344f07fcf39    16191
4fd98bb63ec9    16193
c01e8f255173    16437
}}}

== Case 6 ==

{{{
$ hg log --follow \
         --rev "filelog('/path/to/file')" \
          --template '{node|short}\t{rev}\n'
87b46c90bb27    16187
}}}

== Case 7 ==

{{{
$ hg log --graph \
         --rev "filelog('/path/to/file')" \
         --template '{node|short}\t{rev}\n' 
@    c01e8f255173    16437
|\
| o    4fd98bb63ec9    16193
| |\
| | o    8344f07fcf39    16191
| | |\
| | | o  87b46c90bb27    16187
| | | |
}}}

== Case 8 ==

{{{
$ hg log --graph \
         --follow \
         --rev "filelog('/path/to/file')" \
         --template '{node|short}\t{rev}\n'
@    c01e8f255173    16437
|\
| o    4fd98bb63ec9    16193
| |\
| | o    8344f07fcf39    16191
| | |\
| | | o  87b46c90bb27    16187
| | | |
}}}

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list