From 1ac12317c443a323dc9d4a46f1afccbfc3e91c48 Mon Sep 17 00:00:00 2001 From: Chris Rummel Date: Fri, 25 Sep 2020 18:02:58 -0500 Subject: [PATCH 1/3] debug --- ...ant-to-replace-original-with-transla.patch | 30 ------------------- ...-directory-instead-of-gitdir-redirec.patch | 28 ----------------- 2 files changed, 58 deletions(-) delete mode 100644 patches/sourcelink/0003-Don-t-think-we-want-to-replace-original-with-transla.patch delete mode 100644 patches/sourcelink/0006-Allow-using-.git-directory-instead-of-gitdir-redirec.patch diff --git a/patches/sourcelink/0003-Don-t-think-we-want-to-replace-original-with-transla.patch b/patches/sourcelink/0003-Don-t-think-we-want-to-replace-original-with-transla.patch deleted file mode 100644 index 32a92ac674..0000000000 --- a/patches/sourcelink/0003-Don-t-think-we-want-to-replace-original-with-transla.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 455b211c829b9e0292aa80072082eb68c4876682 Mon Sep 17 00:00:00 2001 -From: Chris Rummel -Date: Sun, 8 Dec 2019 23:52:15 -0600 -Subject: [PATCH] Don't think we want to replace original with translated - unless there actually are translated here. - ---- - .../build/Microsoft.SourceLink.AzureDevOpsServer.Git.targets | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/SourceLink.AzureDevOpsServer.Git/build/Microsoft.SourceLink.AzureDevOpsServer.Git.targets b/src/SourceLink.AzureDevOpsServer.Git/build/Microsoft.SourceLink.AzureDevOpsServer.Git.targets -index dca4fab..c0812e7 100644 ---- a/src/SourceLink.AzureDevOpsServer.Git/build/Microsoft.SourceLink.AzureDevOpsServer.Git.targets -+++ b/src/SourceLink.AzureDevOpsServer.Git/build/Microsoft.SourceLink.AzureDevOpsServer.Git.targets -@@ -63,9 +63,9 @@ - - - -- -+ - - - - -- -\ No newline at end of file -+ --- -1.8.3.1 - diff --git a/patches/sourcelink/0006-Allow-using-.git-directory-instead-of-gitdir-redirec.patch b/patches/sourcelink/0006-Allow-using-.git-directory-instead-of-gitdir-redirec.patch deleted file mode 100644 index 5c39da8d8c..0000000000 --- a/patches/sourcelink/0006-Allow-using-.git-directory-instead-of-gitdir-redirec.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 878c2c66dbf82b90bd16536439c039c94bac7457 Mon Sep 17 00:00:00 2001 -From: Chris Rummel -Date: Tue, 4 Aug 2020 20:28:53 -0500 -Subject: [PATCH 6/6] Allow using .git directory instead of gitdir redirect in - submodules. - ---- - src/Microsoft.Build.Tasks.Git/GitDataReader/GitRepository.cs | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/Microsoft.Build.Tasks.Git/GitDataReader/GitRepository.cs b/src/Microsoft.Build.Tasks.Git/GitDataReader/GitRepository.cs -index 196c57d..1427005 100644 ---- a/src/Microsoft.Build.Tasks.Git/GitDataReader/GitRepository.cs -+++ b/src/Microsoft.Build.Tasks.Git/GitDataReader/GitRepository.cs -@@ -209,6 +209,10 @@ private string ReadHeadCommitSha() - /// Null if the HEAD tip reference can't be resolved. - internal string ReadSubmoduleHeadCommitSha(string submoduleWorkingDirectoryFullPath) - { -+ if (Directory.Exists(Path.Combine(submoduleWorkingDirectoryFullPath, ".git"))) -+ { -+ return File.ReadAllText(Path.Combine(submoduleWorkingDirectoryFullPath, ".git", "HEAD")); -+ } - var gitDirectory = ReadDotGitFile(Path.Combine(submoduleWorkingDirectoryFullPath, GitDirName)); - if (!IsGitDirectory(gitDirectory, out var commonDirectory)) - { --- -2.18.0 - From be1a0ee827b2d12b32ad5d524f56be1480834c28 Mon Sep 17 00:00:00 2001 From: Chris Rummel Date: Tue, 29 Sep 2020 14:46:53 -0500 Subject: [PATCH 2/3] Better fix for submodule gitdirs --- ...-directory-instead-of-gitdir-redirec.patch | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 patches/sourcelink/0005-Allow-using-.git-directory-instead-of-gitdir-redirec.patch diff --git a/patches/sourcelink/0005-Allow-using-.git-directory-instead-of-gitdir-redirec.patch b/patches/sourcelink/0005-Allow-using-.git-directory-instead-of-gitdir-redirec.patch new file mode 100644 index 0000000000..2f8696f961 --- /dev/null +++ b/patches/sourcelink/0005-Allow-using-.git-directory-instead-of-gitdir-redirec.patch @@ -0,0 +1,34 @@ +From 94b74dcdde1787617d8665e231334f089c01ce24 Mon Sep 17 00:00:00 2001 +From: Chris Rummel +Date: Tue, 4 Aug 2020 20:28:53 -0500 +Subject: [PATCH 5/5] Allow using .git directory instead of gitdir redirect in + submodules. + +--- + .../GitDataReader/GitRepository.cs | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/Microsoft.Build.Tasks.Git/GitDataReader/GitRepository.cs b/src/Microsoft.Build.Tasks.Git/GitDataReader/GitRepository.cs +index 196c57d..e1ab9c4 100644 +--- a/src/Microsoft.Build.Tasks.Git/GitDataReader/GitRepository.cs ++++ b/src/Microsoft.Build.Tasks.Git/GitDataReader/GitRepository.cs +@@ -209,6 +209,16 @@ private string ReadHeadCommitSha() + /// Null if the HEAD tip reference can't be resolved. + internal string ReadSubmoduleHeadCommitSha(string submoduleWorkingDirectoryFullPath) + { ++ // submodules don't usually have their own .git directories but can when Arcade uberclone ++ // was used. Handle this case first since the other case throws. ++ var dotGitPath = Path.Combine(submoduleWorkingDirectoryFullPath, GitDirName); ++ if (IsGitDirectory(dotGitPath, out var directSubmoduleGitDirectory)) ++ { ++ var submoduleGitDirResolver = new GitReferenceResolver(submoduleWorkingDirectoryFullPath, directSubmoduleGitDirectory); ++ return submoduleGitDirResolver.ResolveHeadReference(); ++ } ++ ++ // normal-looking submodule gitdir redirect, or a repo broken in some other way. + var gitDirectory = ReadDotGitFile(Path.Combine(submoduleWorkingDirectoryFullPath, GitDirName)); + if (!IsGitDirectory(gitDirectory, out var commonDirectory)) + { +-- +2.18.0 + From 1fde5f7ef19960d1be23e1641d7e6bb193c31f8b Mon Sep 17 00:00:00 2001 From: Chris Rummel Date: Tue, 29 Sep 2020 17:46:55 -0500 Subject: [PATCH 3/3] Had these arguments switched --- ...5-Allow-using-.git-directory-instead-of-gitdir-redirec.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/sourcelink/0005-Allow-using-.git-directory-instead-of-gitdir-redirec.patch b/patches/sourcelink/0005-Allow-using-.git-directory-instead-of-gitdir-redirec.patch index 2f8696f961..f2c402853c 100644 --- a/patches/sourcelink/0005-Allow-using-.git-directory-instead-of-gitdir-redirec.patch +++ b/patches/sourcelink/0005-Allow-using-.git-directory-instead-of-gitdir-redirec.patch @@ -21,7 +21,7 @@ index 196c57d..e1ab9c4 100644 + var dotGitPath = Path.Combine(submoduleWorkingDirectoryFullPath, GitDirName); + if (IsGitDirectory(dotGitPath, out var directSubmoduleGitDirectory)) + { -+ var submoduleGitDirResolver = new GitReferenceResolver(submoduleWorkingDirectoryFullPath, directSubmoduleGitDirectory); ++ var submoduleGitDirResolver = new GitReferenceResolver(directSubmoduleGitDirectory, submoduleWorkingDirectoryFullPath); + return submoduleGitDirResolver.ResolveHeadReference(); + } +