aboutsummaryrefslogtreecommitdiff
path: root/doc/tips/replacing_Sparkleshare_or_dvcs-autosync_with_the_assistant.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-03-29 17:06:36 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-03-29 17:06:36 -0400
commit404d0f58b2b293cb0fcc70f39a02fd9af62dc3b8 (patch)
treeab5c9673a86d36a57f9f32b2264a81d93be90ef3 /doc/tips/replacing_Sparkleshare_or_dvcs-autosync_with_the_assistant.mdwn
parent8f6993dde82c604c91c0c3fca922a5e84ee55734 (diff)
new awesome feature tip
Diffstat (limited to 'doc/tips/replacing_Sparkleshare_or_dvcs-autosync_with_the_assistant.mdwn')
-rw-r--r--doc/tips/replacing_Sparkleshare_or_dvcs-autosync_with_the_assistant.mdwn37
1 files changed, 37 insertions, 0 deletions
diff --git a/doc/tips/replacing_Sparkleshare_or_dvcs-autosync_with_the_assistant.mdwn b/doc/tips/replacing_Sparkleshare_or_dvcs-autosync_with_the_assistant.mdwn
new file mode 100644
index 000000000..d5ea9c821
--- /dev/null
+++ b/doc/tips/replacing_Sparkleshare_or_dvcs-autosync_with_the_assistant.mdwn
@@ -0,0 +1,37 @@
+Sparkleshare and dvcs-autosync are tools to automatically commit your
+changes to git and keep them in sync with other repositories. Unlike
+git-annex, they don't store the file content on the side, but directly in
+the git repository. Great for small files, less good for big files.
+
+Here's how to use the [[git-annex assistant|/assistant]] to do the same
+thing, but even better!
+
+----
+
+Let's suppose you're delveloping a video game, written in C. You have
+source code, and some large game assets. You want to ensure the source
+code is stored in git -- that's what git's for! And you want to store
+the game assets in the git annex -- to avod bloating your git repos with
+possibly enormous files, but still version control them.
+
+All you need to do is configure git-annex to treat your C files
+as small files. And treat any file larger than, say, 100kb as a large
+file that is stored in the annex.
+
+ git config annex.largefiles "largerthan=100kb and not (include=*.c or include=*.h)"
+
+Now if you run `git annex add`, it will only add the large files to the
+annex. You can `git add` the small files directly to git.
+
+Better, if you run `git annex assistant`, it will *automatically*
+add the large files to the annex, and store the small files in git.
+It'll notice every time you modify a file, and immediately commit it,
+too. And sync it out to other repositories you configure using `git annex
+webapp`.
+
+----
+
+It's also possible to disable the use of the annex entirely, and just
+have the assistant *always* put every file into git, no matter its size:
+
+ git config annex.largefiles "exclude=*"