mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 07:49:11 +03:00
convert/bzr: fix symlinks target (issue1626/2)
This commit is contained in:
parent
aed75cf65f
commit
d3d9100f4a
@ -73,12 +73,22 @@ class bzr_source(converter_source):
|
||||
def getfile(self, name, rev):
|
||||
revtree = self.sourcerepo.revision_tree(rev)
|
||||
fileid = revtree.path2id(name)
|
||||
if fileid is None or revtree.kind(fileid) not in supportedkinds:
|
||||
kind = None
|
||||
if fileid is not None:
|
||||
kind = revtree.kind(fileid)
|
||||
if kind not in supportedkinds:
|
||||
# the file is not available anymore - was deleted
|
||||
raise IOError(_('%s is not available in %s anymore') %
|
||||
(name, rev))
|
||||
sio = revtree.get_file(fileid)
|
||||
return sio.read()
|
||||
if kind == 'symlink':
|
||||
target = revtree.get_symlink_target(fileid)
|
||||
if target is None:
|
||||
raise util.Abort(_('%s.%s symlink has no target')
|
||||
% (name, rev))
|
||||
return target
|
||||
else:
|
||||
sio = revtree.get_file(fileid)
|
||||
return sio.read()
|
||||
|
||||
def getmode(self, name, rev):
|
||||
return self._modecache[(name, rev)]
|
||||
|
@ -94,4 +94,8 @@ cd ..
|
||||
hg convert source source-hg
|
||||
manifest source-hg 0
|
||||
manifest source-hg tip
|
||||
cd ..
|
||||
cd source-hg
|
||||
echo % test the symlinks can be recreated
|
||||
hg up
|
||||
hg cat syma
|
||||
cd ../..
|
||||
|
@ -70,3 +70,6 @@ converting...
|
||||
755 * newprog
|
||||
644 program
|
||||
644 @ syma
|
||||
% test the symlinks can be recreated
|
||||
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
a
|
Loading…
Reference in New Issue
Block a user