// Run initializes the 'git-lfs' command and runs it with the given stdin and // command line args. func Run() { root := NewCommand("git-lfs", gitlfsCommand) root.PreRun = nil // Set up help/usage funcs based on manpage text root.SetHelpTemplate("{{.UsageString}}") root.SetHelpFunc(helpCommand) root.SetUsageFunc(usageCommand) for _, f := range commandFuncs { if cmd := f(); cmd != nil { root.AddCommand(cmd) } } root.Execute() httputil.LogHttpStats(cfg) }
func main() { c := make(chan os.Signal) signal.Notify(c, os.Interrupt, os.Kill) var once sync.Once go func() { for { sig := <-c once.Do(clearTempObjects) fmt.Fprintf(os.Stderr, "\nExiting because of %q signal.\n", sig) exitCode := 1 if sysSig, ok := sig.(syscall.Signal); ok { exitCode = int(sysSig) } os.Exit(exitCode + 128) } }() commands.Run() httputil.LogHttpStats() once.Do(clearTempObjects) }