static GitAutoVersion CalculateVersion(GitAutoVersion baseVersion, GitAutoVersionGitSubData data, Config config) { var branch = data.GitBranch; if (config.Branches.ContainsKey(branch)) { var configBranch = config.Branches[branch]; var firstParentNumber = GitTool.GetCommitNumberCurrentBranchFirstParent(configBranch.ParentSha); var sem = SemVersion.Parse(configBranch.Version); var patchNewValue = sem.Patch + firstParentNumber - 1; var pathNewValue2 = patchNewValue < 0 ? 0 : patchNewValue; var simple = new GitAutoVersionSimple(sem.Major, sem.Minor, pathNewValue2, baseVersion.Special, baseVersion.BuildCounter, baseVersion.DateTime, baseVersion.Env); return(new GitAutoVersion(data, simple)); } else { var firstParentNumber = data.GitCommitsCurrentBranchFirstParent; var simple = new GitAutoVersionSimple(baseVersion.Major, baseVersion.Minor, firstParentNumber, baseVersion.Special, baseVersion.BuildCounter, baseVersion.DateTime, baseVersion.Env); return(new GitAutoVersion(data, simple)); } }
static GitAutoVersion GetBaseGitAutoVersion(string special, int buildCounter, DateTime dateTime, string env) { var data = GitTool.GetAllGitData(); var simple = new GitAutoVersionSimple(0, 0, 0, special, buildCounter, dateTime, env); var baseVersion = new GitAutoVersion(data, simple); return(baseVersion); }
public static GitAutoVersion CreateInternal(int buildCounter, DateTime dateTime) { var config = Read(); var data = GitTool.GetAllGitData(); var baseVersion = GetBaseGitAutoVersion("", buildCounter, dateTime, _env); var ver = CalculateVersion(baseVersion, data, config); return(ver); }
public static GitAutoVersion CreateLegacyInternal(int major, int minor, int buildCounter, DateTime date) { var simple = new GitAutoVersionSimple(major, minor, buildCounter, "", buildCounter, date, _env); var data = GitTool.GetAllGitData(); return(new GitAutoVersion(data, simple)); }