diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/design/adjusted_branches.mdwn | 23 | ||||
-rw-r--r-- | doc/tips/unlocked_files.mdwn | 2 |
2 files changed, 18 insertions, 7 deletions
diff --git a/doc/design/adjusted_branches.mdwn b/doc/design/adjusted_branches.mdwn index e94439d66..75ece6e99 100644 --- a/doc/design/adjusted_branches.mdwn +++ b/doc/design/adjusted_branches.mdwn @@ -280,9 +280,20 @@ into adjusted view worktrees.] to checkout the adjusted branch some other way. Maybe generalize so this more efficient checkout is available as a git-annex command? * There are potentially races in code that assumes a branch like - master is not being changed by someone else. In particular, - propigateAdjustedCommits rebases the adjusted branch on top of master. - That is called by sync. The assumption is that any changes in master - have already been handled by updateAdjustedBranch. But, if another remote - pushed a new master at just the right time, the adjusted branch could be - rebased on top of a master that it doesn't incorporate, which is wrong. + master is not being changed by someone else. + + In particular, propigateAdjustedCommits rebases the adjusted branch on + top of master. That is called by sync. The assumption is that any changes + in master have already been handled by updateAdjustedBranch. But, if + another remote pushed a new master at just the right time, the adjusted + branch could be rebased on top of a master that it doesn't incorporate, + which is wrong. + + Best fix seems to be to use a hidden ref, like refs/annex/adjusted/master + and copy master's ref to it when entering the view branch. Then, make + all adjustments via that ref, and propigate back to refs/heads/master. + + It's fine to overwrite changes that were pushed to master when + propigating from the adjusted branch. Synced changes also go to + synced/master so won't be lost. Pushes not made using git-annex sync + of master are not really desired, just a possibility. diff --git a/doc/tips/unlocked_files.mdwn b/doc/tips/unlocked_files.mdwn index cc9972f9e..20605b612 100644 --- a/doc/tips/unlocked_files.mdwn +++ b/doc/tips/unlocked_files.mdwn @@ -143,7 +143,7 @@ match the new setting: git annex fix Note that setting annex.thin only has any effect on systems that support -hard links. Ie, not Windows, and not FAT filesystems. +hard links. It is supported on Windows, but not on FAT filesystems. ## tradeoffs |