annotate tests/test-hg-parseurl.py.out @ 23703:aaa76612b3c0

linkrev: introduce an 'introrev' method on filectx The previous changeset properly fixed the ancestors computation, but we need to ensure that the initial filectx is also using the right changeset. When asking for log or annotation from a certain point, the first step is to define the changeset that introduced the current file version. We cannot just pick the "starting point" changesets as it may just "use" the file revision, unchanged. Currently, we were using 'linkrev' for this purpose, but this exposes us to unexpected branch-jumping when the revision introducing the starting point version is itself linkrev-shadowed. So we need to take the topology into account again. Therefore, we introduce an 'introrev' function, returning the changeset which introduced the file change in the current changeset. This function will be used to fix linkrev-related issues when bootstrapping 'hg log --follow' and 'hg annotate'. It reuses the '_adjustlinkrev' function, extending it to allow introspection of the initial changeset too. In the previous usage of the '_adjustlinkrev' the starting rev was always using a children file revisions, so it could be safely ignored in the search. In this case, the starting point is using the revision of the file we are looking, and may be the changeset we are looking for.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 23 Dec 2014 16:14:39 -0800
parents 375872fdadba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11322
3d6915f5a2bb improve --branch processing (and differentiate from # syntax)
Sune Foldager <cryo@cyanite.org>
parents: 10365
diff changeset
1 http://example.com/no/anchor, branches: (None, [])
3d6915f5a2bb improve --branch processing (and differentiate from # syntax)
Sune Foldager <cryo@cyanite.org>
parents: 10365
diff changeset
2 http://example.com/an/anchor, branches: ('foo', [])
3d6915f5a2bb improve --branch processing (and differentiate from # syntax)
Sune Foldager <cryo@cyanite.org>
parents: 10365
diff changeset
3 http://example.com/no/anchor/branches, branches: (None, ['foo'])
3d6915f5a2bb improve --branch processing (and differentiate from # syntax)
Sune Foldager <cryo@cyanite.org>
parents: 10365
diff changeset
4 http://example.com/an/anchor/branches, branches: ('bar', ['foo'])
3d6915f5a2bb improve --branch processing (and differentiate from # syntax)
Sune Foldager <cryo@cyanite.org>
parents: 10365
diff changeset
5 http://example.com/an/anchor/branches-None, branches: ('foo', [])
13897
375872fdadba hg: make parseurl() consistently return normalised path
Thomas Arendsen Hein <thomas@intevation.de>
parents: 11322
diff changeset
6 http://example.com/, branches: (None, [])
375872fdadba hg: make parseurl() consistently return normalised path
Thomas Arendsen Hein <thomas@intevation.de>
parents: 11322
diff changeset
7 http://example.com/, branches: (None, [])
375872fdadba hg: make parseurl() consistently return normalised path
Thomas Arendsen Hein <thomas@intevation.de>
parents: 11322
diff changeset
8 http://example.com/, branches: ('foo', [])