summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/vault/files/vault-1.15.6-stubmaker-outside-git-repo-24678.patch')
-rw-r--r--app-admin/vault/files/vault-1.15.6-stubmaker-outside-git-repo-24678.patch92
1 files changed, 92 insertions, 0 deletions
diff --git a/app-admin/vault/files/vault-1.15.6-stubmaker-outside-git-repo-24678.patch b/app-admin/vault/files/vault-1.15.6-stubmaker-outside-git-repo-24678.patch
new file mode 100644
index 000000000000..5b47f39cb81b
--- /dev/null
+++ b/app-admin/vault/files/vault-1.15.6-stubmaker-outside-git-repo-24678.patch
@@ -0,0 +1,92 @@
+From cd6d0e1c593e158b8641529410d95e4b1722d5b2 Mon Sep 17 00:00:00 2001
+From: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
+Date: Thu, 4 Jan 2024 17:03:09 -0600
+Subject: [PATCH] Allow stubmaker to work outside of a git repository
+
+https://github.com/hashicorp/vault/pull/24678
+
+Fixes: https://github.com/hashicorp/vault/issues/24677
+---
+ tools/stubmaker/main.go | 58 +++++++++++++++++++++++------------------
+ 1 file changed, 33 insertions(+), 25 deletions(-)
+
+diff --git a/tools/stubmaker/main.go b/tools/stubmaker/main.go
+index 53676e08b8c84..15e95b6a45f60 100644
+--- a/tools/stubmaker/main.go
++++ b/tools/stubmaker/main.go
+@@ -43,15 +43,21 @@ func main() {
+ DetectDotGit: true,
+ })
+ if err != nil {
+- fatal(err)
++ if err.Error() != "repository does not exist" {
++ fatal(err)
++ }
++ repo = nil
+ }
+
+- wt, err := repo.Worktree()
+- if err != nil {
+- fatal(err)
+- }
+- if !isEnterprise(wt) {
+- return
++ var wt *git.Worktree
++ if repo != nil {
++ wt, err = repo.Worktree()
++ if err != nil {
++ fatal(err)
++ }
++ if !isEnterprise(wt) {
++ return
++ }
+ }
+
+ // Read the file and figure out if we need to do anything.
+@@ -80,26 +86,28 @@ func main() {
+
+ // We'd like to write the file, but first make sure that we're not going
+ // to blow away anyone's work or overwrite a file already in git.
+- head, err := repo.Head()
+- if err != nil {
+- fatal(err)
+- }
+- obj, err := repo.Object(plumbing.AnyObject, head.Hash())
+- if err != nil {
+- fatal(err)
+- }
++ if repo != nil {
++ head, err := repo.Head()
++ if err != nil {
++ fatal(err)
++ }
++ obj, err := repo.Object(plumbing.AnyObject, head.Hash())
++ if err != nil {
++ fatal(err)
++ }
+
+- st, err := wt.Status()
+- if err != nil {
+- fatal(err)
+- }
++ st, err := wt.Status()
++ if err != nil {
++ fatal(err)
++ }
+
+- tracked, err := inGit(wt, st, obj, outputFile)
+- if err != nil {
+- fatal(err)
+- }
+- if tracked {
+- fatal(fmt.Errorf("output file %s exists in git, not overwriting", outputFile))
++ tracked, err := inGit(wt, st, obj, outputFile)
++ if err != nil {
++ fatal(err)
++ }
++ if tracked {
++ fatal(fmt.Errorf("output file %s exists in git, not overwriting", outputFile))
++ }
+ }
+
+ // Now we can finally write the file