From: Vitaly _Vi Shukela <public_vi@xxxxxx> 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@xxxxxx> --- 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@xxxxxxxxx) 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@xxxxxxxxx 'tee qqq | sha1sum | awk \"{print \\$1}\" | (read S && mv qqq \"$S\" && echo \"$S\" )' + smudge = ssh test@xxxxxxxxx 'read S && cat \"$S\"' -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html