Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-shell
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-shell
Commits
4a03bd22
Commit
4a03bd22
authored
Aug 02, 2018
by
Ash McKenzie
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master' into ash.mckenzie/srp-refactor
parents
1e96cc63
c6577e0d
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
34 additions
and
13 deletions
+34
-13
CHANGELOG
CHANGELOG
+3
-0
VERSION
VERSION
+1
-1
lib/action/api_2fa_recovery.rb
lib/action/api_2fa_recovery.rb
+1
-1
lib/action/git_lfs_authenticate.rb
lib/action/git_lfs_authenticate.rb
+1
-1
lib/action/gitaly.rb
lib/action/gitaly.rb
+9
-2
spec/action/api_2fa_recovery.rb_spec.rb
spec/action/api_2fa_recovery.rb_spec.rb
+1
-1
spec/action/git_lfs_authenticate_spec.rb
spec/action/git_lfs_authenticate_spec.rb
+2
-2
spec/action/gitaly_spec.rb
spec/action/gitaly_spec.rb
+4
-2
spec/gitlab_access_spec.rb
spec/gitlab_access_spec.rb
+10
-3
spec/gitlab_shell_spec.rb
spec/gitlab_shell_spec.rb
+2
-0
No files found.
CHANGELOG
View file @
4a03bd22
v8.1.0
- Support Git v2 protocol (!217)
v8.0.0
- SSH certificate support (!207)
...
...
VERSION
View file @
4a03bd22
8.
0
.0
8.
1
.0
lib/action/api_2fa_recovery.rb
View file @
4a03bd22
...
...
@@ -34,7 +34,7 @@ module Action
return
end
resp
=
api
.
two_factor_recovery_codes
(
self
)
resp
=
api
.
two_factor_recovery_codes
(
actor
)
if
resp
[
'success'
]
codes
=
resp
[
'recovery_codes'
].
join
(
"
\n
"
)
$logger
.
info
(
'API 2FA recovery success'
,
user:
actor
.
log_username
)
...
...
lib/action/git_lfs_authenticate.rb
View file @
4a03bd22
...
...
@@ -11,7 +11,7 @@ module Action
def
execute
(
_
,
_
)
GitlabMetrics
.
measure
(
'lfs-authenticate'
)
do
$logger
.
info
(
'Processing LFS authentication'
,
user:
actor
.
log_username
)
lfs_access
=
api
.
lfs_authenticate
(
self
,
repo_name
)
lfs_access
=
api
.
lfs_authenticate
(
actor
,
repo_name
)
return
unless
lfs_access
puts
lfs_access
.
authentication_payload
...
...
lib/action/gitaly.rb
View file @
4a03bd22
...
...
@@ -11,10 +11,11 @@ module Action
'git-receive-pack'
=>
File
.
join
(
ROOT_PATH
,
'bin'
,
'gitaly-receive-pack'
)
}.
freeze
def
initialize
(
actor
,
gl_repository
,
gl_username
,
repository_path
,
gitaly
)
def
initialize
(
actor
,
gl_repository
,
gl_username
,
git_protocol
,
repository_path
,
gitaly
)
@actor
=
actor
@gl_repository
=
gl_repository
@gl_username
=
gl_username
@git_protocol
=
git_protocol
@repository_path
=
repository_path
@gitaly
=
gitaly
end
...
...
@@ -23,6 +24,7 @@ module Action
new
(
actor
,
json
[
'gl_repository'
],
json
[
'gl_username'
],
json
[
'git_protocol'
],
json
[
'repository_path'
],
json
[
'gitaly'
])
end
...
...
@@ -39,6 +41,10 @@ module Action
attr_reader
:actor
,
:gl_repository
,
:gl_username
,
:repository_path
,
:gitaly
def
git_protocol
@git_protocol
||
ENV
[
'GIT_PROTOCOL'
]
# TODO: tidy this up
end
def
process
(
command
,
args
)
executable
=
command
args
=
[
repository_path
]
...
...
@@ -91,7 +97,8 @@ module Action
'repository'
=>
gitaly
[
'repository'
],
'gl_repository'
=>
gl_repository
,
'gl_id'
=>
actor
.
identifier
,
'gl_username'
=>
gl_username
'gl_username'
=>
gl_username
,
'git_protocol'
=>
git_protocol
}
end
...
...
spec/action/api_2fa_recovery.rb_spec.rb
View file @
4a03bd22
...
...
@@ -46,7 +46,7 @@ describe Action::API2FARecovery do
before
do
expect
(
subject
).
to
receive
(
:continue?
).
and_return
(
true
)
expect
(
api
).
to
receive
(
:two_factor_recovery_codes
).
with
(
subject
).
and_return
(
response
)
expect
(
api
).
to
receive
(
:two_factor_recovery_codes
).
with
(
actor
).
and_return
(
response
)
end
context
'with a unsuccessful response'
do
...
...
spec/action/git_lfs_authenticate_spec.rb
View file @
4a03bd22
...
...
@@ -21,7 +21,7 @@ describe Action::GitLFSAuthenticate do
describe
'#execute'
do
context
'when response from API is not a success'
do
before
do
expect
(
api
).
to
receive
(
:lfs_authenticate
).
with
(
subject
,
repo_name
).
and_return
(
nil
)
expect
(
api
).
to
receive
(
:lfs_authenticate
).
with
(
actor
,
repo_name
).
and_return
(
nil
)
end
it
'returns nil'
do
...
...
@@ -36,7 +36,7 @@ describe Action::GitLFSAuthenticate do
let
(
:gitlab_lfs_authentication
)
{
GitlabLfsAuthentication
.
new
(
username
,
lfs_token
,
repository_http_path
)
}
before
do
expect
(
api
).
to
receive
(
:lfs_authenticate
).
with
(
subject
,
repo_name
).
and_return
(
gitlab_lfs_authentication
)
expect
(
api
).
to
receive
(
:lfs_authenticate
).
with
(
actor
,
repo_name
).
and_return
(
gitlab_lfs_authentication
)
end
it
'puts payload to stdout'
do
...
...
spec/action/gitaly_spec.rb
View file @
4a03bd22
...
...
@@ -10,6 +10,7 @@ describe Action::Gitaly do
let
(
:key
)
{
Actor
::
Key
.
new
(
key_id
)
}
let
(
:gl_repository
)
{
'project-1'
}
let
(
:gl_username
)
{
'testuser'
}
let
(
:git_protocol
)
{
'version=2'
}
let
(
:tmp_repos_path
)
{
File
.
join
(
ROOT_PATH
,
'tmp'
,
'repositories'
)
}
let
(
:repo_name
)
{
'gitlab-ci.git'
}
let
(
:repository_path
)
{
File
.
join
(
tmp_repos_path
,
repo_name
)
}
...
...
@@ -36,7 +37,7 @@ describe Action::Gitaly do
end
subject
do
described_class
.
new
(
key
,
gl_repository
,
gl_username
,
repository_path
,
gitaly
)
described_class
.
new
(
key
,
gl_repository
,
gl_username
,
git_protocol
,
repository_path
,
gitaly
)
end
describe
'#execute'
do
...
...
@@ -66,7 +67,8 @@ describe Action::Gitaly do
'repository'
=>
gitaly
[
'repository'
],
'gl_repository'
=>
gl_repository
,
'gl_id'
=>
key_str
,
'gl_username'
=>
gl_username
'gl_username'
=>
gl_username
,
'git_protocol'
=>
git_protocol
}
end
...
...
spec/gitlab_access_spec.rb
View file @
4a03bd22
...
...
@@ -7,7 +7,16 @@ describe GitlabAccess do
let
(
:repo_path
)
{
File
.
join
(
repository_path
,
repo_name
)
+
".git"
}
let
(
:api
)
do
double
(
GitlabNet
).
tap
do
|
api
|
allow
(
api
).
to
receive
(
:check_access
).
and_return
(
Action
::
Gitaly
.
new
(
'key-1'
,
'project-1'
,
'testuser'
,
'/home/git/repositories'
,
nil
))
allow
(
api
).
to
receive
(
:check_access
).
and_return
(
Action
::
Gitaly
.
new
(
'key-1'
,
'project-1'
,
'testuser'
,
'version=2'
,
'/home/git/repositories'
,
nil
)
)
end
end
subject
do
...
...
@@ -23,7 +32,6 @@ describe GitlabAccess do
describe
"#exec"
do
context
"access is granted"
do
it
"returns true"
do
expect
(
subject
.
exec
).
to
be_truthy
end
...
...
@@ -40,7 +48,6 @@ describe GitlabAccess do
end
context
"API connection fails"
do
before
do
allow
(
api
).
to
receive
(
:check_access
).
and_raise
(
GitlabNet
::
ApiUnreachableError
)
end
...
...
spec/gitlab_shell_spec.rb
View file @
4a03bd22
...
...
@@ -20,6 +20,7 @@ describe GitlabShell do
let
(
:repo_path
)
{
File
.
join
(
tmp_repos_path
,
repo_name
)
}
let
(
:gl_repository
)
{
'project-1'
}
let
(
:gl_username
)
{
'testuser'
}
let
(
:git_protocol
)
{
'version=2'
}
let
(
:api
)
{
double
(
GitlabNet
)
}
let
(
:config
)
{
double
(
GitlabConfig
)
}
...
...
@@ -28,6 +29,7 @@ describe GitlabShell do
actor
,
gl_repository
,
gl_username
,
git_protocol
,
repo_path
,
{
'repository'
=>
{
'relative_path'
=>
repo_name
,
'storage_name'
=>
'default'
}
,
'address'
=>
'unix:gitaly.socket'
})
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment