- #1423 sync vs. push, pull, merge collision avoidance.
This commit is contained in:
Paul Beckingham 2013-11-03 12:04:21 -05:00
parent 56d8734e1a
commit 8c9bc99af6
7 changed files with 13 additions and 13 deletions

View file

@ -17,6 +17,7 @@ Features
+ #1297 The task₋sync(5) man pages is rewritten with examples.
+ #1339 The configuration file now supports JSON encoding of Unicode
characters, by specifying \uNNNN.
+ #1423 sync vs. push, pull, merge collision avoidance.
+ #1385 Need a way to configure the trust of self-signed certificates.
+ Stores un-synched transactions in <data.location>/backlog.data.
+ Adds a new 'synchronize' command to sync data with a task server.

View file

@ -168,7 +168,7 @@ int CmdShow::execute (std::string& output)
" list.all.tags"
" locale"
" locking"
" merge.autopush"
" merge.autopush" // Deprecated 2.3.0
" merge.default.uri" // Deprecated 2.3.0
" monthsperline"
" nag"
@ -300,19 +300,7 @@ int CmdShow::execute (std::string& output)
color = warning;
}
// TODO Deprecated.
std::string value = i->second;
// hide sensible information
if ((i->first.substr (0, 5) == "push." ||
i->first.substr (0, 5) == "pull." ||
i->first.substr (0, 6) == "merge.") &&
(i->first.find (".uri") != std::string::npos))
{
Uri uri (value);
uri.parse ();
value = uri.ToString ();
}
int row = view.addRow ();
view.set (row, 0, i->first, color);
view.set (row, 1, value, color);

View file

@ -78,6 +78,13 @@ int CmdSync::execute (std::string& output)
connection.rfind (':') == std::string::npos)
throw std::string (STRING_CMD_SYNC_NO_SERVER);
// If push/pull/merge is configured, quit.
if (context.config.get ("merge.autopush") != "" ||
context.config.get ("merge.default.uri") != "" ||
context.config.get ("push.default.uri") != "" ||
context.config.get ("pull.default.uri") != "")
throw std::string (STRING_CMD_SYNC_NOMERGE);
// Obtain credentials.
std::string credentials_string = context.config.get ("taskd.credentials");
if (credentials_string == "")

View file

@ -428,6 +428,7 @@
#define STRING_CMD_SYNC_NO_CA "CA certificate not found."
#define STRING_CMD_SYNC_CONNECT "Could not connect to {1} {2}"
#define STRING_CMD_SYNC_HANDSHAKE "Handshake failed. {1}"
#define STRING_CMD_SYNC_NOMERGE "Task push/pull/merge is configured, deprecated, and does not work with 'sync'."
#define STRING_CMD_DIAG_USAGE "Platform, build and environment details"
#define STRING_CMD_DIAG_PLATFORM "Platform"
#define STRING_CMD_DIAG_UNKNOWN "<unknown>"

View file

@ -439,6 +439,7 @@
#define STRING_CMD_SYNC_NO_CA "Certificado CA no encontrado."
#define STRING_CMD_SYNC_CONNECT "No se pudo conectar a {1} {2}"
#define STRING_CMD_SYNC_HANDSHAKE "Handshake fallido. {1}"
#define STRING_CMD_SYNC_NOMERGE "Task push/pull/merge is configured, deprecated, and does not work with 'sync'."
#define STRING_CMD_DIAG_USAGE "Detalles de plataforma, construcción y entorno"
#define STRING_CMD_DIAG_PLATFORM "Plataforma"
#define STRING_CMD_DIAG_UNKNOWN "<desconocido>"

View file

@ -428,6 +428,7 @@
#define STRING_CMD_SYNC_NO_CA "CA certificate not found."
#define STRING_CMD_SYNC_CONNECT "Could not connect to {1} {2}"
#define STRING_CMD_SYNC_HANDSHAKE "Handshake failed. {1}"
#define STRING_CMD_SYNC_NOMERGE "Task push/pull/merge is configured, deprecated, and does not work with 'sync'."
#define STRING_CMD_DIAG_USAGE "Platform, build and environment details"
#define STRING_CMD_DIAG_PLATFORM "Platform"
#define STRING_CMD_DIAG_UNKNOWN "<unknown>"

View file

@ -429,6 +429,7 @@
#define STRING_CMD_SYNC_NO_CA "CA certificate not found."
#define STRING_CMD_SYNC_CONNECT "Could not connect to {1} {2}"
#define STRING_CMD_SYNC_HANDSHAKE "Handshake failed. {1}"
#define STRING_CMD_SYNC_NOMERGE "Task push/pull/merge is configured, deprecated, and does not work with 'sync'."
#define STRING_CMD_DIAG_USAGE "Dettagli su piattaforma, build e ambiente"
#define STRING_CMD_DIAG_PLATFORM "Piattaforma"
#define STRING_CMD_DIAG_UNKNOWN "<sconoscito>"