sah 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/sah/api.rb +1 -1
- data/lib/sah/cli.rb +11 -8
- data/lib/sah/config.rb +9 -5
- data/lib/sah/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18642a288281aa66cd1d5dfb37711ec1d4040f0e
|
4
|
+
data.tar.gz: d65bf5d5ac49ec5a62daf08cd276f732278c38d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20f93b1390e2c3cb64178f5b2003d94b89e0080d32956b3c3bacf27ae87609852fb9be8e00414b35b0e1aaa72d393f82ee28d7d6003ff383021234390eee8bdb
|
7
|
+
data.tar.gz: 83b3fbf7d1de1321c1a698562aa1cbdc8a39d02461612e5b15be82f6cbf91c0674b7f4d2524d053f3e65ebad0c242605579d664badcc3856e64bd098b8fc33aa
|
data/README.md
CHANGED
@@ -30,7 +30,7 @@ If you use multiple stash, define profile(s) and specify it.
|
|
30
30
|
### clone
|
31
31
|
|
32
32
|
sah clone PROJECT/REPO
|
33
|
-
> git clone ssh://git@example.com:7999/
|
33
|
+
> git clone ssh://git@example.com:7999/PROJECT/REPO
|
34
34
|
|
35
35
|
sah clone REPO
|
36
36
|
> git clone ssh://git@example.com:7999/~YOUR_NAME/ERPO
|
@@ -103,7 +103,7 @@ If you use multiple stash, define profile(s) and specify it.
|
|
103
103
|
- `git config --global sah.config.upstream-prevent-push true`
|
104
104
|
(the same as `--prevent-push` option)
|
105
105
|
Setting this option to true will Prevent push to upstream repository.
|
106
|
-
- `git config --global sah.config.
|
106
|
+
- `git config --global sah.config.protocol [ssh|http]`
|
107
107
|
Setting this option to specify git protocol. (default: ssh)
|
108
108
|
|
109
109
|
### user
|
data/lib/sah/api.rb
CHANGED
@@ -12,7 +12,7 @@ module Sah
|
|
12
12
|
base_url = (config.url).to_s.sub(/#{config.url.path}$/, '')
|
13
13
|
@conn = Faraday.new(url: base_url) do |faraday|
|
14
14
|
faraday.response :json
|
15
|
-
|
15
|
+
faraday.response :logger if config.verbose
|
16
16
|
faraday.adapter Faraday.default_adapter
|
17
17
|
faraday.basic_auth config.user, config.password
|
18
18
|
end
|
data/lib/sah/cli.rb
CHANGED
@@ -8,11 +8,14 @@ module Sah
|
|
8
8
|
class_option :profile,
|
9
9
|
type: :string, default: (ENV["SAH_DEFAULT_PROFILE"] || :default),
|
10
10
|
desc: "Set a specific profile"
|
11
|
+
class_option :verbose,
|
12
|
+
type: :boolean, default: false,
|
13
|
+
desc: "Turn on/off verbose mode"
|
11
14
|
|
12
15
|
desc "clone REPOS", "Clone repository"
|
13
16
|
long_desc <<-LONG_DESCRIPTION
|
14
17
|
sah clone PROJECT/REPO
|
15
|
-
\x5> git clone ssh://git@example.com:7999/
|
18
|
+
\x5> git clone ssh://git@example.com:7999/PROJECT/REPO
|
16
19
|
|
17
20
|
sah clone REPO
|
18
21
|
\x5> git clone ssh://git@example.com:7999/~YOUR_NAME/REPO
|
@@ -29,11 +32,11 @@ module Sah
|
|
29
32
|
end
|
30
33
|
repository = res.body
|
31
34
|
remote_url =
|
32
|
-
repository["links"]["clone"].find{ |e| e["name"] == config.
|
35
|
+
repository["links"]["clone"].find{ |e| e["name"] == config.protocol }["href"]
|
33
36
|
system "git", "clone", remote_url
|
34
37
|
end
|
35
38
|
|
36
|
-
desc "create [PROJECT]
|
39
|
+
desc "create [PROJECT]", "Create repository"
|
37
40
|
long_desc <<-LONG_DESCRIPTION
|
38
41
|
sah create
|
39
42
|
\x5# create repository
|
@@ -57,11 +60,11 @@ module Sah
|
|
57
60
|
abort res.body["errors"].first["message"]
|
58
61
|
end
|
59
62
|
remote_url =
|
60
|
-
res.body["links"]["clone"].find{ |e| e["name"] == config.
|
63
|
+
res.body["links"]["clone"].find{ |e| e["name"] == config.protocol }["href"]
|
61
64
|
system "git", "remote", "add", "origin", remote_url
|
62
65
|
end
|
63
66
|
|
64
|
-
desc "fork [REPO]
|
67
|
+
desc "fork [REPO]", "Fork repository"
|
65
68
|
long_desc <<-LONG_DESCRIPTION
|
66
69
|
sah fork
|
67
70
|
\x5# fork from current repository to ~YOUR_NAME/REPO
|
@@ -144,7 +147,7 @@ module Sah
|
|
144
147
|
end
|
145
148
|
end
|
146
149
|
|
147
|
-
desc "upstream
|
150
|
+
desc "upstream",
|
148
151
|
"Show upstream information"
|
149
152
|
long_desc <<-LONG_DESCRIPTION
|
150
153
|
upstream
|
@@ -166,7 +169,7 @@ module Sah
|
|
166
169
|
end
|
167
170
|
repository = res.body
|
168
171
|
upstream_url =
|
169
|
-
repository["origin"]["links"]["clone"].find{ |e| e["name"] == config.
|
172
|
+
repository["origin"]["links"]["clone"].find{ |e| e["name"] == config.protocol }["href"]
|
170
173
|
if options[:"add-remote"]
|
171
174
|
system "git", "remote", "add", "upstream", upstream_url
|
172
175
|
if config.upstream_fetch_pull_request || options[:"fetch-pull-request"]
|
@@ -215,7 +218,7 @@ module Sah
|
|
215
218
|
private
|
216
219
|
|
217
220
|
def config
|
218
|
-
@config ||= Config.new(options[:profile])
|
221
|
+
@config ||= Config.new(options[:profile], verbose: options[:verbose])
|
219
222
|
end
|
220
223
|
|
221
224
|
def api
|
data/lib/sah/config.rb
CHANGED
@@ -4,13 +4,14 @@ module Sah
|
|
4
4
|
class Config
|
5
5
|
attr_accessor :user, :password, :url,
|
6
6
|
:upstream_fetch_pull_request, :upstream_prevent_push,
|
7
|
-
:
|
7
|
+
:protocol, :verbose
|
8
8
|
|
9
|
-
def initialize(profile)
|
9
|
+
def initialize(profile, verbose: false)
|
10
10
|
@user, @password, @url = nil, nil, nil
|
11
11
|
@upstream_fetch_pull_request = false
|
12
12
|
@upstream_prevent_push = false
|
13
|
-
@
|
13
|
+
@protocol = "ssh"
|
14
|
+
@verbose = verbose
|
14
15
|
|
15
16
|
profile_prefix = "sah\.profile\.#{profile}"
|
16
17
|
config_prefix = "sah\.config"
|
@@ -27,14 +28,17 @@ module Sah
|
|
27
28
|
@upstream_fetch_pull_request = ($1 == "true")
|
28
29
|
when /#{config_prefix}\.upstream-prevent-push (.*)$/
|
29
30
|
@upstream_prevent_push = ($1 == "true")
|
30
|
-
when /#{config_prefix}\.
|
31
|
-
@
|
31
|
+
when /#{config_prefix}\.protocol (.*)$/
|
32
|
+
@protocol = $1
|
32
33
|
end
|
33
34
|
end
|
34
35
|
|
35
36
|
unless @user && @password && @url
|
36
37
|
abort "Invalid profile: #{profile}"
|
37
38
|
end
|
39
|
+
unless ["ssh", "http"].include? @protocol
|
40
|
+
abort "protocol must be set to ssh or http: #{@protocol}"
|
41
|
+
end
|
38
42
|
end
|
39
43
|
end
|
40
44
|
end
|
data/lib/sah/version.rb
CHANGED