aboutsummaryrefslogtreecommitdiff
path: root/package_git.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2018-05-17 01:03:50 +0700
committerShulhan <ms@kilabit.info>2018-05-17 01:08:32 +0700
commit2e73509de51f85f9f987d2f95b3ed715e2cd1c65 (patch)
tree13b800b2fb45c9a2ab085a1d57311aae4904246c /package_git.go
parentb10bec5dafce97067b26090ca11986e260c13ca2 (diff)
downloadbeku-2e73509de51f85f9f987d2f95b3ed715e2cd1c65.tar.xz
Change git compare from using browser to using "git log"
Also, * add unit test for gitCompareVersion * use defined variable for standard output and error so we can use it on testing
Diffstat (limited to 'package_git.go')
-rw-r--r--package_git.go29
1 files changed, 9 insertions, 20 deletions
diff --git a/package_git.go b/package_git.go
index 29710bb..46e006d 100644
--- a/package_git.go
+++ b/package_git.go
@@ -6,33 +6,22 @@ import (
"log"
"os"
"os/exec"
- "strings"
"github.com/shuLhan/share/lib/ini"
)
-func (pkg *Package) gitBrowseCompare(fork *Package) (err error) {
- forkRemoteURL := strings.Split(fork.RemoteURL, "/")
- if len(forkRemoteURL) < 4 {
- err = fmt.Errorf("gitBrowseCompare: %s", ErrRemote)
- return
- }
-
- cmpURL := pkg.RemoteURL + "/compare/" + pkg.Version + "..."
-
- if pkg.RemoteURL != fork.RemoteURL {
- cmpURL += forkRemoteURL[3] + ":" + fork.Version
- } else {
- cmpURL += fork.Version
- }
-
- cmd := exec.Command("xdg-open", cmpURL)
- cmd.Stdout = os.Stdout
- cmd.Stderr = os.Stderr
+//
+// gitCompareVersion compare the version of current package with new package.
+//
+func (pkg *Package) gitCompareVersion(newPkg *Package) (err error) {
+ cmd := exec.Command("git", "log", "--oneline", pkg.Version+"..."+newPkg.Version)
+ cmd.Dir = pkg.FullPath
+ cmd.Stdout = defStdout
+ cmd.Stderr = defStderr
err = cmd.Run()
if err != nil {
- err = fmt.Errorf("gitBrowseCompare: %s", err)
+ err = fmt.Errorf("gitCompareVersion: %s", err)
return
}