cmd/zoekt-mirror-github: option to index all repos on GHE

This pull request makes GitHub user and org optional so that one can easily index all repos on GHE.
Closes #84.

Change-Id: Ib4cf1640ac9776bfc820f61b77bc55b7a79a26ea
diff --git a/cmd/zoekt-indexserver/config.go b/cmd/zoekt-indexserver/config.go
index 00eff2f..9dccb48 100644
--- a/cmd/zoekt-indexserver/config.go
+++ b/cmd/zoekt-indexserver/config.go
@@ -157,7 +157,7 @@
 	cfg = randomize(cfg)
 	for _, c := range cfg {
 		var cmd *exec.Cmd
-		if c.GithubUser != "" || c.GithubOrg != "" {
+		if c.GitHubURL != "" || c.GithubUser != "" || c.GithubOrg != "" {
 			cmd = exec.Command("zoekt-mirror-github",
 				"-dest", repoDir, "-delete")
 			if c.GitHubURL != "" {
diff --git a/cmd/zoekt-mirror-github/main.go b/cmd/zoekt-mirror-github/main.go
index 118421f..b43e555 100644
--- a/cmd/zoekt-mirror-github/main.go
+++ b/cmd/zoekt-mirror-github/main.go
@@ -53,8 +53,8 @@
 	if *dest == "" {
 		log.Fatal("must set --dest")
 	}
-	if (*org == "") == (*user == "") {
-		log.Fatal("must set either --org or --user")
+	if *githubURL == "" && *org == "" && *user == "" {
+		log.Fatal("must set either --org or --user when github.com is used as host")
 	}
 
 	var host string
@@ -112,6 +112,9 @@
 		repos, err = getOrgRepos(client, *org)
 	} else if *user != "" {
 		repos, err = getUserRepos(client, *user)
+	} else {
+		log.Printf("no user or org specified, cloning all repos.")
+		repos, err = getUserRepos(client, "")
 	}
 
 	if err != nil {