summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
* Support import in direct mode.Gravatar Joey Hess2013-07-22
|
* Support unannex and uninit in direct mode.Gravatar Joey Hess2013-07-22
| | | | | | | | | | | | | | | | | | | In direct mode, it's best to whenever possible not move direct mode files out of the way, and so I made unannex avoid touching the direct mode file at all. That actually turns out to be easy, because in direct mode, unlike indirect mode, the pre-commit hook won't get confused if the unannexed file later gets added back by git add. So there's no need to commit the unannex right away; it can be staged for the user to commit later. This also means that unannex in direct mode is a lot faster than in indirect mode! Another subtle bit is the bookkeeping that is done when unannexing a direct mode file. The inode cache needs to be removed so that when uninit runs getKeysPresent, it doesn't see the cache and think the key is still present and crash when it's not. This commit is sponsored by Douglas Butts. Thanks!
* fix uninit to delete content from annex when it ended up hard linked back to ↵Gravatar Joey Hess2013-07-18
| | | | the work tree
* uninit: Preserve .git/annex/objects at the end, if it still has content, so ↵Gravatar Joey Hess2013-07-16
| | | | that old versions of files and deleted files are not deleted. Print a message with some suggested actions.
* fix: Preserve the original mtime of fixed symlinks.Gravatar Joey Hess2013-07-11
|
* dropunused, addunused: Complain when asked to operate on a number that does ↵Gravatar Joey Hess2013-07-08
| | | | not correspond to any unused key.
* addurl --pathdepth: Fix failure when the pathdepth specified is deeper than ↵Gravatar Joey Hess2013-07-05
| | | | the urls's path.
* moved AssociatedFile definitionGravatar Joey Hess2013-07-04
|
* merge: Now also merges synced/master or similar branches, which makes it ↵Gravatar Joey Hess2013-07-03
| | | | useful to put in a post-receive hook to make a repository automatically update its working copy when git annex sync or the assistant sync with it.
* --unused: New switch that makes git-annex operate on all data found by the ↵Gravatar Joey Hess2013-07-03
| | | | last run of git annex unused. Supported by fsck, get, move, copy.
* --all for get, move, and copyGravatar Joey Hess2013-07-03
|
* Add --all option, and support it for fsckGravatar Joey Hess2013-07-03
|
* fsck: Ensures that direct mode is used for files when it's enabled.Gravatar Joey Hess2013-06-24
| | | | | | A common failure mode for direct mode has been for files to end up still stored in indirect mode. While I hope that doesn't happen anymore, fsck should deal with it.
* check in configure if ionice -c3 worksGravatar Joey Hess2013-06-21
| | | | On old systems, it may need to be run as root.
* assistant --autostart: Automatically ionices the daemons it starts.Gravatar Joey Hess2013-06-21
|
* make dead output consistent with other trust setting commandsGravatar Joey Hess2013-06-18
|
* fix buildGravatar Joey Hess2013-06-17
|
* fsck: Avoid getting confused by Windows path separatorsGravatar Joey Hess2013-06-17
|
* remove workaround for old bug that was only in one releaseGravatar Joey Hess2013-06-17
| | | | | | | It's causing some problem on windows, see http://git-annex.branchable.com/bugs/windows_port_-_repo_can__39__t_pull_newly_added_files_/#comment-45df9748bba687d95e3c96b3877ea925 And only affected WORM backend, and for one release well over a year ago, so could well be bitrotted.
* status: No longer shows dead repositories.Gravatar Joey Hess2013-06-17
| | | | | This is because people continually whine about it. Seemingly not aware that data generally cannot be deleted from git anyway.
* sync: Better support for bare git remotes. Now pushes directly to the master ↵Gravatar Joey Hess2013-06-12
| | | | branch on such a remote, instead of to synced/master. This makes it easier to clone from a bare git remote that has been populated with git annex sync or by the assistant.
* Direct mode: No longer temporarily remove write permission bit of files when ↵Gravatar Joey Hess2013-06-12
| | | | | | | | | | | | | | adding them. This write permission frobbing is very appropriate in indirect mode, since annexed objects are stored as immutably as can be managed. But not in direct mode, where files should be able to be modified at any time. There are already sufficient guards that there's no need to prevent a file being written to while it's being ingested, in direct mode. The inode cache will detect (most) types of modifications, and the add will fail. Then a re-add should be done. The assistant should get another inotify change event, and automatically add the new version of the file.
* Android: Make the "Open webapp" menu item open the just created repository ↵Gravatar Joey Hess2013-06-10
| | | | when a new repo is made.
* Supports indirect mode on encfs in paranoia mode, and other filesystems that ↵Gravatar Joey Hess2013-06-10
| | | | do not support hard links, but do support symlinks and other POSIX filesystem features.
* avoid warnings when built with ghc 7.6Gravatar Joey Hess2013-06-02
|
* squash warningGravatar Joey Hess2013-06-02
|
* Android: Work around Android devices where the `am` command doesn't work.Gravatar Joey Hess2013-05-31
|
* Revert "android dupped stderr workaround"Gravatar Joey Hess2013-05-30
| | | | | | This reverts commit 733a90bbd382683fa788aa6949f0fac11ba6504b. The stderr fd is also trashed after `am` fails to open the web browser.
* android dupped stderr workaroundGravatar Joey Hess2013-05-30
| | | | | | | | | | | | Avoid using dupped stderr, since http://git-annex.branchable.com/bugs/warning_-_WebApp_crashed:___60__file_descriptor_15__62__:_hPutStr:_illegal_operation___40__handle_is_closed__41___on_Android/#comment-a24c73803fb10bd35afdc10d50e071c8 seems to involve that handle not being dupped originally, or perhaps getting closed when the web browser is started on Android. Using the dupped stdout is known to work before starting the web browser, so it should work after -- unless perhaps starting it closes both handles. In any case, there's no real need to write to stderr here.
* Android: Added an "Open WebApp" item to the terminal's menu. Should work for ↵Gravatar Joey Hess2013-05-28
| | | | Android devices that cannot auto-open the webapp on start.
* fix merge conflict resolution when both sides have the same keyGravatar Joey Hess2013-05-26
| | | | Still need to git rm the old file so git accepts the merge is resolved.
* correct recent fixGravatar Joey Hess2013-05-26
| | | | | 588a981e17461643b67f9a372703b9e0896b6e17's fix caused it to try to stage a symlink in .git/annex/tmp, oops
* sync: Fix double merge conflict resolution handling.Gravatar Joey Hess2013-05-26
| | | | | | | Ie, when there'a a conflicted merge we may get foo.variant-xxxx created in a merge. If a second merge conflict occurs on that new file, it was not falling back to putting in the whole key (which should stop the merge conflicts happening for good, but is ugly).
* reduce the amount of subdirectories created by the fuzz tester to saner limitGravatar Joey Hess2013-05-26
|
* make fuzztest honor annex.diskreserveGravatar Joey Hess2013-05-26
|
* fuzz test discovered a way automatic merge resultion can fail; fixGravatar Joey Hess2013-05-25
| | | | | It may be that the directory we need to make a symlink in, to resolve the merge, doesn't exist locally.
* fuzz tester: avoid deleting entire repository (had to happen eventually, right?)Gravatar Joey Hess2013-05-25
|
* fixGravatar Joey Hess2013-05-25
|
* fuzz improvementsGravatar Joey Hess2013-05-25
|
* tune frequencies to avoid enormous trees being createdGravatar Joey Hess2013-05-25
|
* make fuzz test also output its actions to stdoutGravatar Joey Hess2013-05-25
|
* content: New command line way to view and configure a repository's preferred ↵Gravatar Joey Hess2013-05-25
| | | | content settings.
* refactorGravatar Joey Hess2013-05-24
|
* fuzz testerGravatar Joey Hess2013-05-23
|
* list standard groups in vicfgGravatar Joey Hess2013-05-23
|
* typoGravatar Joey Hess2013-05-19
|
* Switch to MonadCatchIO-transformers for better handling of state while ↵Gravatar Joey Hess2013-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | catching exceptions. As seen in this bug report, the lifted exception handling using the StateT monad throws away state changes when an action throws an exception. http://git-annex.branchable.com/bugs/git_annex_fork_bombs_on_gpg_file/ .. Which can result in cached values being redundantly calculated, or other possibly worse bugs when the annex state gets out of sync with reality. This switches from a StateT AnnexState to a ReaderT (MVar AnnexState). All changes to the state go via the MVar. So when an Annex action is running inside an exception handler, and it makes some changes, they immediately go into affect in the MVar. If it then throws an exception (or even crashes its thread!), the state changes are still in effect. The MonadCatchIO-transformers change is actually only incidental. I could have kept on using lifted-base for the exception handling. However, I'd have needed to write a new instance of MonadBaseControl for the new monad.. and I didn't write the old instance.. I begged Bas and he kindly sent it to me. Happily, MonadCatchIO-transformers is able to derive a MonadCatchIO instance for my monad. This is a deep level change. It passes the test suite! What could it break? Well.. The most likely breakage would be to code that runs an Annex action in an exception handler, and *wants* state changes to be thrown away. Perhaps the state changes leaves the state inconsistent, or wrong. Since there are relatively few places in git-annex that catch exceptions in the Annex monad, and the AnnexState is generally just used to cache calculated data, this is unlikely to be a problem. Oh yeah, this change also makes Assistant.Types.ThreadedMonad a bit redundant. It's now entirely possible to run concurrent Annex actions in different threads, all sharing access to the same state! The ThreadedMonad just adds some extra work on top of that, with its own MVar, and avoids such actions possibly stepping on one-another's toes. I have not gotten rid of it, but might try that later. Being able to run concurrent Annex actions would simplify parts of the Assistant code.
* test suite passes in direct modeGravatar Joey Hess2013-05-17
| | | | | | | | | | | This fixes a bug with git annex add in direct mode. If some files already existed in the tree pointing at the same key as a file that was just added, and their content was not present, add neglected to copy the content to those files. I also changed the behavior of moveAnnex slightly: When content is moved into the annex in direct mode, it does not overwrite any content already present in direct mode files. That content may be modified after all.
* Merge branch 'master' into windowsGravatar Joey Hess2013-05-14
|\ | | | | | | | | | | | | | | Conflicts: Annex/Environment.hs Build/Configure.hs Git/Construct.hs Utility/FileMode.hs
| * migrate: Detect if a file gets corrupted while it's being migrated.Gravatar Joey Hess2013-05-13
| |