# HG changeset patch # User Hao Lian # Date 1320332372 14400 # Node ID db8b0ee74025f77c02b3cc9f183aca720f41a400 # Parent ee112eb69d2aaed1ceb6922cb9c2cbc3fd893a0b largefiles: ensure destination directory exists before findfile links to there When (1) findfile links a largefile from the user cache to the store and (2) the store directory doesn't exist yet, findfile errors out. A simple call to util.makedirs fixes it. diff -r ee112eb69d2a -r db8b0ee74025 hgext/largefiles/lfutil.py --- a/hgext/largefiles/lfutil.py Thu Nov 03 11:24:55 2011 -0500 +++ b/hgext/largefiles/lfutil.py Thu Nov 03 10:59:32 2011 -0400 @@ -110,7 +110,9 @@ repo.ui.note(_('Found %s in store\n') % hash) elif inusercache(repo.ui, hash): repo.ui.note(_('Found %s in system cache\n') % hash) - link(usercachepath(repo.ui, hash), storepath(repo, hash)) + path = storepath(repo, hash) + util.makedirs(os.path.dirname(path)) + link(usercachepath(repo.ui, hash), path) else: return None return storepath(repo, hash)