1# vi: set ft=conf
 2
 3[windows] dos2unix err1.txt err2.txt err3.txt errauth.txt
 4
 5skip 'breaks with git-lfs 3.5.1'
 6
 7# enable ssh lfs transfer
 8env SOFT_SERVE_LFS_SSH_ENABLED=true
 9# start soft serve
10exec soft serve &
11# wait for SSH server to start
12ensureserverrunning SSH_PORT
13
14# create a user
15soft user create foo --key "$USER1_AUTHORIZED_KEY"
16
17# create a repo
18soft repo create repo1
19soft repo create repo1p -p
20usoft repo create repo2
21usoft repo create repo2p -p
22
23# SSH Git LFS Transfer command
24! soft git-lfs-transfer
25cmp stderr err1.txt
26! soft git-lfs-transfer repo1
27cmp stderr err2.txt
28soft git-lfs-transfer repo1 download
29stdout '000eversion=1\n000clocking\n0000'
30soft git-lfs-transfer repo1 upload
31stdout '000eversion=1\n000clocking\n0000'
32usoft git-lfs-transfer repo1 download
33stdout '000eversion=1\n000clocking\n0000'
34! usoft git-lfs-transfer repo1 upload
35cmp stderr errauth.txt
36
37# Unauthorized user
38! usoft git-lfs-transfer
39cmp stderr err1.txt
40! usoft git-lfs-transfer repo1p
41cmp stderr err2.txt
42! usoft git-lfs-transfer repo1p download
43cmp stderr errauth.txt
44! usoft git-lfs-transfer repo1p upload
45cmp stderr errauth.txt
46
47# push & create repo with some files, commits, tags...
48mkdir ./repo1
49git -c init.defaultBranch=master -C repo1 init
50mkfile ./repo1/README.md '# Project\nfoo'
51mkfile ./repo1/foo.png 'foo'
52mkfile ./repo1/bar.png 'bar'
53git -C repo1 remote add origin ssh://localhost:$SSH_PORT/repo1
54git -C repo1 lfs install --local
55git -C repo1 lfs track '*.png'
56git -C repo1 add -A
57git -C repo1 commit -m 'first'
58git -C repo1 tag v0.1.0
59git -C repo1 push origin HEAD
60git -C repo1 push origin HEAD --tags
61
62# clone repo with ssh lfs-transfer
63git clone ssh://localhost:$SSH_PORT/repo1 repo1c
64exists repo1c/README.md
65exists repo1c/foo.png
66exists repo1c/bar.png
67
68# stop the server
69[windows] stopserver
70
71-- err1.txt --
72Error: accepts 2 arg(s), received 0
73-- err2.txt --
74Error: accepts 2 arg(s), received 1
75-- err3.txt --
76Error: invalid request
77-- errauth.txt --
78Error: you are not authorized to do this