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'
  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'
 33git -C repo1 lfs track '*.mp4'
 34mkfile ./repo1/foo.png 'foo'
 35mkfile ./repo1/bar.png 'bar'
 36git -C repo1 add -A
 37git -C repo1 commit -m 'lfs'
 38git -C repo1 push origin HEAD
 39
 40# info
 41soft repo info repo1
 42cmp stdout info.txt
 43
 44# list tags
 45soft repo tag list repo1
 46stdout 'v0.1.0'
 47
 48# delete tag
 49soft repo tag delete repo1 v0.1.0
 50soft repo tag list repo1
 51! stdout .
 52
 53# print tree
 54soft repo tree repo1
 55cp stdout tree.txt
 56grep '.gitattributes' tree.txt
 57grep 'README.md' tree.txt
 58grep 'foo.png' tree.txt
 59grep 'bar.png' tree.txt
 60
 61# cat blob
 62soft repo blob repo1 README.md
 63cmp stdout readme.md
 64
 65# cat blob that doesn't exist
 66! soft repo blob repo1 README.txt
 67! stdout .
 68stderr '.*revision does not exist.*'
 69
 70# check main branch
 71soft repo branch default repo1
 72stdout master
 73
 74# create a new branch
 75git -C repo1 checkout -b branch1
 76git -C repo1 push origin branch1
 77soft repo branch list repo1
 78cmp stdout branch_list.1.txt
 79
 80# change default branch
 81soft repo branch default repo1 branch1
 82soft repo branch default repo1
 83stdout branch1
 84
 85# cannot delete main branch
 86! soft repo branch delete repo1 branch1
 87
 88# delete other branch
 89soft repo branch delete repo1 master
 90soft repo branch list repo1
 91stdout branch1
 92
 93# create a new user
 94soft user create bar --key "$USER1_AUTHORIZED_KEY"
 95
 96# user create a repo
 97usoft repo create repo2 -d 'description' -H -p -n 'repo2'
 98usoft repo hidden repo2
 99stdout true
100usoft repo private repo2
101stdout true
102! exists $DATA_PATH/repos/repo2.git/git-daemon-export-ok
103usoft repo description repo2
104stdout 'description'
105readfile $DATA_PATH/repos/repo2.git/description 'description'
106usoft repo project-name repo2
107stdout 'repo2'
108
109# user delete a repo
110usoft repo delete repo2
111! exists $DATA_PATH/repos/repo2.git
112
113
114-- readme.md --
115# Project\nfoo
116-- branch_list.1.txt --
117branch1
118master
119-- info.txt --
120Project Name: repo11
121Repository: repo1
122Description: description
123Private: true
124Hidden: true
125Mirror: false
126Owner: admin
127Default Branch: master
128Branches:
129  - master
130Tags:
131  - v0.1.0