diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 3b88bcbde..2b7fecfce 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"microsoft.dotnet.darc": {
- "version": "1.1.0-beta.23527.3",
+ "version": "1.1.0-beta.23416.3",
"commands": [
"darc"
]
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index d0dbdc27c..6ac15ff81 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -222,13 +222,13 @@
https://github.com/dotnet/arcade
39042b4048580366d35a7c1c4f4ce8fc0dbea4b4
-
+
https://github.com/dotnet/arcade-services
- 6e08a501d23d7ca53cfe10d74d0a002f75040a4d
+ 5d63a226d022fda90cae2c239e882ad253baa758
-
+
https://github.com/dotnet/arcade-services
- 6e08a501d23d7ca53cfe10d74d0a002f75040a4d
+ 5d63a226d022fda90cae2c239e882ad253baa758
https://github.com/dotnet/runtime
diff --git a/eng/Versions.props b/eng/Versions.props
index 9ad64ff3e..9a768c646 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -44,7 +44,7 @@
- 1.1.0-beta.23527.3
+ 1.1.0-beta.23416.3
diff --git a/eng/vmr-sync.sh b/eng/vmr-sync.sh
index db0f704e2..a753efdd8 100755
--- a/eng/vmr-sync.sh
+++ b/eng/vmr-sync.sh
@@ -135,7 +135,7 @@ while [[ $# -gt 0 ]]; do
recursive=true
;;
--remote)
- additional_remotes="$additional_remotes $2"
+ additional_remotes="$additional_remotes,$2"
shift
;;
--readme-template)
@@ -265,9 +265,9 @@ fi
$azdev_pat \
--$verbosity \
$recursive_arg \
- $additional_remotes \
--readme-template "$readme_template" \
--tpn-template "$tpn_template" \
+ $additional_remotes \
"$repository"
if [[ $? == 0 ]]; then
diff --git a/src/VirtualMonoRepo/Tasks/GitFileManagerFactory.cs b/src/VirtualMonoRepo/Tasks/GitFileManagerFactory.cs
new file mode 100644
index 000000000..2da3d540b
--- /dev/null
+++ b/src/VirtualMonoRepo/Tasks/GitFileManagerFactory.cs
@@ -0,0 +1,52 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System;
+using Microsoft.DotNet.DarcLib;
+using Microsoft.DotNet.DarcLib.Helpers;
+using Microsoft.DotNet.DarcLib.VirtualMonoRepo;
+using Microsoft.Extensions.Logging;
+
+namespace Microsoft.DotNet.VirtualMonoRepo.Tasks;
+
+public class GitFileManagerFactory : IGitFileManagerFactory
+{
+ private readonly IVmrInfo _vmrInfo;
+ private readonly VmrRemoteConfiguration _remoteConfiguration;
+ private readonly IProcessManager _processManager;
+ private readonly IVersionDetailsParser _versionDetailsParser;
+ private readonly ILoggerFactory _loggerFactory;
+
+ public GitFileManagerFactory(
+ IVmrInfo vmrInfo,
+ VmrRemoteConfiguration remoteConfiguration,
+ IProcessManager processManager,
+ IVersionDetailsParser versionDetailsParser,
+ ILoggerFactory loggerFactory)
+ {
+ _vmrInfo = vmrInfo;
+ _remoteConfiguration = remoteConfiguration;
+ _processManager = processManager;
+ _versionDetailsParser = versionDetailsParser;
+ _loggerFactory = loggerFactory;
+ }
+
+ public IGitFileManager Create(string repoUri)
+ => new GitFileManager(CreateGitRepo(repoUri), _versionDetailsParser, _loggerFactory.CreateLogger());
+
+ private IGitRepo CreateGitRepo(string repoUri) => GitRepoTypeParser.ParseFromUri(repoUri) switch
+ {
+ GitRepoType.AzureDevOps => throw new Exception("VMR initialization should not require Azure DevOps repositories"),
+
+ GitRepoType.GitHub => new GitHubClient(
+ _processManager.GitExecutable,
+ _remoteConfiguration.GitHubToken,
+ _loggerFactory.CreateLogger(),
+ _vmrInfo.TmpPath,
+ // Caching not in use for Darc local client.
+ null),
+
+ GitRepoType.Local => new LocalGitClient(_processManager.GitExecutable, _loggerFactory.CreateLogger()),
+ _ => throw new ArgumentException("Unknown git repository type", nameof(repoUri)),
+ };
+}
diff --git a/src/VirtualMonoRepo/Tasks/VirtualMonoRepo_Initialize.cs b/src/VirtualMonoRepo/Tasks/VirtualMonoRepo_Initialize.cs
index 2a8c1d726..eae76d532 100644
--- a/src/VirtualMonoRepo/Tasks/VirtualMonoRepo_Initialize.cs
+++ b/src/VirtualMonoRepo/Tasks/VirtualMonoRepo_Initialize.cs
@@ -74,8 +74,6 @@ public class VirtualMonoRepo_Initialize : Build.Utilities.Task, ICancelableTask
additionalRemotes,
ReadmeTemplatePath,
TpnTemplatePath,
- generateCodeowners: false,
- discardPatches: true,
_cancellationToken.Token);
return true;
}
@@ -84,6 +82,7 @@ public class VirtualMonoRepo_Initialize : Build.Utilities.Task, ICancelableTask
private IServiceProvider CreateServiceProvider() => new ServiceCollection()
.AddLogging(b => b.AddConsole().AddFilter(l => l >= LogLevel.Information))
- .AddVmrManagers("git", VmrPath, TmpPath, null, null)
+ .AddTransient()
+ .AddVmrManagers(sp => sp.GetRequiredService(), "git", VmrPath, TmpPath, null, null)
.BuildServiceProvider();
}