BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
608711c2
Commit
608711c2
authored
Feb 20, 2017
by
Robert Speicher
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dm-fix-editing-files-on-forks-quick' into 'master'
Fix issue where files on a fork could not be edited Closes #28188 See merge request !9349
parents
91ac1991
cd0f6887
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
44 additions
and
37 deletions
+44
-37
creates_commit.rb
app/controllers/concerns/creates_commit.rb
+4
-12
blob_controller_spec.rb
spec/controllers/projects/blob_controller_spec.rb
+40
-25
No files found.
app/controllers/concerns/creates_commit.rb
View file @
608711c2
...
...
@@ -104,23 +104,15 @@ module CreatesCommit
if
can?
(
current_user
,
:push_code
,
@project
)
# Edit file in this project
@mr_source_project
=
@project
if
@project
.
forked?
# Merge request from this project to fork origin
@mr_target_project
=
@project
.
forked_from_project
@mr_target_branch
=
@mr_target_project
.
repository
.
root_ref
else
# Merge request to this project
@mr_target_project
=
@project
@mr_target_branch
=
@ref
||
@target_branch
end
else
# Merge request from fork to this project
@mr_source_project
=
current_user
.
fork_of
(
@project
)
@mr_target_project
=
@project
@mr_target_branch
=
@ref
||
@target_branch
end
# Merge request to this project
@mr_target_project
=
@project
@mr_target_branch
=
@ref
||
@target_branch
@mr_source_branch
=
guess_mr_source_branch
end
...
...
spec/controllers/projects/blob_controller_spec.rb
View file @
608711c2
...
...
@@ -86,32 +86,47 @@ describe Projects::BlobController do
end
context
'when user has forked project'
do
let
(
:guest
)
{
create
(
:user
)
}
let!
(
:forked_project
)
{
Projects
::
ForkService
.
new
(
project
,
guest
).
execute
}
let!
(
:merge_request
)
{
create
(
:merge_request
,
source_project:
project
,
target_project:
project
,
source_branch:
"fork-test-1"
,
target_branch:
"master"
)
}
before
{
sign_in
(
guest
)
}
it
"redirects to forked project new merge request"
do
default_params
[
:target_branch
]
=
"fork-test-1"
default_params
[
:create_merge_request
]
=
1
allow_any_instance_of
(
Files
::
UpdateService
).
to
receive
(
:commit
).
and_return
(
:success
)
put
:update
,
default_params
expect
(
response
).
to
redirect_to
(
new_namespace_project_merge_request_path
(
forked_project
.
namespace
,
forked_project
,
merge_request:
{
source_project_id:
forked_project
.
id
,
target_project_id:
project
.
id
,
source_branch:
"fork-test-1"
,
target_branch:
"master"
}
let
(
:forked_project_link
)
{
create
(
:forked_project_link
,
forked_from_project:
project
)
}
let!
(
:forked_project
)
{
forked_project_link
.
forked_to_project
}
let
(
:guest
)
{
forked_project
.
owner
}
before
do
sign_in
(
guest
)
end
context
'when editing on the fork'
do
before
do
default_params
[
:namespace_id
]
=
forked_project
.
namespace
.
to_param
default_params
[
:project_id
]
=
forked_project
.
to_param
end
it
'redirects to blob'
do
put
:update
,
default_params
expect
(
response
).
to
redirect_to
(
namespace_project_blob_path
(
forked_project
.
namespace
,
forked_project
,
'master/CHANGELOG'
))
end
end
context
'when editing on the original repository'
do
it
"redirects to forked project new merge request"
do
default_params
[
:target_branch
]
=
"fork-test-1"
default_params
[
:create_merge_request
]
=
1
put
:update
,
default_params
expect
(
response
).
to
redirect_to
(
new_namespace_project_merge_request_path
(
forked_project
.
namespace
,
forked_project
,
merge_request:
{
source_project_id:
forked_project
.
id
,
target_project_id:
project
.
id
,
source_branch:
"fork-test-1"
,
target_branch:
"master"
}
)
)
)
end
end
end
end
...
...
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