Create branches for projects with revision set
It turns out Initialize() was somewhat incomplete -- if a project has a
revision set (e.g. refs/heads/foo), then a branch needs to be created
for that revision.
BUG=chromium:980346
TEST=run_tests.sh
Change-Id: Ia5ac4d2c1b6bab5aa864ecf31b496bbe3852421a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/go/+/1712453
Commit-Queue: Jack Neus <jackneus@google.com>
Tested-by: Jack Neus <jackneus@google.com>
Reviewed-by: Evan Hernandez <evanhernandez@chromium.org>
diff --git a/internal/git/git_test.go b/internal/git/git_test.go
index 2be8fab..0587600 100644
--- a/internal/git/git_test.go
+++ b/internal/git/git_test.go
@@ -189,6 +189,19 @@
assert.NilError(t, err)
}
+func TestCommitEmpty(t *testing.T) {
+ fakeGitRepo := "repo"
+ commitMsg := "commit"
+
+ CommandRunnerImpl = cmd.FakeCommandRunner{
+ ExpectedDir: fakeGitRepo,
+ ExpectedCmd: []string{"git", "commit", "-m", commitMsg, "--allow-empty"},
+ }
+
+ err := CommitEmpty(fakeGitRepo, commitMsg)
+ assert.NilError(t, err)
+}
+
func TestPushChanges(t *testing.T) {
fakeGitRepo := "da-bank"
commitMsg := "da-money"
@@ -221,6 +234,25 @@
assert.NilError(t, err)
}
+func TestPush(t *testing.T) {
+ fakeGitRepo := "repo"
+ localRef := "commitId"
+
+ remoteRef := RemoteRef{
+ Remote: "remote",
+ Ref: "ref",
+ }
+
+ pushStr := fmt.Sprintf("%s:%s", localRef, remoteRef.Ref)
+ CommandRunnerImpl = cmd.FakeCommandRunner{
+ ExpectedDir: fakeGitRepo,
+ ExpectedCmd: []string{"git", "push", remoteRef.Remote, pushStr, "--dry-run"},
+ }
+
+ err := Push(fakeGitRepo, localRef, true, remoteRef)
+ assert.NilError(t, err)
+}
+
func TestInit(t *testing.T) {
fakeGitRepo := "top-secret-project"