# HG changeset patch # User Mads Kiilerich # Date 1366061553 -7200 # Node ID d035c390211187b7536736a1ff1054423b8f580b # Parent 4cf09a1bf5b2c88b753a2fcc6ad11fdeb3d99889 largefiles: refactoring - create destination dir in lfutil.link diff -r 4cf09a1bf5b2 -r d035c3902111 hgext/largefiles/lfutil.py --- a/hgext/largefiles/lfutil.py Tue Apr 09 23:40:11 2013 +0900 +++ b/hgext/largefiles/lfutil.py Mon Apr 15 23:32:33 2013 +0200 @@ -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 -r 4cf09a1bf5b2 -r d035c3902111 hgext/largefiles/localstore.py --- a/hgext/largefiles/localstore.py Tue Apr 09 23:40:11 2013 +0900 +++ b/hgext/largefiles/localstore.py Mon Apr 15 23:32:33 2013 +0200 @@ -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),