Skip to content

Commit 8ac261f

Browse files
committed
Merge branch 'refactor/libgit2' into 'master'
use libgit2 0.25.1 See merge request !54
2 parents 81816e9 + 668da42 commit 8ac261f

File tree

5 files changed

+8
-45
lines changed

5 files changed

+8
-45
lines changed

.gitlab-ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
image: "hub.ricebook.net/base/centos:onbuild-eru-core-2016.12.16"
1+
image: "hub.ricebook.net/base/centos:onbuild-eru-core-2017.02.06"
22
before_script:
33
- "ln -s $CI_PROJECT_DIR $GOPATH/src/gitlab.ricebook.net/platform/core"
44
stages:

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ deps:
2424
go get github.com/golang/protobuf/{proto,protoc-gen-go} || echo "oops"
2525
go get github.com/codegangsta/cli || echo "oops"
2626
go get gopkg.in/yaml.v2 || echo "oops"
27-
go get gopkg.in/libgit2/git2go.v23 || echo "oops"
27+
go get gopkg.in/libgit2/git2go.v25 || echo "oops"
2828
go get golang.org/x/net/context || echo "oops"
2929
go get google.golang.org/grpc || echo "oops"
3030
go get github.com/coreos/etcd || echo "oops"

README.md

-9
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
11
Core
22
====
33

4-
## Install libgit2
5-
We use v0.23.4 because v0.24 sucks
6-
7-
```shell
8-
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
9-
git checkout b0b94c4ee5ddec3a33d1ecb406f73b19642ec519 libgit2.rb
10-
git commit -m 'override libgit2 version'
11-
```
12-
134
## DEV
145

156
生产服部署在 c2-eru-1,测试服部署在 c1-eru-1,如果需要测试,先更新 core,然后这样子部署:

devtools/libgit2.rb.patch

-15
This file was deleted.

source/gitlab/cesium.go

+6-19
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313

1414
log "github.com/Sirupsen/logrus"
1515
"gitlab.ricebook.net/platform/core/types"
16-
"gopkg.in/libgit2/git2go.v23"
16+
"gopkg.in/libgit2/git2go.v25"
1717
)
1818

1919
type cesium struct {
@@ -58,37 +58,24 @@ func (c *cesium) SourceCode(repository, path, revision string) error {
5858

5959
repo, err := git.Clone(repository, path, cloneOpts)
6060
if err != nil {
61+
log.Errorf("Error during Clone: %v", err.Error())
6162
return err
6263
}
6364

6465
if err := repo.CheckoutHead(nil); err != nil {
66+
log.Errorf("Error during CheckoutHead: %v", err.Error())
6567
return err
6668
}
6769

6870
object, err := repo.RevparseSingle(revision)
6971
if err != nil {
72+
log.Errorf("Error during RevparseSingle: %v", err.Error())
7073
return err
7174
}
7275
defer object.Free()
76+
commit, err := object.AsCommit()
7377

74-
// below is code for v24
75-
// which is fucking unstable
76-
// -------------------------
77-
//
78-
// tree, err := object.AsTree()
79-
// if err != nil {
80-
// return err
81-
// }
82-
obj, err := object.Peel(git.ObjectTree)
83-
if err != nil {
84-
return err
85-
}
86-
87-
tree, ok := obj.(*git.Tree)
88-
if !ok {
89-
return fmt.Errorf("git object is not a tree")
90-
}
91-
return repo.CheckoutTree(tree, &git.CheckoutOpts{Strategy: git.CheckoutSafe})
78+
return repo.ResetToCommit(commit, git.ResetHard, &git.CheckoutOpts{Strategy: git.CheckoutSafe})
9279
}
9380

9481
// Download artifact to path, and unzip it

0 commit comments

Comments
 (0)