diff options
author | 2016-04-22 15:11:00 -0400 | |
---|---|---|
committer | 2016-04-22 15:11:00 -0400 | |
commit | 7f61ab642eac48555b08ae9654ba71e4d195e12f (patch) | |
tree | 7c05bc8da7b078d739464feb33364cc66f5eb55c /doc | |
parent | 24dd5682b93c4d0009d031cabde468b43edc98b1 (diff) |
comment
Diffstat (limited to 'doc')
-rw-r--r-- | doc/forum/noob_question._VPS_web_assistant/comment_2_f7416c26daca543ad08c11e187e1589e._comment | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/doc/forum/noob_question._VPS_web_assistant/comment_2_f7416c26daca543ad08c11e187e1589e._comment b/doc/forum/noob_question._VPS_web_assistant/comment_2_f7416c26daca543ad08c11e187e1589e._comment new file mode 100644 index 000000000..8bb86330c --- /dev/null +++ b/doc/forum/noob_question._VPS_web_assistant/comment_2_f7416c26daca543ad08c11e187e1589e._comment @@ -0,0 +1,37 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 2""" + date="2016-04-22T18:52:09Z" + content=""" +You might also use <http://myrepos.branchable.com/> as a somewhat +more flexible alternative to submodules. + +It's worth thinking about what would happen if you were able to check a git +repository into a git (annex) repository. A git repository contains files +like `.git/index` that are git internals, and binary files. Now what +happens if you have two checkouts of that nested git-in-git repository, and +git writes two different versions of the `.git/index` file? You'd get a +merge conflict that you have no way of resolving, involving two versions of +an internal use binary file. This is a lot worse than a merge conflict involving +some regular binary file like a jpeg, because at least with jpegs you can +look at the two versions of the file and pick the better one. + +While git prevents checking in `.git` directories, you could technically work +around it, if you really wanted to, by eg using `GIT_DIR` to rename +the `.git` directory to something else. But it's just setting yourself up for +unresolvable merge conflicts and pain. + +It's likewise not good to check in other version control system +directories, like `.svn`, `.bzr`, or `.hg` into git repositories or +vice-versa. + +Sometimes people complain that the git-annex assistant should support +syncing nested git repositories, because after all other directory syncing +tools like dropbox support that. But, a little known fact about dropbox is +that it too can end up with a conflicted merge type situation, and when +this happens it will do *something* to auto-resolve it. That something +almost certianly does not include leaving the git repository what was +stored in dropbox in an ideal state. So, while people put git repos into +dropbox and get away with it, they are just being lucky to not run into the +edge cases where doing that blows up. +"""]] |