void CommitChanges(IGitRepository repository, IEnumerable <StatusEntry> entries, CommitDialog dialog) { if (mainThread.ShowDialog(dialog) == true) { if (!string.IsNullOrEmpty(dialog.NewBranchName)) { repository.Checkout(repository.CreateBranch(dialog.NewBranchName)); } foreach (var entry in entries) { repository.Stage(entry.FilePath); } eventStream.Push <Status>(0.5f); var signature = repository.Config.BuildSignature(DateTimeOffset.Now); repository.Commit( dialog.Message, signature, signature, CreateCommitOptions()); } }