1# vi: set ft=conf
2
3# convert crlf to lf on windows
4[windows] dos2unix readme.md branch_list.1.txt info.txt
5
6# create a repo
7soft repo create repo1 -d 'description' -H -p -n 'repo11'
8stderr 'Created repository repo1.*'
9stdout ssh://localhost:$SSH_PORT/repo1.git
10soft repo hidden repo1
11stdout true
12soft repo private repo1
13stdout true
14! exists $DATA_PATH/repos/repo1.git/git-daemon-export-ok
15soft repo description repo1
16stdout 'description'
17readfile $DATA_PATH/repos/repo1.git/description 'description'
18soft repo project-name repo1
19stdout 'repo1'
20
21# clone repo
22git clone ssh://localhost:$SSH_PORT/repo1 repo1
23
24# create some files, commits, tags...
25mkfile ./repo1/README.md '# Project\nfoo'
26git -C repo1 add -A
27git -C repo1 commit -m 'first'
28git -C repo1 tag v0.1.0
29git -C repo1 push origin HEAD
30git -C repo1 push origin HEAD --tags
31
32# create lfs files, use ssh git-lfs-transfer
33git -C repo1 lfs install --local
34git -C repo1 lfs track '*.png'
35git -C repo1 lfs track '*.mp4'
36mkfile ./repo1/foo.png 'foo'
37mkfile ./repo1/bar.png 'bar'
38git -C repo1 add -A
39git -C repo1 commit -m 'lfs'
40git -C repo1 push origin HEAD
41
42# info
43soft repo info repo1
44cmp stdout info.txt
45
46# list tags
47soft repo tag list repo1
48stdout 'v0.1.0'
49
50# delete tag
51soft repo tag delete repo1 v0.1.0
52soft repo tag list repo1
53! stdout .
54
55# print tree
56soft repo tree repo1
57cp stdout tree.txt
58grep '.gitattributes' tree.txt
59grep 'README.md' tree.txt
60grep 'foo.png' tree.txt
61grep 'bar.png' tree.txt
62
63# cat blob
64soft repo blob repo1 README.md
65cmp stdout readme.md
66
67# cat blob that doesn't exist
68! soft repo blob repo1 README.txt
69! stdout .
70stderr '.*revision does not exist.*'
71
72# check main branch
73soft repo branch default repo1
74stdout master
75
76# create a new branch
77git -C repo1 checkout -b branch1
78git -C repo1 push origin branch1
79soft repo branch list repo1
80cmp stdout branch_list.1.txt
81
82# change default branch
83soft repo branch default repo1 branch1
84soft repo branch default repo1
85stdout branch1
86
87# cannot delete main branch
88! soft repo branch delete repo1 branch1
89
90# delete other branch
91soft repo branch delete repo1 master
92soft repo branch list repo1
93stdout branch1
94
95# create a new user
96soft user create bar --key "$USER1_AUTHORIZED_KEY"
97
98# user create a repo
99usoft repo create repo2 -d 'description' -H -p -n 'repo2'
100stderr 'Created repository repo2.*'
101stdout ssh://localhost:$SSH_PORT/repo2.git
102usoft repo hidden repo2
103stdout true
104usoft repo private repo2
105stdout true
106! exists $DATA_PATH/repos/repo2.git/git-daemon-export-ok
107usoft repo description repo2
108stdout 'description'
109readfile $DATA_PATH/repos/repo2.git/description 'description'
110usoft repo project-name repo2
111stdout 'repo2'
112
113# user delete a repo
114usoft repo delete repo2
115! exists $DATA_PATH/repos/repo2.git
116
117
118-- readme.md --
119# Project\nfoo
120-- branch_list.1.txt --
121branch1
122master
123-- info.txt --
124Project Name: repo11
125Repository: repo1
126Description: description
127Private: true
128Hidden: true
129Mirror: false
130Owner: admin
131Default Branch: master
132Branches:
133 - master
134Tags:
135 - v0.1.0