summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2017-11-17 17:30:50 -0500
committerLuke Shumaker <lukeshu@lukeshu.com>2017-11-17 17:30:50 -0500
commit5c9fa8c7e17a65b59639d5052f157ff5f1e20455 (patch)
treee642f6597259865c57ee145ca36fc012e07bc791
parenteda7a6be5a1bb75e93c59971ed2e506bef0076a6 (diff)
more
-rw-r--r--filter.go22
-rw-r--r--git.go6
2 files changed, 16 insertions, 12 deletions
diff --git a/filter.go b/filter.go
index 56656ec..8d508f1 100644
--- a/filter.go
+++ b/filter.go
@@ -7,6 +7,7 @@ import (
"io/ioutil"
"os"
"os/exec"
+ "strings"
"git.lukeshu.com/go/libfastimport"
)
@@ -51,24 +52,17 @@ func (f *Filter) pkgbuild2srcinfo(pkgbuildId string) (string, error) {
return "", err
}
// Run makepkg on the PKGBUILD to get a .SRCINFO
- var stdout bytes.Buffer
- var stderr bytes.Buffer
cmd := exec.Command("makepkg", "--printsrcinfo")
cmd.Dir = f.infofile("tmp")
- cmd.Stdout = &stdout
- cmd.Stderr = &stderr
- err = cmd.Run()
+ srcinfoBody, err := cmd.Output()
if err != nil {
- if ee, ok := err.(*exec.ExitError); ok {
- ee.Stderr = stderr.Bytes()
- }
return "", err
}
// Write the .SRCINFO back in to git
mark := f.newmark()
err = f.backend.Do(libfastimport.CmdBlob{
Mark: mark,
- Data: stdout.String(),
+ Data: string(srcinfoBody),
})
if err != nil {
return "", err
@@ -90,6 +84,16 @@ func (f *Filter) pkgbuild2srcinfo(pkgbuildId string) (string, error) {
}
}
+func gitsvnid2commit(gitsvnid string, searchrange string) (string, error) {
+ cmd := exec.Command("git", "log",
+ "-n1",
+ "--format=%H",
+ "--grep=^git-svn-id: "+gitsvnid+"$",
+ searchrange)
+ out, err := cmd.Output()
+ return strings.TrimSpace(string(out)), err
+}
+
func NewFilter(fromPfix string, toPfix string) (*Filter, error) {
var err error
ret := &Filter{}
diff --git a/git.go b/git.go
index d98b27e..d406d1c 100644
--- a/git.go
+++ b/git.go
@@ -1,9 +1,9 @@
package svn2git2aur
import (
+ "bytes"
"os"
"os/exec"
- "bytes"
"git.lukeshu.com/go/libfastimport"
)
@@ -44,12 +44,12 @@ func gitFastImport(args ...string) (*libfastimport.Backend, error) {
if err != nil {
return nil, err
}
-
+
stdin, err := cmd.StdinPipe()
if err != nil {
return nil, err
}
-
+
cmd.Stdout = os.Stdout
var stderr bytes.Buffer