[PATCH] contrib: Add "external blob storage" clean and smudge filters
- From
public_vi@tut.by <public_vi@tut.by>
- Date
- Jul 21, 2010, 01:07 UTC
- Message-ID
- <1279674451-13143-1-git-send-email-public_vi@tut.by>
From: Vitaly _Vi Shukela <public_vi@tut.by>
Proof-of-concept "external storage" for big blobs using filters. This is rather high-impact thing, expect a great slowdown or other inconsistencies
Files are uploaded on a server each time Git attempts to read them When checking out, files are downloaded from the server, so it should be mostly transparent for user (except of slowness) SHA-1 hashes are stored in Git instead of actual file content
Signed-off-by: Vitaly _Vi Shukela <public_vi@tut.by> --- contrib/filters/external_blob_storage.config | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) create mode 100644 contrib/filters/external_blob_storage.config
diff --git a/contrib/filters/external_blob_storage.config b/contrib/filters/external_blob_storage.config new file mode 100644 index 0000000..054eb38 --- /dev/null +++ b/contrib/filters/external_blob_storage.config @@ -0,0 +1,11 @@ +# Proof-of-concept "external storage" for big blobs using filters. +# This is rather high-impact thing, expect a great slowdown or other inconsistencies + +# Put strings like "*.avi filter=external_blob_storage" to your .gitattributes or .git/info/attributes files, +# and that files will be uploaded on server (test@127.0.0.1) each time Git attempts to read them (git add, git diff, git status, ...) +# When checking out, files will be downloaded from server. +# SHA-1 hashes are stored in Git instead of actual file content + +[filter "external_blob_storage"] + clean = ssh test@127.0.0.1 'tee qqq | sha1sum | awk \"{print \\$1}\" | (read S && mv qqq \"$S\" && echo \"$S\" )' + smudge = ssh test@127.0.0.1 'read S && cat \"$S\"'
-- 1.7.1