gerrit/gerrit-server/src/main/java/com/google/gerrit/server/project
Edwin Kempin 62c156857e Rename 'Push Annotated/Signed Tag' permission to 'Create Annotated/Signed Tag'
Each tag type requires a special permission for the tag creation:
- Lightweight tags require 'Create Reference'
- Annontated tags require 'Push Annotated Tag'
- Signed tags require 'Push Signed Tag'

This naming is inconsistent and may be confusing. E.g. whether tags
can be updated is controlled by the 'Push' permission on 'refs/tags/*'
and not by the 'Push Annotated/Signed Tag' permission, as some users
might expect.

This change includes a schema migration that renames the permissions
for creating annotated/signed tags.

Permission rules in project.config that use the old names are still
respected. They are automatically converted when the project config is
saved the next time. This is needed so that multi-master sites can do
a multi-step-migration:

1. First upgrade all hosts to the new binary:
   Projects may still contain permissions with the old names,
   new permissions are saved with the new names.
2. Run a background job on all hosts that migrates the permissions for
   all projects to the new names:
   Projects do not contain permissions with the old names,
   new permissions are saved with the new names.
3. Upgrade all hosts to a binary that doesn't respect the old names
   anymore.

The migration for schema 130 is rewritten because ProjectConfig no
longer allows to change the force flag for 'pushTag' without
converting it to 'createTag'.

