about summary refs log tree commit diff
path: root/src/libstore/legacy-ssh-store.cc
AgeCommit message (Collapse)AuthorFilesLines
2018-03-21 Make 'nix copy --to ssh://...' run in constant memoryEelco Dolstra1-2/+2
2018-03-21 Make 'nix copy --from ssh://...' run in constant memoryEelco Dolstra1-6/+1
For instance, this reduced the memory consumption of $ nix copy --from ssh://localhost --to ~/my-nix /nix/store/1n7x0yv8vq6zi90hfmian84vdhd04bgp-blender-2.79a from 632 MiB to 16 MiB.
2018-03-21 LegacySSHStore: Allow overriding the path to nix-storeEelco Dolstra1-1/+2
2017-09-08 LegacySSHStore: Include signatures etc.Eelco Dolstra1-0/+7
2017-08-16 nix copy: Revive progress barEelco Dolstra1-1/+0
2017-07-30 Replace Unicode quotes in user-facing strings by ASCIIJörg Thalheim1-6/+6
Relevant RFC: NixOS/rfcs#4 $ ag -l | xargs sed -i -e "/\"/s/’/'/g;/\"/s/‘/'/g"
2017-07-03 Replace a few bool flags with enumsEelco Dolstra1-4/+5
Functions like copyClosure() had 3 bool arguments, which creates a severe risk of mixing up arguments. Also, implement copyClosure() using copyPaths().
2017-05-02 build-remote: Fix fallback to other machines when connecting failsEelco Dolstra1-0/+5
Opening an SSHStore or LegacySSHStore does not actually establish a connection, so the try/catch block here did nothing. Added a Store::connect() method to test whether a connection can be established.
2017-05-02 build-remote: Ugly hackery to get build logs to workEelco Dolstra1-1/+5
The build hook mechanism expects build log output to go to file descriptor 4, so do that.
2017-05-01 build-remote: Don't require signaturesEelco Dolstra1-3/+0
This restores the old behaviour.
2017-05-01 Implement LegacySSHStore::buildDerivation()Eelco Dolstra1-5/+32
This makes LegacySSHStore usable by build-remote and hydra-queue-runner.
2017-05-01 Add a dummy Store::buildPaths() methodEelco Dolstra1-9/+0
This default implementation of buildPaths() does nothing if all requested paths are already valid, and throws an "unsupported operation" error otherwise. This fixes a regression introduced by c30330df6f67c81986dfb124631bc756c8e58c0d in binary cache and legacy SSH stores.
2017-04-13 Add a Config class to simplify adding configuration settingsEelco Dolstra1-3/+7
The typical use is to inherit Config and add Setting<T> members: class MyClass : private Config { Setting<int> foo{this, 123, "foo", "the number of foos to use"}; Setting<std::string> bar{this, "blabla", "bar", "the name of the bar"}; MyClass() : Config(readConfigFile("/etc/my-app.conf")) { std::cout << foo << "\n"; // will print 123 unless overriden } }; Currently, this is used by Store and its subclasses for store parameters. You now get a warning if you specify a non-existant store parameter in a store URI.
2017-03-16 ssh:// -> ssh-ng://, legacy-ssh:// -> ssh://Eelco Dolstra1-1/+1
2017-03-16 copyPaths(): Use queryValidPaths() to reduce SSH latencyEelco Dolstra1-0/+13
2017-03-16 LegacySSHStore: Provide a faster implementation of computeFSClosure()Eelco Dolstra1-0/+22
This avoids the latency of the standard implementation, which can make a huge difference (e.g. 16.5s -> 0.5s on a NixOS system closure).
2017-03-16 Fix nix-copy-closure --toEelco Dolstra1-1/+1
2017-03-03 Improve SSH handlingEelco Dolstra1-45/+15
* Unify SSH code in SSHStore and LegacySSHStore. * Fix a race starting the SSH master. We now wait synchronously for the SSH master to finish starting. This prevents the SSH clients from starting their own connections. * Don't use a master if max-connections == 1. * Add a "max-connections" store parameter. * Add a "compress" store parameter.
2017-03-01 RemoteStore::addToStore(): Send NAR rather than string containing NAREelco Dolstra1-2/+2
This allows the NAR to be streamed in the future (though we're not doing that yet).
2017-02-21 Fix building without S3 supportEelco Dolstra1-1/+1
http://hydra.nixos.org/build/49031196/nixlog/2/raw
2017-02-07 Add a LegacySSHStore that uses nix-store --serveEelco Dolstra1-0/+247
This is useful for nix-copy-closure.