var usageMessage … func usage() { … } var goCmd … var norun … var verbose … var cmp … var timing … var cmd … var tool … var toolStash … var goroot … var toolDir … var stashDir … var binDir … func canCmp(name string, args []string) bool { … } var binTools … func isBinTool(name string) bool { … } func main() { … } func compareTool() { … } func injectflags(cmd []string, extra []string, addDashN bool) []string { … } func cmpRun(keepLog bool, cmd []string) (outfile string, match bool) { … } func sameObject(file1, file2 string) bool { … } func skipVersion(b1, b2 *bufio.Reader, file1, file2 string) bool { … } func runCmd(cmd []string, keepLog bool, logName string) (output []byte, err error) { … } func save() { … } func restore() { … } func shouldSave(name string) bool { … } func checkShouldSave() { … } func cp(src, dst string) { … }