summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJed Brown <jed@59A2.org>2013-08-29 08:15:25 -0500
committerJed Brown <jed@59A2.org>2013-08-29 08:15:25 -0500
commit0701f44d61d3bdab8170bc14675c81e2e63fd6e1 (patch)
treedc59dc48f2175b986f5aeaa601619958c8f8aaef
parentf0becae702b967e1b963b1a101aca233436272e8 (diff)
parent776cc7cf682959c684cd2f0ee0c9044bee3dac76 (diff)
downloadgit-fat-0701f44d61d3bdab8170bc14675c81e2e63fd6e1.tar.gz
Merge branch 'skip-broken-symlinks' of github:chhitz/git-fat (PR #16)
* 'skip-broken-symlinks' of github:chhitz/git-fat: fix handling of broken symlinks
-rwxr-xr-xgit-fat5
-rwxr-xr-xtest.sh3
2 files changed, 7 insertions, 1 deletions
diff --git a/git-fat b/git-fat
index 4455600..e62f99b 100755
--- a/git-fat
+++ b/git-fat
@@ -194,7 +194,10 @@ class GitFat(object):
if stat.st_size != self.magiclen:
return False, None
# read file
- digest, bytes = self.decode_stream(open(fname))
+ try:
+ digest, bytes = self.decode_stream(open(fname))
+ except IOError:
+ return False, None
if isinstance(digest, str):
return digest, bytes
else:
diff --git a/test.sh b/test.sh
index 8299c6c..e4ee3bb 100755
--- a/test.sh
+++ b/test.sh
@@ -13,6 +13,9 @@ echo '*.fat filter=fat -crlf' > .gitattributes
git add .gitattributes .gitfat
git commit -m'Initial fat repository'
+ln -s /oe/dss-oe/dss-add-ons-testing-build/deploy/licenses/common-licenses/GPL-3 c
+git add c
+git commit -m'add broken symlink'
echo 'fat content a' > a.fat
git add a.fat
git commit -m'add a.fat'