aboutsummaryrefslogtreecommitdiff
path: root/Command/Adjust.hs
Commit message (Collapse)AuthorAge
* showStart variant for when there's no worktree fileGravatar Joey Hess2017-11-28
| | | | | | | | | | | | Clean up some uses of showStart with "" for the file, or in some cases, a non-filename description string. That would generate bad json, although none of the commands doing that supported --json. Using "" for the file resulted in output like "foo rest"; now the extra space is eliminated. This commit was sponsored by Fernando Jimenez on Patreon.
* adjust: Add --fix adjustment, which is useful when the git directory is in a ↵Gravatar Joey Hess2016-05-16
| | | | nonstandard place.
* adjust: If the adjusted branch already exists, avoid overwriting it, since ↵Gravatar Joey Hess2016-05-13
| | | | | | | | | | | | | | | | | it might contain changes that have not yet been propigated to the original branch. Could not think of a foolproof way to detect if the old adjusted branch was just behind the current branch. It's possible that the user amended the adjusting commit at the head of the adjusted branch, for example. I decided to bail in this situation, instead of just entering the old branch, so that if git annex adjust succeeds the user is always in a *current* adjusted branch, not some old and out of date one. What could perhaps be done is enter the old branch and then update it. But that seems too magical; the user may have rebased master or something or may not want to propigate the changes from the old branch. Best to error out.
* adjusted branches need git 2.2.0 or newerGravatar Joey Hess2016-04-22
| | | | | | When git-annex is used with a git version older than 2.2.0, disable support for adjusted branches, since GIT_COMMON_DIR is needed to update them and was first added in that version of git.
* prevent git-annex adjust changing things out from under the daemonGravatar Joey Hess2016-03-29
|
* init: Automatically enter the adjusted unlocked branch when in a v6 repo on ↵Gravatar Joey Hess2016-03-29
| | | | a filesystem not supporting symlinks.
* limit git annex adjust to v6 modeGravatar Joey Hess2016-03-29
| | | | doesn't work in v5
* option parser for adjust commandGravatar Joey Hess2016-03-29
|
* implement another adjustment -- easy to do now!Gravatar Joey Hess2016-03-11
|
* adjusted branches, proof of conceptGravatar Joey Hess2016-02-25
"git annex adjust" may be a temporary interface, but works for a proof of concept. It is pretty fast at creating the adjusted branch. The main overhead is injecting pointer files. It might be worth optimising that by reusing the symlink target as the pointer file content. When I tried to do that, the problem was that the clean filter doesn't use that same format, and so git thought files had changed. Could be dealt with, perhaps make the clean filter use symlink format for pointer files when on an adjusted branch? But the real overhead is in checking out the branch, when git runs the smudge filter once per file. That is perhaps too slow to be usable, although it may only affect initial checkout of the branch, and not updates. TBD.