summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile10
-rw-r--r--argv.go25
-rw-r--r--main.go54
3 files changed, 40 insertions, 49 deletions
diff --git a/Makefile b/Makefile
index 5d45154..43735d6 100644
--- a/Makefile
+++ b/Makefile
@@ -65,16 +65,16 @@ all: install
forge --no-gui find --all
patches: install
- forge --do-patches
+ forge --patchset "from makefile"
-patches-localhost: install
- forge --do-patches --url "http://localhost:2233/"
+localhost-patches: install
+ forge --patchset "test-localhost" --url "http://localhost:2233/"
patches-list: install
- forge --list-patches --url "http://localhost:2233/"
+ forge --list-patchset
dirty: install
- forge do --dirty
+ forge --no-gui find --all --dirty
restart:
reset
diff --git a/argv.go b/argv.go
index db94b9c..d386dcf 100644
--- a/argv.go
+++ b/argv.go
@@ -14,19 +14,8 @@ type FindCmd struct {
Private bool `arg:"--private" help:"private repos from your .config/forge/"`
}
-type DoCmd struct {
- List bool `arg:"--list" help:"just show a table of the current state"`
- GitPull bool `arg:"--pull" help:"run 'git pull'"`
- GitReset bool `arg:"--git-reset" help:"run 'git reset --hard'"`
- Scan bool `arg:"--scan" help:"reload protobuf from .git/"`
- Force bool `arg:"--force" help:"force redo things"`
- Dirty bool `arg:"--dirty" help:"update git CheckDirty()"`
- PatchSet string `arg:"--patchset" help:"make patch set"`
-}
-
type args struct {
Find *FindCmd `arg:"subcommand:find" help:"select repos (for example, --all or --mine)"`
- Do *DoCmd `arg:"subcommand:do" help:"do something ('git pull', 'build', 'install', etc)"`
Config bool `arg:"--config" help:"show your .config/forge/ settings"`
ListPatchSet bool `arg:"--list-patchset" help:"list patch sets"`
DryRun bool `arg:"--dry-run" help:"show what would be run"`
@@ -37,6 +26,13 @@ type args struct {
Master bool `arg:"--master" help:"git checkout master"`
URL string `arg:"--connect" help:"gowebd url"`
Register string `arg:"--register" help:"register your git URL (foo.com/mystuff) or (github.com/foo/bar)"`
+ List bool `arg:"--list" help:"just show a table of the current state"`
+ GitPull bool `arg:"--pull" help:"run 'git pull'"`
+ GitReset bool `arg:"--git-reset" help:"run 'git reset --hard'"`
+ Scan bool `arg:"--scan" help:"reload protobuf from .git/"`
+ Force bool `arg:"--force" help:"force redo things"`
+ Dirty bool `arg:"--dirty" help:"update git CheckDirty()"`
+ PatchSet string `arg:"--patchset" help:"make patch set"`
}
func (args) Version() string {
@@ -49,13 +45,10 @@ forge -- in the spirit of things like sourceforge
Examples:
forge --config # shows your forge config (~/.config/forge/)
- forge find --all do --pull # run 'git pull' in every repo
- forge find --mine do --clone # git clone every package you have in your config file
- forge find --all do --build --dry-run # build every binary package (but just show what would run)
- forge find --all --user # checkout the user branch
+ forge find --all --pull # run 'git pull' in every repo
+ forge find --mine --user # checkout the user branch
forge find --all --devel # checkout the devel branch
forge find --all --master # checkout the master branch
- # these options are intended for automation. You probably just want to use the GUI.
`
}
diff --git a/main.go b/main.go
index 8b9672e..330bc8e 100644
--- a/main.go
+++ b/main.go
@@ -84,38 +84,36 @@ func main() {
// now, do something to all of them (or just print out a table of them)
var done bool = false
- if argv.Do != nil {
- if argv.Do.Dirty {
- doCheckDirty()
- okExit("")
- done = true
- }
+ if argv.Dirty {
+ doCheckDirty()
+ okExit("")
+ done = true
+ }
- if argv.Do.Scan {
- doScan()
- done = true
- }
+ if argv.Scan {
+ doScan()
+ done = true
+ }
- if argv.Do.GitPull {
- doGitPull()
- done = true
- }
+ if argv.GitPull {
+ doGitPull()
+ done = true
+ }
- if argv.Do.GitReset {
- doGitReset()
- done = true
- }
+ if argv.GitReset {
+ doGitReset()
+ done = true
+ }
- if argv.Do.List {
- // print out the repos
- doCobol()
- done = true
- }
- if argv.Do.PatchSet != "" {
- sendDevelDiff(argv.Do.PatchSet)
- // sendMasterDiff()
- okExit("patches")
- }
+ if argv.List {
+ // print out the repos
+ doCobol()
+ done = true
+ }
+ if argv.PatchSet != "" {
+ sendDevelDiff(argv.PatchSet)
+ // sendMasterDiff()
+ okExit("patches")
}
if argv.ListPatchSet {