repo-create.txtar

  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