Skip to content

Commit a51d9ff

Browse files
QinYuuuuDev Agent
andauthored
Add SetDefaultBranch method (#626)
Co-authored-by: Dev Agent <[email protected]>
1 parent dbc876d commit a51d9ff

File tree

6 files changed

+94
-0
lines changed

6 files changed

+94
-0
lines changed

_mocks/opencsg.com/csghub-server/builder/git/gitserver/mock_GitServer.go

Lines changed: 47 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

builder/git/gitserver/gitaly/branch.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,3 +176,28 @@ func (c *Client) CreateBranch(ctx context.Context, req gitserver.CreateBranchReq
176176
}
177177
return nil
178178
}
179+
180+
func (c *Client) SetDefaultBranch(ctx context.Context, req gitserver.SetDefaultBranchReq) error {
181+
repoType := fmt.Sprintf("%ss", string(req.RepoType))
182+
relativePath, err := c.BuildRelativePath(ctx, req.RepoType, req.Namespace, req.Name)
183+
if err != nil {
184+
return err
185+
}
186+
_, err = c.repoClient.WriteRef(ctx, &gitalypb.WriteRefRequest{
187+
Repository: &gitalypb.Repository{
188+
StorageName: c.config.GitalyServer.Storage,
189+
RelativePath: relativePath,
190+
GlRepository: filepath.Join(repoType, req.Namespace, req.Name),
191+
},
192+
Ref: []byte("HEAD"),
193+
Revision: []byte("refs/heads/" + req.BranchName),
194+
})
195+
if err != nil {
196+
return errorx.SetDefaultBranchFailed(err, errorx.Ctx().
197+
Set("repo_type", req.RepoType).
198+
Set("path", relativePath).
199+
Set("branch", req.BranchName),
200+
)
201+
}
202+
return nil
203+
}

builder/git/gitserver/gitea/branch.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,7 @@ func (c *Client) DeleteRepoBranch(ctx context.Context, req gitserver.DeleteBranc
6666
func (c *Client) CreateBranch(ctx context.Context, req gitserver.CreateBranchReq) error {
6767
return nil
6868
}
69+
70+
func (c *Client) SetDefaultBranch(ctx context.Context, req gitserver.SetDefaultBranchReq) error {
71+
return nil
72+
}

builder/git/gitserver/interface.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ type GitServer interface {
3030
GetRepoBranches(ctx context.Context, req GetBranchesReq) ([]types.Branch, error)
3131
GetRepoBranchByName(ctx context.Context, req GetBranchReq) (*types.Branch, error)
3232
DeleteRepoBranch(ctx context.Context, req DeleteBranchReq) error
33+
SetDefaultBranch(ctx context.Context, req SetDefaultBranchReq) error
3334
GetRepoCommits(ctx context.Context, req GetRepoCommitsReq) ([]types.Commit, *types.RepoPageOpts, error)
3435
GetRepoLastCommit(ctx context.Context, req GetRepoLastCommitReq) (*types.Commit, error)
3536
GetSingleCommit(ctx context.Context, req GetRepoLastCommitReq) (*types.CommitResponse, error)

builder/git/gitserver/types.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,13 @@ type CreateBranchReq struct {
108108
RepoType types.RepositoryType `json:"repo_type"`
109109
}
110110

111+
type SetDefaultBranchReq struct {
112+
Namespace string `json:"namespace"`
113+
Name string `json:"name"`
114+
BranchName string `json:"branch_name"`
115+
RepoType types.RepositoryType `json:"repo_type"`
116+
}
117+
111118
type GetBranchReq struct {
112119
Namespace string `json:"namespace"`
113120
Name string `json:"name"`

common/errorx/error_git.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const (
2020
gitBranchNotFound
2121
gitDeleteBranchFailed
2222
gitCreateBranchFailed
23+
gitSetDefaultBranchFailed
2324
gitFileNotFound
2425
gitUploadFailed
2526
gitDownloadFailed
@@ -565,6 +566,15 @@ func CreateBranchFailed(err error, ctx context) error {
565566
}
566567
}
567568

569+
func SetDefaultBranchFailed(err error, ctx context) error {
570+
return CustomError{
571+
prefix: errGitPrefix,
572+
code: gitSetDefaultBranchFailed,
573+
err: err,
574+
context: ctx,
575+
}
576+
}
577+
568578
func GitFileNotFound(err error, ctx context) error {
569579
return CustomError{
570580
prefix: errGitPrefix,

0 commit comments

Comments
 (0)