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