jenkins-bot has submitted this change and it was merged.

Change subject: New Wikidata Build - 2015-04-15T10:00:02+0000
......................................................................


New Wikidata Build - 2015-04-15T10:00:02+0000

Change-Id: Icca83444d98c19b3b9f5388aeb8faae0f5abdb0e
---
M composer.lock
M extensions/Wikibase/client/i18n/azb.json
M extensions/Wikibase/client/includes/UpdateRepo/UpdateRepo.php
M extensions/Wikibase/client/includes/store/ClientStore.php
M extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php
M extensions/Wikibase/client/tests/phpunit/MockClientStore.php
M 
extensions/Wikibase/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php
M extensions/Wikibase/lib/i18n/azb.json
M extensions/Wikibase/lib/includes/ChangeNotificationJob.php
A extensions/Wikibase/lib/includes/store/NullEntityPrefetcher.php
M extensions/Wikibase/lib/includes/store/sql/SiteLinkTable.php
M extensions/Wikibase/lib/includes/store/sql/TermSqlIndex.php
M extensions/Wikibase/lib/tests/phpunit/store/TermIndexTest.php
M extensions/Wikibase/repo/Wikibase.hooks.php
M extensions/Wikibase/repo/i18n/de.json
M extensions/Wikibase/repo/i18n/en.json
M extensions/Wikibase/repo/i18n/hi.json
M extensions/Wikibase/repo/i18n/khw.json
M extensions/Wikibase/repo/i18n/nb.json
M extensions/Wikibase/repo/i18n/ru.json
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpClaimRemove.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpMainSnak.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifier.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifierRemove.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReference.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReferenceRemove.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatementRank.php
M extensions/Wikibase/repo/includes/ClaimSummaryBuilder.php
M extensions/Wikibase/repo/includes/Dumpers/DumpGenerator.php
M extensions/Wikibase/repo/includes/Dumpers/JsonDumpGenerator.php
M extensions/Wikibase/repo/includes/Dumpers/RdfDumpGenerator.php
M extensions/Wikibase/repo/includes/api/ClaimModificationHelper.php
M extensions/Wikibase/repo/includes/api/GetClaims.php
M extensions/Wikibase/repo/includes/api/GetEntities.php
M extensions/Wikibase/repo/includes/specials/SpecialModifyTerm.php
M extensions/Wikibase/repo/includes/store/Store.php
M extensions/Wikibase/repo/includes/store/sql/ItemsPerSiteBuilder.php
M extensions/Wikibase/repo/includes/store/sql/SqlStore.php
M extensions/Wikibase/repo/maintenance/dumpJson.php
M extensions/Wikibase/repo/maintenance/dumpRdf.php
M extensions/Wikibase/repo/maintenance/rebuildItemsPerSite.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/SetClaimValueTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/SetQualifierTest.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialModifyTermTestCase.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/store/sql/ItemsPerSiteBuilderTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/store/sql/TermSqlIndexTest.php
M vendor/composer/autoload_classmap.php
M vendor/composer/installed.json
50 files changed, 325 insertions(+), 116 deletions(-)

Approvals:
  JanZerebecki: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/composer.lock b/composer.lock
index 96b82b4..37967d5 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1209,12 +1209,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "43ad0d2c5bc348c04e25c4fc1797f3dbb113ce70"
+                "reference": "74ed9964b5ce079264ef79496551a48364f41e84"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/43ad0d2c5bc348c04e25c4fc1797f3dbb113ce70";,
-                "reference": "43ad0d2c5bc348c04e25c4fc1797f3dbb113ce70",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/74ed9964b5ce079264ef79496551a48364f41e84";,
+                "reference": "74ed9964b5ce079264ef79496551a48364f41e84",
                 "shasum": ""
             },
             "require": {
@@ -1282,7 +1282,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2015-04-14 15:26:12"
+            "time": "2015-04-15 09:53:00"
         },
         {
             "name": "wikibase/wikimedia-badges",
diff --git a/extensions/Wikibase/client/i18n/azb.json 
b/extensions/Wikibase/client/i18n/azb.json
index d684810..e1ae257 100644
--- a/extensions/Wikibase/client/i18n/azb.json
+++ b/extensions/Wikibase/client/i18n/azb.json
@@ -1,17 +1,18 @@
 {
        "@metadata": {
                "authors": [
-                       "Amir a57"
+                       "Amir a57",
+                       "Koroğlu"
                ]
        },
-       "tooltip-t-wikibase": "آیتمه باغلانتی داده مخزنی ایله ایلگی سی وار",
+       "tooltip-t-wikibase": "آیتمه باغلانتی وئری مخزنی ایله ایلگی سی وار",
        "wikibase-comment-update": "{{WBREPONAME}} آیتمی دَییشیلدی",
        "wikibase-dataitem": "آیتم {{WBREPONAME}}",
-       "wikibase-editlinks": "باغلانتیلاری دَییشدیر",
-       "wikibase-editlinkstitle": "داها دیل لردکی باغلانتی لاری دَییشدیر",
+       "wikibase-editlinks": "باغلانتی‌لاری دَییشدیر",
+       "wikibase-editlinkstitle": "داها دیل‌لردکی باغلانتی‌لاری دَییشدیر",
        "wikibase-rc-hide-wikidata": "$1 {{WBREPONAME}}",
        "wikibase-rc-hide-wikidata-hide": "گیزلت",
-       "wikibase-rc-hide-wikidata-show": "گؤستر",
+       "wikibase-rc-hide-wikidata-show": "گؤرست",
        "wikibase-rc-wikibase-edit-letter": "د",
        "wikibase-rc-wikibase-edit-title": "{{WBREPONAME}} دَییشیکلیغی",
        "wikibase-otherprojects": "آیری پروژه‌لر"
diff --git a/extensions/Wikibase/client/includes/UpdateRepo/UpdateRepo.php 
b/extensions/Wikibase/client/includes/UpdateRepo/UpdateRepo.php
index ea21694..8f9f36a 100644
--- a/extensions/Wikibase/client/includes/UpdateRepo/UpdateRepo.php
+++ b/extensions/Wikibase/client/includes/UpdateRepo/UpdateRepo.php
@@ -155,10 +155,7 @@
         */
        public function injectJob( JobQueueGroup $jobQueueGroup ) {
                $job = $this->createJob( $jobQueueGroup );
-
-               wfProfileIn( __METHOD__ . '#push' );
                $jobQueueGroup->push( $job );
-               wfProfileOut( __METHOD__ . '#push' );
        }
 
        /**
diff --git a/extensions/Wikibase/client/includes/store/ClientStore.php 
b/extensions/Wikibase/client/includes/store/ClientStore.php
index 5ab3f1c..bf63616 100644
--- a/extensions/Wikibase/client/includes/store/ClientStore.php
+++ b/extensions/Wikibase/client/includes/store/ClientStore.php
@@ -113,4 +113,14 @@
         * @since 0.2
         */
        public function rebuild();
+
+       /**
+        * Returns an EntityPrefetcher which can be used to prefetch a list of 
entity
+        * ids in case we need to for example load a batch of entity ids.
+        *
+        * @since 0.5
+        *
+        * @return EntityPrefetcher
+        */
+       public function getEntityPrefetcher();
 }
diff --git a/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php 
b/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php
index ac7d5c5..dbbf3f4 100644
--- a/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php
+++ b/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php
@@ -144,6 +144,11 @@
        private $subscriptionManager = null;
 
        /**
+        * @var PrefetchingWikiPageEntityMetaDataAccessor|null
+        */
+       private $entityPrefetcher = null;
+
+       /**
         * @var string
         */
        private $siteId;
@@ -315,10 +320,7 @@
                // NOTE: Keep cache key in sync with 
SqlStore::newEntityRevisionLookup in WikibaseRepo
                $cacheKeyPrefix = $this->cacheKeyPrefix . 
':WikiPageEntityRevisionLookup';
 
-               $metaDataFetcher = new 
PrefetchingWikiPageEntityMetaDataAccessor(
-                       new WikiPageEntityMetaDataLookup( 
$this->entityIdParser, $this->repoWiki )
-               );
-
+               $metaDataFetcher = $this->getEntityPrefetcher();
                $rawLookup = new WikiPageEntityRevisionLookup(
                        $this->contentCodec,
                        $metaDataFetcher,
@@ -451,4 +453,16 @@
                return $this->propertyInfoTable;
        }
 
+       /**
+        * @return PrefetchingWikiPageEntityMetaDataAccessor
+        */
+       public function getEntityPrefetcher() {
+               if ( $this->entityPrefetcher === null ) {
+                       $this->entityPrefetcher = new 
PrefetchingWikiPageEntityMetaDataAccessor(
+                               new WikiPageEntityMetaDataLookup( 
$this->entityIdParser )
+                       );
+               }
+
+               return $this->entityPrefetcher;
+       }
 }
