Page MenuHomePhabricator

D7730.id17517.diff
No OneTemporary

D7730.id17517.diff

Index: src/applications/diffusion/query/rawdiff/DiffusionMercurialRawDiffQuery.php
===================================================================
--- src/applications/diffusion/query/rawdiff/DiffusionMercurialRawDiffQuery.php
+++ src/applications/diffusion/query/rawdiff/DiffusionMercurialRawDiffQuery.php
@@ -3,23 +3,7 @@
final class DiffusionMercurialRawDiffQuery extends DiffusionRawDiffQuery {
protected function executeQuery() {
- $raw_diff = $this->executeRawDiffCommand();
-
- // the only legitimate case here is if we are looking at the first commit
- // in the repository. no parents means first commit.
- if (!$raw_diff) {
- $drequest = $this->getRequest();
- $parent_query =
- DiffusionCommitParentsQuery::newFromDiffusionRequest($drequest);
- $parents = $parent_query->loadParents();
- if ($parents === array()) {
- // mercurial likes the string null here
- $this->setAgainstCommit('null');
- $raw_diff = $this->executeRawDiffCommand();
- }
- }
-
- return $raw_diff;
+ return $this->executeRawDiffCommand();
}
@@ -34,11 +18,14 @@
$against = $this->getAgainstCommit();
if ($against === null) {
- $against = $commit.'^';
+ // If `$commit` has no parents (usually because it's the first commit
+ // in the repository), we want to diff against `null`. This revset will
+ // do that for us automatically.
+ $against = '('.$commit.'^ or null)';
}
$future = $repository->getLocalCommandFuture(
- 'diff -U %d --git --rev %s:%s -- %s',
+ 'diff -U %d --git --rev %s --rev %s -- %s',
$this->getLinesOfContext(),
$against,
$commit,

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 20, 5:10 AM (11 h, 13 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6622514
Default Alt Text
D7730.id17517.diff (1 KB)

Event Timeline