[PATCH 01 of 13] largefiles: refactoring - create destination dir in lfutil.link
Mads Kiilerich
mads at kiilerich.com
Tue Apr 16 02:43:18 UTC 2013
# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1366061553 -7200
# Mon Apr 15 23:32:33 2013 +0200
# Node ID ee8921bf4a35fe2fd8a2dcc04a0048db344ca58f
# Parent 18b828bbae09abbeac1d8ad79fbef22691f34ec2
largefiles: refactoring - create destination dir in lfutil.link
diff --git a/hgext/largefiles/lfutil.py b/hgext/largefiles/lfutil.py
--- a/hgext/largefiles/lfutil.py
+++ b/hgext/largefiles/lfutil.py
@@ -39,6 +39,7 @@
return lfsize
def link(src, dest):
+ util.makedirs(os.path.dirname(dest))
try:
util.oslink(src, dest)
except OSError:
@@ -86,7 +87,6 @@
elif inusercache(repo.ui, hash):
repo.ui.note(_('found %s in system cache\n') % hash)
path = storepath(repo, hash)
- util.makedirs(os.path.dirname(path))
link(usercachepath(repo.ui, hash), path)
return path
return None
@@ -203,10 +203,10 @@
def copytostoreabsolute(repo, file, hash):
- util.makedirs(os.path.dirname(storepath(repo, hash)))
if inusercache(repo.ui, hash):
link(usercachepath(repo.ui, hash), storepath(repo, hash))
elif not getattr(repo, "_isconverting", False):
+ util.makedirs(os.path.dirname(storepath(repo, hash)))
dst = util.atomictempfile(storepath(repo, hash),
createmode=repo.store.createmode)
for chunk in util.filechunkiter(open(file, 'rb')):
@@ -217,7 +217,6 @@
def linktousercache(repo, hash):
path = usercachepath(repo.ui, hash)
if path:
- util.makedirs(os.path.dirname(path))
link(storepath(repo, hash), path)
def getstandinmatcher(repo, pats=[], opts={}):
diff --git a/hgext/largefiles/localstore.py b/hgext/largefiles/localstore.py
--- a/hgext/largefiles/localstore.py
+++ b/hgext/largefiles/localstore.py
@@ -8,9 +8,6 @@
'''store class for local filesystem'''
-import os
-
-from mercurial import util
from mercurial.i18n import _
import lfutil
@@ -26,7 +23,6 @@
super(localstore, self).__init__(ui, repo, self.remote.url())
def put(self, source, hash):
- util.makedirs(os.path.dirname(lfutil.storepath(self.remote, hash)))
if lfutil.instore(self.remote, hash):
return
lfutil.link(lfutil.storepath(self.repo, hash),
More information about the Mercurial-devel
mailing list