summaryrefslogtreecommitdiff
path: root/git-fat
diff options
context:
space:
mode:
authorJames Murty <james@murty.co>2014-05-23 16:20:30 +0100
committerJames Murty <james@murty.co>2014-05-23 16:20:30 +0100
commit9f52324add1a4ededc8f47d11e90216f40cab497 (patch)
tree6732d80979632f40ba3f50a99134095736f6e701 /git-fat
parent456d22cb3c7ba60e15d5d0f7de771c2acf573481 (diff)
downloadgit-fat-9f52324add1a4ededc8f47d11e90216f40cab497.tar.gz
Fail with a clear error if 'git fat pull' is run on uninitialised repo.
This fixes issue #25 in the original project.
Diffstat (limited to 'git-fat')
-rwxr-xr-xgit-fat9
1 files changed, 8 insertions, 1 deletions
diff --git a/git-fat b/git-fat
index 97315ea..7a9c00d 100755
--- a/git-fat
+++ b/git-fat
@@ -370,6 +370,7 @@ class GitFat(object):
def cmd_pull(self, args):
'Pull anything that I have referenced, but not stored'
self.setup()
+ self.assert_init_done()
refargs = dict()
if '--all' in args:
refargs['all'] = True
@@ -414,9 +415,15 @@ class GitFat(object):
fname = os.path.join(self.objdir, obj)
print('%10d %s' % (os.stat(fname).st_size, obj))
os.remove(fname)
+ def is_init_done(self):
+ return gitconfig_get('filter.fat.clean') or gitconfig_get('filter.fat.smudge')
+ def assert_init_done(self):
+ if not self.is_init_done():
+ print('Git fat is not yet configured in this repository, run "git fat init"')
+ sys.exit(1)
def cmd_init(self):
self.setup()
- if gitconfig_get('filter.fat.clean') or gitconfig_get('filter.fat.smudge'):
+ if self.is_init_done():
print('Git fat already configured, check configuration in .git/config')
else:
gitconfig_set('filter.fat.clean', 'git-fat filter-clean')