diff --git a/TGServerService/Repository.cs b/TGServerService/Repository.cs index e30759d1d3..a6bb1d7ddc 100644 --- a/TGServerService/Repository.cs +++ b/TGServerService/Repository.cs @@ -364,11 +364,12 @@ namespace TGServerService }; fos.OnTransferProgress += HandleTransferProgress; Commands.Fetch(Repo, R.Name, refSpecs, fos, logMessage); - + var originBranch = Repo.Head.TrackedBranch; if (reset) { var error = ResetNoLock(Repo.Head.TrackedBranch); + UpdateSubmodules(); if (error != null) throw new Exception(error); DeletePRList(); @@ -376,6 +377,7 @@ namespace TGServerService return error; } var res = MergeBranch(originBranch.FriendlyName); + UpdateSubmodules(); if (res != null) throw new Exception(res); TGServerService.WriteInfo("Repo merge updated to " + originBranch.Tip.Sha, TGServerService.EventID.RepoMergeUpdate); @@ -390,6 +392,16 @@ namespace TGServerService } } + private void UpdateSubmodules() + { + var suo = new SubmoduleUpdateOptions + { + Init = true + }; + foreach (var I in Repo.Submodules) + Repo.Submodules.Update(I.Name, suo); + } + string CreateBackup() { try