summaryrefslogtreecommitdiff
path: root/doc/submodules.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/submodules.mdwn')
-rw-r--r--doc/submodules.mdwn21
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/submodules.mdwn b/doc/submodules.mdwn
new file mode 100644
index 000000000..fe5fc9a9e
--- /dev/null
+++ b/doc/submodules.mdwn
@@ -0,0 +1,21 @@
+[Git submodules](http://git-scm.com/book/en/v2/Git-Tools-Submodules) are
+supported by git-annex since version 5.20150303.
+
+Git normally makes a `.git` **file** in a
+submodule, that points to the real git repository under `.git/modules/`.
+This presents problems for git-annex. So, when used in a submodule,
+git-annex will automatically replace the `.git` file with a symlink
+pointing at the git repository.
+
+With that taken care of, git-annex should work ok in submodules. Although
+this is a new and somewhat experimental feature.
+
+The conversion of .git file to .git symlink mostly won't bother git.
+
+Known problems:
+
+* If you want to delete a whole submodule, `git rm submodule`
+ will refuse to delete it, complaining that the
+ submodule "uses a .git directory". Workaround: Use `rm -rf`
+ to delete the tree, and then `git commit`.
+* This won't work on filesystems not supporting symlinks.