gerrit/gerrit-server/src/main/java/com/google/gerrit/server/git
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
..
strategy SubmitStrategyListener: remove unneeded loop 2016-08-20 12:57:45 +09:00
validators Fix warning "close() called when useCnt is already zero" 2016-08-12 17:48:24 +00:00
AccountsSection.java
AsyncReceiveCommits.java Increase default value of receive.timeout 2015-11-09 18:25:04 +01:00
BanCommit.java Consistently use character encoding constants 2015-10-16 08:39:12 +00:00
BanCommitResult.java Turn on many more Eclipse warnings, and fix them 2014-10-29 15:00:17 -07:00
BatchUpdate.java Revert "Remove usage of to-be-deprecated Throwables" 2016-08-25 00:09:01 +00:00
BatchUpdateReviewDb.java BatchUpdateReviewDb: Improve error messages 2016-07-13 08:23:03 +00:00
BranchOrderSection.java Use exactRef() when possible 2015-06-22 16:09:36 +00:00
ChainedReceiveCommands.java NoteDbUpdateManager: Default checkExpectedState to true 2016-06-21 10:33:05 -04:00
ChangeAlreadyMergedException.java Add more information to MergeableInfo to indicate a merged commit 2016-08-15 13:52:28 -07:00
ChangeProgressOp.java ReceiveCommits: Update progress monitors sooner 2016-06-17 11:18:45 -04:00
ChangeSet.java Count non visible changes in MergeSuperSet 2016-06-17 10:07:49 -07:00
ChangeUpdateExecutor.java
CodeReviewCommit.java Tie CommitMergeStatus explicitly to submit strategies 2015-12-24 10:08:47 -08:00
ConfiguredMimeTypes.java
DefaultQueueOp.java
DestinationList.java Add missing whitespace around keywords, operators and braces 2016-04-11 19:51:18 +09:00
EmailMerge.java ReviewInput: Split NotifyHandling out to a separate file 2016-07-12 17:24:35 +09:00
GarbageCollection.java GerritEvent: Add notify setting 2016-07-14 14:03:21 +09:00
GarbageCollectionLogFile.java Merge branch 'stable-2.11' 2015-04-27 14:47:38 +09:00
GarbageCollectionModule.java Move all GarbageCollection bindings into the same module 2015-04-20 07:37:29 +00:00
GarbageCollectionQueue.java Use native constructors instead of Guava to instantiate empty collections 2016-05-04 22:41:39 +09:00
GarbageCollectionRunner.java Log invalid gc schedule configuration 2015-06-25 08:25:09 +02:00
GitModule.java Add extension point to register JGit PostUploadHooks 2016-08-02 15:32:08 -04:00
GitModules.java Extract a type for MergeOp's submissionId 2016-08-12 14:14:35 -04:00
GitRepositoryManager.java Remove GitRepositoryManager#openMetadataRepository 2016-04-11 11:24:45 -04:00
GitRepositoryManagerModule.java Support multiple git repositories locations 2016-03-18 13:18:03 +01:00
GroupCollector.java Remove redundant 'static' modifiers 2016-04-11 20:24:44 +09:00
GroupList.java Add missing whitespace around keywords, operators and braces 2016-04-11 19:51:18 +09:00
HackPushNegotiateHook.java Ensure RevWalks are always reset before calling markStart 2016-06-14 15:13:47 -04:00
InMemoryInserter.java PatchListLoader: Respect change.cacheAutomerge setting 2016-08-04 07:06:19 +00:00
InsertedObject.java Move InMemoryInserter out of notedb package 2016-06-24 10:38:04 -04:00
IntegrationException.java Rename MergeException to IntegrationException 2015-10-30 11:44:00 -04:00
LabelNormalizer.java Rework SUBM label in LabelId 2016-03-09 13:16:32 -05:00
LargeObjectException.java
LazyPostReceiveHookChain.java Make receive setup consistent between SSH and HTTP 2015-11-09 19:20:26 -08:00
LocalDiskRepositoryManager.java Merge branch 'stable-2.12' 2016-07-19 16:13:33 +09:00
MergeIdenticalTreeException.java Add more information to MergeableInfo to indicate a merged commit 2016-08-15 13:52:28 -07:00
MergeOp.java Add debug logging to BatchUpdate 2016-08-12 14:15:23 -04:00
MergeOpRepoManager.java Add debug logging to BatchUpdate 2016-08-12 14:15:23 -04:00
MergeSorter.java Tie CommitMergeStatus explicitly to submit strategies 2015-12-24 10:08:47 -08:00
MergeSuperSet.java Gracefully handle OrmException caused by NoSuchChangeException 2016-08-18 20:20:57 -07:00
MergeTip.java Use native constructors instead of Guava to instantiate empty collections 2016-05-04 22:41:39 +09:00
MergeUtil.java MergeUtil: Improve error message when 3-way-merger fails 2016-08-18 08:03:08 +00:00
MergedByPushOp.java BatchUpdate: Add more helper methods 2016-07-14 14:03:21 +09:00
MetaDataUpdate.java Add AccountInfo to the GitReferenceUpdatedListener.Event 2016-05-18 10:05:59 -07:00
MultiBaseLocalDiskRepositoryManager.java Remove GitRepositoryManager#openMetadataRepository 2016-04-11 11:24:45 -04:00
MultiProgressMonitor.java Organize ALL the imports 2014-08-20 10:23:06 +09:00
NotesBranchUtil.java Add AccountInfo to the GitReferenceUpdatedListener.Event 2016-05-18 10:05:59 -07:00
NotifyConfig.java Use native constructors instead of Guava to instantiate empty collections 2016-05-04 22:41:39 +09:00
PerThreadRequestScope.java Use native constructors instead of Guava to instantiate empty collections 2016-05-04 22:41:39 +09:00
ProjectConfig.java Rename 'Push Annotated/Signed Tag' permission to 'Create Annotated/Signed Tag' 2016-09-08 13:50:04 +09:00
ProjectLevelConfig.java
ProjectRunnable.java Add missing newline at end of files 2016-05-04 13:48:11 +00:00
QueryList.java Add named destinations support 2015-09-03 10:50:07 -06:00
QueueProvider.java Remove redundant modifiers from interfaces' methods 2016-04-12 21:44:27 +09:00
ReadOnlyRepository.java ReadOnlyRepository: Don't set work tree and index file for bare repos 2016-02-17 11:24:41 +01:00
RebaseSorter.java Merge branch 'stable-2.12' 2016-05-25 14:23:07 -04:00
ReceiveCommits.java Fix redundant throws clause 2016-09-03 22:46:54 -04:00
ReceiveCommitsAdvertiseRefsHook.java Start factoring out PatchSet accesses into a PatchSetUtil class 2016-01-20 13:00:10 -05:00
ReceiveCommitsExecutor.java
ReceiveCommitsExecutorModule.java Rename EmailReviewCommentsExecutor to SendEmailExecutor 2016-01-25 20:02:42 +00:00
ReceiveConfig.java Enable configurable 'maxBatchChanges' limit 2014-11-20 19:01:14 +00:00
ReceivePackInitializer.java Remove modifiers 'public' and 'abstract' from interface methods 2015-11-19 09:36:40 -08:00
RefCache.java Add a short-lived ref cache interface 2016-05-10 11:25:57 -07:00
RenameGroupOp.java Make MetaDataUpdate auto-closeable 2015-12-17 20:06:27 +09:00
ReplaceOp.java Fix approval copying when labels are set on push 2016-08-18 16:49:51 -07:00
RepoRefCache.java Add a short-lived ref cache interface 2016-05-10 11:25:57 -07:00
RepositoryCaseMismatchException.java
ReviewNoteMerger.java Fix a resource leak 2015-02-03 10:55:07 -08:00
SearchingChangeCacheImpl.java Only read change and reviewer during VisibleRefFilter 2016-06-19 14:00:08 -04:00
SendEmailExecutor.java Rename EmailReviewCommentsExecutor to SendEmailExecutor 2016-01-25 20:02:42 +00:00
SubmoduleException.java Add gitlink update for superproject changes in MergeOp 2016-07-22 10:33:34 -07:00
SubmoduleOp.java SubmoduleOp: Add missing space in generated commit message 2016-08-23 14:44:40 +09:00
TabFile.java Remove modifiers 'public' and 'abstract' from interface methods 2015-11-19 09:36:40 -08:00
TagCache.java
TagMatcher.java
TagSet.java PatchSet: Change isRef to isChangeRef 2015-10-08 20:40:28 +09:00
TagSetHolder.java Filter out irrelevant refs in TagMatcher 2014-09-08 17:20:46 +02:00
TaskInfoFactory.java
TransferConfig.java Enable and fix 'Statement unnecessarily nested within else clause' warnings 2016-06-02 10:20:37 +09:00
UpdateException.java Add a new interface to batch many update operations together 2015-10-08 09:34:01 -04:00
UploadPackMetricsHook.java UploadMetricsHook: Fix spelling errors 2016-08-30 19:14:25 +09:00
UserConfigSections.java Replace AccountGeneralPreferences entity with git backend (phase 2) 2016-02-18 10:31:07 +00:00
ValidationError.java Refactor out the LoggerSink creation from TabFile users 2015-08-31 13:07:56 -06:00
VersionedMetaData.java Refactor: Add base class for dealing with versioned meta data on init 2016-07-19 11:21:47 +02:00
VisibleRefFilter.java VisibleRefFilter: Hide refs/sequences/* refs 2016-08-05 15:21:53 -04:00
WorkQueue.java SSH show-queue: option to group output by queue and print queue info 2016-07-13 18:24:55 +02:00