Merge branch 'master' of ssh://git-annex.branchable.com
This commit is contained in:
commit
6897460d35
3 changed files with 44 additions and 0 deletions
|
@ -0,0 +1,21 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="http://adamspiers.myopenid.com/"
|
||||||
|
nickname="Adam"
|
||||||
|
subject="comment 8"
|
||||||
|
date="2011-12-20T12:00:11Z"
|
||||||
|
content="""
|
||||||
|
Personally I'd rather have working rename detection but I agree it's not 100% ideal to be littering multiple directories like this, so perhaps you could make it optional, e.g. based on a git config setting?
|
||||||
|
|
||||||
|
Here are a few more considerations, some in defence of the approach, some against it:
|
||||||
|
|
||||||
|
* `.git-annex` is hidden; `CVS/` is not.
|
||||||
|
* Unlike `CVS/` and `.svn/`, it's only a symlink, not a directory containing other files.
|
||||||
|
* It doesn't contain any data specific to that directory and could easily be regenerated if deleted accidentally or otherwise.
|
||||||
|
* If a whole directory containing `.git-annex` was moved within the repository:
|
||||||
|
* git-annex would need to fix up these symlinks if and only if it's moved to a different depth within the tree.
|
||||||
|
* However, if the multi-level indirection approach is used, `.git-annex` in any subdirectory is *always* a symlink to `../.git-annex` so instead you would need to check that all of the new ancestors contain this symlink too, and optionally remove any no longer needed symlinks.
|
||||||
|
* In either case, git-annex already goes to the trouble of fixing symlinks, and if anything, I *think* this approach would reduce the number of symlinks which need checking (right?)
|
||||||
|
* find `$git_root/foo -follow`, `diff -r` etc. would traverse into `$git_root/.git/annex`
|
||||||
|
|
||||||
|
This last point is the only downside to this approach I can think of which gives me any noticeable cause for concern. However, people are already use to working around this from CVS and svn days, e.g. `diff -r -x .svn` so I don't think it's anywhere near bad enough to rule it out.
|
||||||
|
"""]]
|
|
@ -0,0 +1,9 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="http://joey.kitenet.net/"
|
||||||
|
nickname="joey"
|
||||||
|
subject="comment 9"
|
||||||
|
date="2011-12-20T14:56:12Z"
|
||||||
|
content="""
|
||||||
|
Git can follow the rename fine if the file is committed before `git annex fix` (you can git commit -n to see this), so
|
||||||
|
making git-annex pre-commit generate a fixup commit before the staged commit would be one way. Or the other two ways I originally mentioned when writing down this minor issue. I like all those approaches better than .git-annex clutter.
|
||||||
|
"""]]
|
|
@ -0,0 +1,14 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="http://www.joachim-breitner.de/"
|
||||||
|
nickname="nomeata"
|
||||||
|
subject="comment 9"
|
||||||
|
date="2011-12-19T22:56:26Z"
|
||||||
|
content="""
|
||||||
|
Another option that would please the naive user without hindering the more advanced user: \"git annex init\", by default, creates a synced/master branch. \"git annex sync\" will pull from every <remote>/sync/master branch it finds, and also push to any <remote>/sync/master branch it finds, but will not create any. So by default (at least for new users), this provides simple one-step syncing.
|
||||||
|
|
||||||
|
Advanced users can disable this per-repo by just deleting the synced/master branch. Presumably the logic will be: Every repo that should not be pushed to, because it has access to some central repo, should not have a synced/master branch. Every other repo, including the (or one of the few) central repos, will have the branch.
|
||||||
|
|
||||||
|
This is not the most expressive solution, as it does not allow configuring syncing between arbitrary pairs of repos, but it feels like a good compromise between that and simplicity and transparency.
|
||||||
|
|
||||||
|
I think it's about time that I provide less talk and more code. I’ll see when I find the time :-)
|
||||||
|
"""]]
|
Loading…
Reference in a new issue