diff --git a/Remote/GitLFS.hs b/Remote/GitLFS.hs index 02d83a4b67..d9617058eb 100644 --- a/Remote/GitLFS.hs +++ b/Remote/GitLFS.hs @@ -107,6 +107,11 @@ mySetup _ mu _ c gc = do let repo = fromMaybe (giveup "Specify url=") $ M.lookup "url" c + -- TODO: don't allow using encryption w/o the user indicating they + -- know it will only encrypt git-annex objects, not git pushes + -- TODO: don't allow using encryption=shared w/o the user + -- indicating that pushing to the git-lfs remote will expose the + -- encrypted data. (c', _encsetup) <- encryptionSetup c gc -- The repo is not stored in the remote log, because the same diff --git a/doc/special_remotes/git-lfs.mdwn b/doc/special_remotes/git-lfs.mdwn index 21e07fa223..515720c715 100644 --- a/doc/special_remotes/git-lfs.mdwn +++ b/doc/special_remotes/git-lfs.mdwn @@ -47,6 +47,9 @@ store its SHA256 checksum in the git-annex branch. ## limitations +The git-lfs protocol does not support deleting content, so git-annex +**cannot delete anything** from a git-lfs special remote. + The git-lfs protocol does not support resuming uploads, and so an interrupted upload will have to restart from the beginning. Interrupted downloads will resume. diff --git a/doc/tips/storing_data_in_git-lfs.mdwn b/doc/tips/storing_data_in_git-lfs.mdwn index 8600941da7..83945059b3 100644 --- a/doc/tips/storing_data_in_git-lfs.mdwn +++ b/doc/tips/storing_data_in_git-lfs.mdwn @@ -22,5 +22,14 @@ url as long as it points to the same git-lfs repository. Note that http urls currently only allow read access to the git-lfs repository. +Once the remote is set up, you git-annex can store and retrieve content in +the usual ways: + + git annex copy * --to lfs + git annex get --from lfs + +But, git-annex **cannot delete anything** from a git-lfs special remote, +because the protocol does not support deletion. + A git-lfs special remote also functions as a regular git remote. You can use things like `git push` and `git pull` with it.