From 81d7efa7bb72aaea2a8bf7ee1e7c4609f0672ee9 Mon Sep 17 00:00:00 2001 From: vinay karanam Date: Wed, 25 May 2016 14:44:59 +0530 Subject: [PATCH 1/2] only consider forward diff in changed files --- pre_commit/commands/run.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pre_commit/commands/run.py b/pre_commit/commands/run.py index 9c219008..424e2958 100644 --- a/pre_commit/commands/run.py +++ b/pre_commit/commands/run.py @@ -51,7 +51,7 @@ def _print_user_skipped(hook, write, args): def get_changed_files(new, old): return cmd_output( - 'git', 'diff', '--name-only', '{0}..{1}'.format(old, new), + 'git', 'diff', '--name-only', '{0}...{1}'.format(old, new), )[1].splitlines() From b61a0b54679e8ec3401ea4172c4321ae80838bd2 Mon Sep 17 00:00:00 2001 From: Vinay Karanam Date: Wed, 1 Jun 2016 15:49:44 +0530 Subject: [PATCH 2/2] added test for git forward diff --- tests/commands/run_test.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/commands/run_test.py b/tests/commands/run_test.py index f85468ce..ae8b523f 100644 --- a/tests/commands/run_test.py +++ b/tests/commands/run_test.py @@ -401,6 +401,10 @@ def test_get_changed_files(): ) assert files == ['CHANGELOG.md', 'setup.py'] + # files changed in source but not in origin should not be returned + files = get_changed_files('HEAD~10', 'HEAD') + assert files == [] + def test_lots_of_files(mock_out_store_directory, tempdir_factory): # windows xargs seems to have a bug, here's a regression test for