Skip to content

Commit 040285b

Browse files
committed
refactor: Remove need for passing in 'raw' to 'do-plumbing-clone'
It was originally only temporarily done to make it easier to refactor the function
1 parent a3df445 commit 040285b

File tree

4 files changed

+25
-63
lines changed

4 files changed

+25
-63
lines changed

pkg/lib/commands/do-install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ do-install() {
2121
local ref="$REPLY3"
2222

2323
log.info "Installing '$repoSpec'"
24-
do-plumbing-clone 'raw' "$uri" $ref
24+
do-plumbing-clone "$uri" "$package" $ref
2525
do-plumbing-deps "$package"
2626
do-plumbing-link-bins "$package"
2727
do-plumbing-link-completions "$package"

pkg/lib/commands/do-plumbing-clone.sh

Lines changed: 5 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,11 @@
11
# shellcheck shell=bash
22

33
do-plumbing-clone() {
4-
local use_ssh="$1"
5-
local site="$2"
6-
local package="$3"
7-
local ref="$4"
4+
local uri="$1"
5+
local package="$2"
6+
local ref="$3"
87

9-
if [ "$use_ssh" = raw ]; then
10-
local uri="$site"
11-
ref="$package"
12-
13-
ensure.nonZero 'uri' "$uri"
14-
ensure.nonZero 'ref' "$ref"
15-
16-
if [ -e "$BPM_PACKAGES_PATH/$package" ]; then
17-
die "Package '$package' is already present"
18-
fi
19-
20-
local -a gitArgs=(--recursive)
21-
22-
if [ -z "${BPM_FULL_CLONE+x}" ]; then
23-
gitArgs+=(--depth=1)
24-
fi
25-
26-
if [ -n "$ref" ]; then
27-
gitArgs+=(--branch "$ref")
28-
fi
29-
30-
gitArgs+=("$uri")
31-
gitArgs+=("$BPM_PACKAGES_PATH/$package")
32-
33-
git clone "${gitArgs[@]}"
34-
35-
return
36-
fi
37-
38-
# TODO: replace this
39-
ensure.nonZero 'use_ssh' "$use_ssh"
40-
ensure.nonZero 'site' "$site"
41-
ensure.nonZero 'package' "$package"
8+
ensure.nonZero 'uri' "$uri"
429

4310
if [ -e "$BPM_PACKAGES_PATH/$package" ]; then
4411
die "Package '$package' is already present"
@@ -54,12 +21,7 @@ do-plumbing-clone() {
5421
gitArgs+=(--branch "$ref")
5522
fi
5623

57-
if [ "$use_ssh" = "true" ]; then
58-
gitArgs+=("git@$site:$package.git")
59-
else
60-
gitArgs+=("https://$site/$package.git")
61-
fi
62-
24+
gitArgs+=("$uri")
6325
gitArgs+=("$BPM_PACKAGES_PATH/$package")
6426

6527
git clone "${gitArgs[@]}"

tests/do-install.bats

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ load 'util/init.sh'
2626

2727
assert_success
2828
assert_line -n 0 -p "Installing 'username/package'"
29-
assert_line -n 1 'do-plumbing-clone raw https://github.com/username/package.git'
29+
assert_line -n 1 'do-plumbing-clone https://github.com/username/package.git username/package'
3030
assert_line -n 2 'do-plumbing-deps username/package'
3131
assert_line -n 3 'do-plumbing-link-bins username/package'
3232
assert_line -n 4 'do-plumbing-link-completions username/package'
@@ -44,13 +44,13 @@ load 'util/init.sh'
4444

4545
assert_success
4646
assert_line -n 0 -p "Installing 'username/package'"
47-
assert_line -n 1 'do-plumbing-clone raw https://github.com/username/package.git'
47+
assert_line -n 1 'do-plumbing-clone https://github.com/username/package.git username/package'
4848
assert_line -n 2 'do-plumbing-deps username/package'
4949
assert_line -n 3 'do-plumbing-link-bins username/package'
5050
assert_line -n 4 'do-plumbing-link-completions username/package'
5151
assert_line -n 5 'do-plumbing-link-man username/package'
5252
assert_line -n 6 -p "Installing 'username2/package2'"
53-
assert_line -n 7 'do-plumbing-clone raw https://github.com/username2/package2.git'
53+
assert_line -n 7 'do-plumbing-clone https://github.com/username2/package2.git username2/package2'
5454
assert_line -n 8 'do-plumbing-deps username2/package2'
5555
assert_line -n 9 'do-plumbing-link-bins username2/package2'
5656
assert_line -n 10 'do-plumbing-link-completions username2/package2'
@@ -68,7 +68,7 @@ load 'util/init.sh'
6868
run do-install https://gitlab.com/username/package
6969

7070
assert_success
71-
assert_line "do-plumbing-clone raw https://gitlab.com/username/package.git"
71+
assert_line "do-plumbing-clone https://gitlab.com/username/package.git username/package"
7272
}
7373

7474
@test "uses longhand (http) site to clone from, if specified" {
@@ -81,7 +81,7 @@ load 'util/init.sh'
8181
run do-install http://gitlab.com/username/package
8282

8383
assert_success
84-
assert_line "do-plumbing-clone raw http://gitlab.com/username/package.git"
84+
assert_line "do-plumbing-clone http://gitlab.com/username/package.git username/package"
8585
}
8686

8787
@test "uses shorthand site to clone from, if specified" {
@@ -94,7 +94,7 @@ load 'util/init.sh'
9494
run do-install site/username/package
9595

9696
assert_success
97-
assert_line "do-plumbing-clone raw https://site/username/package.git"
97+
assert_line "do-plumbing-clone https://site/username/package.git username/package"
9898
}
9999

100100
@test "uses GitHub as default site, if not specified" {
@@ -107,7 +107,7 @@ load 'util/init.sh'
107107
run do-install username/package
108108

109109
assert_success
110-
assert_line "do-plumbing-clone raw https://github.com/username/package.git"
110+
assert_line "do-plumbing-clone https://github.com/username/package.git username/package"
111111
}
112112

113113
@test "uses ssh protocol, when specified" {
@@ -120,7 +120,7 @@ load 'util/init.sh'
120120
run do-install --ssh username/package
121121

122122
assert_success
123-
assert_line "do-plumbing-clone raw git@github.com:username/package.git"
123+
assert_line "do-plumbing-clone git@github.com:username/package.git username/package"
124124
}
125125

126126
@test "uses ssh protocol raw, when specified" {
@@ -133,7 +133,7 @@ load 'util/init.sh'
133133
run do-install git@github.com:username/package
134134

135135
assert_success
136-
assert_line "do-plumbing-clone raw git@github.com:username/package.git"
136+
assert_line "do-plumbing-clone git@github.com:username/package.git username/package"
137137
}
138138

139139
@test "uses custom version, when specified" {
@@ -146,7 +146,7 @@ load 'util/init.sh'
146146
run do-install username/package@v1.2.3
147147

148148
assert_success
149-
assert_line "do-plumbing-clone raw https://github.com/username/package.git v1.2.3"
149+
assert_line "do-plumbing-clone https://github.com/username/package.git username/package v1.2.3"
150150
}
151151

152152
@test "does not use custom version, when not specified" {
@@ -159,5 +159,5 @@ load 'util/init.sh'
159159
run do-install username/package@
160160

161161
assert_success
162-
assert_line "do-plumbing-clone raw https://github.com/username/package.git"
162+
assert_line "do-plumbing-clone https://github.com/username/package.git username/package"
163163
}

tests/do-plumbing-clone.bats

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ load 'util/init.sh'
55
@test "install a specific version" {
66
test_util.mock_command git
77

8-
run do-plumbing-clone false site username/package version
8+
run do-plumbing-clone https://site/username/package.git username/package version
99

1010
assert_success
1111
assert_output "git clone --recursive --depth=1 --branch version https://site/username/package.git $BPM_PACKAGES_PATH/username/package"
@@ -14,7 +14,7 @@ load 'util/init.sh'
1414
@test "does nothing if package is already present" {
1515
mkdir -p "$BPM_PACKAGES_PATH/username/package"
1616

17-
run do-plumbing-clone false github.com username/package
17+
run do-plumbing-clone https://github.com/username/package.git username/package
1818

1919
assert_failure
2020
assert_output -e "Package 'username/package' is already present"
@@ -24,7 +24,7 @@ load 'util/init.sh'
2424
mkdir -p "$BPM_PACKAGES_PATH/username"
2525
touch "$BPM_PACKAGES_PATH/username/package"
2626

27-
run do-plumbing-clone false github.com username/package
27+
run do-plumbing-clone https://github.com/username/package.git username/package
2828

2929
assert_failure
3030
assert_output -e "Package 'username/package' is already present"
@@ -33,7 +33,7 @@ load 'util/init.sh'
3333
@test "using a different site" {
3434
test_util.mock_command git
3535

36-
run do-plumbing-clone false site username/package
36+
run do-plumbing-clone https://site/username/package.git username/package
3737

3838
assert_success
3939
assert_output "git clone --recursive --depth=1 https://site/username/package.git $BPM_PACKAGES_PATH/username/package"
@@ -46,7 +46,7 @@ load 'util/init.sh'
4646
export BPM_FULL_CLONE=
4747
test_util.mock_command git
4848

49-
run do-plumbing-clone false github.com username/package
49+
run do-plumbing-clone https://github.com/username/package.git username/package
5050

5151
assert_success
5252
assert_output "git clone --recursive https://github.com/username/package.git $BPM_PACKAGES_PATH/username/package"
@@ -56,7 +56,7 @@ load 'util/init.sh'
5656
export BPM_FULL_CLONE=true
5757
test_util.mock_command git
5858

59-
run do-plumbing-clone false github.com username/package
59+
run do-plumbing-clone https://github.com/username/package.git username/package
6060

6161
assert_success
6262
assert_output "git clone --recursive https://github.com/username/package.git $BPM_PACKAGES_PATH/username/package"
@@ -68,7 +68,7 @@ load 'util/init.sh'
6868
export BPM_FULL_CLONE=false
6969
test_util.mock_command git
7070

71-
run do-plumbing-clone false github.com username/package
71+
run do-plumbing-clone https://github.com/username/package.git username/package
7272

7373
assert_success
7474
assert_output "git clone --recursive https://github.com/username/package.git $BPM_PACKAGES_PATH/username/package"
@@ -77,7 +77,7 @@ load 'util/init.sh'
7777
@test "using ssh protocol" {
7878
test_util.mock_command git
7979

80-
run do-plumbing-clone true site username/package
80+
run do-plumbing-clone git@site:username/package.git username/package
8181

8282
assert_success
8383
assert_output "git clone --recursive --depth=1 git@site:username/package.git $BPM_PACKAGES_PATH/username/package"

0 commit comments

Comments
 (0)