aboutsummaryrefslogtreecommitdiff
path: root/tests/rep-fetch-git-commit.test
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2018-02-12 17:30:16 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2018-02-12 17:34:55 +0300
commitb7763416f8a1e4940a10336d3a8b9fbbb879f414 (patch)
tree31f1bc7427181aa81984a639d998ca4e99058199 /tests/rep-fetch-git-commit.test
parentecb1efeebaa5597bee4cfdaab7bff4007b73127d (diff)
Clone and fetch git repositories
Diffstat (limited to 'tests/rep-fetch-git-commit.test')
-rw-r--r--tests/rep-fetch-git-commit.test124
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
+ }
+}