summaryrefslogtreecommitdiff
path: root/doFix.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-10 05:50:11 -0500
committerJeff Carr <[email protected]>2025-10-10 05:50:11 -0500
commitb95b8bf55b6598d27a143e43d2353737e5bbc1b1 (patch)
tree2b2d9b11b4141717d673b138c3da63682a60b53e /doFix.go
parent56869600e6d62729962699526807714124d46973 (diff)
an edge case to handle when you are on a branch that doesn't exist
Diffstat (limited to 'doFix.go')
-rw-r--r--doFix.go25
1 files changed, 21 insertions, 4 deletions
diff --git a/doFix.go b/doFix.go
index f29aa04..df9b861 100644
--- a/doFix.go
+++ b/doFix.go
@@ -12,9 +12,10 @@ import (
// is every repo on the devel branch?
func doFix() (string, error) {
+ var s string
+ var err error
if argv.Fixer.Urls {
- err := doFixUrls()
- return "", err
+ err = doFixUrls()
}
if argv.Fixer.Untracked {
return doRemoveUntrackedFiles()
@@ -31,9 +32,25 @@ func doFix() (string, error) {
}
repo.RunVerbose([]string{"git", "fetch", "--prune"})
}
- return "", nil
}
- return "", nil
+
+ if argv.Fixer.Porcelain != nil {
+ s, err = getPorcelain()
+ for repo := range me.forge.Repos.IterByFullPath() {
+ curbranch := repo.GetCurrentBranchName()
+ if repo.IsLocalBranch(curbranch) {
+ continue
+ }
+ if repo.IsRemoteBranch(curbranch) {
+ continue
+ }
+ log.Info("curbranch is doesn't exist. this'll cause all sorts of problems", curbranch, repo.FullPath)
+ repo.CheckoutForce()
+ }
+ me.forge.Repos.Save()
+ }
+
+ return s, err
}
func doRemoveUntrackedFiles() (string, error) {