summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
* Revert "avoid hsc files on Windows"Gravatar Joey Hess2013-10-17
| | | | | | This reverts commit 699a90bdc195a67c5aa5fca34fcaa07fb2b530ae. My windows build environment was broken; reverted to backup.
* typoGravatar Joey Hess2013-10-17
|
* avoid hsc files on WindowsGravatar Joey Hess2013-10-17
| | | | | | | | | | This used to work, but now hsc2hs is failing with a usage message. Since I have not changed my windows build environment at all, it must be some change due to a change in the cabal file. Perhaps too make flags are causing it to hit a windows command line length limit? Anyway, these hsc files did nothing on Windows, so can be omitted and not built to work around yet another epic windows weirdness.
* update for DiffTree type changeGravatar Joey Hess2013-10-17
| | | | Experimentally, using the raw TopFilePath was right here.
* update for DiffTree changeGravatar Joey Hess2013-10-17
| | | | | | | | | This actually fixes a bug; if pre-commit was run in a subdir, it would pass relative files when updating the associated file maps, and so the maps wouldn't update. I don't think this bug happened in practice, due to the way pre-commit is called by the hook. It happened to chdir to the top of the work tree.
* sync: fix crash on first sync when no branch exists yetGravatar Joey Hess2013-10-17
|
* fix indirect mode conflict merge when only one side is annexed fileGravatar Joey Hess2013-10-16
| | | | | git-merge's creation of file~HEAD type files did not make this especially nice to do.
* sync: Fix automatic resolution of merge conflicts where one side is an ↵Gravatar Joey Hess2013-10-16
| | | | | | | | | annexed file, and the other side is a non-annexed file, or a directory. Note that this case is only fully automatically resolved in direct mode. In indirect mode, git merge moves the file to file~HEAD, and replaces it with the directory, and leaves the file in unmerged state, and sync doesn't yet change that.
* add schedule commandGravatar Joey Hess2013-10-13
| | | | | Mostly because it gives me an excuse and a hook to document the schedule expression format.
* Merge branch 'master' into incrementalfsckGravatar Joey Hess2013-10-13
|\
| * status: Fix a crash if a temp file went away while its size was being ↵Gravatar Joey Hess2013-10-13
| | | | | | | | checked for status.
* | Merge branch 'master' into incrementalfsckGravatar Joey Hess2013-10-11
|\|
| * url size fixesGravatar Joey Hess2013-10-11
| | | | | | | | | | | | | | | | | | | | addurl: Improve message when adding url with wrong size to existing file. Before the message suggested the url didn't exist. Fixed handling of URL keys that have no recorded size. Before, if the key has no size, the url also had to not declare any size, which was unlikely and wrong, or it was taken to not exist. This probably would mostly affect keys that were added to the annex with addurl --relaxed.
| * avoid committing git-annex branch journal when running statusGravatar Joey Hess2013-10-11
| |
* | queue downloads of keys that fsck finds with bad contentGravatar Joey Hess2013-10-10
| |
* | update for Duration type changeGravatar Joey Hess2013-10-08
| |
* | add schedule to vicfgGravatar Joey Hess2013-10-07
|/
* Revert "use vector in local status", which was not an improvementGravatar Joey Hess2013-10-07
| | | | This reverts commit c0caa37187e9c062825dd6d5cb6be2dfa63bc7dd.
* use vector in local statusGravatar Joey Hess2013-10-07
| | | | | | Thought was that this would be faster than a map, since a vector can be updated more efficiently. It turns out to not seem to matter; runtime and memory usage are basically identical.
* status: Fix space leak in local mode, introduced in version 4.20130920.Gravatar Joey Hess2013-10-07
| | | | Actually fixed 2 leaks, the tuple leak may have been older.
* honor fileNameLengthLimit for quviGravatar Joey Hess2013-10-05
|
* addurl: Better sanitization of generated filenames.Gravatar Joey Hess2013-10-05
| | | | Use sanitizeFilePath rather than rolling our own sanitizer.
* quash warningGravatar Joey Hess2013-10-03
|
* Moved list of backends and remote types from status to version command.Gravatar Joey Hess2013-10-01
|
* git-annex-shell gcryptsetup commandGravatar Joey Hess2013-10-01
| | | | | This was the least-bad alternative to get dedicated key gcrypt repos working in the assistant.
* Merge branch 'master' of ssh://git-annex.branchable.com into sshgcryptGravatar Joey Hess2013-10-01
|\
* | fix transferring to gcrypt repo from direct mode repoGravatar Joey Hess2013-10-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | recvkey was told it was receiving a HMAC key from a direct mode repo, and that confused it into rejecting the transfer, since it has no way to verify a key using that backend, since there is no HMAC backend. I considered making recvkey skip verification in the case of an unknown backend. However, that could lead to bad results; a key can legitimately be in the annex with a backend that the remote git-annex-shell doesn't know about. Better to keep it rejecting if it cannot verify. Instead, made the gcrypt special remote not set the direct mode flag when sending (and receiving) files. Also, added some recvkey messages when its checks fail, since otherwise all that is shown is a confusing error message from rsync when the remote git-annex-shell exits nonzero.
| * fix direct mode switch permissions problemGravatar Joey Hess2013-09-30
|/ | | | Similar to how a similar problem with indirect was earlier fixed.
* Send a git-annex user-agent when downloading urls.Gravatar Joey Hess2013-09-28
| | | | | | | | | Overridable with --user-agent option. Not yet done for S3 or WebDAV due to limitations of libraries used -- nether allows a user-agent header to be specified. This commit sponsored by Michael Zehrer.
* remove *>=> and >=*> ; use <$$> insteadGravatar Joey Hess2013-09-27
| | | | | | | | I forgot I had <$$> hidden away in Utility.Applicative. It allows doing the same kind of currying as does >=*> and I found using it made the code more readable for me. (*>=> was not used)
* enabling rsync.net gcrypt reposGravatar Joey Hess2013-09-26
| | | | | Still need to detect when the user is trying to create a repo that already exists, and jump to the enabling code.
* add, import, assistant: Better preserve the mtime of symlinks, when when ↵Gravatar Joey Hess2013-09-25
| | | | | | | adding content that gets deduplicated. Note that this turned out to remove a syscall, not add any expense. Otherwise, I would not have done it.
* indirect: Better behavior when a file in direct mode is not owned by the ↵Gravatar Joey Hess2013-09-25
| | | | user running the conversion.
* hlintGravatar Joey Hess2013-09-25
| | | | test suite still passes
* git-annex-shell: Added support for operating inside gcrypt repositories.Gravatar Joey Hess2013-09-24
| | | | | | * Note that the layout of gcrypt repositories has changed, and if you created one you must manually upgrade it. See http://git-annex.branchable.com/upgrades/gcrypt/
* factor out more ssh stuff from git remoteGravatar Joey Hess2013-09-24
| | | | | This has the dual benefits of making Remote.Git shorter, and letting Remote.GCrypt use these utilities.
* list --allreposGravatar Joey Hess2013-09-19
|
* more completely solve catKey memory leakGravatar Joey Hess2013-09-19
| | | | | | | | | | | | | | | | | | | Done using a mode witness, which ensures it's fixed everywhere. Fixing catFileKey was a bear, because git cat-file does not provide a nice way to query for the mode of a file and there is no other efficient way to do it. Oh, for libgit2.. Note that I am looking at tree objects from HEAD, rather than the index. Because I cat-file cannot show a tree object for the index. So this fix is technically incomplete. The only cases where it matters are: 1. A new large file has been directly staged in git, but not committed. 2. A file that was committed to HEAD as a symlink has been staged directly in the index. This could be fixed a lot better using libgit2.
* sync, pre-commit, indirect: Avoid unnecessarily catting non-symlink files ↵Gravatar Joey Hess2013-09-19
| | | | from git, which can be so large it runs out of memory.
* creditGravatar Joey Hess2013-09-19
|
* rename remotes to listGravatar Antoine Beaupré2013-09-19
|
* make --fast disable the numcopies statsGravatar Joey Hess2013-09-15
| | | | Looking up the location log for every key is not the fastest operation..
* status: In local mode, displays information about variance from configured ↵Gravatar Joey Hess2013-09-15
| | | | numcopies levels.
* addurl: Fix quvi audodetection, broken in last release.Gravatar Joey Hess2013-09-15
|
* sync: Don't fail if the directory it is run in gets removed by the sync.Gravatar Joey Hess2013-09-13
|
* fsck: Fix detection and fixing of present direct mode files that are wrongly ↵Gravatar Joey Hess2013-09-13
| | | | represented as standin symlinks on crippled filesystems.
* remotes: New command, displays a compact table of remotes that contain ↵Gravatar Joey Hess2013-09-12
| | | | | | | | | | | | | files. (Thanks, anarcat for display code and mastensg for inspiration.) Note that it would be possible to extend the display to show all repositories. But there can be a lot of repositories that are not set up as remotes, and it would significantly clutter the display to show them all. Since we're not showing all repositories, it's not worth trying to show numcopies count either. I decided to embrace these limitations and call the command remotes.
* sync: support gcrypt4.20130909Gravatar Joey Hess2013-09-09
|
* Allow building without quvi support.Gravatar Joey Hess2013-09-09
|
* partially complete gcrypt remote (local send done; rest not)Gravatar Joey Hess2013-09-07
| | | | | | | | | | | | | | | | | | | | | | | | This is a git-remote-gcrypt encrypted special remote. Only sending files in to the remote works, and only for local repositories. Most of the work so far has involved making initremote work. A particular problem is that remote setup in this case needs to generate its own uuid, derivied from the gcrypt-id. That required some larger changes in the code to support. For ssh remotes, this will probably just reuse Remote.Rsync's code, so should be easy enough. And for downloading from a web remote, I will need to factor out the part of Remote.Git that does that. One particular thing that will need work is supporting hot-swapping a local gcrypt remote. I think it needs to store the gcrypt-id in the git config of the local remote, so that it can check it every time, and compare with the cached annex-uuid for the remote. If there is a mismatch, it can change both the cached annex-uuid and the gcrypt-id. That should work, and I laid some groundwork for it by already reading the remote's config when it's local. (Also needed for other reasons.) This commit was sponsored by Daniel Callahan.