From 9e0360d0343575a03dce9f90e7d72c0c56deed1a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 10 Dec 2015 16:12:05 -0400 Subject: 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. --- doc/todo/smudge.mdwn | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/smudge.mdwn b/doc/todo/smudge.mdwn index dd990afc7..72e062ff4 100644 --- a/doc/todo/smudge.mdwn +++ b/doc/todo/smudge.mdwn @@ -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. -- cgit v1.2.3