diff --git a/extensions/Wikibase/client/tests/phpunit/MockClientStore.php 
b/extensions/Wikibase/client/tests/phpunit/MockClientStore.php
index 6705537..a6aaa73 100644
--- a/extensions/Wikibase/client/tests/phpunit/MockClientStore.php
+++ b/extensions/Wikibase/client/tests/phpunit/MockClientStore.php
@@ -11,6 +11,7 @@
 use Wikibase\ClientStore;
 use Wikibase\Lib\Store\EntityLookup;
 use Wikibase\Lib\Store\EntityRevisionLookup;
+use Wikibase\Lib\Store\NullEntityPrefetcher;
 use Wikibase\Lib\Store\SiteLinkLookup;
 use Wikibase\PropertyInfoStore;
 use Wikibase\PropertyLabelResolver;
@@ -177,4 +178,13 @@
                return self::$propertyInfoStore;
        }
 
+       /**
+        * @see ClientStore::getEntityPrefetcher
+        *
+        * @return EntityPrefetcher
+        */
+       public function getEntityPrefetcher() {
+               return new NullEntityPrefetcher();
+       }
+
 }
diff --git 
a/extensions/Wikibase/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php
 
b/extensions/Wikibase/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php
index 7fa41fa..fc54f4f 100644
--- 
a/extensions/Wikibase/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php
+++ 
b/extensions/Wikibase/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php
@@ -54,6 +54,7 @@
                        array( 'getUsageLookup', 
'Wikibase\Client\Usage\UsageLookup' ),
                        array( 'getSubscriptionManager', 
'Wikibase\Client\Usage\SubscriptionManager' ),
                        array( 'getEntityIdLookup', 
'Wikibase\Store\EntityIdLookup' ),
+                       array( 'getEntityPrefetcher', 
'Wikibase\Lib\Store\EntityPrefetcher' ),
                );
        }
 
diff --git a/extensions/Wikibase/lib/i18n/azb.json 
b/extensions/Wikibase/lib/i18n/azb.json
index d066905..7954313 100644
--- a/extensions/Wikibase/lib/i18n/azb.json
+++ b/extensions/Wikibase/lib/i18n/azb.json
@@ -1,8 +1,9 @@
 {
        "@metadata": {
                "authors": [
-                       "Amir a57"
+                       "Amir a57",
+                       "Koroğlu"
                ]
        },
-       "wikibase-sitelinks-wikipedia": "ویکی‌پئدیا"
+       "wikibase-sitelinks-wikipedia": "ویکی‌پدیا"
 }
diff --git a/extensions/Wikibase/lib/includes/ChangeNotificationJob.php 
b/extensions/Wikibase/lib/includes/ChangeNotificationJob.php
index af61c08..0397d36 100644
--- a/extensions/Wikibase/lib/includes/ChangeNotificationJob.php
+++ b/extensions/Wikibase/lib/includes/ChangeNotificationJob.php
@@ -90,8 +90,6 @@
         */
        public function getChanges() {
                if ( $this->changes === null ) {
-                       wfProfileIn( __METHOD__ . '#load' );
-
                        $params = $this->getParams();
                        $ids = $params['changeIds'];
 
@@ -112,8 +110,6 @@
                                        . " Some changes were lost, possibly 
due to premature pruning.",
                                        E_USER_WARNING );
                        }
-
-                       wfProfileOut( __METHOD__ . '#load' );
                }
 
                return $this->changes;
diff --git a/extensions/Wikibase/lib/includes/store/NullEntityPrefetcher.php 
b/extensions/Wikibase/lib/includes/store/NullEntityPrefetcher.php
new file mode 100644
index 0000000..dc45d57
--- /dev/null
+++ b/extensions/Wikibase/lib/includes/store/NullEntityPrefetcher.php
@@ -0,0 +1,36 @@
+<?php
+
+namespace Wikibase\Lib\Store;
+
+use Wikibase\DataModel\Entity\EntityId;
+
+/**
+ * No-op EntityPrefetcher
+ *
+ * @since 0.5
+ *
+ * @license GNU GPL v2+
+ * @author Marius Hoch < h...@online.de >
+ */
+class NullEntityPrefetcher implements EntityPrefetcher {
+
+       /**
+        * Prefetches data for a list of entity ids.
+        *
+        * @param EntityId[] $entityIds
+        */
+       public function prefetch( array $entityIds ) {}
+
+       /**
+        * Purges prefetched data about a given entity.
+        *
+        * @param EntityId $entityId
+        */
+       public function purge( EntityId $entityId ) {}
+
+       /**
+        * Purges all prefetched data.
+        */
+       public function purgeAll() {}
+
+}
diff --git a/extensions/Wikibase/lib/includes/store/sql/SiteLinkTable.php 
b/extensions/Wikibase/lib/includes/store/sql/SiteLinkTable.php
index 0556849..12bfc4b 100644
--- a/extensions/Wikibase/lib/includes/store/sql/SiteLinkTable.php
+++ b/extensions/Wikibase/lib/includes/store/sql/SiteLinkTable.php
@@ -310,7 +310,6 @@
                //TODO: $anyOfTheLinks might get very large and hit some size 
limit imposed by the database.
                //      We could chop it up of we know that size limit. For 
MySQL, it's select @@max_allowed_packet.
 
