Skip to content
This repository was archived by the owner on Apr 12, 2019. It is now read-only.

Accept git 1.7.2 as the minimum version #90

Merged
merged 11 commits into from
Nov 28, 2017
15 changes: 13 additions & 2 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,26 @@ clone:
tags: true

pipeline:
testing:
test-general:
image: webhippie/golang:edge
pull: true
commands:
- make clean
- make vet
- make lint
- make test
- make build
testing-git-latest:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems this section is unnecessary.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you think so ? It is the section that tests with latest git version (2.something)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test-general section should be the latest git? So that a new section is unnecessary.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test-general does not run make test, only subsequent sections do

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it not run make test because you remove it. Pick it back and remove section testing-git-latest is OK.

image: webhippie/golang:edge
pull: true
commands:
- git update-ref refs/heads/test HEAD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why update-ref is needed?

- git --version && make test
testing-git-1.7:
image: docker.kbt.io/gitea-git-ci:1.7
pull: true
commands:
- git update-ref refs/heads/test HEAD
- PATH=/opt/git-1.7.2/bin git --version && make test

# coverage:
# image: plugins/coverage:1
Expand Down
15 changes: 15 additions & 0 deletions commit_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.

package git

import (
"testing"
"github.com/stretchr/testify/assert"
)

func TestCommitsCount(t *testing.T) {
commitsCount, _ := CommitsCount(".", "d86a90f801dbe279db095437a8c7ea42c60e8d98")
assert.Equal(t, int64(3), commitsCount)
}
11 changes: 11 additions & 0 deletions docker/ci/Dockerfile-git-1.7
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM webhippie/golang:edge
RUN apk add --update autoconf zlib-dev > /dev/null && \
mkdir build && \
curl -sL "https://github.com/git/git/archive/v1.7.2.tar.gz" -o git.tar.gz && \
tar -C build -xzf git.tar.gz && \
cd build/git-1.7.2 && \
{ autoconf 2> err || { cat err && false; } } && \
./configure --without-tcltk --prefix=/opt/git-1.7.2 > /dev/null && \
{ make install NO_PERL=please > /dev/null 2> err || { cat err && false; } } && \
cd ../.. && \
rm -rf build git.tar.gz \
2 changes: 2 additions & 0 deletions docker/ci/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
git-1.7:
docker build -t gitea/ci:git-1.7 -f Dockerfile-git-1.7 .
2 changes: 1 addition & 1 deletion git.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ var (
// Prefix the log prefix
Prefix = "[git-module] "
// GitVersionRequired is the minimum Git version required
GitVersionRequired = "1.8.1.6"
GitVersionRequired = "1.7.2"
)

func log(format string, args ...interface{}) {
Expand Down
25 changes: 25 additions & 0 deletions repo_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.

package git

import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)

func TestGetLatestCommitTime(t *testing.T) {
lct, err := GetLatestCommitTime(".")
assert.NoError(t, err)
// Time is in the past
now := time.Now()
assert.True(t, lct.Unix() < now.Unix(), "%d not smaller than %d", lct, now)
// Time is after Mon Oct 23 03:52:09 2017 +0300
// which is the time of commit
// d47b98c44c9a6472e44ab80efe65235e11c6da2a
refTime, err := time.Parse("Mon Jan 02 15:04:05 2006 -0700", "Mon Oct 23 03:52:09 2017 +0300")
assert.NoError(t, err)
assert.True(t, lct.Unix() > refTime.Unix(), "%d not greater than %d", lct, refTime)
}