public static Commit CreateFileAndCommit(this IRepository repository, string relativeFileName, string commitMessage = null) { var randomFile = Path.Combine(repository.Info.WorkingDirectory, relativeFileName); if (File.Exists(randomFile)) { File.Delete(randomFile); } var totalWidth = 36 + (_pad++ % 10); var contents = Guid.NewGuid().ToString().PadRight(totalWidth, '.'); File.WriteAllText(randomFile, contents); Commands.Stage(repository, randomFile); return(repository.Commit(string.Format("Test Commit for file '{0}' - {1}", relativeFileName, commitMessage), Generate.SignatureNow(), Generate.SignatureNow())); }
public static Commit CreatePullRequestRef(this IRepository repository, string from, string to, int prNumber = 2, bool normalise = false, bool allowFastFowardMerge = false) { Commands.Checkout(repository, repository.Branches[to].Tip); if (allowFastFowardMerge) { repository.Merge(repository.Branches[from], Generate.SignatureNow()); } else { repository.MergeNoFF(from); } var commit = repository.Head.Tip; repository.Refs.Add("refs/pull/" + prNumber + "/merge", commit.Id); Commands.Checkout(repository, to); if (normalise) { // Turn the ref into a real branch Commands.Checkout(repository, repository.Branches.Add("pull/" + prNumber + "/merge", commit)); } return(commit); }
public static void MergeNoFF(this IRepository repository, string branch) { MergeNoFF(repository, branch, Generate.SignatureNow()); }
/// <summary> /// Merges (no-ff) specified branch into the current HEAD of this repository /// </summary> public void MergeNoFF(string mergeSource) { _sequenceDiagram.Merge(mergeSource, Repository.Head.FriendlyName); Repository.MergeNoFF(mergeSource, Generate.SignatureNow()); }