Commit Graph

176 Commits

Author SHA1 Message Date
Douwe Maan 56de781a2c Revert "Enable Style/DotPosition"
This reverts commit e00fb2bdc2090e9cabeb1eb35a2672a882cc96e9.

# Conflicts:
#	.rubocop.yml
#	.rubocop_todo.yml
#	lib/gitlab/ci/config/entry/global.rb
#	lib/gitlab/ci/config/entry/jobs.rb
#	spec/lib/gitlab/ci/config/entry/factory_spec.rb
#	spec/lib/gitlab/ci/config/entry/global_spec.rb
#	spec/lib/gitlab/ci/config/entry/job_spec.rb
#	spec/lib/gitlab/ci/status/build/factory_spec.rb
#	spec/lib/gitlab/incoming_email_spec.rb
2017-02-23 09:33:19 -06:00
Douwe Maan 1fe7501b49 Revert "Prefer leading style for Style/DotPosition"
This reverts commit cb10b725c8929b8b4460f89c9d96c773af39ba6b.
2017-02-23 09:33:05 -06:00
Douwe Maan 75f5fa997d Enable Rails/Delegate 2017-02-23 09:32:42 -06:00
Douwe Maan 206953a430 Prefer leading style for Style/DotPosition 2017-02-23 09:32:22 -06:00
Douwe Maan 030baf70d2 Enable Performance/RedundantMerge 2017-02-23 09:31:57 -06:00
Douwe Maan 3dadf306dd Enable Style/DotPosition 2017-02-23 09:31:56 -06:00
Douglas Barbosa Alexandre 43b1f5e40d Reuse User#find_by_any_email on UserFormatter#find_by_email 2017-02-20 14:48:12 -03:00
Douglas Barbosa Alexandre 20128693eb Use leading periods on UserFormatter#find_by_external_uid 2017-02-20 14:48:12 -03:00
Douglas Barbosa Alexandre 7da13fee84 Add a simple cache for Gitlab::GithubImport::Client#user 2017-02-20 14:48:12 -03:00
Douglas Barbosa Alexandre 2d1e0a0811 GitHub Importer - Find users based on their email address
The returned email by the GitHub API is the user's publicly visible
email address (or null if the user has not specified a public email
address in their profile)
2017-02-20 14:48:12 -03:00
Robert Speicher 414d695db7 Merge branch 'fix-github-import-MR-wrong-project' into 'security'
Fix labels being applied to wrong merge requests on GitHub import

See https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/2064
2017-02-15 10:42:56 -05:00
Grzegorz Bizon 632c2939bb Revert "Merge branch 'revert-9cac0317' into 'master' "
This reverts commit c20934869f, reversing
changes made to 4b7ec44b91.
2017-01-23 16:35:24 +01:00
Grzegorz Bizon baeaa97ef4 Revert "Merge branch 'dont-persist-application-settings-in-test-env' into 'master'"
This reverts merge request !8573
2017-01-21 22:55:35 +00:00
Rémy Coutable f6cc29ed83 Don't persist ApplicationSetting in test env
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-01-15 01:07:29 -05:00
Rémy Coutable ab06313c36 Add Project#gitea_import?
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-12-19 17:35:51 +01:00
Rémy Coutable 99ddd1dcbe Modify GithubImport to support Gitea
The reason is that Gitea plan to be GitHub-compatible so it makes sense
to just modify GitHubImport a bit for now, and hopefully we can change
it to GitHubishImport once Gitea is 100%-compatible.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-12-19 17:35:51 +01:00
Kim "BKC" Carlbäcker 5d4531db25 Gogs Importer 2016-12-19 17:35:51 +01:00
Douglas Barbosa Alexandre 8ca040d8ae Fix branch validation for GitHub PR where repo/fork was renamed/deleted 2016-12-01 00:03:12 -02:00
Andrew Smith 3228798b37
Refactor github import to reduce number of API calls
Ref #24073
2016-11-18 07:47:00 +10:00
Ahmad Sherif eaa0303b3d Cache imported GH labels no matter what 2016-11-04 15:59:53 +02:00
Ahmad Sherif 6a9fb20fe1 Fix applying GitHub-imported labels when importing job is interrupted
Closes #24075
2016-11-04 15:59:53 +02:00
Douwe Maan 44cbfeaba8 Merge branch 'adam-fix-labels-find-or-create' into 'master'
Pass user instance to Labels::FindOrCreateService or skip_authorization: true

## What does this MR do?

It fixes a bug described in #23694 when `project.owner` was passed to `Labels::FindOrCreateService`. `Labels::FindOrCreateService` expected a user instance and `project.owner` may return a group as well. This MR makes sure that we either pass a user instance or `skip_authorization: true`.

## Are there points in the code the reviewer needs to double check?

