private void initProjectDir()
{
string sProjectsDir = System.IO.Directory.GetParent(sProjectDir).FullName;
// Check if projects directory exists
if (!Directory.Exists(sProjectsDir))
{
// Create projects directory
Directory.CreateDirectory(sProjectsDir);
}
// Check if already a git repo
if (Directory.Exists(sProjectDir + @".git") && buildInfo.allow_git_fetch)
{
//string status = String.Format("Git repo exists ({0}) and fetch command is allowed (allow_git_fetch={1})", sProjectDir + @".git", Convert.ToString(buildInfo.allow_git_fetch));
//commands.AddLast("echo \"" + status + "\"");
// Already a git repo, pull changes
commands.AddLast(fetchCmd());
}
else
{
// No git repo, checkout
if (Directory.Exists(sProjectDir))
{
DeleteDirectory(sProjectDir);
}
commands.AddLast(cloneCmd());
}
Config.PrebuildConfig cfg = Config.getDataForBuild(buildInfo);
if (cfg.PostPrepare != "")
{
commands.AddLast(cfg.PostPrepare);
}
}