summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
* 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
| |
* | fix permission damage (thanks, Windows)Gravatar Joey Hess2013-05-11
| |
* | use setCurrentDirectoryGravatar Joey Hess2013-05-11
| | | | | | | | On POSIX, this just calls changeWorkingDirectory.
* | clean up from windows portingGravatar Joey Hess2013-05-11
| |
* | git-annex now builds on Windows (doesn't work)Gravatar Joey Hess2013-05-11
| |
* | fixup #if 0 stubs to use #ifndef mingw32_HOST_OSGravatar Joey Hess2013-05-10
| | | | | | | | | | | | That's needed in files used to build the configure program. For the other files, I'm keeping my __WINDOWS__ define, as I find that much easier to type. I may search and replace it to use the mingw32_HOST_OS thing later.
* | stub out POSIX stuffGravatar Joey Hess2013-05-10
|/
* git-annex-shell: Ensure that received files can be read. Files transferred ↵Gravatar Joey Hess2013-05-06
| | | | from some Android devices may have very broken permissions as received.
* fix buildGravatar Joey Hess2013-05-02
|
* fix buildGravatar Joey Hess2013-05-02
|
* need cppGravatar Joey Hess2013-05-02
|
* cannot open file:// url on Android, so don't use the htmlshim thereGravatar Joey Hess2013-05-02
|
* include build flags in version info when not in a repoGravatar Joey Hess2013-05-01
|
* Fix the URL not showing until the app closesGravatar Bruno Bigras2013-05-01
|
* thaw content directory in direct mode tooGravatar Joey Hess2013-04-30
| | | | | | | | A content directory can be frozen in direct mode. One way this can happen is if the content is transferred before direct mode has a mapping for it, so it's stored in the content directory. So, we need to thaw the content directory before doing things with it.
* To enable an existing special remote, the new enableremote command must be ↵Gravatar Joey Hess2013-04-26
| | | | used. The initremote command now is used only to create new special remotes.
* initremote: If two existing remotes have the same name, prefer the one with ↵Gravatar Joey Hess2013-04-24
| | | | a higher trust level.
* show a message to tell why adding a file failedGravatar Joey Hess2013-04-23
|
* add: avoid ugly error message when adding a deleted file in direct modeGravatar Joey Hess2013-04-23
| | | | | | Due to add using withFilesMaybeModified, it will get files that have been deleted but are still in the index. So catch the IO error that results when trying to stat such a file.
* sync: Commit in direct mode even if no changes were stagedGravatar Joey Hess2013-04-23
| | | | | | | | There may be already staged changes from a prior `git annex add`, so always commit. Also, suppressed the commit output, since it contains noise due to typechanged files in direct mode.
* rename moduleGravatar Joey Hess2013-04-23
|
* expose Control.Monad.joinGravatar Joey Hess2013-04-22
| | | | | I think I've been looking for that function for some time. Ie, I remember wanting to collapse Just Nothing to Nothing.
* rmurl: New command, removes one of the recorded urls for a file.Gravatar Joey Hess2013-04-22
|
* direct, indirect: Refuse to do anything when the assistant or git-annex ↵Gravatar Joey Hess2013-04-22
| | | | watch daemon is running.
* Detect systems that have no user name set in GECOS, and also don't have ↵Gravatar Joey Hess2013-04-22
| | | | user.name set in git config, and put in a workaround so that commits to the git-annex branch (and the assistant) will still succeed despite git not liking the system configuration.
* sync, assistant: Sync with remotes that have annex-ignore setGravatar Joey Hess2013-04-22
| | | | | | | | This is so git remotes on servers without git-annex installed can be used to keep clients' git repos in sync. This is a behavior change, but since annex-sync can be set to disable syncing with a remote, I think it's acceptable.
* change sectionGravatar Joey Hess2013-04-20
|
* improve usage messagesGravatar Joey Hess2013-04-20
|