1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
package git
import (
"testing"
"time"
)
func TestCreateCommitFromIds(t *testing.T) {
t.Parallel()
repo := createTestRepo(t)
defer cleanupTestRepo(t, repo)
loc, err := time.LoadLocation("Europe/Berlin")
checkFatal(t, err)
sig := &Signature{
Name: "Rand Om Hacker",
Email: "[email protected]",
When: time.Date(2013, 03, 06, 14, 30, 0, 0, loc),
}
idx, err := repo.Index()
checkFatal(t, err)
err = idx.AddByPath("README")
checkFatal(t, err)
err = idx.Write()
checkFatal(t, err)
treeId, err := idx.WriteTree()
checkFatal(t, err)
message := "This is a commit\n"
tree, err := repo.LookupTree(treeId)
checkFatal(t, err)
expectedCommitId, err := repo.CreateCommit("HEAD", sig, sig, message, tree)
checkFatal(t, err)
commitId, err := repo.CreateCommitFromIds("", sig, sig, message, treeId)
checkFatal(t, err)
if !expectedCommitId.Equal(commitId) {
t.Errorf("mismatched commit ids, expected %v, got %v", expectedCommitId.String(), commitId.String())
}
}
func TestRepositorySetConfig(t *testing.T) {
repo := createTestRepo(t)
defer cleanupTestRepo(t, repo)
loc, err := time.LoadLocation("Europe/Berlin")
checkFatal(t, err)
sig := &Signature{
Name: "Rand Om Hacker",
Email: "[email protected]",
When: time.Date(2013, 03, 06, 14, 30, 0, 0, loc),
}
idx, err := repo.Index()
checkFatal(t, err)
err = idx.AddByPath("README")
treeId, err := idx.WriteTree()
checkFatal(t, err)
message := "This is a commit\n"
tree, err := repo.LookupTree(treeId)
checkFatal(t, err)
_, err = repo.CreateCommit("HEAD", sig, sig, message, tree)
checkFatal(t, err)
repoConfig, err := repo.Config()
checkFatal(t, err)
temp := Config{}
localConfig, err := temp.OpenLevel(repoConfig, ConfigLevelLocal)
checkFatal(t, err)
repoConfig = nil
err = repo.SetConfig(localConfig)
checkFatal(t, err)
configFieldName := "core.filemode"
err = localConfig.SetBool(configFieldName, true)
checkFatal(t, err)
localConfig = nil
repoConfig, err = repo.Config()
checkFatal(t, err)
result, err := repoConfig.LookupBool(configFieldName)
checkFatal(t, err)
if result != true {
t.Fatal("result must be true")
}
}
func TestRepositoryItemPath(t *testing.T) {
repo := createTestRepo(t)
defer cleanupTestRepo(t, repo)
gitDir, err := repo.ItemPath(RepositoryItemGitDir)
checkFatal(t, err)
if gitDir == "" {
t.Error("expected not empty gitDir")
}
}
|