Exclude clean files from svn status

Subversion itself is roughly 30% faster if we do not ask for status of all files, the XML processing though is magnitudes faster, since it will only have to deal with a few records (in the general case) rather than a record per file (xsltproc seems to do around ~10,000 files per second on my Mac Pro, though I have no idea if it scales linearly).
This commit is contained in:
Allan Odgaard
2012-09-02 17:33:07 +02:00
parent 2d2dd62351
commit 92e31ec8d1

View File

@@ -77,7 +77,7 @@ static void collect_all_paths (std::string const& svn, std::string const& xsltPa
std::map<std::string, std::string> env = oak::basic_environment();
env["PWD"] = dir;
std::string const cmd = text::format("'%s' status --no-ignore --xml -v|/usr/bin/xsltproc '%s' -", svn.c_str(), xsltPath.c_str());
std::string const cmd = text::format("'%s' status --no-ignore --xml|/usr/bin/xsltproc '%s' -", svn.c_str(), xsltPath.c_str());
parse_status_output(entries, io::exec(env, "/bin/sh", "-c", cmd.c_str(), NULL));
}