// try to execute git-describe to get a version string
QProcess git;
git.setWorkingDirectory(gitroot);
+ #ifdef Q_OS_WIN
+ git.start("cmd.exe", QStringList() << "/C" << "git" << "describe" << "--long");
+ #else
git.start("git", QStringList() << "describe" << "--long");
+ #endif
if(git.waitForFinished(10000)) {
QString descr = git.readAllStandardOutput().trimmed();
if(!descr.isEmpty() && !descr.contains("fatal")) {
// seems we have a valid git describe string
descrver = descr;
// check if the workdir is dirty
+ #ifdef Q_OS_WIN
+ git.start("cmd.exe", QStringList() << "/C" << "git" << "diff-index" << "--name-only" << "HEAD");
+ #else
git.start("git", QStringList() << "diff-index" << "--name-only" << "HEAD");
+ #endif
if(git.waitForFinished(10000)) {
if(!git.readAllStandardOutput().isEmpty()) dirty = "*";
}
// get a full committish
+ #ifdef Q_OS_WIN
+ git.start("cmd.exe", QStringList() << "/C" << "git" << "rev-parse" << "HEAD");
+ #else
git.start("git", QStringList() << "rev-parse" << "HEAD");
+ #endif
if(git.waitForFinished(10000)) {
committish = git.readAllStandardOutput().trimmed();
}
QByteArray oldContents = gen.readAll();
if(oldContents != contents) { // only touch the file if something changed
gen.seek(0);
+ gen.resize(0);
gen.write(contents);
gen.waitForBytesWritten(10000);
}