Performance

- Now detects whether any sync merging needs to happen, and if not, skips the
  loading of all data.
This commit is contained in:
Paul Beckingham 2013-07-06 14:44:55 -04:00
parent ba1e318d7e
commit d4fabba8ee
2 changed files with 6 additions and 4 deletions

2
NEWS
View file

@ -31,7 +31,7 @@ Taskwarrior has been built and tested on the following configurations:
* OS X 10.8 Mountain Lion and 10.7 Lion
* Fedora 18 Spherical Cow and 17 Beefy Miracle
* Ubuntu 12.10 Quantal Quetzal and 12.04 Precise Pangolin
* Debian 6.0 Squeeze (stable)i and 5.0 Lenny (oldstable) plus Sid (testing)
* Debian 6.0 Squeeze (stable) and 5.0 Lenny (oldstable) plus Sid (testing)
* Slackware 13.37
* Arch Linux
* Gentoo Linux

View file

@ -145,9 +145,11 @@ int CmdSync::execute (std::string& output)
std::vector <std::string> lines;
split (lines, payload, '\n');
// TODO This is not necessary if only a synch key was received.
// Load all tasks.
context.tdb2.all_tasks ();
// Load all tasks, but only if necessary. There is always a sync key in
// the payload, so if there are two or more lines, then we have merging
// to perform, otherwise it's just a backlog.data update.
if (lines.size () > 1)
context.tdb2.all_tasks ();
std::string synch_key = "";
std::vector <std::string>::iterator line;