aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-06-07 07:45:08 +0000
committerGravatar Runxi Yu2026-06-07 07:45:08 +0000
commit1864d943cb2556f8213356fd864683e7eba4e9bb (patch)
tree9dcad1bde924ec20a8a8c8128ff20e9eb4ee2753
parentinternal/testgit: Add show and fsck (diff)
signatureNo signature
internal/testgit: Use --end-of-options sensibly
-rw-r--r--internal/testgit/fsck.go2
-rw-r--r--internal/testgit/object.go2
-rw-r--r--internal/testgit/repo.go2
-rw-r--r--internal/testgit/show.go2
4 files changed, 5 insertions, 3 deletions
diff --git a/internal/testgit/fsck.go b/internal/testgit/fsck.go
index 6eb4047a..5689899e 100644
--- a/internal/testgit/fsck.go
+++ b/internal/testgit/fsck.go
@@ -27,6 +27,8 @@ func (repo *Repo) Fsck(tb testing.TB, opts FsckOptions, objects ...id.ObjectID)
args = append(args, "--no-dangling")
}
+ args = append(args, "--end-of-options")
+
for _, object := range objects {
args = append(args, object.String())
}
diff --git a/internal/testgit/object.go b/internal/testgit/object.go
index cbdfce76..3d6f476c 100644
--- a/internal/testgit/object.go
+++ b/internal/testgit/object.go
@@ -33,7 +33,7 @@ func (repo *Repo) HashObject(tb testing.TB, ty typ.Type, body io.Reader) (id.Obj
func (repo *Repo) CatFile(tb testing.TB, ty typ.Type, oid id.ObjectID) ([]byte, error) {
tb.Helper()
- stdout, err := repo.Run(tb, nil, "git", "cat-file", ty.Name(), oid.String())
+ stdout, err := repo.Run(tb, nil, "git", "cat-file", ty.Name(), "--end-of-options", oid.String())
if err != nil {
return nil, fmt.Errorf("cat-file: %w", err)
}
diff --git a/internal/testgit/repo.go b/internal/testgit/repo.go
index d10c7db9..544cfb1a 100644
--- a/internal/testgit/repo.go
+++ b/internal/testgit/repo.go
@@ -41,7 +41,7 @@ func NewRepo(tb testing.TB, opts RepoOptions) (*Repo, error) {
),
}
- return repo, repo.Command(tb, "git", "init", "--object-format="+repo.objectFormat.String(), "--", repo.path).Run() //nolint:wrapcheck
+ return repo, repo.Command(tb, "git", "init", "--object-format="+repo.objectFormat.String(), "--end-of-options", repo.path).Run() //nolint:wrapcheck
}
func (repo *Repo) ObjectFormat(tb testing.TB) id.ObjectFormat {
diff --git a/internal/testgit/show.go b/internal/testgit/show.go
index 31acb9d3..93ecac2c 100644
--- a/internal/testgit/show.go
+++ b/internal/testgit/show.go
@@ -11,7 +11,7 @@ import (
func (repo *Repo) ShowFormat(tb testing.TB, oid id.ObjectID, format string) ([]byte, error) {
tb.Helper()
- stdout, err := repo.Run(tb, nil, "git", "show", "--no-patch", "--no-color", "--format="+format, oid.String())
+ stdout, err := repo.Run(tb, nil, "git", "show", "--no-patch", "--no-color", "--format="+format, "--end-of-options", oid.String())
if err != nil {
return nil, fmt.Errorf("show --format=%q %s: %w", format, oid, err)
}