##// END OF EJS Templates
convert/bzr: fix symlinks target (issue1626/2)
Patrick Mezard -
r8423:eb7be0e7 default
parent child Browse files
Show More
@@ -73,12 +73,22 b' class bzr_source(converter_source):'
73 def getfile(self, name, rev):
73 def getfile(self, name, rev):
74 revtree = self.sourcerepo.revision_tree(rev)
74 revtree = self.sourcerepo.revision_tree(rev)
75 fileid = revtree.path2id(name)
75 fileid = revtree.path2id(name)
76 if fileid is None or revtree.kind(fileid) not in supportedkinds:
76 kind = None
77 if fileid is not None:
78 kind = revtree.kind(fileid)
79 if kind not in supportedkinds:
77 # the file is not available anymore - was deleted
80 # the file is not available anymore - was deleted
78 raise IOError(_('%s is not available in %s anymore') %
81 raise IOError(_('%s is not available in %s anymore') %
79 (name, rev))
82 (name, rev))
80 sio = revtree.get_file(fileid)
83 if kind == 'symlink':
81 return sio.read()
84 target = revtree.get_symlink_target(fileid)
85 if target is None:
86 raise util.Abort(_('%s.%s symlink has no target')
87 % (name, rev))
88 return target
89 else:
90 sio = revtree.get_file(fileid)
91 return sio.read()
82
92
83 def getmode(self, name, rev):
93 def getmode(self, name, rev):
84 return self._modecache[(name, rev)]
94 return self._modecache[(name, rev)]
@@ -94,4 +94,8 b' cd ..'
94 hg convert source source-hg
94 hg convert source source-hg
95 manifest source-hg 0
95 manifest source-hg 0
96 manifest source-hg tip
96 manifest source-hg tip
97 cd ..
97 cd source-hg
98 echo % test the symlinks can be recreated
99 hg up
100 hg cat syma
101 cd ../..
@@ -70,3 +70,6 b' 644 d/a'
70 755 * newprog
70 755 * newprog
71 644 program
71 644 program
72 644 @ syma
72 644 @ syma
73 % test the symlinks can be recreated
74 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
75 a No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now