Browse Source

Fix issue: update hook text busy

Unknown 11 years ago
parent
commit
32e05ae212
1 changed files with 15 additions and 8 deletions
  1. 15 8
      models/repo.go

+ 15 - 8
models/repo.go

@@ -235,6 +235,18 @@ func initRepoCommit(tmpPath string, sig *git.Signature) (err error) {
 	return nil
 }
 
+func createHookUpdate(hookPath, content string) error {
+	pu, err := os.OpenFile(hookPath, os.O_CREATE|os.O_WRONLY, 0777)
+	if err != nil {
+		return err
+	}
+	defer pu.Close()
+	if _, err = pu.WriteString(content); err != nil {
+		return err
+	}
+	return nil
+}
+
 // InitRepository initializes README and .gitignore if needed.
 func initRepository(f string, user *User, repo *Repository, initReadme bool, repoLang, license string) error {
 	repoPath := RepoPath(user.Name, repo.Name)
@@ -245,14 +257,9 @@ func initRepository(f string, user *User, repo *Repository, initReadme bool, rep
 	}
 
 	// hook/post-update
-	pu, err := os.OpenFile(filepath.Join(repoPath, "hooks", "update"), os.O_CREATE|os.O_WRONLY, 0777)
-	if err != nil {
-		return err
-	}
-	defer pu.Close()
-	// TODO: Windows .bat
-	if _, err = pu.WriteString(fmt.Sprintf("#!/usr/bin/env bash\n%s update $1 $2 $3\n",
-		strings.Replace(appPath, "\\", "/", -1))); err != nil {
+	if err := createHookUpdate(filepath.Join(repoPath, "hooks", "update"),
+		fmt.Sprintf("#!/usr/bin/env bash\n%s update $1 $2 $3\n",
+			strings.Replace(appPath, "\\", "/", -1))); err != nil {
 		return err
 	}