summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add and use numcopiesneeded preferred content expression.Gravatar Joey Hess2014-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add numcopiesneeded preferred content expression. * Client, transfer, incremental backup, and archive repositories now want to get content that does not yet have enough copies. This means the asssistant will make copies of files that don't yet meet the configured numcopies, even to places that would not normally want the file. For example, if numcopies is 4, and there are 2 client repos and 2 transfer repos, and 2 removable backup drives, the file will be sent to both transfer repos in order to make 4 copies. Once a removable drive get a copy of the file, it will be dropped from one transfer repo or the other (but not both). Another example, numcopies is 3 and there is a client that has a backup removable drive and two small archive repos. Normally once one of the small archives has a file, it will not be put into the other one. But, to satisfy numcopies, the assistant will duplicate it into the other small archive too, if the backup repo is not available to receive the file. I notice that these examples are fairly unlikely setups .. the old behavior was not too bad, but it's nice to finally have it really correct. .. Almost. I have skipped checking the annex.numcopies .gitattributes out of fear it will be too slow. This commit was sponsored by Florian Schlegel.
* stability analysisGravatar Joey Hess2014-01-20
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2014-01-20
|\
* | global numcopies settingGravatar Joey Hess2014-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * numcopies: New command, sets global numcopies value that is seen by all clones of a repository. * The annex.numcopies git config setting is deprecated. Once the numcopies command is used to set the global number of copies, any annex.numcopies git configs will be ignored. * assistant: Make the prefs page set the global numcopies. This global numcopies setting is needed to let preferred content expressions operate on numcopies. It's also convenient, because typically if you want git-annex to preserve N copies of files in a repo, you want it to do that no matter which repo it's running in. Making it global avoids needing to warn the user about gotchas involving inconsistent annex.numcopies settings. (See changes to doc/numcopies.mdwn.) Added a new variety of git-annex branch log file, that holds only 1 value. Will probably be useful for other stuff later. This commit was sponsored by Nicolas Pouillard.
| * a separate sync daemon has many advantages indeedGravatar https://id.koumbit.net/anarcat2014-01-20
|/
* promote stm dependency, since Remote.External needs itGravatar Joey Hess2014-01-20
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2014-01-20
|\
* | design for preferred content numcopies checkGravatar Joey Hess2014-01-20
| |
* | export cleanupGravatar Joey Hess2014-01-20
| |
* | much better command action handling for sync --contentGravatar Joey Hess2014-01-20
| |
* | wontfixGravatar Joey Hess2014-01-20
| |
| * Added a commentGravatar http://joeyh.name/2014-01-20
| |
| * Added a commentGravatar http://joeyh.name/2014-01-20
| |
| * Added a comment: Chunk itGravatar https://www.google.com/accounts/o8/id?id=AItOawm_YXzEdPHzbSGVwtmTR7g1BqDtTnIBB5s2014-01-20
| |
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawkqUg2sSO_pOdi6M7GU86Hsyv5-r33baLs2014-01-20
| |
* | fix inversion of control in CommandSeek (no behavior changes)Gravatar Joey Hess2014-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've been disliking how the command seek actions were written for some time, with their inversion of control and ugly workarounds. The last straw to fix it was sync --content, which didn't fit the Annex [CommandStart] interface well at all. I have not yet made it take advantage of the changed interface though. The crucial change, and probably why I didn't do it this way from the beginning, is to make each CommandStart action be run with exceptions caught, and if it fails, increment a failure counter in annex state. So I finally remove the very first code I wrote for git-annex, which was before I had exception handling in the Annex monad, and so ran outside that monad, passing state explicitly as it ran each CommandStart action. This was a real slog from 1 to 5 am. Test suite passes. Memory usage is lower than before, sometimes by a couple of megabytes, and remains constant, even when running in a large repo, and even when repeatedly failing and incrementing the error counter. So no accidental laziness space leaks. Wall clock speed is identical, even in large repos. This commit was sponsored by an anonymous bitcoiner.
| * Fix misleading descriptionGravatar Richard Hartmann2014-01-20
| |
| * Added a commentGravatar https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d82014-01-19
| |
* | gathdGravatar Joey Hess2014-01-19
|/
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2014-01-19
|\
| * Added a commentGravatar http://joeyh.name/2014-01-19
| |
* | devblogGravatar Joey Hess2014-01-19
| |
* | include information about remotes just uloaded to when calling handleDropsFromGravatar Joey Hess2014-01-19
| |
* | followups and closuresGravatar Joey Hess2014-01-19
| |
* | sync --content: New option that makes the content of annexed files be ↵Gravatar Joey Hess2014-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | transferred. Similar to the assistant, this honors any configured preferred content expressions. I am not entirely happpy with the implementation. It would be nicer if the seek function returned a list of actions which included the individual file gets and copies and drops, rather than the current list of calls to syncContent. This would allow getting rid of the somewhat reundant display of "sync file [ok|failed]" after the get/put display. But, do that, withFilesInGit would need to somehow be able to construct such a mixed action list. And it would be less efficient than the current implementation, which is able to reuse several values between eg get and drop. Note that currently this does not try to satisfy numcopies when getting/putting files (numcopies are of course checked when dropping files!) This makes it like the assistant, and unlike get --auto and copy --auto, which do duplicate files when numcopies is not yet satisfied. I don't know if this is the right decision; it only seemed to make sense to have this parallel the assistant as far as possible to start with, since I know the assistant works. This commit was sponsored by Øyvind Andersen Holm.
| * TypoGravatar Richard Hartmann2014-01-19
| |
| * createGravatar https://www.google.com/accounts/o8/id?id=AItOawniCRkhl_W87gOK5eElfsef3FoUsUFpAr42014-01-19
| |
| * Added a comment: The world of MacGravatar https://www.google.com/accounts/o8/id?id=AItOawkq2cjugiSvKWiWmcah3CPBqviQV_cin9I2014-01-19
| |
| * added bug about .local adressesGravatar https://arthur.lutz.im/2014-01-19
| |
| * Added a commentGravatar http://joeyh.name/2014-01-18
| |
| * (no commit message)Gravatar https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d82014-01-18
|/
* devblogGravatar Joey Hess2014-01-18
|
* seed .mailmap file for more sensible git shortlogGravatar Yaroslav Halchenko2014-01-18
|
* Allow --all to be mixed with matching options like --copies and --in (but ↵Gravatar Joey Hess2014-01-18
| | | | not --include and --exclude).
* improve matcher data type to allow matching Keys, instead of just files (no ↵Gravatar Joey Hess2014-01-18
| | | | behavior changes)
* note that --all can't be mixed with eg --copiesGravatar Joey Hess2014-01-18
|
* clarify syncGravatar Joey Hess2014-01-18
|
* list: Fix specifying of files to list.Gravatar Joey Hess2014-01-18
|
* improve output when there are no known special remotesGravatar Joey Hess2014-01-18
|
* Minor git-annex.mdwn tune ups (trailing spaces, typos, more consistency in ↵Gravatar Yaroslav Halchenko2014-01-18
| | | | | | | tense) Conflicts: doc/git-annex.mdwn -- I have managed to work on an old copy, so overlapped a bit
* whereis supports --json, add optionGravatar Joey Hess2014-01-18
|
* status: Support --json.Gravatar Joey Hess2014-01-18
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2014-01-18
|\
* | Remove --json option from commands not supporting it.Gravatar Joey Hess2014-01-18
| |
* | closeGravatar Joey Hess2014-01-18
| |
| * Added a commentGravatar http://joeyh.name/2014-01-18
| |
* | avoid trying to find minimum element of empty mapGravatar Joey Hess2014-01-18
| |
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawnx8kHW66N3BqmkVpgtXDlYMvr8TJ5VvfY2014-01-18
| |
| * Added a comment: could it be part/reason of the problemGravatar https://www.google.com/accounts/o8/id?id=AItOawnx8kHW66N3BqmkVpgtXDlYMvr8TJ5VvfY2014-01-18
| |
| * Added a comment: repair seems to be also confusedGravatar https://www.google.com/accounts/o8/id?id=AItOawnx8kHW66N3BqmkVpgtXDlYMvr8TJ5VvfY2014-01-18
| |