summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* releasing version 3.201111113.20111111Gravatar Joey Hess2011-11-11
|
* map: Support remotes with /~/ and /~user/Gravatar Joey Hess2011-11-11
| | | | | | | | | | More accurately, it was supported already when map uses git-annex-shell, but not when it does not. Note that the user name cannot be shell escaped using git-annex's current approach for shell escaping. I tried and some shells like dash cannot cd ~'joey'. Rest of directory is still shell escaped, not for security but in case a directory has a space or other weird character.
* Automatically fix up badly formatted uuid.log entries produced by ↵Gravatar Joey Hess2011-11-11
| | | | 3.20111105, whenever the uuid.log is changed (ie, by init or describe).
* lintGravatar Joey Hess2011-11-11
|
* better limiting of start actions to only run whenAnnexedGravatar Joey Hess2011-11-10
| | | | | Mostly only refactoring, but this does remove one redundant stat of the symlink by copy.
* tweakGravatar Joey Hess2011-11-10
|
* Optimized copy --from and get --from to avoid checking the location log for ↵Gravatar Joey Hess2011-11-10
| | | | | | | files that are already present. This can be a significant speedup when running in large trees that are only missing a few files; it makes copy --from just as fast as get.
* factored out some useful error catching methodsGravatar Joey Hess2011-11-10
|
* add make fast targetGravatar Joey Hess2011-11-10
|
* tested all known types of cycles, all are fixedGravatar Joey Hess2011-11-10
| | | | | My testing involved widening the race by adding sleeps, and making sure something sane happens in each case.
* better message when content is lockedGravatar Joey Hess2011-11-10
|
* exclusive locks, ughGravatar Joey Hess2011-11-09
|
* content lockingGravatar Joey Hess2011-11-09
| | | | | I've tested that this solves the cyclic drop problem. Have not looked at cyclic move, etc.
* fast build mode for vimGravatar Joey Hess2011-11-09
|
* lockContent in dropkeyGravatar Joey Hess2011-11-09
| | | | | This is needed for drop --from and move --from to check the lock, as they do not use git-annex-shell inannex.
* safer inannex checkingGravatar Joey Hess2011-11-09
| | | | | | | | git-annex-shell inannex now returns always 0, 1, or 100 (the last when it's unclear if content is currently in the index due to it currently being moved or dropped). (Actual locking code still not yet written.)
* add safeSystemGravatar Joey Hess2011-11-09
| | | | | This is more safe than System.Cmd.Utils.safeSystem, since it does not throw an error on nonzero exit status.
* reorg to allow taking content lockGravatar Joey Hess2011-11-09
| | | | | | | The lock will only persist during the perform stage, so the content must be removed from the annex then, rather than in the cleanup stage. (No lock is actually taken yet.)
* warning about version of git-annex shipped in recent Ubuntu releaseGravatar Joey Hess2011-11-09
|
* directly lock content?Gravatar Joey Hess2011-11-09
|
* problem that came to me at 2 amGravatar Joey Hess2011-11-09
|
* cleanupGravatar Joey Hess2011-11-09
|
* reorder repo parameters lastGravatar Joey Hess2011-11-08
| | | | | | | | | | | | | Many functions took the repo as their first parameter. Changing it consistently to be the last parameter allows doing some useful things with currying, that reduce boilerplate. In particular, g <- gitRepo is almost never needed now, instead use inRepo to run an IO action in the repo, and fromRepo to get a value from the repo. This also provides more opportunities to use monadic and applicative combinators.
* fixGravatar Joey Hess2011-11-08
|
* fix broken linksGravatar Joey Hess2011-11-08
|
* wiki updatesGravatar Joey Hess2011-11-08
|
* updateGravatar Joey Hess2011-11-08
|
* clean up read/show abuseGravatar Joey Hess2011-11-08
| | | | | | | Avoid ever using read to parse a non-haskell formatted input string. show :: Key is arguably still show abuse, but displaying Keys as filenames is just too useful to give up.
* indentGravatar Joey Hess2011-11-07
|
* Handle a case where an annexed file is moved into a gitignored directory, by ↵Gravatar Joey Hess2011-11-07
| | | | having fix --force add its change.
* (no commit message)Gravatar gernot2011-11-07
|
* fixGravatar Joey Hess2011-11-07
|
* refactorGravatar Joey Hess2011-11-07
|
* add a UUID typeGravatar Joey Hess2011-11-07
| | | | Should have done this a long time ago.
* better usageGravatar Joey Hess2011-11-07
|
* updateGravatar Joey Hess2011-11-07
|
* updateGravatar Joey Hess2011-11-07
|
* updateGravatar Joey Hess2011-11-07
|
* addGravatar Joey Hess2011-11-07
|
* add news item for git-annex 3.20111107Gravatar Joey Hess2011-11-07
|
* releasing version 3.201111073.20111107Gravatar Joey Hess2011-11-07
|
* Bugfix: In the past two releases, git-annex init has written the uuid.log in ↵Gravatar Joey Hess2011-11-07
| | | | | | | | | | | | | the wrong format, with the UUID and description flipped. This is my own damn fault for not making UUID a real type, and then relying on the type checker to ensure my refactoring was correct -- which it wasn't! I should probably add code to clean up bogus entries in the uuid.log, but right now I want to get the fix out there to prevent people experiencing this bug. I should also make UUID a real data type.
* Don't try to read config from repos with annex-ignore set.Gravatar Joey Hess2011-11-07
|
* optimizationGravatar Joey Hess2011-11-06
| | | | | The last commit added some git-log calls to a merge. This removes some, by only merging branches that have unique refs.
* merge: Use fast-forward merges when possible.Gravatar Joey Hess2011-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks Valentin Haenel for a test case showing how non-fast-forward merges could result in an ongoing pull/merge/push cycle. While the git-annex branch is fast-forwarded, git-annex's index file is still updated using the union merge strategy as before. There's no other way to update the index that would be any faster. It is possible that a union merge and a fast-forward result in different file contents: Files should have the same lines, but a union merge may change their order. If this happens, the next commit made to the git-annex branch will have some unnecessary changes to line orders, but the consistency of data should be preserved. Note that when the journal contains changes, a fast-forward is never attempted, which is fine, because committing those changes would be vanishingly unlikely to leave the git-annex branch at a commit that already exists in one of the remotes. The real difficulty is handling the case where multiple remotes have all changed. git-annex does find the best (ie, newest) one and fast forwards to it. If the remotes are diverged, no fast-forward is done at all. It would be possible to pick one, fast forward to it, and make a merge commit to the rest, I see no benefit to adding that complexity. Determining the best of N changed remotes requires N*2+1 calls to git-log, but these are fast git-log calls, and N is typically small. Also, typically some or all of the remote refs will be the same, and git-log is not called to compare those. In the real world I expect this will almost always add only 1 git-log call to the merge process. (Which already makes N anyway.)
* typoGravatar Joey Hess2011-11-06
|
* add news item for git-annex 3.20111105Gravatar Joey Hess2011-11-05
|
* releasing version 3.201111053.20111105Gravatar Joey Hess2011-11-05
|
* add bug reportGravatar Valentin_Haenel2011-11-05
|
* Pass -t to rsync to preserve timestamps.Gravatar Joey Hess2011-11-04
|