knotserver/git: change signatures to accept string patches #641

merged
opened by oppi.li targeting master from push-rvtqynpmozzy

as opposed to []byte.

Signed-off-by: oppiliappan me@oppi.li

Changed files
+6 -6
knotserver
git
+6 -6
knotserver/git/merge.go
···
mergeCheckCache = MergeCheckCache{cache}
}
-
func (m *MergeCheckCache) cacheKey(g *GitRepo, patch []byte, targetBranch string) string {
+
func (m *MergeCheckCache) cacheKey(g *GitRepo, patch string, targetBranch string) string {
sep := byte(':')
hash := sha256.Sum256(fmt.Append([]byte{}, g.path, sep, g.h.String(), sep, patch, sep, targetBranch))
return fmt.Sprintf("%x", hash)
···
}
}
-
func (m *MergeCheckCache) Set(g *GitRepo, patch []byte, targetBranch string, mergeCheck error) {
+
func (m *MergeCheckCache) Set(g *GitRepo, patch string, targetBranch string, mergeCheck error) {
key := m.cacheKey(g, patch, targetBranch)
val := m.cacheVal(mergeCheck)
m.cache.Set(key, val, 0)
}
-
func (m *MergeCheckCache) Get(g *GitRepo, patch []byte, targetBranch string) (error, bool) {
+
func (m *MergeCheckCache) Get(g *GitRepo, patch string, targetBranch string) (error, bool) {
key := m.cacheKey(g, patch, targetBranch)
if val, ok := m.cache.Get(key); ok {
if val == struct{}{} {
···
return fmt.Sprintf("merge failed: %s", e.Message)
}
-
func (g *GitRepo) createTempFileWithPatch(patchData []byte) (string, error) {
+
func (g *GitRepo) createTempFileWithPatch(patchData string) (string, error) {
tmpFile, err := os.CreateTemp("", "git-patch-*.patch")
if err != nil {
return "", fmt.Errorf("failed to create temporary patch file: %w", err)
}
-
if _, err := tmpFile.Write(patchData); err != nil {
+
if _, err := tmpFile.Write([]byte(patchData)); err != nil {
tmpFile.Close()
os.Remove(tmpFile.Name())
return "", fmt.Errorf("failed to write patch data to temporary file: %w", err)
···
return result
}
-
func (g *GitRepo) MergeWithOptions(patchData []byte, targetBranch string, opts MergeOptions) error {
+
func (g *GitRepo) MergeWithOptions(patchData string, targetBranch string, opts MergeOptions) error {
patchFile, err := g.createTempFileWithPatch(patchData)
if err != nil {
return &ErrMerge{