Pmlineditor has uploaded a new change for review.
https://gerrit.wikimedia.org/r/322636
Change subject: Add new configuration setting for MergeHistory limit
......................................................................
Add new configuration setting for MergeHistory limit
Added a new configuration variable, $wgMergeHistoryRevisionsLimit,
to replace hardcoded limit of 5000 revisions for MergeHistory.
Bug: T89551
Change-Id: I80b6b022bad186f10f787d4ae7a25dfef3aa203b
---
M includes/DefaultSettings.php
M includes/MergeHistory.php
M languages/i18n/qqq.json
3 files changed, 13 insertions(+), 7 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/36/322636/1
diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php
index 32717f1..fcaee43 100644
--- a/includes/DefaultSettings.php
+++ b/includes/DefaultSettings.php
@@ -5428,6 +5428,13 @@
$wgDeleteRevisionsLimit = 0;
/**
+ * The maximum number of revisions a page can have that can
+ * be merged at once using MergeHistory
+ * Set to 0 to disable the limit.
+ */
+$wgMergeHistoryRevisionsLimit = 5000;
+
+/**
* The maximum number of edits a user can have and
* can still be hidden by users with the hideuser permission.
* This is limited for performance reason.
diff --git a/includes/MergeHistory.php b/includes/MergeHistory.php
index e57f880..5570532 100644
--- a/includes/MergeHistory.php
+++ b/includes/MergeHistory.php
@@ -33,9 +33,6 @@
*/
class MergeHistory {
- /** @const int Maximum number of revisions that can be merged at once */
- const REVISION_LIMIT = 5000;
-
/** @var Title Page from which history will be merged */
protected $source;
@@ -133,10 +130,11 @@
* @return int
*/
public function getRevisionCount() {
+ global $wgMergeHistoryRevisionsLimit;
$count = $this->dbw->selectRowCount( 'revision', '1',
[ 'rev_page' => $this->source->getArticleID(),
$this->timeWhere ],
__METHOD__,
- [ 'LIMIT' => self::REVISION_LIMIT + 1 ]
+ [ 'LIMIT' => $wgMergeHistoryRevisionsLimit + 1 ]
);
return $count;
@@ -196,6 +194,7 @@
* @return Status
*/
public function isValidMerge() {
+ global $wgMergeHistoryRevisionsLimit;
$status = new Status();
// If either article ID is 0, then revisions cannot be reliably
selected
@@ -222,8 +221,8 @@
}
// Check that there are not too many revisions to move
- if ( $this->timestampLimit && $this->getRevisionCount() >
self::REVISION_LIMIT ) {
- $status->fatal( 'mergehistory-fail-toobig',
Message::numParam( self::REVISION_LIMIT ) );
+ if ( $this->timestampLimit && $wgMergeHistoryRevisionsLimit &&
$this->getRevisionCount() > $wgMergeHistoryRevisionsLimit ) {
+ $status->fatal( 'mergehistory-fail-toobig',
Message::numParam( $wgMergeHistoryRevisionsLimit ) );
}
return $status;
diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json
index 07b55f9..34457ff 100644
--- a/languages/i18n/qqq.json
+++ b/languages/i18n/qqq.json
@@ -1121,7 +1121,7 @@
"mergehistory-fail-permission": "Used as error message in
[[Special:MergeHistory]] API.",
"mergehistory-fail-self-merge": "Used as error message in
[[Special:MergeHistory]] API.",
"mergehistory-fail-timestamps-overlap": "Used as error message in
[[Special:MergeHistory]] API.",
- "mergehistory-fail-toobig": "Used as error message in
[[Special:MergeHistory]] and API.\n* $1 - maximum allowed number of revisions
that can be moved",
+ "mergehistory-fail-toobig": "Used as error message in
[[Special:MergeHistory]] and API.\n* $1 - maximum allowed number of revisions
that can be moved (Value of $wgMergeHistoryRevisionsLimit)",
"mergehistory-warning-redirect-not-created": "Used as warning message
in [[Special:MergeHistory]] API.",
"mergehistory-no-source": "Used as error message in
[[Special:MergeHistory]].\n* $1 - source page title\nSee also:\n*
{{msg-mw|mergehistory-invalid-source}}\n*
{{msg-mw|mergehistory-invalid-destination}}\n*
{{msg-mw|mergehistory-no-destination}}\n*
{{msg-mw|mergehistory-same-destination}}",
"mergehistory-no-destination": "Used as error message in
[[Special:MergeHistory]].\n* $1 - destination page title\nSee also:\n*
{{msg-mw|mergehistory-invalid-source}}\n* {{msg-mw|mergehistory-no-source}}\n*
{{msg-mw|mergehistory-invalid-destination}}\n*
{{msg-mw|mergehistory-same-destination}}",
--
To view, visit https://gerrit.wikimedia.org/r/322636
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I80b6b022bad186f10f787d4ae7a25dfef3aa203b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Pmlineditor <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits