internal IDeploymentStatusFile GetOrCreateStatusFile(ChangeSet changeSet, ITracer tracer, string deployer)
{
string id = changeSet.Id;
using (tracer.Step("Collecting changeset information"))
{
// Check if the status file already exists. This would happen when we're doing a redeploy
IDeploymentStatusFile statusFile = _status.Open(id);
if (statusFile == null)
{
// Create the status file and store information about the commit
statusFile = _status.Create(id);
}
statusFile.Message = changeSet.Message;
statusFile.Author = changeSet.AuthorName;
statusFile.Deployer = deployer;
statusFile.AuthorEmail = changeSet.AuthorEmail;
statusFile.IsReadOnly = changeSet.IsReadOnly;
statusFile.Save();
return statusFile;
}
}