| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has not been tested at all. It compiles!
The only known missing things are support for encryption, and for get/set
of special remote configuration, and of key state. (The latter needs
separate work to add a new per-key log file to store that state.)
Only thing I don't much like is that initremote needs to be passed both
type=external and externaltype=foo. It would be better to have just
type=foo
Most of this is quite straightforward code, that largely wrote itself given
the types. The only tricky parts were:
* Need to lock the remote when using it to eg make a request, because
in theory git-annex could have multiple threads that each try to use
a remote at the same time. I don't think that git-annex ever does
that currently, but better safe than sorry.
* Rather than starting up every external special remote program when
git-annex starts, they are started only on demand, when first used.
This will avoid slowdown, especially when running fast git-annex query
commands. Once started, they keep running until git-annex stops, currently,
which may not be ideal, but it's hard to know a better time to stop them.
* Bit of a chicken and egg problem with caching the cost of the remote,
because setting annex-cost in the git config needs the remote to already
be set up. Managed to finesse that.
This commit was sponsored by Lukas Anzinger.
|
|
|
|
|
|
| |
The shell code was nasty, and buggy. New haskell code is much nicer,
and it's easy to do complicated calculations to properly convert possibly
absolute symlinks between libraries into relative links using it.
|
|
|
|
| |
it to the configuration for any ssh remotes previously created by the assistant. This avoids repeated prompts by ssh if the host key changes, instead syncing with such a remote will fail. Closes: #732602
|
| |
|
|
|
|
| |
follow symlinks to other directories, and add their contents to the annex.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(probably)
transferkeys had used special FDs for communication, but that would be
quite annoying to do in Windows.
Instead, use stdin and stdout. But, to avoid commands like rsync stomping
on them and messing up the communications channel, they're duplicated to a
different handle; stdin is replaced with a null handle, and stdout is
replaced with a copy of stderr. This should all work in windows too.
Stopping in progress transfers may work on windows.. if the types unify
anyway. ;) May need some more porting.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
crash)
|
| |
|
| |
|
|
|
|
| |
This reverts commit 68b8850149a2311a2953a80777d9e747a5972468.
|
| |
|
|
|
|
| |
This reverts commit 5a795c7f7b12429a7003c27e740579248c94a628.
|
|
|
|
| |
This was preventing the webapp from working.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
by repeatedly reading lines and pausing since cannot do signal foo used on
unix
|
|
|
|
| |
hashDirMixed. Closes: #731142
|
| |
|
| |
|
|
|
|
| |
commands are available.
|
| |
|
| |
|
|
|
|
| |
interface compared with the old version.
|
|
|
|
|
|
|
|
| |
In 0.9, -v shows version, rather than controlling verbosity.
Still need to port to 0.9, this just avoids massively confusing addurl when
quvi prints its version and exits successfully, on urls that it cannot be
used with.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
May mean the watcher works on Windows. Untested.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|