mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
linkrev: also adjust linkrev when bootstrapping 'follow' revset
The follow revset (used by `hg log --follow`) now uses the new 'introrev' method to bootstrap its traversal. This catches issues from linkrev-shadowing of the changesets introducing the version of a file in source changeset. A new test has been added to display pathological cases. Another test is affected because it was meant to test this behavior but actually failed to do so for half of the output. The output are now similar.
This commit is contained in:
parent
ca713b2bdd
commit
0344ecbf5b
@ -807,7 +807,7 @@ def _follow(repo, subset, x, name, followfirst=False):
|
||||
cx = c[x]
|
||||
s = set(ctx.rev() for ctx in cx.ancestors(followfirst=followfirst))
|
||||
# include the revision responsible for the most recent version
|
||||
s.add(cx.linkrev())
|
||||
s.add(cx.introrev())
|
||||
else:
|
||||
return baseset()
|
||||
else:
|
||||
|
@ -1559,7 +1559,7 @@ hg log -f dir across branches
|
||||
o a
|
||||
|
||||
$ hg log -f d/a -T '{desc}' -G
|
||||
o b
|
||||
@ c
|
||||
|
|
||||
o a
|
||||
|
||||
@ -1656,4 +1656,21 @@ plain log lists the original version
|
||||
date: Thu Jan 01 00:00:00 1970 +0000
|
||||
summary: content1
|
||||
|
||||
|
||||
hg log -f from the grafted changeset
|
||||
(The bootstrap should properly take the topology in account)
|
||||
|
||||
$ hg up 'desc(content3)^'
|
||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
$ hg log -Gf a
|
||||
@ changeset: 3:15b2327059e5
|
||||
| user: test
|
||||
| date: Thu Jan 01 00:00:00 1970 +0000
|
||||
| summary: content2
|
||||
|
|
||||
o changeset: 0:ae0a3c9f9e95
|
||||
user: test
|
||||
date: Thu Jan 01 00:00:00 1970 +0000
|
||||
summary: content1
|
||||
|
||||
$ cd ..
|
||||
|
Loading…
Reference in New Issue
Block a user