diff options
| author | Shulhan <ms@kilabit.info> | 2018-05-17 01:03:50 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2018-05-17 01:08:32 +0700 |
| commit | 2e73509de51f85f9f987d2f95b3ed715e2cd1c65 (patch) | |
| tree | 13b800b2fb45c9a2ab085a1d57311aae4904246c /package_git.go | |
| parent | b10bec5dafce97067b26090ca11986e260c13ca2 (diff) | |
| download | beku-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.go | 29 |
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 } |
