Mercurial > public > mercurial-scm > hg
comparison mercurial/tagmerge.py @ 23139:e53f6b72a0e4
spelling: fixes from proofreading of spell checker issues
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Thu, 17 Apr 2014 22:47:38 +0200 |
parents | b27c3beaaf30 |
children | fa91c49a9b9f |
comparison
equal
deleted
inserted
replaced
23136:6eab50a34fed | 23139:e53f6b72a0e4 |
---|---|
37 # 3. take all tags that are only on p1 or only on p2 (but not on the base) | 37 # 3. take all tags that are only on p1 or only on p2 (but not on the base) |
38 # - Note that these are the tags that were introduced between base and p1 | 38 # - Note that these are the tags that were introduced between base and p1 |
39 # and between base and p2, possibly on separate clones | 39 # and between base and p2, possibly on separate clones |
40 # 4. for each tag found both on p1 and p2 perform the following merge algorithm: | 40 # 4. for each tag found both on p1 and p2 perform the following merge algorithm: |
41 # - the tags conflict if their tag "histories" have the same "rank" (i.e. | 41 # - the tags conflict if their tag "histories" have the same "rank" (i.e. |
42 # length) _AND_ the last (current) tag is _NOT_ the same | 42 # length) AND the last (current) tag is NOT the same |
43 # - for non conflicting tags: | 43 # - for non conflicting tags: |
44 # - choose which are the high and the low ranking nodes | 44 # - choose which are the high and the low ranking nodes |
45 # - the high ranking list of nodes is the one that is longer. | 45 # - the high ranking list of nodes is the one that is longer. |
46 # In case of draw favor p1 | 46 # In case of draw favor p1 |
47 # - the merged node list is made of 3 parts: | 47 # - the merged node list is made of 3 parts: |
55 # - note that during the merge we keep the "node line numbers", which will | 55 # - note that during the merge we keep the "node line numbers", which will |
56 # be used when writing the merged tags to the tag file | 56 # be used when writing the merged tags to the tag file |
57 # 5. write the merged tags taking into account to their positions in the first | 57 # 5. write the merged tags taking into account to their positions in the first |
58 # parent (i.e. try to keep the relative ordering of the nodes that come | 58 # parent (i.e. try to keep the relative ordering of the nodes that come |
59 # from p1). This minimizes the diff between the merged and the p1 tag files | 59 # from p1). This minimizes the diff between the merged and the p1 tag files |
60 # This is donw by using the following algorithm | 60 # This is done by using the following algorithm |
61 # - group the nodes for a given tag that must be written next to each other | 61 # - group the nodes for a given tag that must be written next to each other |
62 # - A: nodes that come from consecutive lines on p1 | 62 # - A: nodes that come from consecutive lines on p1 |
63 # - B: nodes that come from p2 (i.e. whose associated line number is | 63 # - B: nodes that come from p2 (i.e. whose associated line number is |
64 # None) and are next to one of the a nodes in A | 64 # None) and are next to one of the a nodes in A |
65 # - each group is associated with a line number coming from p1 | 65 # - each group is associated with a line number coming from p1 |
79 hexnullid = hex(nullid) | 79 hexnullid = hex(nullid) |
80 | 80 |
81 def readtagsformerge(ui, repo, lines, fn='', keeplinenums=False): | 81 def readtagsformerge(ui, repo, lines, fn='', keeplinenums=False): |
82 '''read the .hgtags file into a structure that is suitable for merging | 82 '''read the .hgtags file into a structure that is suitable for merging |
83 | 83 |
84 Sepending on the keeplinenumbers flag, clear the line numbers associated | 84 Depending on the keeplinenums flag, clear the line numbers associated |
85 with each tag. Rhis is done because only the line numbers of the first | 85 with each tag. This is done because only the line numbers of the first |
86 parent are useful for merging | 86 parent are useful for merging. |
87 ''' | 87 ''' |
88 filetags = tagsmod._readtaghist(ui, repo, lines, fn=fn, recode=None, | 88 filetags = tagsmod._readtaghist(ui, repo, lines, fn=fn, recode=None, |
89 calcnodelines=True)[1] | 89 calcnodelines=True)[1] |
90 for tagname, taginfo in filetags.items(): | 90 for tagname, taginfo in filetags.items(): |
91 if not keeplinenums: | 91 if not keeplinenums: |