v6 git-annex unlock
Note that the implementation uses replaceFile, so that the actual replacement of the work tree file is atomic. This seems a good property to have! It would be possible for unlock in v6 mode to be run on files that do not have their content present. However, that would be a behavior change from before, and I don't see any immediate need to support it, so I didn't implement it.
This commit is contained in:
parent
9dffd3d255
commit
e2c8dc6778
5 changed files with 58 additions and 15 deletions
|
@ -325,6 +325,9 @@ files to be unlocked, while the indirect upgrades don't touch the files.
|
|||
|
||||
#### implementation todo list
|
||||
|
||||
* Dropping a smudged file causes git status to show it as modified,
|
||||
because the timestamp has changed. Avoid this by preserving timestamp
|
||||
of smudged files when manipulating.
|
||||
* linkAnnex should check disk reserve when it falls back to copying the
|
||||
file.
|
||||
* Reconcile staged changes into the associated files database, whenever
|
||||
|
@ -337,10 +340,6 @@ files to be unlocked, while the indirect upgrades don't touch the files.
|
|||
(when not in direct mode).
|
||||
However, beware over-optimisation breaking the assistant or perhaps other
|
||||
long-lived processes.
|
||||
* Convert `git annex unlock` to stage a pointer file, and hard link to the
|
||||
annexed object (or write pointer file if annexed object not present).
|
||||
- Also needs to thaw annex object file
|
||||
- Also needs to update associated files db.
|
||||
* Convert `git annex lock` to verify that worktree file is not modified
|
||||
(same check used when updating pointer files to the content of a key),
|
||||
and then delete the worktree file and replace with an annex symlink.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue