From c8409bb5b2586576d384596580049142eef35c66 Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 6 Nov 2012 17:46:55 -0800 Subject: [PATCH] Fix an issue where `arc diff` would loop indefinitely for a property change Summary: When we hit a diff which is missing file context, we try to pull it synthetically later. This works for moves and copies, but currently fails for property changes. Since it failed, we didn't have context, so we'd try to pull it again... The general problem this creates is that when you mark a file "+x" without changing it, we can't show you the content in Differential. Not a huge deal. In some future diff, I'll build the content synthetically. Adds commits to cover this behavior: commit 1830a13adf764b55743f7edc6066451898d8ffa4 Author: epriestley Date: Tue Nov 6 17:11:18 2012 -0800 Mark koan2 +x and edit it. commit 8ecc728bcc9b482a9a91527ea471b04fc1a025cf Author: epriestley Date: Tue Nov 6 17:08:44 2012 -0800 Move 'text' to 'executable' and mark it +x. commit 39c8e7dd3914edff087a6214f0cd996ad08e5b3d Author: epriestley Date: Tue Nov 6 16:36:59 2012 -0800 Mark koan as +x. Test Plan: Ran unit tests. Previously, they looped indefinitely. Now, they pass. Reviewers: vrana, btrahan Reviewed By: btrahan CC: aran Differential Revision: https://secure.phabricator.com/D3909 --- src/parser/ArcanistBundle.php | 3 +- src/parser/ArcanistDiffParser.php | 12 +++- .../__tests__/ArcanistBundleTestCase.php | 54 ++++++++++++++++++ src/parser/__tests__/bundle.git.tgz | Bin 22922 -> 21145 bytes ...adf764b55743f7edc6066451898d8ffa4.gitpatch | 12 ++++ ...d3914edff087a6214f0cd996ad08e5b3d.gitpatch | 4 ++ ...bcc9b482a9a91527ea471b04fc1a025cf.gitpatch | 6 ++ 7 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 src/parser/__tests__/patches/1830a13adf764b55743f7edc6066451898d8ffa4.gitpatch create mode 100644 src/parser/__tests__/patches/39c8e7dd3914edff087a6214f0cd996ad08e5b3d.gitpatch create mode 100644 src/parser/__tests__/patches/8ecc728bcc9b482a9a91527ea471b04fc1a025cf.gitpatch diff --git a/src/parser/ArcanistBundle.php b/src/parser/ArcanistBundle.php index cdb11edf..994f15db 100644 --- a/src/parser/ArcanistBundle.php +++ b/src/parser/ArcanistBundle.php @@ -377,7 +377,8 @@ final class ArcanistBundle { if ($type == ArcanistDiffChangeType::TYPE_COPY_HERE || $type == ArcanistDiffChangeType::TYPE_MOVE_HERE || - $type == ArcanistDiffChangeType::TYPE_COPY_AWAY) { + $type == ArcanistDiffChangeType::TYPE_COPY_AWAY || + $type == ArcanistDiffChangeType::TYPE_CHANGE) { if ($old_mode !== $new_mode) { $result[] = "old mode {$old_mode}".PHP_EOL; $result[] = "new mode {$new_mode}".PHP_EOL; diff --git a/src/parser/ArcanistDiffParser.php b/src/parser/ArcanistDiffParser.php index 4e266973..38d74bd0 100644 --- a/src/parser/ArcanistDiffParser.php +++ b/src/parser/ArcanistDiffParser.php @@ -543,9 +543,15 @@ final class ArcanistDiffParser { // // ...i.e., there is no associated diff. - $change->setNeedsSyntheticGitHunks(true); - if ($move_source) { - $move_source->setNeedsSyntheticGitHunks(true); + // This allows us to distinguish between property changes only + // and actual moves. For property changes only, we can't currently + // build a synthetic diff correctly, so just skip it. + // TODO: Build synthetic diffs for property changes, too. + if ($change->getType() != ArcanistDiffChangeType::TYPE_CHANGE) { + $change->setNeedsSyntheticGitHunks(true); + if ($move_source) { + $move_source->setNeedsSyntheticGitHunks(true); + } } return; } diff --git a/src/parser/__tests__/ArcanistBundleTestCase.php b/src/parser/__tests__/ArcanistBundleTestCase.php index 88301ef0..747286f1 100644 --- a/src/parser/__tests__/ArcanistBundleTestCase.php +++ b/src/parser/__tests__/ArcanistBundleTestCase.php @@ -130,6 +130,60 @@ final class ArcanistBundleTestCase extends ArcanistTestCase { } switch ($commit) { + case '1830a13adf764b55743f7edc6066451898d8ffa4': + // "Mark koan2 as +x and edit it." + + $this->assertEqual(1, count($changes)); + + $c = $changes['koan2']; + $this->assertEqual( + ArcanistDiffChangeType::TYPE_CHANGE, + $c->getType()); + + $this->assertEqual( + '100644', + idx($c->getOldProperties(), 'unix:filemode')); + + $this->assertEqual( + '100755', + idx($c->getNewProperties(), 'unix:filemode')); + break; + case '8ecc728bcc9b482a9a91527ea471b04fc1a025cf': + // "Move 'text' to 'executable' and mark it +x." + + $this->assertEqual(2, count($changes)); + + $c = $changes['executable']; + $this->assertEqual( + ArcanistDiffChangeType::TYPE_MOVE_HERE, + $c->getType()); + + $this->assertEqual( + '100644', + idx($c->getOldProperties(), 'unix:filemode')); + + $this->assertEqual( + '100755', + idx($c->getNewProperties(), 'unix:filemode')); + break; + case '39c8e7dd3914edff087a6214f0cd996ad08e5b3d': + // "Mark koan as +x." + // Primarily a test against a recusive synthetic hunk construction bug. + $this->assertEqual(1, count($changes)); + + $c = $changes['koan']; + $this->assertEqual( + ArcanistDiffChangeType::TYPE_CHANGE, + $c->getType()); + + $this->assertEqual( + '100644', + idx($c->getOldProperties(), 'unix:filemode')); + + $this->assertEqual( + '100755', + idx($c->getNewProperties(), 'unix:filemode')); + break; case 'c573c25d1a767d270fed504cd993e78aba936338': // "Copy a koan over text, editing the original koan." // Git doesn't really do anything meaningful with this. diff --git a/src/parser/__tests__/bundle.git.tgz b/src/parser/__tests__/bundle.git.tgz index 9ad428c61c6c69d7790b4534d1692ec497d82716..e3b267ef654991883a6799ff01e5cc2414679397 100644 GIT binary patch literal 21145 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�NMlnh=HrK>?m&AWVO1av<2CU~ex73; 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

jMYAx}X%ndMl;@#v? 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