1# vi: set ft=conf
 2
 3# convert crlf to lf on windows
 4[windows] dos2unix tree1.txt tree2.txt tree3.txt
 5
 6# start soft serve
 7exec soft serve &
 8# wait for server to start
 9waitforserver
10
11# create a repo
12soft repo create repo1
13
14# clone repo
15git clone ssh://localhost:$SSH_PORT/repo1 repo1
16
17# create some files, commits, tags...
18mkfile ./repo1/README.md '# Hello'
19mkfile ./repo1/b.md 'hi'
20mkfile ./repo1/.hidden ''
21mkdir ./repo1/folder
22mkdir ./repo1/.folder
23mkfile ./repo1/folder/aa.md 'hello'
24git -C repo1 add -A
25git -C repo1 commit -m 'first'
26git -C repo1 push origin HEAD
27
28# print root tree
29soft repo tree repo1
30cmp stdout tree1.txt
31
32# print folder tree
33soft repo tree repo1 folder
34cmp stdout tree2.txt
35
36# print file tree with revision
37soft repo tree repo1 master b.md
38cmp stdout tree3.txt
39
40# print tree of folder that does not exist
41! soft repo tree repo1 folder2
42! stdout .
43stderr 'file not found'
44
45# print tree of bad revision
46! soft repo tree repo1 badrev folder
47! stdout .
48stderr 'revision does not exist'
49
50# stop the server
51[windows] stopserver
52
53-- tree1.txt --
54drwxrwxrwx	-	 folder
55-rw-r--r--	-	 .hidden
56-rw-r--r--	7 B	 README.md
57-rw-r--r--	2 B	 b.md
58-- tree2.txt --
59-rw-r--r--	5 B	 aa.md
60-- tree3.txt --
61-rw-r--r--	2 B	 b.md