- places where we pass `skip_authorization: true`

## Does this MR meet the acceptance criteria?

- Tests
  - [x] Added for this feature/bug
  - [ ] All builds are passing
- [ ] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html)
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if it does - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

## What are the relevant issue numbers?

Fixes #23694

See merge request !7093
2016-10-28 15:01:59 +00:00
Adam Niedzielski e2c603696a Pass user instance to Labels::FindOrCreateService or skip_authorization: true
Do not pass project.owner because it may return a group and Labels::FindOrCreateService
throws an error in this case.
Fixes #23694.
2016-10-28 11:31:45 +02:00
Ahmad Sherif f68d9261b0 Fix typos 2016-10-28 11:30:20 +02:00
Ahmad Sherif 07275dd79c Abstract the use of imported[!?] and {current,increment}_page in GitHub importer 2016-10-28 11:30:20 +02:00
Ahmad Sherif bc6302b942 Use public_send instead of send 2016-10-28 11:30:20 +02:00
Ahmad Sherif 14fbd25d06 Modify GitHub importer to be retryable 2016-10-28 11:30:20 +02:00
Ahmad Sherif ce38ae8ca1 Fix importing MR comments from GitHub 2016-10-27 15:42:29 +02:00
Ahmad Sherif 4259334fb6 Fix applying labels for GitHub-imported MRs 2016-10-27 15:42:28 +02:00
Douglas Barbosa Alexandre 4f6d1c1d70 Rename Labels::CreateService to Labels::FindOrCreateService 2016-10-19 14:58:28 -02:00
Douglas Barbosa Alexandre f0ad0ceff5 Fix GitHub importer spec 2016-10-19 14:58:28 -02:00
Douglas Barbosa Alexandre d009d38ed6 User Labes::CreateService to create labels 2016-10-19 14:58:27 -02:00
Ahmad Sherif 333c02a8c8 Fix broken handling of certain calls in GitHub importer client
Closes #22998
2016-10-06 11:14:25 +02:00
Douglas Barbosa Alexandre b5f9541778 Skip wiki creation when GitHub project has wiki enabled
If the GitHub project repository has wiki, we should not create
the default wiki. Otherwise the GitHub importer will fail because
the wiki repository already exist.

This bug was introduced here
https://gitlab.com/gitlab-org/gitlab-ce/commit/892dea67717c0efbd6a28f763
9f34535ec0a8747
2016-10-04 13:06:45 -03:00
Ahmad Sherif dca1acd6a6 Call after_remove_branch only once after importing all GitHub PRs 2016-09-27 20:45:07 +02:00
Ahmad Sherif e30bfb809a Import all GitHub comments after importing issues and PRs 2016-09-27 20:45:07 +02:00
Ahmad Sherif dbcbbf262b Speed up label-applying process for GitHub importing
* No need to re-fetch issues from GH to read their labels, the labels
  are already there from the index request.
* No need to look up labels on the database for every application, so we
  cache them.
2016-09-27 20:45:07 +02:00
Ahmad Sherif 395a9301b2 Process each page of GitHub resources instead of concating them then processing
This should avoid having large memory growth when importing GitHub repos
with lots of resources.
2016-09-27 20:45:07 +02:00
James Lopez 0c65112da7 modify github import JS and controller so we can now specify a namespace and/or name for a project.
- Fixed and added specs.
- Added different namespace options depending on user privilages
- Updated docs.
2016-09-20 10:14:39 +02:00
Andrew Smith 05b52e0f5e
Import GitHub release notes
# Conflicts:
#	lib/gitlab/github_import/importer.rb
2016-09-13 14:01:22 +10:00
Robert Speicher c87235a24d Merge branch '21569-dont-add-created-by-for-matched-users' into 'master'
Only add original author tag line when importing from GitHub if there isn't a linked GitLab account

## What does this MR do?
If there we've found a linked GitLab user for a creator of an issue or comment don't add the 'Created By:' line.

## What are the relevant issue numbers?

Closes #21569

See merge request !6081
2016-09-12 20:08:33 +00:00
Douglas Barbosa Alexandre 02761638f1 Avoid conflict with admin labels when importing GitHub labels 2016-09-09 11:22:38 -03:00
Andrew Smith 4a788f8a0c
Only add the original author if there isn't a linked GitLab account 2016-09-08 20:48:35 +10:00
Andrew Smith 9a9e22a88c
Rename `gl_user_id` to `gitlab_user_id` in importer classes 2016-09-08 11:57:22 +10:00
Douwe Maan d308a3f433 Merge branch 'issue_19734' into 'master'
Project tools visibility level

## part of #19734   

![project_features_access_level](/uploads/81ec7185d4e61d7578652020209af925/project_features_access_level.png)

## Does this MR meet the acceptance criteria?

- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [x] API support added
- Tests
  - [x] Added for this feature/bug
  - [x] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

See merge request !5606
2016-09-01 15:28:14 +00:00
Felipe Artur 892dea6771 Project tools visibility level 2016-09-01 11:47:59 -03:00
Douglas Barbosa Alexandre 9b376e772e GitHub importer use default project visibility for non-private projects 2016-08-31 18:27:42 -03:00
Douglas Barbosa Alexandre 80c4f10937 Don't touch Issue/Merge Request when importing GitHub comments 2016-08-31 13:20:28 -03:00
Douglas Barbosa Alexandre 52daddc0b7 Use updated_at as the last updated date when importing from GitHub 2016-08-31 13:20:28 -03:00
Douglas Barbosa Alexandre 2986de7c8c Add readable error message when remote data could not be fully imported 2016-08-24 12:17:13 -03:00
Douglas Barbosa Alexandre 3c09000e18 Does not halt the GitHub import process when an error occurs 2016-08-24 12:16:42 -03:00
Douglas Barbosa Alexandre 0a1535a9f4 Prefixes removed branches name with PR number when importing PR from GH 2016-08-08 20:24:40 -03:00
Douglas Barbosa Alexandre 167a0c7f0b Remove SHA suffix for removed branches name when importing PR from GH 2016-08-08 19:39:59 -03:00
Douglas Barbosa Alexandre 1e736fb527 Allow users to import cross-repository pull requests from GitHub 2016-08-04 17:16:50 -03:00
Douglas Barbosa Alexandre 51cf14b37c Does not need to disable GitHub webhooks since PRs are check out locally 2016-08-04 17:16:50 -03:00
Douglas Barbosa Alexandre ceff0c9170 Check out locally PRs where the source/target branch were removed 2016-08-04 17:16:50 -03:00
Douglas Barbosa Alexandre 78a5de99e9 Memoize response from `has_rate_limit?` to avoid extra API call 2016-07-12 12:14:17 -03:00
Douglas Barbosa Alexandre be9262dd95 Checks if rate limit is enabled instead of stubbing response 2016-07-12 12:14:17 -03:00
Douglas Barbosa Alexandre 38a58978aa Fix GItHub client requests when rate limit is disabled 2016-07-12 12:14:17 -03:00
Douwe Maan 6ce25e7b4c Rename MergeRequest methods that return commits or shas to be more clear and consistent 2016-07-06 18:50:58 -04:00
Douglas Barbosa Alexandre 5f86a084f2 Consider that a GH exists only if both `ref`, and `sha` exist 2016-07-06 13:08:12 -03:00
Douglas Barbosa Alexandre 4e5de3e6ee Doesn't trigger Git hooks when cleaning up restored branches from GitHub 2016-07-06 13:08:12 -03:00
Eric K Idema 12aa1f898d Import from Github using Personal Access Tokens.
This stands as an alternative to using OAuth to access a user's Github
repositories.  This is setup in such a way that it can be used without OAuth
configuration.

From a UI perspective, the how to import modal has been replaced by a full
page, which includes a form for posting a personal access token back to the
Import::GithubController.

If the user has logged in via GitHub, skip the Personal Access Token and go
directly to Github for an access token via OAuth.
2016-06-30 18:48:17 +02:00
Alejandro Rodríguez 86359ec854 Refactor repository paths handling to allow multiple git mount points 2016-06-29 22:30:31 -04:00
Douglas Barbosa Alexandre 7a34c7997b Listing GH Webhooks doesn't stop import process for non GH admin users 2016-06-17 18:17:34 -03:00
Douglas Barbosa Alexandre cef3fd2899 Wrap all rate limiting logic inside GitHub API client 2016-06-09 12:43:06 -03:00
Douglas Barbosa Alexandre 59e5f4705b Check if GitHub rate limite API was reached before update Webhooks 2016-06-07 10:57:58 -03:00
Douwe Maan 8c5712a422 Merge branch 'gh-disable-webhooks' 2016-06-07 13:06:43 +02:00
Douwe Maan acef028d85 Merge branch 'gh-fix-comments-on-diff' 2016-06-07 13:04:32 +02:00
Douglas Barbosa Alexandre 67c02edccf Move create! method from formatters to the BaseFormatter 2016-06-06 14:26:28 -03:00
Douglas Barbosa Alexandre 7c072c76fc Fix importer for GitHub comments on diff
Fix comments on diff after LegacyDiffNote was extracted from Note
2016-06-06 12:19:03 -03:00
Douglas Barbosa Alexandre 9437b8a2e4 Import GitHub repositories respecting the API rate limit
While Octokit auto pagination set the page size to the maximum 100, and
seek to not overstep the rate limit. When the rate limit is reached its
raises an exception, and stop doing new requests.

