largefiles: improve error reporting
- tweak wording of some error messages
- use consistent capitalization
- always say 'largefile', not 'lfile'
- fix I18N problems
- only raise Abort for errors the user can do something about
--- a/hgext/largefiles/basestore.py Wed Oct 12 20:59:27 2011 -0400
+++ b/hgext/largefiles/basestore.py Thu Oct 13 20:24:29 2011 -0400
@@ -199,4 +199,4 @@
except lfutil.storeprotonotcapable:
pass
- raise util.Abort(_('%s does not appear to be a lfile store'), path)
+ raise util.Abort(_('%s does not appear to be a largefile store'), path)
--- a/hgext/largefiles/lfcommands.py Wed Oct 12 20:59:27 2011 -0400
+++ b/hgext/largefiles/lfcommands.py Thu Oct 13 20:24:29 2011 -0400
@@ -345,8 +345,8 @@
total=len(files))
source = lfutil.findfile(rsrc, hash)
if not source:
- raise util.Abort(_('Missing largefile %s needs to be uploaded')
- % hash)
+ raise util.Abort(_('largefile %s missing from store'
+ ' (needs to be uploaded)') % hash)
# XXX check for errors here
store.put(source, hash)
at += 1
--- a/hgext/largefiles/lfutil.py Wed Oct 12 20:59:27 2011 -0400
+++ b/hgext/largefiles/lfutil.py Thu Oct 13 20:24:29 2011 -0400
@@ -91,7 +91,7 @@
elif os.name == 'posix':
path = os.path.join(os.getenv('HOME'), '.' + longname, hash)
else:
- raise util.Abort(_('Unknown operating system: %s\n') % os.name)
+ raise util.Abort(_('unknown operating system: %s\n') % os.name)
return path
def insystemcache(ui, hash):
--- a/hgext/largefiles/remotestore.py Wed Oct 12 20:59:27 2011 -0400
+++ b/hgext/largefiles/remotestore.py Thu Oct 13 20:24:29 2011 -0400
@@ -50,9 +50,10 @@
def _getfile(self, tmpfile, filename, hash):
# quit if the largefile isn't there
stat = self._stat(hash)
- if stat:
- raise util.Abort(_('remotestore: largefile %s is %s') %
- (hash, stat == 1 and 'invalid' or 'missing'))
+ if stat == 1:
+ raise util.Abort(_('remotestore: largefile %s is invalid') % hash)
+ elif stat == 2:
+ raise util.Abort(_('remotestore: largefile %s is missing') % hash)
try:
length, infile = self._get(hash)
@@ -64,7 +65,7 @@
# This usually indicates a connection problem, so don't
# keep trying with the other files... they will probably
# all fail too.
- raise util.Abort('%s: %s' % (self.url, str(e.reason)))
+ raise util.Abort('%s: %s' % (self.url, e.reason))
except IOError, e:
raise basestore.StoreError(filename, hash, self.url, str(e))
@@ -101,5 +102,5 @@
% (cset, filename))
return True # failed
else:
- raise util.Abort(_('check failed, unexpected response'
- 'statlfile: %d') % stat)
+ raise RuntimeError('verify failed: unexpected response from '
+ 'statlfile (%r)' % stat)
--- a/hgext/largefiles/reposetup.py Wed Oct 12 20:59:27 2011 -0400
+++ b/hgext/largefiles/reposetup.py Thu Oct 13 20:24:29 2011 -0400
@@ -287,10 +287,11 @@
return orig(text=text, user=user, date=date, match=match,
force=force, editor=editor, extra=extra)
- for file in match.files():
- if lfutil.isstandin(file):
+ for f in match.files():
+ if lfutil.isstandin(f):
raise util.Abort(
- "Don't commit largefile standin. Commit largefile.")
+ _('file "%s" is a largefile standin') % f,
+ hint=('commit the largefile itself instead'))
# Case 2: user calls commit with specified patterns: refresh
# any matching big files.
--- a/tests/test-largefiles.t Wed Oct 12 20:59:27 2011 -0400
+++ b/tests/test-largefiles.t Thu Oct 13 20:24:29 2011 -0400
@@ -172,7 +172,8 @@
$ cd ..
$ echo large3 > large3
$ hg commit .hglf/large3 -m "try to commit standin"
- abort: Don't commit largefile standin. Commit largefile.
+ abort: file ".hglf/large3" is a largefile standin
+ (commit the largefile itself instead)
[255]
Test some cornercases for adding largefiles.