static Task Main() { var githubToken = Environment.GetEnvironmentVariable("Octokit_OAuthToken"); var credentials = new Credentials(githubToken); var sync = new RepoSync(credentials, "NServiceBusExtensions", "Home", "master", Console.WriteLine); sync.AddSourceItem(TreeEntryTargetType.Blob, "src/RepoSync/Source/.editorconfig", ".editorconfig"); sync.AddSourceItem(TreeEntryTargetType.Blob, "src/RepoSync/Source/ISSUE_TEMPLATE/bug_report.md", ".github/ISSUE_TEMPLATE/bug_report.md"); sync.AddSourceItem(TreeEntryTargetType.Blob, "src/RepoSync/Source/ISSUE_TEMPLATE/feature_proposal.md", ".github/ISSUE_TEMPLATE/feature_proposal.md"); sync.AddSourceItem(TreeEntryTargetType.Blob, "src/RepoSync/Source/pull_request_template.md", ".github/pull_request_template.md"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.Attachments", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.AuditFilter", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.Bond", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.MessagePack", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.HandlerOrdering", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.Hyperion", "master"); sync.AddTarget("NServiceBusExtensions", "Newtonsoft.Json.Encryption", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.Jil", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.MicrosoftLogging", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.MsgPack", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.Native", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.ProtoBufGoogle", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.ProtoBufNet", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.Validation", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.Serilog", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.Utf8Json", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.Wire", "master"); sync.AddTarget("NServiceBusExtensions", "NServiceBus.ZeroFormatter", "master"); return(sync.Sync(SyncOutput.MergePullRequest)); }
private static void AddCommonItems(RepoSync sync) { sync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/Source/.editorconfig", "src/.editorconfig"); sync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/Source/config.yml", ".github/ISSUE_TEMPLATE/config.yml"); sync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/Source/on-tag-do-release.yml", ".github/workflows/on-tag-do-release.yml"); sync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/Source/merge-dependabot.yml", ".github/workflows/merge-dependabot.yml"); sync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/Source/dependabot.yml", ".github/dependabot.yml"); }
static RepoSync BuildRepoSync(SyncMode syncMode) { var credentials = CredentialsHelper.Credentials; var repoSync = new RepoSync(syncMode: syncMode); repoSync.AddSourceRepository(new RepositoryInfo(credentials, "owner", "GitHubSync.TestRepository", "source")); return(repoSync); }
static Task Main() { var githubToken = Environment.GetEnvironmentVariable("Octokit_OAuthToken"); var credentials = new Credentials(githubToken); var repoSync = new RepoSync(credentials, "Fody", "Fody", "master", Console.WriteLine); repoSync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/appveyor.yml", "appveyor.yml"); repoSync.AddTarget("Fody", "Caseless", "master"); return(repoSync.Sync()); }
static Task Main() { var githubToken = Environment.GetEnvironmentVariable("Octokit_OAuthToken"); var credentials = new Credentials(githubToken); var sync = new RepoSync( log: Console.WriteLine, defaultCredentials: credentials); sync.AddSourceRepository( owner: "Fody", repository: "Home", branch: "master"); //sync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/appveyor.yml", "appveyor.yml"); sync.AddSourceItem(TreeEntryTargetType.Blob, "src/RepoSync/Source/.editorconfig", ".editorconfig"); sync.AddTargetRepository("Fody", "Fody", "master"); sync.AddTargetRepository("Fody", "Anotar", "master"); sync.AddTargetRepository("Fody", "AsyncErrorHandler", "master"); sync.AddTargetRepository("Fody", "BasicFodyAddin", "master"); sync.AddTargetRepository("Fody", "Caseless", "master"); sync.AddTargetRepository("Fody", "ConfigureAwait", "master"); sync.AddTargetRepository("Fody", "Costura", "master"); sync.AddTargetRepository("Fody", "EmptyConstructor", "master"); sync.AddTargetRepository("Fody", "Equals", "master"); sync.AddTargetRepository("Fody", "ExtraConstraints", "master"); sync.AddTargetRepository("Fody", "Freezable", "master"); sync.AddTargetRepository("Fody", "Immutable", "master"); sync.AddTargetRepository("Fody", "InfoOf", "master"); sync.AddTargetRepository("Fody", "Ionad", "master"); sync.AddTargetRepository("Fody", "Janitor", "master"); sync.AddTargetRepository("Fody", "LoadAssembliesOnStartup", "master"); sync.AddTargetRepository("Fody", "MethodDecorator", "master"); sync.AddTargetRepository("Fody", "MethodTimer", "master"); sync.AddTargetRepository("Fody", "ModuleInit", "master"); sync.AddTargetRepository("Fody", "NullGuard", "master"); sync.AddTargetRepository("Fody", "Obsolete", "master"); sync.AddTargetRepository("Fody", "PropertyChanged", "master"); sync.AddTargetRepository("Fody", "PropertyChanging", "master"); sync.AddTargetRepository("Fody", "Publicize", "master"); sync.AddTargetRepository("Fody", "Resourcer", "master"); sync.AddTargetRepository("Fody", "Scalpel", "master"); sync.AddTargetRepository("Fody", "ToString", "master"); sync.AddTargetRepository("Fody", "Unsealed", "master"); sync.AddTargetRepository("Fody", "Usable", "master"); sync.AddTargetRepository("Fody", "Validar", "master"); sync.AddTargetRepository("Fody", "Virtuosity", "master"); sync.AddTargetRepository("Fody", "Visualize", "master"); return(sync.Sync(SyncOutput.MergePullRequest)); }
public Task SyncCommit() { var credentials = CredentialsHelper.Credentials; var repoSync = new RepoSync(WriteLog); repoSync.AddSourceRepository(new RepositoryInfo(credentials, "SimonCropp", "GitHubSync.TestRepository", "source")); //repoSync.AddBlob("sourceFile.txt"); repoSync.RemoveBlob("IDoNotExist/MeNeither.txt"); repoSync.RemoveBlob("README.md"); repoSync.AddTargetRepository(new RepositoryInfo(credentials, "SimonCropp", "GitHubSync.TestRepository", "targetForCommit")); return(repoSync.Sync(SyncOutput.CreateCommit)); }
public Task SyncPr() { var credentials = CredentialsHelper.Credentials; var repoSync = new RepoSync(WriteLog); repoSync.AddSourceRepository(new RepositoryInfo(credentials, "SimonCropp", "GitHubSync.TestRepository", "source")); //repoSync.AddBlob("sourceFile.txt"); repoSync.RemoveBlob("IDoNotExist/MeNeither.txt"); repoSync.RemoveBlob("a/b/c/file.txt"); repoSync.RemoveBlob("a/b/file.txt"); repoSync.AddTargetRepository(new RepositoryInfo(credentials, "SimonCropp", "GitHubSync.TestRepository", "target")); return(repoSync.Sync()); }
public async Task SyncCommit() { var credentials = CredentialsHelper.Credentials; var repoSync = new RepoSync(WriteLine); await using var repoContext = await TempRepoContext.Create(Context.MethodName, this); repoSync.AddSourceRepository(new RepositoryInfo(credentials, "SimonCropp", "GitHubSync.TestRepository", "source")); repoSync.RemoveBlob("README.md"); repoSync.AddTargetRepository(new RepositoryInfo(credentials, "SimonCropp", "GitHubSync.TestRepository", repoContext.TempBranchName)); var sync = await repoSync.Sync(SyncOutput.CreateCommit); await repoContext.VerifyCommit(sync.Single()); }
static Task Main() { var githubToken = Environment.GetEnvironmentVariable("Octokit_OAuthToken"); var credentials = new Credentials(githubToken); var sync = new RepoSync(credentials, "Fody", "Home", "master", Console.WriteLine); //sync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/appveyor.yml", "appveyor.yml"); sync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/Source/.editorconfig", ".editorconfig"); sync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/Source/bug_report.md", ".github/ISSUE_TEMPLATE/bug_report.md"); sync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/Source/feature_proposal.md", ".github/ISSUE_TEMPLATE/feature_proposal.md"); sync.AddSourceItem(TreeEntryTargetType.Blob, "RepoSync/Source/pull_request_template.md", ".github/pull_request_template.md"); sync.AddTarget("Fody", "Fody", "master"); sync.AddTarget("Fody", "Anotar", "master"); sync.AddTarget("Fody", "AsyncErrorHandler", "master"); sync.AddTarget("Fody", "BasicFodyAddin", "master"); sync.AddTarget("Fody", "Caseless", "master"); sync.AddTarget("Fody", "ConfigureAwait", "master"); sync.AddTarget("Fody", "Costura", "master"); sync.AddTarget("Fody", "EmptyConstructor", "master"); sync.AddTarget("Fody", "Equals", "master"); sync.AddTarget("Fody", "ExtraConstraints", "master"); sync.AddTarget("Fody", "Fielder", "master"); sync.AddTarget("Fody", "Freezable", "master"); sync.AddTarget("Fody", "Immutable", "master"); sync.AddTarget("Fody", "InfoOf", "master"); sync.AddTarget("Fody", "Ionad", "master"); sync.AddTarget("Fody", "Janitor", "master"); sync.AddTarget("Fody", "LoadAssembliesOnStartup", "master"); sync.AddTarget("Fody", "MethodDecorator", "master"); sync.AddTarget("Fody", "MethodTimer", "master"); sync.AddTarget("Fody", "ModuleInit", "master"); sync.AddTarget("Fody", "NullGuard", "master"); sync.AddTarget("Fody", "Obsolete", "master"); sync.AddTarget("Fody", "PropertyChanged", "master"); sync.AddTarget("Fody", "PropertyChanging", "master"); sync.AddTarget("Fody", "Publicize", "master"); sync.AddTarget("Fody", "Resourcer", "master"); sync.AddTarget("Fody", "Scalpel", "master"); sync.AddTarget("Fody", "ToString", "master"); sync.AddTarget("Fody", "Unsealed", "master"); sync.AddTarget("Fody", "Usable", "master"); sync.AddTarget("Fody", "Validar", "master"); sync.AddTarget("Fody", "Virtuosity", "master"); sync.AddTarget("Fody", "Visualize", "master"); return(sync.Sync(SyncOutput.MergePullRequest)); }
RepoSync BuildSync() { var githubToken = Environment.GetEnvironmentVariable("Octokit_OAuthToken"); var credentials = new Credentials(githubToken); var sync = new RepoSync( log: WriteLine, defaultCredentials: credentials, syncMode: SyncMode.ExcludeAllByDefault); sync.AddSourceRepository( owner: "SimonCropp", repository: "Scratch", branch: "main"); return(sync); }
public async Task SyncPrExcludeAllByDefault() { var credentials = CredentialsHelper.Credentials; var repoSync = new RepoSync(WriteLine, syncMode: SyncMode.ExcludeAllByDefault); await using var repoContext = await TempRepoContext.Create(Context.MethodName, this); repoSync.AddSourceRepository(new RepositoryInfo(credentials, "SimonCropp", "GitHubSync.TestRepository", "source")); repoSync.AddBlob("sourceFile.txt"); repoSync.AddSourceItem(TreeEntryTargetType.Blob, "sourceFile.txt", "nested/sourceFile.txt"); repoSync.AddTargetRepository(new RepositoryInfo(credentials, "SimonCropp", "GitHubSync.TestRepository", repoContext.TempBranchName)); var sync = await repoSync.Sync(); await repoContext.VerifyPullRequest(sync.Single()); }
#pragma warning disable CS1998 // ReSharper disable once UnusedParameter.Local static async Task Verify(RepoSync repoSync) #pragma warning restore CS1998 { // Note: we can't verify against local dummy repositories (yet) //foreach (var target in repoSync.targets) //{ // var syncContext = await repoSync.CalculateSyncContext(target); // await Verify( // new // { // syncContext.Diff, // syncContext.Description, // repoSync.sources // }); //} }
public async Task SyncPr(Credentials octokitCredentials) { #region usage // Create a new RepoSync var repoSync = new RepoSync( log: Console.WriteLine); // Add source repo(s) repoSync.AddSourceRepository(new RepositoryInfo( // Valid credentials for the source repo and all target repos credentials: octokitCredentials, owner: "UserOrOrg", repository: "TheSingleSourceRepository", branch: "master")); // Add sources(s), only allowed when SyncMode == ExcludeAllByDefault repoSync.AddBlob("sourceFile.txt"); repoSync.AddBlob("code.cs"); // Remove sources(s), only allowed when SyncMode == IncludeAllByDefault repoSync.AddBlob("sourceFile.txt"); repoSync.AddBlob("code.cs"); // Add target repo(s) repoSync.AddTargetRepository(new RepositoryInfo( credentials: octokitCredentials, owner: "UserOrOrg", repository: "TargetRepo1", branch: "master")); repoSync.AddTargetRepository(new RepositoryInfo( credentials: octokitCredentials, owner: "UserOrOrg", repository: "TargetRepo2", branch: "master")); // Run the sync await repoSync.Sync(syncOutput : SyncOutput.MergePullRequest); #endregion }
static Task Main() { var githubToken = Environment.GetEnvironmentVariable("Octokit_OAuthToken"); var credentials = new Credentials(githubToken); var sync = new RepoSync( log: Console.WriteLine, defaultCredentials: credentials, syncMode: SyncMode.ExcludeAllByDefault); sync.AddSourceRepository( owner: "NServiceBusExtensions", repository: "Home", branch: "master"); sync.AddSourceItem(TreeEntryTargetType.Blob, "src/RepoSync/Source/.editorconfig", "src/.editorconfig"); sync.AddSourceItem(TreeEntryTargetType.Blob, "src/RepoSync/Source/license.txt", "license.txt"); sync.AddSourceItem(TreeEntryTargetType.Blob, "src/RepoSync/Source/workflows/on-push-do-doco.yml", ".github/workflows/on-push-do-doco.yml"); sync.AddSourceItem(TreeEntryTargetType.Blob, "src/RepoSync/Source/workflows/on-tag-do-release.yml", ".github/workflows/on-tag-do-release.yml"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.Attachments", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.AuditFilter", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.Bond", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.MessagePack", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.HandlerOrdering", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.Hyperion", "master"); sync.AddTargetRepository("NServiceBusExtensions", "Newtonsoft.Json.Encryption", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.Jil", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.MicrosoftLogging", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.MsgPack", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.Native", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.ProtoBufGoogle", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.ProtoBufNet", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.Validation", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.Serilog", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.Utf8Json", "master"); sync.AddTargetRepository("NServiceBusExtensions", "NServiceBus.Wire", "master"); sync.AddTargetRepository("NServiceBusExtensions", "Verify.NServiceBus", "master"); return(sync.Sync(SyncOutput.MergePullRequest)); }
static Task SyncRepository(Context context, Repository targetRepository, Credentials credentials) { var sync = new RepoSync(Console.WriteLine); var targetInfo = BuildInfo(targetRepository.Url, targetRepository.Branch, credentials); sync.AddTargetRepository(targetInfo); foreach (var sourceRepository in targetRepository.Templates .Select(_ => context.Templates.First(x => x.name == _))) { var sourceInfo = BuildInfo(sourceRepository.url, sourceRepository.branch, credentials); sync.AddSourceRepository(sourceInfo); } var syncOutput = SyncOutput.CreatePullRequest; if (targetRepository.AutoMerge) { syncOutput = SyncOutput.MergePullRequest; } return(sync.Sync(syncOutput)); }