1
0
Fork 0
mirror of https://github.com/imjasonh/git-k8s synced 2026-07-08 06:45:12 +00:00
git-k8s/pkg/apis/git/v1alpha1/defaults.go
Claude 0cb9e4aa1d
Fix multiple code review issues: dedup splitKey, fix merge bug, remove dead code
- Extract triplicated splitKey into shared pkg/reconciler/internal package
  using strings.Cut and removing the unnecessary error return
- Fix resolver merge bug: attemptMerge was using treeA.Hash as the merge
  commit tree, silently dropping all of branch B's changes. Now builds a
  proper merged tree that applies B's non-conflicting changes onto A's tree
- Replace hand-rolled nestedFieldNoCopy/unstructuredNestedStringMap with
  k8s.io/apimachinery's unstructured.NestedStringMap stdlib equivalent
- Hoist branch listing out of per-refspec loop in updateBranches to avoid
  redundant API calls
- Add not-found handling in all three reconcilers so deleted resources
  don't cause infinite requeue loops
- Fix client.Get() to use checked type assertion with a clear panic message
  instead of an opaque nil-pointer dereference
- Remove dead code: unused addDefaultingFuncs wrapper, unused context
  injection in push controller setup

https://claude.ai/code/session_01634JRpHEoM9FzuBjZ7qHcY
2026-02-28 04:39:00 +00:00

28 lines
864 B
Go

package v1alpha1
import "k8s.io/apimachinery/pkg/runtime"
// SetDefaults_GitRepository sets default values for GitRepository.
func SetDefaults_GitRepository(r *GitRepository) {
if r.Spec.DefaultBranch == "" {
r.Spec.DefaultBranch = "main"
}
}
// SetDefaults_GitPushTransaction sets default values for GitPushTransaction.
func SetDefaults_GitPushTransaction(t *GitPushTransaction) {
if t.Status.Phase == "" {
t.Status.Phase = TransactionPhasePending
}
}
// RegisterDefaults adds default functions to the given scheme.
func RegisterDefaults(scheme *runtime.Scheme) error {
scheme.AddTypeDefaultingFunc(&GitRepository{}, func(obj interface{}) {
SetDefaults_GitRepository(obj.(*GitRepository))
})
scheme.AddTypeDefaultingFunc(&GitPushTransaction{}, func(obj interface{}) {
SetDefaults_GitPushTransaction(obj.(*GitPushTransaction))
})
return nil
}