diff --git a/app/models/repository.rb b/app/models/repository.rb index 6246630300ca43c5d71b1c8120185be46bef1f4d..8a94fbf3ecc584c6fbb53b652b3dda222062495d 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -783,6 +783,14 @@ class Repository user, path, content, message, branch, update, author_email: nil, author_name: nil, source_branch: nil, source_project: project) + if branch_exists?(branch) && update == false + # tree_entry is private + if raw_repository.send(:tree_entry, commit(branch), path) + raise Gitlab::Git::Repository::InvalidBlobName.new( + "Filename already exists; update not allowed") + end + end + multi_action( user: user, branch: branch,