summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* migrate: Don't fall over a stale temp file.Gravatar Joey Hess2011-11-17
|
* analysis; not a bug but a featureGravatar Joey Hess2011-11-17
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2011-11-17
|\
* | fix typo introduced with the Ref typeGravatar Joey Hess2011-11-17
| |
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck2011-11-17
| |
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck2011-11-17
| |
* | ensure branch exists before trying to update itGravatar Joey Hess2011-11-16
|/ | | | | | The branch may not exist, if .git/annex has been copied over from another repo (or a corrupted repo). I suppose it could also have gotten deleted somehow. Without this, there is a confusing failure.
* clarifyGravatar Joey Hess2011-11-16
|
* improve type signatures with a Ref newtypeGravatar Joey Hess2011-11-16
| | | | | | | | | | | In git, a Ref can be a Sha, or a Branch, or a Tag. I added type aliases for those. Note that this does not prevent mixing up of eg, refs and branches at the type level. Since git really doesn't care, except rare cases like git update-ref, or git tag -d, that seems ok for now. There's also a tree-ish, but let's just use Ref for it. A given Sha or Ref may or may not be a tree-ish, depending on the object type, so there seems no point in trying to represent it at the type level.
* better nameGravatar Joey Hess2011-11-16
|
* When not run in a git repository, git-annex can still display a usage ↵Gravatar Joey Hess2011-11-16
| | | | | | | message, and "git annex version" even works. Things that sound simple, but are made hard by the Annex monad being built with the assumption that there will always be a git repo.
* cleanupGravatar Joey Hess2011-11-16
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2011-11-16
|\
* | fix display of semitrusted repos in statusGravatar Joey Hess2011-11-16
| | | | | | | | | | | | semitrusted uuids rarely are listed in trust.log, so a special case is needed to get a list of them. Take the difference of all known uuids with non-semitrusted uuids.
* | cleanupGravatar Joey Hess2011-11-15
| |
* | merge: Now runs in constant space.Gravatar Joey Hess2011-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before, a merge was first calculated, by running various actions that called git and built up a list of lines, which were at the end sent to git update-index. This necessarily used space proportional to the size of the diff between the trees being merged. Now, lines are streamed into git update-index from each of the actions in turn. Runtime size of git-annex merge when merging 50000 location log files drops from around 100 mb to a constant 4 mb. Presumably it runs quite a lot faster, too.
| * Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawmBUR4O9mofxVbpb8JV9mEbVfIYv670uJo2011-11-16
| |
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawmBUR4O9mofxVbpb8JV9mEbVfIYv670uJo2011-11-16
| |
* | cleanupGravatar Joey Hess2011-11-15
| |
* | avoid space leak writing mergeGravatar Joey Hess2011-11-15
|/ | | | | | | | | | | | | | | | | | This reduces the memory use of a merge by 1/3rd. The space leak was apparently because the whole update-index input was generated strictly, not lazily. I wondered if the change to ByteStrings contributed to this, due to the need to convert with L.pack here. But going back to the old code, I still see a much similar leak, and worse performance besides due to it not using ByteStrings. The fix is to just hPutStr the lines repeatedly. (Note the \0 is written separately, to avoid allocation overheads in adding it to the string.) The Git.pipeWrite interface is probably just wrong for any large inputs to git. This was the only place using it for input of any size. There is still at least one other space leak in the merge code.
* better error messageGravatar Joey Hess2011-11-15
|
* further insteadOf fixGravatar Joey Hess2011-11-15
|
* Fix support for insteadOf url remapping. Closes: #644278Gravatar Joey Hess2011-11-15
|
* close as resolvedGravatar Joey Hess2011-11-15
|
* removedGravatar http://cgray.myopenid.com/2011-11-15
|
* Added a commentGravatar http://cgray.myopenid.com/2011-11-15
|
* Added a commentGravatar http://cgray.myopenid.com/2011-11-15
|
* Added a commentGravatar http://joey.kitenet.net/2011-11-15
|
* Added a commentGravatar http://joey.kitenet.net/2011-11-15
|
* show number of reposGravatar Joey Hess2011-11-15
|
* better status outputGravatar Joey Hess2011-11-15
|
* Fix typoGravatar http://cgray.myopenid.com/2011-11-15
|
* (no commit message)Gravatar http://cgray.myopenid.com/2011-11-15
|
* fix exit status so json gets terminated properlyGravatar Joey Hess2011-11-14
|
* status --json --fast for escGravatar Joey Hess2011-11-14
| | | | | | * status: Fix --json mode (only the repository lists are currently displayed) * status: --fast is back
* Added a commentGravatar http://joey.kitenet.net/2011-11-14
|
* Added a commentGravatar http://joey.kitenet.net/2011-11-14
|
* (no commit message)Gravatar http://www.joachim-breitner.de/2011-11-14
|
* probably makes sense to list semitrusted before untrustedGravatar Joey Hess2011-11-14
|
* status: Now displays trusted, untrusted, and semitrusted repositories ↵Gravatar Joey Hess2011-11-14
| | | | separately.
* Optimised union merging; now only runs git cat-file once.Gravatar Joey Hess2011-11-12
|
* init: When run in an already initalized repository, and without a ↵Gravatar Joey Hess2011-11-12
| | | | description specified, don't delete the old description.
* avoid unnecessary auto-merge when only changing a file in the branch.Gravatar Joey Hess2011-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids doing auto-merging in commands that don't need fully current information from the git-annex branch. In particular, git annex add no longer needs to auto-merge. Affected commands: Anything that doesn't look up data from the branch, but does write a change to it. It might seem counterintuitive that we can change a value without first making sure we have the current value. This optimisation works because these two sequences are equivilant: 1. pull from remote 2. union merge 3. read file from branch 4. modify file and write to branch vs. 1. read file from branch 2. modify file and write to branch 3. pull from remote 4. union merge After either sequence, the git-annex branch contains the same logical content for the modified file. (Possibly with lines in a different order or additional old lines of course).
* merge: Improve commit messages to mention what was merged.Gravatar Joey Hess2011-11-12
|
* addGravatar Joey Hess2011-11-12
|
* addGravatar Joey Hess2011-11-12
|
* golfGravatar Joey Hess2011-11-12
|
* add news item for git-annex 3.20111111Gravatar Joey Hess2011-11-11
|
* 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.