blob: 2a4fd1f4d824b73e78479160fdd8700d3ba489c1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
package main
import (
"fmt"
"os"
"path/filepath"
"github.com/go-git/go-git/v5/plumbing/transport/file"
)
type CmdReceivePack struct {
cmd
Args struct {
GitDir string `positional-arg-name:"git-dir" required:"true"`
} `positional-args:"yes"`
}
func (CmdReceivePack) Usage() string {
//TODO: git-receive-pack returns error code 129 if arguments are invalid.
return fmt.Sprintf("usage: %s <git-dir>", os.Args[0])
}
func (c *CmdReceivePack) Execute(args []string) error {
gitDir, err := filepath.Abs(c.Args.GitDir)
if err != nil {
return err
}
if err := file.ServeReceivePack(gitDir); err != nil {
fmt.Fprintln(os.Stderr, "ERR:", err)
os.Exit(128)
}
return nil
}
|