hard links on windows
* annex.thin and annex.hardlink are now supported on Windows. * unannex --fast now makes hard links on Windows.
This commit is contained in:
parent
251405eca2
commit
cf06dac2b8
8 changed files with 29 additions and 26 deletions
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue