|
|
@ -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 |
|
|
|
} |
|
|
|
|
|
|
|