summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* renamed RsyncFile -> RsyncGravatar Joey Hess2012-09-19
|
* add annex.delayadd configurationGravatar Joey Hess2012-09-19
|
* Added a commentGravatar http://joeyh.name/2012-09-19
|
* support old versions of git that do not have --allow-empty-messageGravatar Joey Hess2012-09-19
|
* add missing --no-verify to prevent the pre-commit hook's git annex fixGravatar Joey Hess2012-09-19
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2012-09-19
|\
* | ideaGravatar Joey Hess2012-09-19
| |
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawn-KDr_Z4CMkjS0v_TxQ08SzAB5ecHG3K02012-09-19
| |
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawn-KDr_Z4CMkjS0v_TxQ08SzAB5ecHG3K02012-09-19
| |
| * Added a comment: Modifying files in a folder watched by assistantGravatar https://www.google.com/accounts/o8/id?id=AItOawn-KDr_Z4CMkjS0v_TxQ08SzAB5ecHG3K02012-09-19
| |
| * poll vote (Tahoe-LAFS)Gravatar 79.97.135.2142012-09-19
| |
| * poll vote (Google Drive)Gravatar 98.108.200.802012-09-19
| |
* | fix linkGravatar Joey Hess2012-09-18
| |
| * poll vote (My phone (or MP3 player))Gravatar 85.165.7.402012-09-18
| |
| * Added a commentGravatar http://www.davidhaslem.com/2012-09-18
|/
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2012-09-18
|\
* | blog for the dayGravatar Joey Hess2012-09-18
| |
* | make other repositories list list all autostarted reposGravatar Joey Hess2012-09-18
| | | | | | | | And add a form to add another, unrelated repository
* | prefer ipv4 localhost when both are availableGravatar Joey Hess2012-09-18
| | | | | | | | | | | | | | | | | | | | The webapp can only run on one of ipv4 and ipv6, no both. Some web browsers may not support ipv6, so ipv4 is the safe choice. The actual problem I ran into with it only listening to ipv6 was that Utility.Url.exists was failing to connect to it. I doubt that haskell's HTTP library is ipv4 only. More likely, it was only trying one address, and tried ipv4 first.
* | avoid making empty commitsGravatar Joey Hess2012-09-18
| | | | | | | | | | | | | | | | | | | | | | This doesn't avoid it sometimes attempting to commit when there are no changes. Typically that happens when a change is pushed in from another repo; the watcher sees the file and tries to stage it, resulting in an empty commit. Really fixing that would probably use more CPU than occasionally trying to make an empty commit. However, this does save a lot of unnecessary work, as those empty commits had to be synced out, which no longer happens.
* | avoid sending uploads right back to where the download came fromGravatar Joey Hess2012-09-18
| | | | | | | | Just an optimisation.
* | when a Download finishes, queue UploadsGravatar Joey Hess2012-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures file propigate takes place in situations such as: Usb drive A is connected to B. A's master branch is already in sync with B, but it is being used to sneakernet some files around, so B downloads those. There is no master branch change, so C does not request these files. B needs to upload the files it just downloaded on to C, etc. My first try at this, I saw loops happen. B uploaded to C, which then tried to upload back to B (because it had not received the updated git-annex branch from B yet). B already had the file, but it still created a transfer info file from the incoming transfer, and its watcher saw that be removed, and tried to upload back to C. These loops should have been fixed by my previous commit. (They never affected ssh remotes, only local ones, it seemed.) While C might still try to upload to B, or to some other remote that already has the file, the extra work dies out there.
* | avoid starting a download for a local transfer when the remote already has ↵Gravatar Joey Hess2012-09-18
| | | | | | | | | | | | | | | | | | the key Turns out that recvkey already does this same check. This avoids a transfer file being created for the download that never happened, which in turn will avoid the assistant seeing that the download has finished, when no transfer actually took place.
| * Added a commentGravatar http://joeyh.name/2012-09-18
| |
| * Added a comment: +1Gravatar http://ertai.myopenid.com/2012-09-18
| |
| * (no commit message)Gravatar http://www.davidhaslem.com/2012-09-18
|/
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2012-09-17
|\
* | blog for the dayGravatar Joey Hess2012-09-17
| |
* | run current branch merge in annex monadGravatar Joey Hess2012-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I was seeing some interesting crashes after the previous commit, when making file changes slightly faster than the assistant could keep up. error: Ref refs/heads/master is at 7074f8e0a11110c532d06746e334f2fec6af6ab4 but expected 95ea86008d72a40d97a81cfc8fb47a0da92166bd fatal: cannot lock HEAD ref Committer crashed: git commit [Param "--allow-empty-message",Param "-m",Param "",Param "--allow-empty",Param "--quiet"] failed Pusher crashed: thread blocked indefinitely in an STM transaction Clearly the the merger ended up running at the same time as the committer, and with both modifying HEAD the committer crashed. I fixed that by making the Merger run its merge inside the annex monad, which avoids it running concurrently with other git operations. Also by making the committer not crash if git fails. What I don't understand is why the pusher then crashed with a STM deadlock. That must be in either the DaemonStatusHandle or the FailedPushMap, and the latter is only used by the pusher. Did the committer's crash somehow break STM? The BlockedIndefinitelyOnSTM exception is described as: -- |The thread is waiting to retry an STM transaction, but there are no -- other references to any @TVar@s involved, so it can't ever continue. If the Committer had a reference to a TVar and crashed, I can sort of see this leading to that exception.. The crash was quite easy to reproduce after the previous commit, but after making the above change, I have yet to see it again. Here's hoping.
* | deferred downloadsGravatar Joey Hess2012-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | Now when a download is queued and there's no known remote to get it from, it's added to a deferred download list, which will be retried later. The Merger thread tries to queue any deferred downloads when it receives a push to the git-annex branch. Note that the Merger thread now also forces an update of the git-annex branch. The assistant was not updating this branch before, and it saw a (mostly) correct view of state, but now that incoming pushes go to synced/git-annex, it needs to be merged in.
| * Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawn4bbuawnh-nSo9pAh8irYAcV4MQCcfdHo2012-09-18
| |
| * Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawn4bbuawnh-nSo9pAh8irYAcV4MQCcfdHo2012-09-17
| |
| * poll vote (My phone (or MP3 player))Gravatar 93.218.139.222012-09-17
| |
* | cleanupGravatar Joey Hess2012-09-17
| |
* | noteGravatar Joey Hess2012-09-17
| |
* | simplifyGravatar Joey Hess2012-09-17
| |
| * poll vote (Google Drive)Gravatar 174.127.226.1622012-09-17
| |
* | Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2012-09-17
|\|
| * Added a commentGravatar http://joeyh.name/2012-09-17
| |
| * Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawmBUR4O9mofxVbpb8JV9mEbVfIYv670uJo2012-09-17
| |
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawnq-RfkVpFN15SWvQ2lpSGAi0XpNQuLxKM2012-09-17
| |
* | flip catchDefaultIOGravatar Joey Hess2012-09-17
|/
* better name for fallback sync refsGravatar Joey Hess2012-09-16
| | | | | | | | | | | Don't expose these as branches in refs/heads/. Instead hide them away in refs/synced/ where only show-ref will find them. Make unused only look at branches and tags, not these other things, so it won't care if some stale sync ref used to use a file. This means they don't need to be deleted, which could have led to an incoming sync being missed.
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2012-09-16
|\
* | blog for the dayGravatar Joey Hess2012-09-16
| |
* | ensure outgoing sync pushes always succeed when repo is accessibleGravatar Joey Hess2012-09-16
| | | | | | | | | | | | | | | | | | The fallback branches pushed to contain the uuid of the pusher, which is ugly. That's why syncing doesn't normally use this method. The merger deletes fallback branches after merging them, to contain the ugliness, and so unused doesn't look at data from these branches. (The fallback git-annex branch is left behind for now.)
* | make the merger merge any equivilant sync branch into the current branchGravatar Joey Hess2012-09-16
| | | | | | | | Not just synced/master, but synced/UUID/master, for example
| * Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawn4bbuawnh-nSo9pAh8irYAcV4MQCcfdHo2012-09-16
| |
* | sync: Pushes the git-annex branch to remote/synced/git-annex, rather than ↵Gravatar Joey Hess2012-09-16
| | | | | | | | | | | | | | | | | | | | | | | | | | directly to remote/git-annex. This fixes a problem I was seeing in the assistant where two remotes would attempt to sync with one another at the same time, and both failed pushing the diverged git-annex branch. Then when both tried to resolve the failed push, they each modified their git-annex branch, which again each blocked the other from pushing into it. The result was that the git-annex branches were perpetually diverged (despite having the same content!) and once the assistant fell into this trap, it couldn't get out and always had to do the slow push/fail/pull/merge/push/fail cycle.
| * poll vote (Tahoe-LAFS)Gravatar http://meep.pl/2012-09-16
|/