This commit is contained in:
Unknwon 2015-11-03 22:49:06 -05:00
Родитель 6f0a41b8b2
Коммит 3a81fdf092
20 изменённых файлов: 67 добавлений и 46 удалений

Просмотреть файл

@ -258,7 +258,7 @@ func GetDiffRange(repoPath, beforeCommitId string, afterCommitId string, maxline
cmd = exec.Command("git", "show", afterCommitId)
} else {
c, _ := commit.Parent(0)
cmd = exec.Command("git", "diff", "-M", c.Id.String(), afterCommitId)
cmd = exec.Command("git", "diff", "-M", c.ID.String(), afterCommitId)
}
} else {
cmd = exec.Command("git", "diff", "-M", beforeCommitId, afterCommitId)

Просмотреть файл

@ -64,7 +64,7 @@ func createTag(gitRepo *git.Repository, rel *Release) error {
return err
}
if err = gitRepo.CreateTag(rel.TagName, commit.Id.String()); err != nil {
if err = gitRepo.CreateTag(rel.TagName, commit.ID.String()); err != nil {
return err
}
} else {

Просмотреть файл

@ -140,7 +140,7 @@ func Update(refName, oldCommitId, newCommitId, userName, repoUserName, repoName
actEmail = commit.Committer.Email
}
commits = append(commits,
&base.PushCommit{commit.Id.String(),
&base.PushCommit{commit.ID.String(),
commit.Message(),
commit.Author.Email,
commit.Author.Name,

Просмотреть файл

@ -18,7 +18,7 @@ type Blob struct {
}
func (b *Blob) Data() (io.Reader, error) {
stdout, stderr, err := com.ExecCmdDirBytes(b.repo.Path, "git", "show", b.Id.String())
stdout, stderr, err := com.ExecCmdDirBytes(b.repo.Path, "git", "show", b.ID.String())
if err != nil {
return nil, errors.New(string(stderr))
}

Просмотреть файл

@ -14,7 +14,7 @@ import (
// Commit represents a git commit.
type Commit struct {
Tree
Id sha1 // The id of this commit object
ID sha1 // The id of this commit object
Author *Signature
Committer *Signature
CommitMessage string
@ -35,7 +35,7 @@ func (c *Commit) Summary() string {
// Return oid of the parent number n (0-based index). Return nil if no such parent exists.
func (c *Commit) ParentId(n int) (id sha1, err error) {
if n >= len(c.parents) {
err = IdNotExist
err = IDNotExist
return
}
return c.parents[n], nil
@ -61,7 +61,7 @@ func (c *Commit) ParentCount() int {
}
func (c *Commit) CommitsBefore() (*list.List, error) {
return c.repo.getCommitsBefore(c.Id)
return c.repo.getCommitsBefore(c.ID)
}
func (c *Commit) CommitsBeforeUntil(commitId string) (*list.List, error) {
@ -73,19 +73,19 @@ func (c *Commit) CommitsBeforeUntil(commitId string) (*list.List, error) {
}
func (c *Commit) CommitsCount() (int, error) {
return c.repo.commitsCount(c.Id)
return c.repo.commitsCount(c.ID)
}
func (c *Commit) SearchCommits(keyword string) (*list.List, error) {
return c.repo.searchCommits(c.Id, keyword)
return c.repo.searchCommits(c.ID, keyword)
}
func (c *Commit) CommitsByRange(page int) (*list.List, error) {
return c.repo.commitsByRange(c.Id, page)
return c.repo.commitsByRange(c.ID, page)
}
func (c *Commit) GetCommitOfRelPath(relPath string) (*Commit, error) {
return c.repo.getCommitOfRelPath(c.Id, relPath)
return c.repo.getCommitOfRelPath(c.ID, relPath)
}
func (c *Commit) GetSubModule(entryname string) (*SubModule, error) {

Просмотреть файл

@ -28,7 +28,7 @@ func (c *Commit) CreateArchive(path string, archiveType ArchiveType) error {
return fmt.Errorf("unknown format: %v", archiveType)
}
_, stderr, err := com.ExecCmdDir(c.repo.Path, "git", "archive", "--format="+format, "-o", path, c.Id.String())
_, stderr, err := com.ExecCmdDir(c.repo.Path, "git", "archive", "--format="+format, "-o", path, c.ID.String())
if err != nil {
return fmt.Errorf("%s", stderr)
}

Просмотреть файл

@ -70,7 +70,7 @@ l:
if err != nil {
return nil, err
}
commit.Tree.Id = id
commit.Tree.ID = id
case "parent":
// A commit can have one or more parents
oid, err := NewIdFromString(string(line[spacepos+1:]))
@ -121,7 +121,7 @@ func (repo *Repository) getCommit(id sha1) (*Commit, error) {
return nil, err
}
commit.repo = repo
commit.Id = id
commit.ID = id
repo.commitCache[id] = commit
return commit, nil
@ -211,7 +211,7 @@ func (repo *Repository) CommitsBetween(last *Commit, before *Commit) (*list.List
var err error
cur := last
for {
if cur.Id.Equal(before.Id) {
if cur.ID.Equal(before.ID) {
break
}
l.PushBack(cur)
@ -240,7 +240,7 @@ func (repo *Repository) commitsBefore(lock *sync.Mutex, l *list.List, parent *li
for {
if in == nil {
break
} else if in.Value.(*Commit).Id.Equal(commit.Id) {
} else if in.Value.(*Commit).ID.Equal(commit.ID) {
return nil
} else {
if in.Next() == nil {

Просмотреть файл

@ -69,7 +69,7 @@ func (repo *Repository) getTag(id sha1) (*Tag, error) {
// Tag is a commit.
if ObjectType(tp) == COMMIT {
tag := &Tag{
Id: id,
ID: id,
Object: id,
Type: string(COMMIT),
repo: repo,
@ -89,7 +89,7 @@ func (repo *Repository) getTag(id sha1) (*Tag, error) {
return nil, err
}
tag.Id = id
tag.ID = id
tag.repo = repo
repo.tagCache[id] = tag

Просмотреть файл

@ -12,7 +12,7 @@ import (
)
var (
IdNotExist = errors.New("sha1 id not exist")
IDNotExist = errors.New("sha1 ID does not exist")
)
type sha1 [20]byte

Просмотреть файл

@ -26,23 +26,23 @@ type Signature struct {
// FIXME: include timezone for timestamp!
func newSignatureFromCommitline(line []byte) (_ *Signature, err error) {
sig := new(Signature)
emailstart := bytes.IndexByte(line, '<')
sig.Name = string(line[:emailstart-1])
emailstop := bytes.IndexByte(line, '>')
sig.Email = string(line[emailstart+1 : emailstop])
emailStart := bytes.IndexByte(line, '<')
sig.Name = string(line[:emailStart-1])
emailEnd := bytes.IndexByte(line, '>')
sig.Email = string(line[emailStart+1 : emailEnd])
// Check date format.
firstChar := line[emailstop+2]
firstChar := line[emailEnd+2]
if firstChar >= 48 && firstChar <= 57 {
timestop := bytes.IndexByte(line[emailstop+2:], ' ')
timestring := string(line[emailstop+2 : emailstop+2+timestop])
timestop := bytes.IndexByte(line[emailEnd+2:], ' ')
timestring := string(line[emailEnd+2 : emailEnd+2+timestop])
seconds, err := strconv.ParseInt(timestring, 10, 64)
if err != nil {
return nil, err
}
sig.When = time.Unix(seconds, 0)
} else {
sig.When, err = time.Parse("Mon Jan _2 15:04:05 2006 -0700", string(line[emailstop+2:]))
sig.When, err = time.Parse("Mon Jan _2 15:04:05 2006 -0700", string(line[emailEnd+2:]))
if err != nil {
return nil, err
}

Просмотреть файл

@ -0,0 +1,20 @@
// Copyright 2015 The Gogs 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/smartystreets/goconvey/convey"
)
func Test_newSignatureFromCommitline(t *testing.T) {
Convey("Parse signature from commit line", t, func() {
line := "Intern <intern@macbook-intern.(none)> 1445412825 +0200"
sig, err := newSignatureFromCommitline([]byte(line))
So(err, ShouldBeNil)
So(sig, ShouldNotBeNil)
})
}

Просмотреть файл

@ -6,6 +6,7 @@ package git
import (
"strings"
"github.com/gogits/gogs/modules/setting"
)
@ -53,7 +54,7 @@ func (sf *SubModuleFile) RefUrl() string {
j := strings.LastIndex(url, ":")
if i > -1 && j > -1 {
// fix problem with reverse proxy works only with local server
if strings.Contains(setting.AppUrl,url[i+1:j]) {
if strings.Contains(setting.AppUrl, url[i+1:j]) {
return setting.AppUrl + url[j+1:]
} else {
return "http://" + url[i+1:j] + "/" + url[j+1:]

Просмотреть файл

@ -11,7 +11,7 @@ import (
// Tag represents a Git tag.
type Tag struct {
Name string
Id sha1
ID sha1
repo *Repository
Object sha1 // The id of this commit object
Type string

Просмотреть файл

@ -18,7 +18,7 @@ var (
// A tree is a flat directory listing.
type Tree struct {
Id sha1
ID sha1
repo *Repository
// parent tree
@ -66,7 +66,7 @@ func parseTreeData(tree *Tree, data []byte) ([]*TreeEntry, error) {
if err != nil {
return nil, err
}
entry.Id = id
entry.ID = id
pos += step + 1 // Skip half of sha1.
step = bytes.IndexByte(data[pos:], '\n')
@ -100,7 +100,7 @@ func (t *Tree) SubTree(rpath string) (*Tree, error) {
return nil, err
}
g, err = t.repo.getTree(te.Id)
g, err = t.repo.getTree(te.ID)
if err != nil {
return nil, err
}
@ -117,7 +117,7 @@ func (t *Tree) ListEntries(relpath string) (Entries, error) {
t.entriesParsed = true
stdout, stderr, err := com.ExecCmdDirBytes(t.repo.Path,
"git", "ls-tree", t.Id.String())
"git", "ls-tree", t.ID.String())
if err != nil {
if strings.Contains(err.Error(), "exit status 128") {
return nil, errors.New(strings.TrimSpace(string(stderr)))
@ -130,7 +130,7 @@ func (t *Tree) ListEntries(relpath string) (Entries, error) {
func NewTree(repo *Repository, id sha1) *Tree {
tree := new(Tree)
tree.Id = id
tree.ID = id
tree.repo = repo
return tree
}

Просмотреть файл

@ -13,7 +13,7 @@ import (
func (t *Tree) GetTreeEntryByPath(relpath string) (*TreeEntry, error) {
if len(relpath) == 0 {
return &TreeEntry{
Id: t.Id,
ID: t.ID,
Type: TREE,
mode: ModeTree,
}, nil

Просмотреть файл

@ -24,7 +24,7 @@ const (
)
type TreeEntry struct {
Id sha1
ID sha1
Type ObjectType
mode EntryMode
@ -51,7 +51,7 @@ func (te *TreeEntry) Size() int64 {
return te.size
}
stdout, _, err := com.ExecCmdDir(te.ptree.repo.Path, "git", "cat-file", "-s", te.Id.String())
stdout, _, err := com.ExecCmdDir(te.ptree.repo.Path, "git", "cat-file", "-s", te.ID.String())
if err != nil {
return 0
}

Просмотреть файл

@ -118,7 +118,7 @@ func RepoRef() macaron.Handler {
ctx.Handle(500, "GetCommitOfBranch", err)
return
}
ctx.Repo.CommitID = ctx.Repo.Commit.Id.String()
ctx.Repo.CommitID = ctx.Repo.Commit.ID.String()
ctx.Repo.IsBranch = true
} else {
@ -149,7 +149,7 @@ func RepoRef() macaron.Handler {
ctx.Handle(500, "GetCommitOfBranch", err)
return
}
ctx.Repo.CommitID = ctx.Repo.Commit.Id.String()
ctx.Repo.CommitID = ctx.Repo.Commit.ID.String()
} else if ctx.Repo.GitRepo.IsTagExist(refName) {
ctx.Repo.IsTag = true
@ -158,7 +158,7 @@ func RepoRef() macaron.Handler {
ctx.Handle(500, "GetCommitOfTag", err)
return
}
ctx.Repo.CommitID = ctx.Repo.Commit.Id.String()
ctx.Repo.CommitID = ctx.Repo.Commit.ID.String()
} else if len(refName) == 40 {
ctx.Repo.IsCommit = true
ctx.Repo.CommitID = refName

Просмотреть файл

@ -88,10 +88,10 @@ func Releases(ctx *middleware.Context) {
tags[i] = &models.Release{
Title: rawTag,
TagName: rawTag,
Sha1: commit.Id.String(),
Sha1: commit.ID.String(),
}
tags[i].NumCommits, err = ctx.Repo.GitRepo.CommitsCount(commit.Id.String())
tags[i].NumCommits, err = ctx.Repo.GitRepo.CommitsCount(commit.ID.String())
if err != nil {
ctx.Handle(500, "CommitsCount", err)
return
@ -190,7 +190,7 @@ func NewReleasePost(ctx *middleware.Context, form auth.NewReleaseForm) {
Title: form.Title,
TagName: form.TagName,
Target: form.Target,
Sha1: commit.Id.String(),
Sha1: commit.ID.String(),
NumCommits: commitsCount,
Note: form.Content,
IsDraft: len(form.Draft) > 0,

Просмотреть файл

@ -317,7 +317,7 @@ func Download(ctx *middleware.Context) {
return
}
archivePath = path.Join(archivePath, base.ShortSha(commit.Id.String())+ext)
archivePath = path.Join(archivePath, base.ShortSha(commit.ID.String())+ext)
if !com.IsFile(archivePath) {
if err := commit.CreateArchive(archivePath, archiveType); err != nil {
ctx.Handle(500, "Download -> CreateArchive "+archivePath, err)
@ -325,5 +325,5 @@ func Download(ctx *middleware.Context) {
}
}
ctx.ServeFile(archivePath, ctx.Repo.Repository.Name+"-"+base.ShortSha(commit.Id.String())+ext)
ctx.ServeFile(archivePath, ctx.Repo.Repository.Name+"-"+base.ShortSha(commit.ID.String())+ext)
}

Просмотреть файл

@ -151,7 +151,7 @@ func Home(ctx *middleware.Context) {
ctx.Handle(500, "GetCommitOfRelPath", err)
return
}
files = append(files, []interface{}{te, git.NewSubModuleFile(c, smUrl, te.Id.String())})
files = append(files, []interface{}{te, git.NewSubModuleFile(c, smUrl, te.ID.String())})
}
}
ctx.Data["Files"] = files