-               wfProfileIn( __METHOD__ . '#select' );
                $conflictingLinks = $dbr->select(
                        $this->table,
                        array(
@@ -321,7 +320,6 @@
                        "($anyOfTheLinks) AND ips_item_id != " . intval( 
$item->getId()->getNumericId() ),
                        __METHOD__
                );
-               wfProfileOut( __METHOD__ . '#select' );
 
                $conflicts = array();
 
diff --git a/extensions/Wikibase/lib/includes/store/sql/TermSqlIndex.php 
b/extensions/Wikibase/lib/includes/store/sql/TermSqlIndex.php
index 345742a..0d54f05 100644
--- a/extensions/Wikibase/lib/includes/store/sql/TermSqlIndex.php
+++ b/extensions/Wikibase/lib/includes/store/sql/TermSqlIndex.php
@@ -295,8 +295,7 @@
        /**
         * Calculate a weight the given entity to be used for ranking. Should 
be normalized
         * between 0 and 1, but that's not a strong constraint.
-        * This implementation relies on sitelinks, and simply takes the number 
of sitelinks
-        * as the weight.
+        * This implementation uses the max of the number of labels and the 
number of sitelinks.
         *
         * TODO Should be moved to its own object and be added via dependency 
injection
         *
@@ -307,11 +306,17 @@
        private function getWeight( EntityDocument $entity ) {
                // FIXME: OCP violation. No support for new types of entities 
can be registered
 
-               if ( $entity instanceof Item ) {
-                       return $entity->getSiteLinkList()->count() / 1000.0;
+               $weight = 0.0;
+
+               if ( $entity instanceof FingerprintProvider ) {
+                       $weight = max( $weight, 
$entity->getFingerprint()->getLabels()->count() / 1000.0 );
                }
 
-               return 0.0;
+               if ( $entity instanceof Item ) {
+                       $weight = max( $weight, 
$entity->getSiteLinkList()->count() / 1000.0 );
+               }
+
+               return $weight;
        }
 
        /**
@@ -828,6 +833,7 @@
                        $entityType,
                        array(
                                'LIMIT' => $this->maxConflicts,
+                               'caseSensitive' => false
                        )
                );
 
@@ -886,8 +892,8 @@
 
                        $matchConditions = array(
                                'L.term_language' => $lang,
-                               'L.term_text' => $label,
-                               'D.term_text' => $description,
+                               'L.term_search_key' => $this->getSearchKey( 
$label, $lang ),
+                               'D.term_search_key' => $this->getSearchKey( 
$description, $lang )
                        );
 
                        $termConditions[] = $dbr->makeList( $matchConditions, 
LIST_AND );
diff --git a/extensions/Wikibase/lib/tests/phpunit/store/TermIndexTest.php 
b/extensions/Wikibase/lib/tests/phpunit/store/TermIndexTest.php
index 0155d1d..4090b3b 100644
--- a/extensions/Wikibase/lib/tests/phpunit/store/TermIndexTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/store/TermIndexTest.php
@@ -389,6 +389,12 @@
                                array( 'de' => 'Foo' ),
                                array( 'P6' ),
                        ),
+                       'by label, different case' => array(
+                               $entities,
+                               Property::ENTITY_TYPE,
+                               array( 'de' => 'fOO' ),
+                               array( 'P6' ),
+                       ),
                        'by label mismatch' => array(
                                $entities,
                                Item::ENTITY_TYPE,
@@ -446,6 +452,20 @@
                                array( 'de' => 'Bar' ),
                                array( 'Q1' ),
                        ),
+                       'by label and description, different label 
capitalization' => array(
+                               $entities,
+                               Item::ENTITY_TYPE,
+                               array( 'de' => 'fOO' ),
+                               array( 'de' => 'Bar' ),
+                               array( 'Q1' ),
+                       ),
+                       'by label and description, different description 
capitalization' => array(
+                               $entities,
+                               Item::ENTITY_TYPE,
+                               array( 'de' => 'Foo' ),
+                               array( 'de' => 'bAR' ),
+                               array( 'Q1' ),
+                       ),
                        'two languages for label and description' => array(
                                $entities,
                                Item::ENTITY_TYPE,
diff --git a/extensions/Wikibase/repo/Wikibase.hooks.php 
b/extensions/Wikibase/repo/Wikibase.hooks.php
index 97060e7..cbec186 100644
--- a/extensions/Wikibase/repo/Wikibase.hooks.php
+++ b/extensions/Wikibase/repo/Wikibase.hooks.php
@@ -964,10 +964,12 @@
                        $out->addJsConfigVars(
                                'wbUserSpecifiedLanguages',
                                // All user-specified languages, that are valid 
term languages
-                               array_intersect(
+                               // Reindex the keys so that javascript still 
works if an unknown
+                               // language code in the babel box causes an 
index to miss
+                               array_values( array_intersect(
                                        
$userLanguageLookup->getUserSpecifiedLanguages( $out->getUser() ),
                                        $termsLanguages->getLanguages()
-                               )
+                               ) )
                        );
                }
 
diff --git a/extensions/Wikibase/repo/i18n/de.json 
b/extensions/Wikibase/repo/i18n/de.json
index 1085db9..bb53913 100644
--- a/extensions/Wikibase/repo/i18n/de.json
+++ b/extensions/Wikibase/repo/i18n/de.json
@@ -414,6 +414,7 @@
        "apihelp-wbgetclaims-example-1": "Ruft Behauptungen für das Objekt mit 
der Kennung Q42 ab",
        "apihelp-wbgetentities-description": "Ruft die Daten für mehrere 
Wikibase-Objekte ab.",
        "apihelp-wbgetentities-param-ids": "Die Kennungen der Objekte, von 
denen die Daten abgerufen werden sollen",
+       "apihelp-wbmergeitems-example-1": "Führt Daten von Q42 in Q222 
zusammen",
        "apihelp-wbparsevalue-param-parser": "Kennung des zu verwendenden 
Werteparsers",
        "apihelp-wbparsevalue-param-values": "Die zu parsenden Werte",
        "apihelp-wbparsevalue-example-1": "Keine Änderung am Format der 
Zeichenfolge.",
diff --git a/extensions/Wikibase/repo/i18n/en.json 
b/extensions/Wikibase/repo/i18n/en.json
index 71e8bd6..8ca930e 100644
--- a/extensions/Wikibase/repo/i18n/en.json
+++ b/extensions/Wikibase/repo/i18n/en.json
@@ -169,19 +169,16 @@
        "wikibase-setlabel-intro": "This form allows you to set the label of an 
entity. You need to provide the id of the entity (e.g. Q23), a language code 
(e.g. \"en\") and the label to set to.",
        "wikibase-setlabel-label": "Label:",
        "wikibase-setlabel-submit": "Set label",
-       "wikibase-setlabel-warning-remove": "Do you really want to remove the 
label of [[$1]]?",
        "special-setdescription": "Set a description",
        "wikibase-setdescription-introfull": "You are setting the description 
in $2 for [[$1]].",
        "wikibase-setdescription-intro": "This form allows you to set the 
description of an entity. You need to provide the id of the entity (e.g. Q23), 
a language code (e.g. \"en\") and the description to set to.",
        "wikibase-setdescription-label": "Description:",
        "wikibase-setdescription-submit": "Set description",
-       "wikibase-setdescription-warning-remove": "Do you really want to remove 
the description of [[$1]]?",
        "special-setaliases": "Set aliases",
        "wikibase-setaliases-introfull": "You are setting the aliases in $2 for 
[[$1]]. Several aliases are separated by a pipe (<code>|</code>) character.",
        "wikibase-setaliases-intro": "This form allows you to set the aliases 
of an entity. You need to provide the id of the entity (e.g. Q23), a language 
code (e.g. \"en\") and the aliases to set to. Several aliases are separated by 
a pipe (<code>|</code>) character.",
        "wikibase-setaliases-label": "Aliases:",
        "wikibase-setaliases-submit": "Set aliases",
-       "wikibase-setaliases-warning-remove": "Do you really want to remove all 
aliases of [[$1]]?",
        "special-setlabeldescriptionaliases": "Set label, description and 
aliases",
        "wikibase-setlabeldescriptionaliases-introfull": "You are setting 
label, description and aliases in $2 for [[$1]]. Several aliases are separated 
by a pipe (<code>|</code>) character.",
        "wikibase-setlabeldescriptionaliases-intro": "This form allows you to 
set label, description and aliases of an entity. You need to first provide the 
id of the entity (e.g. Q23) and a language code (e.g. \"en\").",
diff --git a/extensions/Wikibase/repo/i18n/hi.json 
b/extensions/Wikibase/repo/i18n/hi.json
index 644ffa0..6542cf7 100644
--- a/extensions/Wikibase/repo/i18n/hi.json
+++ b/extensions/Wikibase/repo/i18n/hi.json
@@ -5,7 +5,8 @@
                        "Pooja 1810",
                        "Siddhartha Ghai",
                        "Vivek Rai",
-                       "Wikiuser13"
+                       "Wikiuser13",
+                       "రహ్మానుద్దీన్"
                ]
        },
        "wikibase-edit": "संपादन",
@@ -15,14 +16,16 @@
        "wikibase-addreference": "स्रोत जोड़ें",
        "wikibase-save-inprogress": "सहेजा जा रहा है…",
        "wikibase-remove-inprogress": "हटाया जा रहा है…",
-       "wikibase-label-empty": "कोई लेबल परिभाषित नहीं",
-       "wikibase-description-empty": "कोई विवरण परिभाषित नहीं",
+       "wikibase-label-empty": "कोई नामपत्र परिभाषित नहीं",
+       "wikibase-description-empty": "कोई विवरण परिभाषित नहीं।",
        "wikibase-description-edit-placeholder": "विवरण दर्ज करें",
        "wikibase-sitelink-site-edit-placeholder": "साइट",
        "wikibase-sitelink-page-edit-placeholder": "पृष्ठ",
        "wikibase-statements": "कथन",
        "wikibase-sitelinks-special": "अन्य वेबसाइट",
        "wikibase-remove": "ह्टाना",
+       "wikibase-aliases-empty": "कोई उर्फ परिभाषित नही।",
+       "wikibase-statementview-rank-normal": "साधारण पद",
        "wikibase-statementview-referencesheading-pendingcountersubject": 
"{{PLURAL:$1|स्रोत}}",
        "wikibase-entityselector-more": "ज़्यादा",
        "wikibase-itembytitle-lookup-page": "पृष्ठ:",
diff --git a/extensions/Wikibase/repo/i18n/khw.json 
b/extensions/Wikibase/repo/i18n/khw.json
index 5605475..ea909a5 100644
--- a/extensions/Wikibase/repo/i18n/khw.json
+++ b/extensions/Wikibase/repo/i18n/khw.json
@@ -7,8 +7,10 @@
        "wikibase-edit": "ترمیم",
        "wikibase-add": "شامل کورے",
        "wikibase-label-empty": "کیہ لیبل ڈیفائن کورونو نو بیتی شیر",
+       "wikibase-description-empty": "ھیچ کیہ عنوان نیکی",
        "wikibase-statements": "بیانات",
        "wikibase-sitelinks-special": "دیگر ویب سائٹ",
+       "wikibase-aliases-empty": "ھیچ کیہ مثال موجود نیکی",
        "wikibase-statementview-rank-normal": "عام درجہ بندی",
        "wikibase-statementview-referencesheading-pendingcountersubject": 
"{{PLURAL:$1|reference|references}}"
 }
diff --git a/extensions/Wikibase/repo/i18n/nb.json 
b/extensions/Wikibase/repo/i18n/nb.json
index 66875b3..6fc01cc 100644
--- a/extensions/Wikibase/repo/i18n/nb.json
+++ b/extensions/Wikibase/repo/i18n/nb.json
@@ -132,7 +132,7 @@
        "wikibase-newproperty-invalid-datatype": "En ugyldig datatype er 
angitt.",
        "special-newitem": "Lag et nytt element",
        "wikibase-newitem-summary": "Sjekk først at 
[[Special:ItemByTitle|elementet ikke allerede finnes]]!<br>For alle nye 
elementer bør du fylle inn en [[Help:Label|etikett]] og en kort 
[[Help:Description|beskrivelse]].",
-       "wikibase-newitem-fieldset": "Opprettt et nytt element",
+       "wikibase-newitem-fieldset": "Opprettet et nytt element",
        "wikibase-newitem-site": "Nettsted for første nettstedlenke",
        "wikibase-newitem-page": "Tittel for første nettstedlenke",
        "wikibase-newitem-no-external-page": "Den oppgitte tittel ble ikke 
funnet på nettstedet",
@@ -236,12 +236,12 @@
        "wikibase-noentity-createone": "Du kan også [[$1|opprette en ny en]].",
        "wikibase-special-mergeitems-error-prefix": "Elementene kunne ikke slås 
sammen. Følgende feil oppstod:",
        "wikibase-item-summary-wbsetitem": "Opprettet et nytt element",
-       "wikibase-item-summary-wbcreate-new": "Lag et nytt element",
+       "wikibase-item-summary-wbcreate-new": "Opprettet et nytt element",
        "wikibase-item-summary-wbcreateredirect": "Omdirigert til $4",
        "wikibase-item-summary-wbeditentity": "Opprettet et nytt element",
        "wikibase-item-summary-wbeditentity-create": "Opprettet et nytt 
element",
        "wikibase-item-summary-wbeditentity-update": "Endret et element",
-       "wikibase-item-summary-wbeditentity-override": "Overstyre et element",
+       "wikibase-item-summary-wbeditentity-override": "Overstyrte et element",
        "wikibase-item-summary-wbsetreference": "Lagre en referanse",
        "wikibase-item-summary-wbsetreference-add": "La til referanse til 
påstand",
        "wikibase-item-summary-wbsetreference-set": "Endret referanse for 
påstand",
diff --git a/extensions/Wikibase/repo/i18n/ru.json 
b/extensions/Wikibase/repo/i18n/ru.json
index dd172cd..d1b4788 100644
--- a/extensions/Wikibase/repo/i18n/ru.json
+++ b/extensions/Wikibase/repo/i18n/ru.json
@@ -358,7 +358,7 @@
        "wikibase-listdatatypes-string-head": "Строка",
        "wikibase-listdatatypes-string-body": "Символьное поле данных для 
строки символов. Обычное применение — идентификаторы, письменные формы которых 
не зависят от языка. Такие строки могут в некоторых случаях транслитерироваться 
в другие системы записи.\n* value — явно задаваемое значение для строки на 
определенном языке",
        "wikibase-listdatatypes-time-head": "Время",
-       "wikibase-listdatatypes-time-body": "Символьное поле данных для 
значения времени. Задаётся как время с некоторой точностью и границами. 
Внутренний формат хранения значений времени — всегда [[:w:ru:Пролептический 
григорианский календарь|«предваряющий григорианский календарь»]], но во время 
синтаксического анализа и форматирования могут использоваться другие 
форматы.\n* time — явно задаваемое значение для точки во времени, 
представленное по ISO8601 (год всегда состоит из 11 цифр, даты всегда должны 
быть указаны), в формате +00000002013-01-01T00:00:00Z\n* timezone — явно 
задаваемое значение в виде целого числа. Информация о часовом поясе задаётся 
как смещение от UTC в минутах.\n* before — явно задаваемое целочисленное 
значение для указания, на сколько единиц ранее(?) указанного времени это может 
быть. Единицы задается точностью.\n* after — явно задаваемое целочисленное 
значение для указания, на сколько единиц позднее(?) указанного времени это 
может быть. Единицы задается точностью.\n* precision — явно задаваемое 
значение, закодированное в виде короткого числа (shortint). Номера имеют 
следующие значения: 0 — миллиард лет, 1 — сто миллионов лет,..., 6 — 
тысячелетие, 7 — век, 8 — десятилетие, 9 — год, 10 — месяц, 11 — день, 12 — 
час, 13 — минута, 14 — секунда.\n* calendarmodel — явно задаваемое значение в 
виде URI. Определит модель календаря, который должен использоваться для 
отображения этого значения времени.",
+       "wikibase-listdatatypes-time-body": "Символьное поле данных для 
значения времени. Задаётся как время с некоторой точностью и границами. 
Внутренний формат хранения значений времени — всегда [[:w:ru:Пролептический 
григорианский календарь|«предваряющий григорианский календарь»]], но во время 
синтаксического анализа и форматирования могут использоваться другие 
форматы.\n* time — явно задаваемое значение для точки во времени, 
представленное как отметка времени, соответствующей ISO 8601 (например, 
+2013-01-01T00:00:00Z) Год всегда должен быть указан и при необходимости 
дополнен в начале нулями, чтобы содержать от 1 до 16 цифр.\n* timezone — явно 
задаваемое значение в виде целого числа. Информация о часовом поясе задаётся 
как смещение от UTC в минутах.\n* before — явно задаваемое целочисленное 
значение для указания, на сколько единиц ранее(?) указанного времени это может 
быть. Единицы задается точностью.\n* after — явно задаваемое целочисленное 
значение для указания, на сколько единиц позднее(?) указанного времени это 
может быть. Единицы задается точностью.\n* precision — явно задаваемое 
значение, закодированное в виде короткого числа (shortint). Номера имеют 
следующие значения: 0 — миллиард лет, 1 — сто миллионов лет,..., 6 — 
тысячелетие, 7 — век, 8 — десятилетие, 9 — год, 10 — месяц, 11 — день, 12 — 
час, 13 — минута, 14 — секунда.\n* calendarmodel — явно задаваемое значение в 
виде URI. Определит модель календаря, который должен использоваться для 
отображения этого значения времени.",
        "wikibase-listdatatypes-url-head": "URL",
        "wikibase-listdatatypes-url-body": "Символьное поле данных для 
URL-адреса. URL-адреса имеют ограничения, относящиеся к различным протоколам, 
также используемым в качестве внешних ссылок в викитексте.",
        "wikibase-concept-uri": "URI концепта",
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpClaimRemove.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpClaimRemove.php
index 0e6c727..7bff58f 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpClaimRemove.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpClaimRemove.php
@@ -77,10 +77,13 @@
         * @throws ChangeOpException
         */
        protected function removeClaim( Claims $claims, Summary $summary = null 
) {
-               if( !$claims->hasClaimWithGuid( $this->claimGuid ) ) {
+               $claim = $claims->getClaimWithGuid( $this->claimGuid );
+
+               if ( $claim === null ) {
                        throw new ChangeOpException( "Entity does not have 
claim with GUID $this->claimGuid" );
                }
-               $removedSnak = $claims->getClaimWithGuid( $this->claimGuid 
)->getMainSnak();
+
+               $removedSnak = $claim->getMainSnak();
                $claims->removeClaimWithGuid( $this->claimGuid );
                $this->updateSummary( $summary, 'remove', '', 
$this->getClaimSummaryArgs( $removedSnak ) );
        }
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpMainSnak.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpMainSnak.php
index e240ff1..a8d78f7 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpMainSnak.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpMainSnak.php
@@ -119,11 +119,12 @@
         * @throws ChangeOpException
         */
        private function setClaim( Claims $claims, Summary $summary = null ) {
-               if( !$claims->hasClaimWithGuid( $this->claimGuid ) ) {
+               $claim = $claims->getClaimWithGuid( $this->claimGuid );
+
+               if ( $claim === null ) {
                        throw new ChangeOpException( "Entity does not have 
claim with GUID " . $this->claimGuid );
                }
 
-               $claim = $claims->getClaimWithGuid( $this->claimGuid );
                $propertyId = $claim->getMainSnak()->getPropertyId();
 
                if ( !$propertyId->equals( $this->snak->getPropertyId() ) ) {
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifier.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifier.php
index 31c663f..587a931 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifier.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifier.php
@@ -81,12 +81,12 @@
         */
        public function apply( Entity $entity, Summary $summary = null ) {
                $claims = new Claims( $entity->getClaims() );
+               $claim = $claims->getClaimWithGuid( $this->claimGuid );
 
-               if( !$claims->hasClaimWithGuid( $this->claimGuid ) ) {
+               if ( $claim === null ) {
                        throw new ChangeOpException( "Entity does not have 
claim with GUID $this->claimGuid" );
                }
 
-               $claim = $claims->getClaimWithGuid( $this->claimGuid );
                $qualifiers = $claim->getQualifiers();
 
                if ( $this->snakHash === '' ) {
diff --git 
a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifierRemove.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifierRemove.php
index e359331..f7d1386 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifierRemove.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifierRemove.php
@@ -61,12 +61,12 @@
         */
        public function apply( Entity $entity, Summary $summary = null ) {
                $claims = new Claims( $entity->getClaims() );
+               $claim = $claims->getClaimWithGuid( $this->claimGuid );
 
-               if( !$claims->hasClaimWithGuid( $this->claimGuid ) ) {
+               if ( $claim === null ) {
                        throw new ChangeOpException( "Entity does not have 
claim with GUID $this->claimGuid" );
                }
 
-               $claim = $claims->getClaimWithGuid( $this->claimGuid );
                $qualifiers = $claim->getQualifiers();
 
                $this->removeQualifier( $qualifiers, $summary );
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReference.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReference.php
index 2830423..b8a0a41 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReference.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReference.php
@@ -100,14 +100,13 @@
         */
        public function apply( Entity $entity, Summary $summary = null ) {
                $claims = new Claims( $entity->getClaims() );
+               $claim = $claims->getClaimWithGuid( $this->claimGuid );
 
-               if( !$claims->hasClaimWithGuid( $this->claimGuid ) ) {
+               if ( $claim === null ) {
                        throw new ChangeOpException( "Entity does not have 
claim with GUID $this->claimGuid" );
                }
 
-               $claim = $claims->getClaimWithGuid( $this->claimGuid );
-
-               if ( ! ( $claim instanceof Statement ) ) {
+               if ( !( $claim instanceof Statement ) ) {
                        throw new ChangeOpException( 'The referenced claim is 
not a statement and thus cannot have references' );
                }
 
diff --git 
a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReferenceRemove.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReferenceRemove.php
index 7f38ced..812729d 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReferenceRemove.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReferenceRemove.php
@@ -62,12 +62,13 @@
         */
        public function apply( Entity $entity, Summary $summary = null ) {
                $claims = new Claims( $entity->getClaims() );
-               if( !$claims->hasClaimWithGuid( $this->claimGuid ) ) {
+               $claim = $claims->getClaimWithGuid( $this->claimGuid );
+
+               if ( $claim === null ) {
                        throw new ChangeOpException( "Entity does not have 
claim with GUID $this->claimGuid" );
                }
 
-               $claim = $claims->getClaimWithGuid( $this->claimGuid );
-               if ( ! ( $claim instanceof Statement ) ) {
+               if ( !( $claim instanceof Statement ) ) {
                        throw new ChangeOpException( 'The referenced claim is 
not a statement and thus cannot have references' );
                }
 
diff --git 
a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatementRank.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatementRank.php
index b180f41..5ee7fd8 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatementRank.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatementRank.php
@@ -62,14 +62,13 @@
         */
        public function apply( Entity $entity, Summary $summary = null ) {
                $claims = new Claims( $entity->getClaims() );
+               $claim = $claims->getClaimWithGuid( $this->claimGuid );
 
-               if( !$claims->hasClaimWithGuid( $this->claimGuid ) ) {
+               if ( $claim === null ) {
                        throw new ChangeOpException( "Entity does not have 
claim with GUID $this->claimGuid" );
                }
 
-               $claim = $claims->getClaimWithGuid( $this->claimGuid );
-
-               if ( ! ( $claim instanceof Statement ) ) {
+               if ( !( $claim instanceof Statement ) ) {
                        throw new ChangeOpException( 'The referenced claim is 
not a statement and thus cannot have a rank' );
                }
 
diff --git a/extensions/Wikibase/repo/includes/ClaimSummaryBuilder.php 
b/extensions/Wikibase/repo/includes/ClaimSummaryBuilder.php
index cd5bfd6..162a801 100644
--- a/extensions/Wikibase/repo/includes/ClaimSummaryBuilder.php
+++ b/extensions/Wikibase/repo/includes/ClaimSummaryBuilder.php
@@ -58,18 +58,19 @@
         * @return Summary
         */
        public function buildClaimSummary( Claims $existingClaims, Claim 
$newClaim ) {
-               $summary = new Summary( $this->apiModuleName );
+               $guid = $newClaim->getGuid();
+               $oldClaim = $existingClaims->getClaimWithGuid( $guid );
 
+               $summary = new Summary( $this->apiModuleName );
                $summary->addAutoCommentArgs( 1 ); // only one claim touched, 
so we're always having singular here
                $summaryArgs = $this->buildSummaryArgs(
                        new Claims( array( $newClaim ) ),
-                       array($newClaim->getGuid())
+                       array( $guid )
                );
                $summary->addAutoSummaryArgs( $summaryArgs );
 
-               if ( $existingClaims->hasClaimWithGuid( $newClaim->getGuid() ) 
) {
+               if ( $oldClaim !== null ) {
                        //claim is changed
-                       $oldClaim = $existingClaims->getClaimWithGuid( 
$newClaim->getGuid() );
                        $claimDifference = $this->claimDiffer->diffClaims( 
$oldClaim, $newClaim );
 
                        if ( $claimDifference->isAtomic() ) {
@@ -112,9 +113,11 @@
        private function buildSummaryArgs( Claims $claims, array $guids ) {
                $pairs = array();
 
-               foreach( $guids as $guid ) {
-                       if ( $claims->hasClaimWithGuid( $guid ) ) {
-                               $snak = $claims->getClaimWithGuid( $guid 
)->getMainSnak();
+               foreach ( $guids as $guid ) {
+                       $claim = $claims->getClaimWithGuid( $guid );
+
+                       if ( $claim !== null ) {
+                               $snak = $claim->getMainSnak();
                                $key = 
$snak->getPropertyId()->getSerialization();
 
                                if ( !array_key_exists( $key, $pairs ) ) {
diff --git a/extensions/Wikibase/repo/includes/Dumpers/DumpGenerator.php 
b/extensions/Wikibase/repo/includes/Dumpers/DumpGenerator.php
index 771f58b..1a27798 100644
--- a/extensions/Wikibase/repo/includes/Dumpers/DumpGenerator.php
+++ b/extensions/Wikibase/repo/includes/Dumpers/DumpGenerator.php
@@ -8,6 +8,7 @@
 use Wikibase\Lib\Reporting\MessageReporter;
 use Wikibase\Lib\Reporting\NullMessageReporter;
 use Wikibase\Lib\Reporting\RethrowingExceptionHandler;
+use Wikibase\Lib\Store\EntityPrefetcher;
 use Wikibase\Lib\Store\StorageException;
 use Wikibase\Repo\Store\EntityIdPager;
 
@@ -53,6 +54,11 @@
        protected $exceptionHandler;
 
        /**
+        * @var EntityPrefetcher
+        */
+       protected $entityPrefetcher;
+
+       /**
         * @var string
         */
        protected $entityType;
@@ -66,16 +72,18 @@
 
        /**
         * @param resource $out
+        * @param EntityPrefetcher $entityPrefetcher
         *
         * @throws InvalidArgumentException
         */
-       public function __construct( $out ) {
+       public function __construct( $out, EntityPrefetcher $entityPrefetcher ) 
{
                if ( !is_resource( $out ) ) {
                        throw new InvalidArgumentException( '$out must be a 
file handle!' );
                }
 
                $this->out = $out;
 
+               $this->entityPrefetcher = $entityPrefetcher;
                $this->progressReporter = new NullMessageReporter();
                $this->exceptionHandler = new RethrowingExceptionHandler();
        }
@@ -276,11 +284,15 @@
         * @param int &$dumpCount The number of entities already dumped (will 
be updated).
         */
        private function dumpEntities( array $entityIds, &$dumpCount ) {
+               $toLoad = array();
                foreach ( $entityIds as $entityId ) {
-                       if ( !$this->idMatchesFilters( $entityId ) ) {
-                               continue;
+                       if ( $this->idMatchesFilters( $entityId ) ) {
+                               $toLoad[] = $entityId;
                        }
+               }
+               $this->entityPrefetcher->prefetch( $entityIds );
 
+               foreach ( $toLoad as $entityId ) {
                        try {
                                $data = $this->generateDumpForEntityId( 
$entityId );
                                if ( !$data ) {
diff --git a/extensions/Wikibase/repo/includes/Dumpers/JsonDumpGenerator.php 
b/extensions/Wikibase/repo/includes/Dumpers/JsonDumpGenerator.php
index 2a35aa7..ffdfd62 100644
--- a/extensions/Wikibase/repo/includes/Dumpers/JsonDumpGenerator.php
+++ b/extensions/Wikibase/repo/includes/Dumpers/JsonDumpGenerator.php
@@ -8,6 +8,7 @@
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\Lib\Serializers\Serializer;
 use Wikibase\Lib\Store\EntityLookup;
+use Wikibase\Lib\Store\EntityPrefetcher;
 use Wikibase\Lib\Store\RedirectResolvingEntityLookup;
 use Wikibase\Lib\Store\StorageException;
 use Wikibase\Lib\Store\UnresolvedRedirectException;
@@ -47,11 +48,12 @@
         * @param resource $out
         * @param EntityLookup $lookup Must not resolve redirects
         * @param Serializer $entitySerializer
+        * @param EntityPrefetcher $entityPrefetcher
         *
         * @throws InvalidArgumentException
         */
-       public function __construct( $out, EntityLookup $lookup, Serializer 
$entitySerializer ) {
-               parent::__construct( $out );
+       public function __construct( $out, EntityLookup $lookup, Serializer 
$entitySerializer, EntityPrefetcher $entityPrefetcher ) {
+               parent::__construct( $out, $entityPrefetcher );
                if ( $lookup instanceof RedirectResolvingEntityLookup ) {
                        throw new InvalidArgumentException( '$lookup must not 
resolve redirects!' );
                }
diff --git a/extensions/Wikibase/repo/includes/Dumpers/RdfDumpGenerator.php 
b/extensions/Wikibase/repo/includes/Dumpers/RdfDumpGenerator.php
index d71ea15..847f0b1 100644
--- a/extensions/Wikibase/repo/includes/Dumpers/RdfDumpGenerator.php
+++ b/extensions/Wikibase/repo/includes/Dumpers/RdfDumpGenerator.php
@@ -10,6 +10,7 @@
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\PropertyDataTypeLookup;
 use Wikibase\Lib\Store\EntityLookup;
+use Wikibase\Lib\Store\EntityPrefetcher;
 use Wikibase\Lib\Store\EntityRevisionLookup;
 use Wikibase\Lib\Store\RedirectResolvingEntityLookup;
 use Wikibase\Lib\Store\StorageException;
@@ -53,11 +54,12 @@
         * @param resource $out
         * @param EntityRevisionLookup $lookup Must not resolve redirects
         * @param RdfSerializer $entitySerializer
+        * @param EntityPrefetcher $entityPrefetcher
         *
         * @throws InvalidArgumentException
         */
-       public function __construct( $out, EntityRevisionLookup $lookup, 
RdfSerializer $entitySerializer ) {
-               parent::__construct( $out );
+       public function __construct( $out, EntityRevisionLookup $lookup, 
RdfSerializer $entitySerializer, EntityPrefetcher $entityPrefetcher ) {
+               parent::__construct( $out, $entityPrefetcher );
                if ( $lookup instanceof RedirectResolvingEntityLookup ) {
                        throw new InvalidArgumentException( '$lookup must not 
resolve redirects!' );
                }
@@ -136,7 +138,8 @@
                        SiteList $sites,
                        EntityLookup $entityLookup,
                        EntityRevisionLookup $entityRevisionLookup,
-                       PropertyDataTypeLookup $propertyLookup
+                       PropertyDataTypeLookup $propertyLookup,
+                       EntityPrefetcher $entityPrefetcher
        ) {
                $rdfFormat = RdfSerializer::getRdfWriter( $format );
                if( !$rdfFormat ) {
@@ -153,7 +156,7 @@
                                RdfProducer::PRODUCE_SITELINKS | 
RdfProducer::PRODUCE_FULL_VALUES,
                                new HashBagOStuff()
                );
-               return new RdfDumpGenerator( $output, $entityRevisionLookup, 
$entitySerializer );
+               return new RdfDumpGenerator( $output, $entityRevisionLookup, 
$entitySerializer, $entityPrefetcher );
        }
 
 }
diff --git a/extensions/Wikibase/repo/includes/api/ClaimModificationHelper.php 
b/extensions/Wikibase/repo/includes/api/ClaimModificationHelper.php
index 6ed4c16..fe12cd8 100644
--- a/extensions/Wikibase/repo/includes/api/ClaimModificationHelper.php
+++ b/extensions/Wikibase/repo/includes/api/ClaimModificationHelper.php
@@ -97,12 +97,13 @@
         */
        public function getClaimFromEntity( $claimGuid, Entity $entity ) {
                $claims = new Claims( $entity->getClaims() );
+               $claim = $claims->getClaimWithGuid( $claimGuid );
 
-               if ( !$claims->hasClaimWithGuid( $claimGuid ) ) {
+               if ( $claim === null ) {
                        $this->errorReporter->dieError( 'Could not find the 
claim' , 'no-such-claim' );
                }
 
-               return $claims->getClaimWithGuid( $claimGuid );
+               return $claim;
        }
 
        /**
diff --git a/extensions/Wikibase/repo/includes/api/GetClaims.php 
b/extensions/Wikibase/repo/includes/api/GetClaims.php
index c1ff7d1..8a8afa0 100644
--- a/extensions/Wikibase/repo/includes/api/GetClaims.php
+++ b/extensions/Wikibase/repo/includes/api/GetClaims.php
@@ -100,8 +100,8 @@
                $claimsList = new Claims( $entity->getClaims() );
 
                if ( $claimGuid !== null ) {
-                       return $claimsList->hasClaimWithGuid( $claimGuid ) ?
-                               array( $claimsList->getClaimWithGuid( 
$claimGuid ) ) : array();
+                       $claim = $claimsList->getClaimWithGuid( $claimGuid );
+                       return $claim !== null ? array( $claim ) : array();
                }
 
                $claims = array();
diff --git a/extensions/Wikibase/repo/includes/api/GetEntities.php 
b/extensions/Wikibase/repo/includes/api/GetEntities.php
index 2e6bd5f..2380ad9 100644
--- a/extensions/Wikibase/repo/includes/api/GetEntities.php
+++ b/extensions/Wikibase/repo/includes/api/GetEntities.php
@@ -44,6 +44,11 @@
        private $siteLinkTargetProvider;
 
        /**
+        * @var EntityPrefetcher
+        */
+       private $entityPrefetcher;
+
+       /**
         * @var string[]
         */
        private $siteLinkGroups;
@@ -68,6 +73,7 @@
                );
 
                $this->siteLinkGroups = 
$wikibaseRepo->getSettings()->getSetting( 'siteLinkGroups' );
+               $this->entityPrefetcher = 
$wikibaseRepo->getStore()->getEntityPrefetcher();
        }
 
        /**
@@ -193,6 +199,8 @@
        private function getEntityRevisionsFromEntityIds( $entityIds, 
$resolveRedirects = false ) {
                $revisionArray = array();
 
+               $this->entityPrefetcher->prefetch( $entityIds );
+
                foreach ( $entityIds as $entityId ) {
                        $key = $entityId->getSerialization();
                        $entityRevision = $this->getEntityRevision( $entityId, 
$resolveRedirects );
diff --git a/extensions/Wikibase/repo/includes/specials/SpecialModifyTerm.php 
b/extensions/Wikibase/repo/includes/specials/SpecialModifyTerm.php
index bf304c5..4914573 100644
--- a/extensions/Wikibase/repo/includes/specials/SpecialModifyTerm.php
+++ b/extensions/Wikibase/repo/includes/specials/SpecialModifyTerm.php
@@ -125,19 +125,11 @@
                        return false;
                }
 
-               // to provide removing after posting the full form
+               // If the user just enters an item id and a language, dont 
remove the term.
+               // The user can remove the term in the second form where it has 
to be
+               // actually removed. This prevents users from removing terms 
accidentally.
                if ( $request->getVal( 'remove' ) === null && $this->value === 
'' ) {
-                       $id = $this->entityRevision->getEntity()->getId();
-
-                       $this->showErrorHTML(
-                       // Messages: wikibase-setlabel-warning-remove, 
wikibase-setdescription-warning-remove,
-                       // wikibase-setaliases-warning-remove
-                               $this->msg(
-                                       'wikibase-' . strtolower( 
$this->getName() ) . '-warning-remove',
-                                       $this->getEntityTitle( $id )->getText()
-                               )->parse(),
-                               'warning'
-                       );
+                       $this->value = null;
                        return false;
                }
 
diff --git a/extensions/Wikibase/repo/includes/store/Store.php 
b/extensions/Wikibase/repo/includes/store/Store.php
index 2daa2ba..b549d54 100644
--- a/extensions/Wikibase/repo/includes/store/Store.php
+++ b/extensions/Wikibase/repo/includes/store/Store.php
@@ -4,6 +4,7 @@
 
 use Wikibase\Lib\Store\EntityInfoBuilderFactory;
 use Wikibase\Lib\Store\EntityLookup;
+use Wikibase\Lib\Store\EntityPrefetcher;
 use Wikibase\Lib\Store\EntityRevisionLookup;
 use Wikibase\Lib\Store\EntityStore;
 use Wikibase\Lib\Store\EntityStoreWatcher;
@@ -138,4 +139,14 @@
         */
        public function getSiteLinkConflictLookup();
 
+       /**
+        * Returns an EntityPrefetcher which can be used to prefetch a list of 
entity
+        * ids in case we need to for example load a batch of entity ids.
+        *
+        * @since 0.5
+        *
+        * @return EntityPrefetcher
+        */
+       public function getEntityPrefetcher();
+
 }
diff --git 
a/extensions/Wikibase/repo/includes/store/sql/ItemsPerSiteBuilder.php 
b/extensions/Wikibase/repo/includes/store/sql/ItemsPerSiteBuilder.php
index 6fa57f8..2bb79c8 100644
--- a/extensions/Wikibase/repo/includes/store/sql/ItemsPerSiteBuilder.php
+++ b/extensions/Wikibase/repo/includes/store/sql/ItemsPerSiteBuilder.php
@@ -5,6 +5,7 @@
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\Lib\Reporting\MessageReporter;
 use Wikibase\Lib\Store\EntityLookup;
+use Wikibase\Lib\Store\EntityPrefetcher;
 use Wikibase\Lib\Store\SiteLinkTable;
 use Wikibase\Repo\Store\EntityIdPager;
 
@@ -29,6 +30,11 @@
        private $entityLookup;
 
        /**
+        * @var EntityPrefetcher
+        */
+       private $entityPrefetcher;
+
+       /**
         * @var MessageReporter|null
         */
        private $reporter = null;
@@ -39,9 +45,15 @@
         */
        private $batchSize = 100;
 
-       public function __construct( SiteLinkTable $siteLinkTable, EntityLookup 
$entityLookup ) {
+       /**
+        * @param SiteLinkTable $siteLinkTable
+        * @param EntityLookup $entityLookup
+        * @param EntityPrefetcher $entityPrefetcher
+        */
+       public function __construct( SiteLinkTable $siteLinkTable, EntityLookup 
$entityLookup, EntityPrefetcher $entityPrefetcher ) {
                $this->siteLinkTable = $siteLinkTable;
                $this->entityLookup = $entityLookup;
+               $this->entityPrefetcher = $entityPrefetcher;
        }
 
        /**
@@ -88,6 +100,8 @@
         * @return int
         */
        private function rebuildSiteLinks( array $itemIds ) {
+               $this->entityPrefetcher->prefetch( $itemIds );
+
                $c = 0;
                foreach ( $itemIds as $itemId ) {
                        if ( !( $itemId instanceof ItemId ) ) {
diff --git a/extensions/Wikibase/repo/includes/store/sql/SqlStore.php 
b/extensions/Wikibase/repo/includes/store/sql/SqlStore.php
index c18871c..8f2cadf 100644
--- a/extensions/Wikibase/repo/includes/store/sql/SqlStore.php
+++ b/extensions/Wikibase/repo/includes/store/sql/SqlStore.php
@@ -101,6 +101,11 @@
        private $termIndex = null;
 
        /**
+        * @var PrefetchingWikiPageEntityMetaDataAccessor|null
+        */
+       private $entityPrefetcher = null;
+
+       /**
         * @var string
         */
        private $cacheKeyPrefix;
@@ -591,9 +596,7 @@
                /** @var WikiPageEntityStore $dispatcher */
                $dispatcher = $this->getEntityStoreWatcher();
 
-               $metaDataFetcher = new 
PrefetchingWikiPageEntityMetaDataAccessor(
-                       new WikiPageEntityMetaDataLookup( $this->entityIdParser 
)
-               );
+               $metaDataFetcher = $this->getEntityPrefetcher();
                $dispatcher->registerWatcher( $metaDataFetcher );
 
                $rawLookup = new WikiPageEntityRevisionLookup(
@@ -711,4 +714,17 @@
                return new SiteLinkTable( 'wb_items_per_site', false );
        }
 
+       /**
+        * @return PrefetchingWikiPageEntityMetaDataAccessor
+        */
+       public function getEntityPrefetcher() {
+               if ( $this->entityPrefetcher === null ) {
+                       $this->entityPrefetcher = new 
PrefetchingWikiPageEntityMetaDataAccessor(
+                               new WikiPageEntityMetaDataLookup( 
$this->entityIdParser )
+                       );
+               }
+
+               return $this->entityPrefetcher;
+       }
+
 }
diff --git a/extensions/Wikibase/repo/maintenance/dumpJson.php 
b/extensions/Wikibase/repo/maintenance/dumpJson.php
index 96e24b5..10b123b 100644
--- a/extensions/Wikibase/repo/maintenance/dumpJson.php
+++ b/extensions/Wikibase/repo/maintenance/dumpJson.php
@@ -30,8 +30,15 @@
                );
 
                $entitySerializer = new DispatchingEntitySerializer( 
$serializerFactory, $serializerOptions );
+               $entityPrefetcher = 
$this->wikibaseRepo->getStore()->getEntityPrefetcher();
 
-               $dumper = new JsonDumpGenerator( $output, $this->entityLookup, 
$entitySerializer );
+               $dumper = new JsonDumpGenerator(
+                       $output,
+                       $this->entityLookup,
+                       $entitySerializer,
+                       $entityPrefetcher
+               );
+
                $dumper->setUseSnippets( (bool)$this->getOption( 'snippet', 
false ) );
                return $dumper;
        }
diff --git a/extensions/Wikibase/repo/maintenance/dumpRdf.php 
b/extensions/Wikibase/repo/maintenance/dumpRdf.php
index 61f56c7..82e4ca7 100644
--- a/extensions/Wikibase/repo/maintenance/dumpRdf.php
+++ b/extensions/Wikibase/repo/maintenance/dumpRdf.php
@@ -32,7 +32,8 @@
                        $entityDataTitle->getCanonicalURL() . '/',
                        $this->wikibaseRepo->getSiteStore()->getSites(),
                        $this->entityLookup, $this->revisionLookup,
-                       $this->wikibaseRepo->getPropertyDataTypeLookup() );
+                       $this->wikibaseRepo->getPropertyDataTypeLookup(),
+                       $this->wikibaseRepo->getStore()->getEntityPrefetcher() 
);
        }
 }
 
diff --git a/extensions/Wikibase/repo/maintenance/rebuildItemsPerSite.php 
b/extensions/Wikibase/repo/maintenance/rebuildItemsPerSite.php
index 9af7e7c..c26f8b9 100644
--- a/extensions/Wikibase/repo/maintenance/rebuildItemsPerSite.php
+++ b/extensions/Wikibase/repo/maintenance/rebuildItemsPerSite.php
@@ -50,9 +50,11 @@
                $siteLinkTable = new SiteLinkTable( 'wb_items_per_site', false 
);
                // Use an uncached EntityLookup here to avoid memory leaks
                $entityLookup = 
WikibaseRepo::getDefaultInstance()->getEntityLookup( 'uncached' );
+               $entityPrefetcher = 
WikibaseRepo::getDefaultInstance()->getStore()->getEntityPrefetcher();
                $builder = new ItemsPerSiteBuilder(
                        $siteLinkTable,
-                       $entityLookup
+                       $entityLookup,
+                       $entityPrefetcher
                );
 
                $builder->setReporter( $reporter );
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php
index 2d352c3..315e436 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/JsonDumpGeneratorTest.php
@@ -15,6 +15,7 @@
 use Wikibase\Lib\Serializers\DispatchingEntitySerializer;
 use Wikibase\Lib\Serializers\SerializationOptions;
 use Wikibase\Lib\Serializers\SerializerFactory;
+use Wikibase\Lib\Store\NullEntityPrefetcher;
 use Wikibase\Lib\Store\UnresolvedRedirectException;
 use Wikibase\Repo\Store\EntityIdPager;
 
@@ -115,7 +116,12 @@
                                return $entities[$key];
                        } ) );
 
-               return new JsonDumpGenerator( $out, $entityLookup, $serializer 
);
+               return new JsonDumpGenerator(
+                       $out,
+                       $entityLookup,
+                       $serializer,
+                       new NullEntityPrefetcher()
+               );
        }
 
        /**
@@ -193,7 +199,12 @@
                $out = fopen( 'php://output', 'w' );
                $serializer = new DispatchingEntitySerializer( 
$this->serializerFactory );
 
-               $jsonDumper = new JsonDumpGenerator( $out, $entityLookup, 
$serializer );
+               $jsonDumper = new JsonDumpGenerator(
+                       $out,
+                       $entityLookup,
+                       $serializer,
+                       new NullEntityPrefetcher()
+               );
 
                $exceptionHandler = $this->getMock( 
'Wikibase\Lib\Reporting\ExceptionHandler' );
                $exceptionHandler->expects( $this->exactly( count( $ids ) ) )
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php
index a6d575b..dcbb772 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php
@@ -9,6 +9,7 @@
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\DataModel\Entity\PropertyId;
+use Wikibase\Lib\Store\NullEntityPrefetcher;
 use Wikibase\Dumpers\RdfDumpGenerator;
 use Wikibase\EntityRevision;
 use Wikibase\Test\RdfBuilderTest;
@@ -91,7 +92,8 @@
                        $this->getSiteList(),
                        $entityLookup,
                        $entityRevisionLookup,
-                       $propertyLookup
+                       $propertyLookup,
+                       new NullEntityPrefetcher()
                );
        }
 
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/api/SetClaimValueTest.php 
b/extensions/Wikibase/repo/tests/phpunit/includes/api/SetClaimValueTest.php
index 206ca1a..c42daa4 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/api/SetClaimValueTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/api/SetClaimValueTest.php
@@ -158,11 +158,13 @@
 
                $this->assertEquals( $claimCount, $claims->count(), 'Claim 
count should not change after doing a setclaimvalue request' );
 
-               $this->assertTrue( $claims->hasClaimWithGuid( $claimGuid ) );
+               $obtainedClaim = $claims->getClaimWithGuid( $claimGuid );
+
+               $this->assertNotNull( $obtainedClaim );
 
                $dataValue = DataValueFactory::singleton()->newFromArray( 
$claim['mainsnak']['datavalue'] );
 
-               $this->assertTrue( $claims->getClaimWithGuid( $claimGuid 
)->getMainSnak()->getDataValue()->equals( $dataValue ) );
+               $this->assertTrue( 
$obtainedClaim->getMainSnak()->getDataValue()->equals( $dataValue ) );
        }
 
        /**
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/api/SetQualifierTest.php 
b/extensions/Wikibase/repo/tests/phpunit/includes/api/SetQualifierTest.php
index e8e0bdf..12e5e31 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/api/SetQualifierTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/api/SetQualifierTest.php
@@ -177,10 +177,9 @@
 
                $claims = new Claims( $entity->getClaims() );
 
-               $this->assertTrue( $claims->hasClaimWithGuid( $params['claim'] 
) );
-
                $claim = $claims->getClaimWithGuid( $params['claim'] );
 
+               $this->assertNotNull( $claim );
                $this->assertTrue(
                        $claim->getQualifiers()->hasSnak( $qualifier ),
                        'The qualifier should exist in the qualifier list after 
making the request'
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialModifyTermTestCase.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialModifyTermTestCase.php
index a09e589..068015f 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialModifyTermTestCase.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialModifyTermTestCase.php
@@ -2,6 +2,7 @@
 
 namespace Wikibase\Test;
 
+use FauxRequest;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\EntityContent;
 use Wikibase\Repo\WikibaseRepo;
@@ -39,7 +40,7 @@
        public function testExecute() {
                $id = $this->createNewItem();
 
-               $this->setMwGlobals( 'wgGroupPermissions', array( '*' => array( 
'edit' => true ) ) );
+               $this->setMwGlobals( 'wgGroupPermissions', array( '*' => array( 
'edit' => true, 'item-term' => true ) ) );
 
                $page = $this->newSpecialPage();
 
@@ -114,4 +115,24 @@
                }
        }
 
+       public function testValuePreservesWhenNothingEntered() {
+               $id = $this->createNewItem();
+
+               $this->setMwGlobals( 'wgGroupPermissions', array( '*' => array( 
'edit' => true, 'item-term' => true ) ) );
+
+               $request = new FauxRequest( array( 'id' => $id, 'language' => 
'de', 'value' => '' ), true );
+
+               list( $output, ) = $this->executeSpecialPage( '', $request );
+
+               $this->assertTag( array(
+                       'tag' => 'input',
+                       'attributes' => array(
+                               'id' => 'wb-modifyterm-value',
+                               'class' => 'wb-input',
+                               'name' => 'value',
+                               'value' => 'foo',
+                       )
+               ), $output, 'Value still preserves when no value was entered in 
the big form' );
+       }
+
 }
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/ItemsPerSiteBuilderTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/ItemsPerSiteBuilderTest.php
index f20736c..9fe9600 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/ItemsPerSiteBuilderTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/ItemsPerSiteBuilderTest.php
@@ -5,6 +5,7 @@
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\Lib\Store\EntityLookup;
+use Wikibase\Lib\Store\NullEntityPrefetcher;
 use Wikibase\Lib\Store\SiteLinkTable;
 use Wikibase\Repo\Store\EntityIdPager;
 use Wikibase\Repo\Store\SQL\ItemsPerSiteBuilder;
@@ -78,7 +79,8 @@
        private function getItemsPerSiteBuilder() {
                return new ItemsPerSiteBuilder(
                        $this->getSiteLinkTable(),
-                       $this->getEntityLookup()
+                       $this->getEntityLookup(),
+                       new NullEntityPrefetcher()
                );
        }
 
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/TermSqlIndexTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/TermSqlIndexTest.php
index d1ecaf0..29803cf 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/TermSqlIndexTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/store/sql/TermSqlIndexTest.php
@@ -197,10 +197,11 @@
 
                $termIndex->saveTermsOfEntity( $item2 );
 
+               // The number of labels counts too
                $item3 = new Item( new ItemId( 'Q108' ) );
                $item3->setLabel( $languageCode, $termText );
-               $item3->getSiteLinkList()->addNewSiteLink( 'hrwiki', 'C' );
-               $item3->getSiteLinkList()->addNewSiteLink( 'uzwiki', 'C' );
+               $item3->setLabel( 'qxy', $termText );
+               $item3->setLabel( 'qxz', $termText );
 
                $termIndex->saveTermsOfEntity( $item3 );
 
diff --git a/vendor/composer/autoload_classmap.php 
b/vendor/composer/autoload_classmap.php
index 4e92366..398e196 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -700,6 +700,7 @@
     'Wikibase\\Lib\\Store\\LabelDescriptionLookup' => $baseDir . 
'/extensions/Wikibase/lib/includes/store/LabelDescriptionLookup.php',
     'Wikibase\\Lib\\Store\\LanguageFallbackLabelDescriptionLookup' => $baseDir 
. 
'/extensions/Wikibase/lib/includes/store/LanguageFallbackLabelDescriptionLookup.php',
     'Wikibase\\Lib\\Store\\LanguageLabelDescriptionLookup' => $baseDir . 
'/extensions/Wikibase/lib/includes/store/LanguageLabelDescriptionLookup.php',
+    'Wikibase\\Lib\\Store\\NullEntityPrefetcher' => $baseDir . 
'/extensions/Wikibase/lib/includes/store/NullEntityPrefetcher.php',
     'Wikibase\\Lib\\Store\\RedirectResolvingEntityLookup' => $baseDir . 
'/extensions/Wikibase/lib/includes/store/RedirectResolvingEntityLookup.php',
     'Wikibase\\Lib\\Store\\RevisionBasedEntityLookup' => $baseDir . 
'/extensions/Wikibase/lib/includes/store/RevisionBasedEntityLookup.php',
     'Wikibase\\Lib\\Store\\SiteLinkCache' => $baseDir . 
'/extensions/Wikibase/lib/includes/store/SiteLinkCache.php',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 9c12721..f4071da 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1199,12 +1199,12 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "43ad0d2c5bc348c04e25c4fc1797f3dbb113ce70"
+            "reference": "74ed9964b5ce079264ef79496551a48364f41e84"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/43ad0d2c5bc348c04e25c4fc1797f3dbb113ce70";,
-            "reference": "43ad0d2c5bc348c04e25c4fc1797f3dbb113ce70",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/74ed9964b5ce079264ef79496551a48364f41e84";,
+            "reference": "74ed9964b5ce079264ef79496551a48364f41e84",
             "shasum": ""
         },
         "require": {
@@ -1231,7 +1231,7 @@
         "conflict": {
             "mediawiki/mediawiki": "<1.23"
         },
-        "time": "2015-04-14 15:26:12",
+        "time": "2015-04-15 09:53:00",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {

-- 
To view, visit https://gerrit.wikimedia.org/r/204238
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Icca83444d98c19b3b9f5388aeb8faae0f5abdb0e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <wikidata-servi...@wikimedia.de>
Gerrit-Reviewer: Addshore <addshorew...@gmail.com>
Gerrit-Reviewer: Aude <aude.w...@gmail.com>
Gerrit-Reviewer: JanZerebecki <jan.wikime...@zerebecki.de>
Gerrit-Reviewer: Siebrand <siebr...@kitano.nl>
Gerrit-Reviewer: Tobias Gritschacher <tobias.gritschac...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to