[PATCH 1 of 2] largefiles: fix rename (Issue 3093)
Na'Tosha Bard
natosha at unity3d.com
Tue Nov 29 09:15:40 CST 2011
# HG changeset patch
# User Na'Tosha Bard <natosha at unity3d.com>
# Date 1322579324 -3600
# Node ID dfe717266e728cb2f780899ad218f3a4fa2a5ee9
# Parent ad686c818e1c7d5ed0335327321003ba8ea04664
largefiles: fix rename (Issue 3093)
diff -r ad686c818e1c -r dfe717266e72 hgext/largefiles/overrides.py
--- a/hgext/largefiles/overrides.py Fri Nov 25 02:11:12 2011 +0100
+++ b/hgext/largefiles/overrides.py Tue Nov 29 16:08:44 2011 +0100
@@ -389,17 +389,18 @@
lfdirstate = lfutil.openlfdirstate(ui, repo)
for (src, dest) in copiedfiles:
if lfutil.shortname in src and lfutil.shortname in dest:
- srclfile = src.replace(lfutil.shortname, '')
- destlfile = dest.replace(lfutil.shortname, '')
+ substr = repo.root + "/" + lfutil.shortname + "/"
+ srclfile = src.replace(substr, '')
+ destlfile = dest.replace(substr, '')
destlfiledir = os.path.dirname(destlfile) or '.'
if not os.path.isdir(destlfiledir):
os.makedirs(destlfiledir)
if rename:
- os.rename(srclfile, destlfile)
- lfdirstate.remove(repo.wjoin(srclfile))
+ os.rename(repo.wjoin(srclfile), repo.wjoin(destlfile))
+ lfdirstate.remove(srclfile)
else:
util.copyfile(srclfile, destlfile)
- lfdirstate.add(repo.wjoin(destlfile))
+ lfdirstate.add(destlfile)
lfdirstate.write()
except util.Abort, e:
if str(e) != 'no files to copy':
More information about the Mercurial-devel
mailing list