mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 07:49:11 +03:00
convert: try to be smarter about CVS branching
Better handles this case: The output from cvsps -A -u --cvs-direct -q: --------------------- PatchSet 1 Date: 2008/02/08 20:33:28 Author: fk Branch: HEAD Tag: (none) Log: initial Members: file_one:INITIAL->1.1 --------------------- PatchSet 2 Date: 2008/02/08 20:33:32 Author: fk Branch: branch_name Ancestor branch: HEAD Tag: (none) Log: new file on branch Members: file_two:1.1->1.1.2.1
This commit is contained in:
parent
c9911f3bdf
commit
11a373ad95
@ -71,7 +71,7 @@ class convert_cvs(converter_source):
|
||||
elif l.startswith("Ancestor branch"):
|
||||
ancestor = l[17:-1]
|
||||
# figure out the parent later
|
||||
self.parent[id] = None
|
||||
self.parent[id] = self.lastbranch[ancestor]
|
||||
elif l.startswith("Author"):
|
||||
author = self.recode(l[8:-1])
|
||||
elif l.startswith("Tag:") or l.startswith("Tags:"):
|
||||
@ -101,13 +101,14 @@ class convert_cvs(converter_source):
|
||||
p = []
|
||||
if branch == "HEAD":
|
||||
branch = ""
|
||||
if branch and p[0] == None:
|
||||
if branch:
|
||||
latest = None
|
||||
# the last changeset that contains a base
|
||||
# file is our parent
|
||||
for r in oldrevs:
|
||||
latest = max(filerevids[r], latest)
|
||||
p = [latest]
|
||||
latest = max(filerevids.get(r, None), latest)
|
||||
if latest:
|
||||
p = [latest]
|
||||
|
||||
# add current commit to set
|
||||
c = commit(author=author, date=date, parents=p,
|
||||
|
Loading…
Reference in New Issue
Block a user