1 Commits

Author SHA256 Message Date
51b3d5942d wip 2025-10-13 09:02:06 +02:00

View File

@@ -441,7 +441,6 @@ func (rs *PRSet) Merge(gitea GiteaReviewUnrequester, git Git) error {
// we can only resolve conflicts with .gitmodules
for _, s := range status {
if s.Status == GitStatus_Unmerged {
panic("Can't handle conflicts yet")
if s.Path != ".gitmodules" {
return err
}
@@ -450,10 +449,10 @@ func (rs *PRSet) Merge(gitea GiteaReviewUnrequester, git Git) error {
if err != nil {
return fmt.Errorf("Failed to fetch submodules during merge resolution: %w", err)
}
s1, err := git.GitExecWithOutput(DefaultGitPrj, "cat-file", "blob", s.States[0])
/*s1, err := git.GitExecWithOutput(DefaultGitPrj, "cat-file", "blob", s.States[0])
if err != nil {
return fmt.Errorf("Failed fetching data during .gitmodules merge resoulution: %w", err)
}
}*/
s2, err := git.GitExecWithOutput(DefaultGitPrj, "cat-file", "blob", s.States[1])
if err != nil {
return fmt.Errorf("Failed fetching data during .gitmodules merge resoulution: %w", err)
@@ -463,10 +462,11 @@ func (rs *PRSet) Merge(gitea GiteaReviewUnrequester, git Git) error {
return fmt.Errorf("Failed fetching data during .gitmodules merge resoulution: %w", err)
}
/*
subs1, err := ParseSubmodulesFile(strings.NewReader(s1))
if err != nil {
return fmt.Errorf("Failed parsing submodule file [%s] in merge: %w", s.States[0], err)
}
}*/
subs2, err := ParseSubmodulesFile(strings.NewReader(s2))
if err != nil {
return fmt.Errorf("Failed parsing submodule file [%s] in merge: %w", s.States[0], err)
@@ -476,11 +476,11 @@ func (rs *PRSet) Merge(gitea GiteaReviewUnrequester, git Git) error {
return fmt.Errorf("Failed parsing submodule file [%s] in merge: %w", s.States[0], err)
}
// merge from subs3 (target), subs1 (orig), subs2 (2-nd base that is missing from target base)
// merge from subs3 (target), subs2 (2-nd base that is missing from target base)
// this will update submodules
mergedSubs := slices.Concat(subs1, subs2, subs3)
mergedSubs := slices.Concat(subs2, subs3)
var filteredSubs []Submodule = make([]Submodule, 0, max(len(subs1), len(subs2), len(subs3)))
var filteredSubs []Submodule = make([]Submodule, 0, max(len(subs2), len(subs3))+5)
nextSub:
for subName := range submodules {