Here we use a custom pattern for traversing large lists, so we can
check if we’ll reach the rate limit and wait the API to reset the rate
limit before making new requests.
2016-06-06 12:12:18 -03:00
Douglas Barbosa Alexandre 659d5d4830 Disable Webhooks before proceeding with the GitHub import 2016-06-06 12:07:45 -03:00
Douglas Barbosa Alexandre 3b4f03de8f Ensure branch cleanup regardless of whether the import process succeeds 2016-06-02 19:48:11 -03:00
Grzegorz Bizon 86cf9dd253 Enable Lint/LiteralInCondition rubocop cop
Checks of literals used in conditions.

See #17478
2016-05-30 12:34:25 +02:00
Douglas Barbosa Alexandre 290aa75e6f Remove branches that does exist on GitHub after PRs were imported 2016-05-13 17:55:43 -05:00
Douglas Barbosa Alexandre ebaa19c162 Fix validation method for Gitlab::GithubImport::PullRequestFormatter 2016-05-13 17:55:43 -05:00
Douglas Barbosa Alexandre 795a7ca8f1 Extract GitHub branch formatter 2016-05-13 17:55:42 -05:00
Douglas Barbosa Alexandre e001bd5e3d Import PRs where branch names were reused across PRs 2016-05-13 17:55:42 -05:00
Douglas Barbosa Alexandre 7e1f14e215 Preserve commits/diff/comments for PRs that were merged on GitHub 2016-05-13 17:55:42 -05:00
Douglas Barbosa Alexandre 3b50867550 Fix spec for Gitlab::GithubImport::PullRequestFormatter 2016-05-13 16:49:27 -05:00
Douglas Barbosa Alexandre 9b4dc552cb Import pull requests from GitHub where the target branch was removed 2016-05-13 16:49:27 -05:00
Douglas Barbosa Alexandre 8532dc0d77 Import pull requests from GitHub where the source branch was removed 2016-05-13 16:49:27 -05:00
Douglas Barbosa Alexandre 6fbf6b2936 Fix the line code when importing PR review comments from GitHub
Pull Request Review Comments are comments on a portion of the unified
diff.
2016-05-05 10:45:14 -03:00
Stan Hu eede032345 Backport GitHub Enterprise import support from EE
These changes were pulled from GitLab EE to support configuring
an alternative API URL than the default https://api.github.com.
In addition, the `verify_ssl` flag allows users to disable SSL cert
checking.

One modification: add a default `args` option if it does not exist
to avoid breaking existing configurations.
2016-04-26 21:00:55 -07:00
Douglas Barbosa Alexandre f2fe4af19d Set GitHub milestones to Issue/Merge Request that were imported 2016-04-18 20:07:05 -03:00
Douglas Barbosa Alexandre 06ec511164 Import milestones from GitHub 2016-04-18 20:07:04 -03:00
Douglas Barbosa Alexandre 7462a8f90a Apply GitHub labels to Issue/Merge Request that were imported 2016-04-18 17:14:59 -03:00
Douglas Barbosa Alexandre 05a4f444c3 Import labels from GitHub 2016-04-18 17:14:59 -03:00
Douglas Barbosa Alexandre d13bba44f0 Use GitHub Issue/PR number as iid to keep references
With these changes we don’t lost the issue/pr references when importing
them to GitLab.
2016-04-18 12:15:50 -03:00
James Lopez 6aeb753ba8 fix github import issues 2016-04-01 15:51:54 +02:00
James Lopez 23146fca18 update bitbucket importer 2016-03-22 12:25:28 +01:00
James Lopez 030b139445 more refactoring 2016-03-21 15:11:05 +01:00
James Lopez 383cc84047 some refactoring based on feedback 2016-03-21 13:15:51 +01:00
James Lopez 5f86912ef0 Merge branches 'fix/project-import_url' and 'master' of gitlab.com:gitlab-org/gitlab-ce into fix/project-import_url
# Conflicts:
#	db/schema.rb
2016-03-21 09:20:55 +01:00
Douglas Barbosa Alexandre 37b00b16a5 Fix importing PR's from GitHub when the source repo was removed 2016-03-10 19:29:54 -03:00
James Lopez 735563329d refactored a bunch of stuff based on MR feedback 2016-03-07 12:50:35 +01:00
James Lopez c2b33d3b71 added import url exposer to construct URL withunencrypted credentials 2016-03-04 16:23:19 +01:00
James Lopez 06b36c00d5 some refactoring in the migration. Also fixed github import issue and updated spec 2016-03-04 12:21:53 +01:00
Douglas Barbosa Alexandre b58a2e30b2 Wrap errors on GitHub importer to raise Projects::ImportService::Error 2016-01-26 10:56:22 -02:00