diff options
Diffstat (limited to 'tests/rep-fetch-git-commit.test')
-rw-r--r-- | tests/rep-fetch-git-commit.test | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/tests/rep-fetch-git-commit.test b/tests/rep-fetch-git-commit.test new file mode 100644 index 0000000..d0d757c --- /dev/null +++ b/tests/rep-fetch-git-commit.test @@ -0,0 +1,124 @@ +# file : tests/rep-fetch-git-commit.test +# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +reason_dumb = ' (dumb HTTP)' +reason_unadv = ' (unadvertised commit)' + +warn_dumb=' +warning: fetching over dumb HTTP, no progress will be displayed' + + +git clone "$rep_git/state0/style-basic.git" 2>! &style-basic/*** + +: unadvertised +: +{ + +git -C ../style-basic log '--pretty=format:%H' --all --grep='README' | \ + set commit + + : no-branch + : + { + $clone_root_cfg && $rep_add "$rep/state0/style-basic.git#@$commit"; + + if ($git_protocol == 'https-smart-unadv') + warn = '%.{0}' + fetch = "%Fetching in '.+$commit'.+%" + else + warn = "warning: fetching whole repository history" + + if ($git_protocol == 'https-dumb') + warn = "$warn$reason_dumb$warn_dumb" + else + warn = "$warn$reason_unadv" + end + + fetch = '%.{0}' + end; + + $* 2>>~"%EOE%" + %fetching git:.+style-basic% + $warn + %Cloning into '.+$commit'.+% + $fetch + 0 package\(s\) in 1 repository\(s\) + EOE + } + + : branch + : + { + $clone_root_cfg && $rep_add "$rep/state0/style-basic.git#stable@$commit"; + + if ($git_protocol == 'https-smart-unadv') + warn = '%.{0}' + fetch = "%Fetching in '.+stable'.+%" + else + warn = "warning: fetching whole branch history" + + if ($git_protocol == 'https-dumb') + warn = "$warn$reason_dumb$warn_dumb" + else + warn = "$warn$reason_unadv" + end + + fetch = '%.{0}' + end; + + $* 2>>~"%EOE%" + %fetching git:.+style-basic% + $warn + %Cloning into '.+stable'.+% + $fetch + 0 package\(s\) in 1 repository\(s\) + EOE + } +} + +: advertised +: +{ + +git -C ../style-basic log '--pretty=format:%H' --all --grep='INSTALL' | \ + set commit + + : no-branch + : + { + $clone_root_cfg && $rep_add "$rep/state0/style-basic.git#@$commit"; + + if ($git_protocol == 'https-dumb') + warn = "warning: fetching whole repository history$reason_dumb$warn_dumb" + fetch = '%.{0}' + else + warn = '%.{0}' + fetch = "%Fetching in '.+$commit'.+%" + end; + + $* 2>>~"%EOE%" + %fetching git:.+style-basic% + $warn + %Cloning into '.+$commit'.+% + $fetch + 0 package\(s\) in 1 repository\(s\) + EOE + } + + : branch + : + { + $clone_root_cfg && $rep_add "$rep/state0/style-basic.git#stable@$commit"; + + if ($git_protocol == 'https-dumb') + warn ="warning: fetching whole branch history$reason_dumb$warn_dumb" + else + warn = '%.{0}' + end; + + $* 2>>~"%EOE%" + %fetching git:.+style-basic% + $warn + %Cloning into '.+stable'.+% + 0 package\(s\) in 1 repository\(s\) + EOE + } +} |