mirror of
https://github.com/browseros-ai/BrowserOS.git
synced 2026-05-18 19:16:22 +00:00
50 lines
1.1 KiB
Go
50 lines
1.1 KiB
Go
package cmd
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/browseros-ai/BrowserOS/packages/browseros/tools/patch/internal/repo"
|
|
"github.com/browseros-ai/BrowserOS/packages/browseros/tools/patch/internal/workspace"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
func repoInfo() (*repo.Info, error) {
|
|
return appState.RepoInfo()
|
|
}
|
|
|
|
func resolveWorkspace(positional []string, src string) (workspace.Entry, error) {
|
|
name := ""
|
|
if len(positional) > 0 {
|
|
name = positional[0]
|
|
}
|
|
return appState.ResolveWorkspace(name, src)
|
|
}
|
|
|
|
func splitWorkspaceAndFilters(cmd *cobra.Command, args []string) ([]string, []string) {
|
|
atDash := cmd.ArgsLenAtDash()
|
|
if atDash == -1 {
|
|
return args, nil
|
|
}
|
|
return args[:atDash], args[atDash:]
|
|
}
|
|
|
|
func ensureRepoConfigured(override string) error {
|
|
if override == "" && appState.Config.PatchesRepo != "" {
|
|
return nil
|
|
}
|
|
root := override
|
|
if root == "" {
|
|
discovered, err := repo.Discover(appState.CWD)
|
|
if err != nil {
|
|
return fmt.Errorf(`unable to discover patches repo; pass --patches-repo or run from packages/browseros`)
|
|
}
|
|
root = discovered
|
|
}
|
|
info, err := repo.Load(root)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
appState.Config.PatchesRepo = info.Root
|
|
return nil
|
|
}
|