about summary refs log tree commit diff
path: root/src/libstore/remote-store.cc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-31T22·19-0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-31T22·19-0400
commit90d9c58d4dabb370849cd523fb9ee471e8140b76 (patch)
treecaa1ed9ad85e20106df6ad2ab396e46524953b37 /src/libstore/remote-store.cc
parent89a8207029e7f6d5cfe3ab972c49ea46f5b9a784 (diff)
Pass all --option flags to the daemon
Diffstat (limited to 'src/libstore/remote-store.cc')
-rw-r--r--src/libstore/remote-store.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc
index c67e53bfb8..56396541ad 100644
--- a/src/libstore/remote-store.cc
+++ b/src/libstore/remote-store.cc
@@ -184,6 +184,7 @@ RemoteStore::~RemoteStore()
 void RemoteStore::setOptions()
 {
     writeInt(wopSetOptions, to);
+
     writeInt(settings.keepFailed, to);
     writeInt(settings.keepGoing, to);
     writeInt(settings.tryFallback, to);
@@ -202,6 +203,15 @@ void RemoteStore::setOptions()
     if (GET_PROTOCOL_MINOR(daemonVersion) >= 10)
         writeInt(settings.useSubstitutes, to);
 
+    if (GET_PROTOCOL_MINOR(daemonVersion) >= 12) {
+        Settings::SettingsMap overrides = settings.getOverrides();
+        writeInt(overrides.size(), to);
+        foreach (Settings::SettingsMap::iterator, i, overrides) {
+            writeString(i->first, to);
+            writeString(i->second, to);
+        }
+    }
+
     processStderr();
 }