[PATCH] contrib: Add "external blob storage" clean and smudge filters
From: <hidden>
Date: 2016-06-15 22:49:09
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Vitaly _Vi Shukela <redacted> 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 <redacted> --- 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