Change-Id: I839be24f82a908b5184f15e746f3588a0d397b7e
Signed-off-by: Edwin Kempin <ekempin@google.com>
2016-09-08 13:50:04 +09:00
..
AccessControlModule.java Add capability.administrateServer to gerrit.config 2016-08-11 15:37:40 -07:00
BanCommit.java Remove unneeded exception declarations from REST handlers 2015-10-22 07:12:30 +02:00
BranchResource.java Implement list branches extension API 2015-03-25 16:06:31 -07:00
BranchesCollection.java Add static fullName() method to RefNames, use it. 2015-04-14 11:27:07 -06:00
ChangeControl.java Support assigning Submit access right to Change Owner group 2016-08-30 17:38:51 +02:00
CheckMergeability.java Add more information to MergeableInfo to indicate a merged commit 2016-08-15 13:52:28 -07:00
ChildProjectResource.java ChildProjectResource: Use composition instead of inheritance 2015-03-16 09:25:48 -07:00
ChildProjectsCollection.java Implement child project API 2015-03-16 09:25:48 -07:00
CommentLinkInfoImpl.java ConfigInfo: Move to extension API 2016-06-21 16:36:02 +09:00
CommentLinkProvider.java Merge branch 'stable-2.12' 2016-08-08 09:21:26 +02:00
CommitResource.java Inline Edit: Acquire content and type in one request 2015-01-06 11:33:46 -08:00
CommitsCollection.java Refactor ProjectControl#canReadCommmit to take repository as a parameter 2016-07-11 12:37:23 -07:00
ConfigInfoImpl.java Option to reject implicit merges when pushing changes for review 2016-09-01 11:50:11 +02:00
CreateBranch.java Enable plugin-based validation of user's ref related operations 2016-08-18 17:54:48 +02:00
CreateProject.java Change visibility of CreateProject.createProject to private 2016-07-19 16:53:45 +02:00
CreateProjectArgs.java Extensions GWT API: Align rule with package boundaries 2015-01-26 09:26:57 +00:00
CreateTag.java Rename 'Push Annotated/Signed Tag' permission to 'Create Annotated/Signed Tag' 2016-09-08 13:50:04 +09:00
DashboardResource.java Make all REST resources public so that they can be used from plugins 2015-02-20 09:52:29 +00:00
DashboardsCollection.java Fix type equality mismatch ErrorProne error 2016-06-02 21:49:32 +00:00
DeleteBranch.java Enable plugin-based validation of user's ref related operations 2016-08-18 17:54:48 +02:00
DeleteBranches.java Enable plugin-based validation of user's ref related operations 2016-08-18 17:54:48 +02:00
DeleteDashboard.java DeleteDashboard: Remove unused static Input class 2015-03-20 14:27:38 +00:00
FileResource.java Don't parse non-existing files in files REST collections 2016-08-22 15:06:37 +02:00
FilesCollection.java Don't parse non-existing files in files REST collections 2016-08-22 15:06:37 +02:00
FilesInCommitCollection.java Fix displaying diff for commit message 2016-08-23 20:39:45 +02:00
GarbageCollect.java Enable and fix 'Statement unnecessarily nested within else clause' warnings 2016-06-02 10:20:37 +09:00
GetAccess.java Organize imports 2016-05-20 14:36:29 -04:00
GetBranch.java Implement list branches extension API 2015-03-25 16:06:31 -07:00
GetChildProject.java Implement child project API 2015-03-16 09:25:48 -07:00
GetCommit.java GetCommit: Remove now-unused toPersonIdent method 2014-08-08 10:55:00 -07:00
GetConfig.java ConfigInfo: Move to extension API 2016-06-21 16:36:02 +09:00
GetContent.java Inline Edit: Acquire content and type in one request 2015-01-06 11:33:46 -08:00
GetDashboard.java Rename getCurrentUser to getUser 2015-10-19 11:49:06 -04:00
GetDescription.java ProjectApi: Implement put/get description 2015-03-16 12:21:09 -07:00
GetHead.java Refactor ProjectControl#canReadCommmit to take repository as a parameter 2016-07-11 12:37:23 -07:00
GetParent.java Revert "Use javax.inject.Inject instead of com.google.inject.Inject" 2014-09-30 10:53:50 +02:00
GetProject.java Revert "Use javax.inject.Inject instead of com.google.inject.Inject" 2014-09-30 10:53:50 +02:00
GetReflog.java Adjust line wrapping to silence Checkstyle warnings 2015-10-29 11:55:32 +09:00
GetStatistics.java Use try/multi-catch 2015-06-25 16:37:27 +09:00
GetTag.java Implement tags API 2015-09-16 15:26:53 +09:00
InvalidChangeOperationException.java
ListBranches.java Rename getCurrentUser to getUser 2015-10-19 11:49:06 -04:00
ListChildProjects.java Enable and fix 'Statement unnecessarily nested within else clause' warnings 2016-06-02 10:20:37 +09:00
ListDashboards.java Use native constructors instead of Guava to instantiate empty collections 2016-05-04 22:41:39 +09:00
ListProjects.java Use native constructors instead of Guava to instantiate empty collections 2016-05-04 22:41:39 +09:00
ListTags.java Add REST API endpoint to create a tag on a project 2016-06-24 08:41:09 +00:00
Module.java Enable plugin-based validation of user's ref related operations 2016-08-18 17:54:48 +02:00
NoSuchChangeException.java
NoSuchProjectException.java MergeOp: Operate on ChangeSets instead of branches 2015-07-01 09:23:16 -07:00
NoSuchRefException.java
PerRequestProjectControlCache.java Revert "Use javax.inject.Inject instead of com.google.inject.Inject" 2014-09-30 10:53:50 +02:00
PermissionCollection.java Overrule BLOCK with exclusive ALLOW on same project 2016-09-06 17:13:35 +02:00
ProjectCache.java Remove modifiers 'public' and 'abstract' from interface methods 2015-11-19 09:36:40 -08:00
ProjectCacheClock.java Revert "Use javax.inject.Inject instead of com.google.inject.Inject" 2014-09-30 10:53:50 +02:00
ProjectCacheImpl.java Revert "Remove usage of to-be-deprecated Throwables" 2016-08-25 00:09:01 +00:00
ProjectCacheWarmer.java Add option to load project cache at server startup 2014-11-27 15:05:54 +09:00
ProjectControl.java Rename 'Push Annotated/Signed Tag' permission to 'Create Annotated/Signed Tag' 2016-09-08 13:50:04 +09:00
ProjectHierarchyIterator.java
ProjectJson.java Inject AllProjectsName directly instead of through AllProjectsNameProvider 2016-02-21 21:59:36 +09:00
ProjectNode.java Revert "Use javax.inject.Inject instead of com.google.inject.Inject" 2014-09-30 10:53:50 +02:00
ProjectRef.java Convert some value classes to AutoValue 2015-01-22 12:15:58 -08:00
ProjectResource.java Extensions GWT API: Align rule with package boundaries 2015-01-26 09:26:57 +00:00
ProjectState.java Option to reject implicit merges when pushing changes for review 2016-09-01 11:50:11 +02:00
ProjectsCollection.java Organize imports 2015-02-17 09:54:27 +09:00
PutBranch.java Return specific types from REST API implementations where possible 2016-09-01 14:39:17 +09:00
PutConfig.java Option to reject implicit merges when pushing changes for review 2016-09-01 11:50:11 +02:00
PutDescription.java Make hooks/events listen to the new API Events. 2016-06-23 08:13:26 +09:00
PutProject.java Move REST endpoints to singleton scope 2014-05-28 16:33:12 -07:00
PutTag.java Return specific types from REST API implementations where possible 2016-09-01 14:39:17 +09:00
RefControl.java Rename 'Push Annotated/Signed Tag' permission to 'Create Annotated/Signed Tag' 2016-09-08 13:50:04 +09:00
RefFilter.java ListBranches: Split filtering and pagination out to a utility class 2015-09-18 11:54:50 +09:00
RefPattern.java Revert "Remove usage of to-be-deprecated Throwables" 2016-08-25 00:09:01 +00:00
RefPatternMatcher.java Add missing return from line detected by ErrorProne 2016-06-01 12:32:35 -04:00
RefUtil.java CreateBranch: Factor methods out to utility class 2016-06-03 20:01:33 +09:00
RefValidationHelper.java Enable plugin-based validation of user's ref related operations 2016-08-18 17:54:48 +02:00
RepositoryStatistics.java Remove redundant 'public' modifiers 2016-04-12 21:46:12 +09:00
RuleEvalException.java
SectionMatcher.java Enable and fix 'Statement unnecessarily nested within else clause' warnings 2016-06-02 10:20:37 +09:00
SectionSortCache.java Replace C-style array declarations with Java-style declarations 2015-03-19 12:15:43 +09:00
SetAccess.java Make hooks/events listen to the new API Events. 2016-06-23 08:13:26 +09:00
SetDashboard.java Return specific types from REST API implementations where possible 2016-09-01 14:39:17 +09:00
SetDefaultDashboard.java Make MetaDataUpdate auto-closeable 2015-12-17 20:06:27 +09:00
SetHead.java GerritEvent: Add notify setting 2016-07-14 14:03:21 +09:00
SetParent.java Merge branch 'stable-2.12' 2016-03-01 09:42:07 +09:00
SubmitRuleEvaluator.java Revert "submitted_together: Add a dummy change for not visible changes" 2016-06-16 15:17:34 -07:00
SuggestParentCandidates.java Turn on many more Eclipse warnings, and fix them 2014-10-29 15:00:17 -07:00
TagResource.java Implement tags API 2015-09-16 15:26:53 +09:00
TagsCollection.java Add REST API endpoint to create a tag on a project 2016-06-24 08:41:09 +00:00