diff options
| author | Jeff Carr <[email protected]> | 2025-01-28 11:26:31 -0600 | 
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-01-28 14:02:39 -0600 | 
| commit | 7402aaded7b9f9587eb5ba863b732c9c9e8ee9fe (patch) | |
| tree | 7774a5b2132b810253fe213d4449bf382b539a4f | |
| parent | dd7355571d80b4d6c970e417df85244dbfd253e0 (diff) | |
fixes from cleaning an old set of reposv0.22.60
| -rw-r--r-- | argv.go | 1 | ||||
| -rw-r--r-- | argvAutoshell.go | 2 | ||||
| -rw-r--r-- | doCheckout.go | 18 | ||||
| -rw-r--r-- | doPull.go | 41 | ||||
| -rw-r--r-- | main.go | 8 | 
5 files changed, 60 insertions, 10 deletions
@@ -19,6 +19,7 @@ type args struct {  	List     *FindCmd     `arg:"subcommand:list"                      help:"just show a table of the current state"`  	Patch    *PatchCmd    `arg:"subcommand:patch"                     help:"examine and make patch sets"`  	GitPull  *FindCmd     `arg:"subcommand:pull"                      help:"run 'git pull'"` +	GitFetch *FindCmd     `arg:"subcommand:fetch"                     help:"run 'git fetch master'"`  	Rescan   *EmptyCmd    `arg:"subcommand:rescan"                    help:"recreate the git protobuf repos.pb file"`  	Delete   *EmptyCmd    `arg:"subcommand:delete"                    help:"untrack a repo"`  	Commit   *EmptyCmd    `arg:"subcommand:commit"                    help:"smart 'git commit' (errors out if on wrong branch)"` diff --git a/argvAutoshell.go b/argvAutoshell.go index 725efdb..2e80fdf 100644 --- a/argvAutoshell.go +++ b/argvAutoshell.go @@ -38,7 +38,7 @@ func (args) doBashAuto() {  	case "list":  		fmt.Println("--all --mine --favorites --private patches")  	case "pull": -		fmt.Println("--all --mine --favorites --private") +		fmt.Println("--verbose")  	case "patch":  		fmt.Println("list --submit show")  	case "user": diff --git a/doCheckout.go b/doCheckout.go index 40522e7..eb85818 100644 --- a/doCheckout.go +++ b/doCheckout.go @@ -199,14 +199,16 @@ func rillCheckoutMaster(repo *gitpb.Repo) error {  		repo.CheckoutMaster()  		return nil  	} -	if repo.GetUserVersion() != repo.GetDevelVersion() { -		// don't switch branches if the user branch has uncommitted patches -		return nil -	} -	if repo.GetDevelVersion() != repo.GetMasterVersion() { -		// don't switch braches if the devel branch does not match master (needs merge) -		return nil -	} +	/* +		if repo.GetUserVersion() != repo.GetDevelVersion() { +			// don't switch branches if the user branch has uncommitted patches +			return nil +		} +		if repo.GetDevelVersion() != repo.GetMasterVersion() { +			// don't switch braches if the devel branch does not match master (needs merge) +			return nil +		} +	*/  	repo.CheckoutMaster()  	return nil  } @@ -1,10 +1,50 @@  package main  import ( +	"time" + +	"go.wit.com/lib/gui/shell"  	"go.wit.com/lib/protobuf/gitpb"  	"go.wit.com/log"  ) +func rillPull(repo *gitpb.Repo) error { +	if repo.IsDirty() { +		// never do dirty repos +		return nil +	} +	t, _ := repo.LastGitPull() +	if time.Since(t) < time.Hour { +		if argv.Verbose { +			log.Info(repo.GetFullPath(), "git pulled too recently", shell.FormatDuration(time.Since(t))) +		} +		return nil +	} + +	var cmd []string +	cmd = append(cmd, "git", "pull") +	_, err := repo.RunVerbose(cmd) +	if err != nil { +		log.Info(repo.GetFullPath(), "git pull err:", err) +	} +	return nil +} + +// is every repo on the devel branch? + +func doGitPullNew() { +	now := time.Now() +	me.forge.RillFuncError(rillPull) +	count := me.forge.RillReload() +	if count != 0 { +		me.forge.ConfigSave() +	} + +	total, count, nope, _ := IsEverythingOnMaster() +	log.Printf("Master branch check. %d total repos. (%d git pulled) (%d not on master branch) (%s)\n", total, count, nope, shell.FormatDuration(time.Since(now))) +} + +/*  func doGitPull() {  	allerr := me.found.RillGitPull(40, 5) @@ -29,6 +69,7 @@ func doGitPull() {  	}  } +*/  // git fetch origin master:master  func rillFetchMaster(repo *gitpb.Repo) error { @@ -119,12 +119,18 @@ func main() {  		okExit("")  	} -	if argv.GitPull != nil { +	if argv.GitFetch != nil {  		// argv.GitPull.findRepos()  		doGitFetch()  		okExit("")  	} +	if argv.GitPull != nil { +		// argv.GitPull.findRepos() +		doGitPullNew() +		okExit("") +	} +  	if argv.GitReset != nil {  		findAll() // select all the repos  		doGitReset()  | 
