From 34ec940dc6b602e35a29a5bdb208eb14e4322b64 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Sat, 17 Mar 2018 11:36:40 +0200 Subject: [PATCH 1/3] appveyor: pip fixes Signed-off-by: Ruslan Kuprieiev --- .appveyor.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index ec4f0c6e3..c00ffffae 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -41,14 +41,11 @@ environment: # PYTHON_ARCH: "64" install: - - cinst graphviz - cinst wget - cinst awscli - cinst gsutil - cinst openssl.light - - wget --no-check-certificate https://github.com/dpinney/omf/raw/master/omf/static/pygraphviz-1.3.1-cp27-none-win32.whl - - pip install --upgrade pip setuptools - - pip install pygraphviz-1.3.1-cp27-none-win32.whl + - pip install --user --upgrade pip - pip install -r requirements.txt - python setup.py install From 557e734fec4d23d128ae4b56268d7f0419b000c3 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Sat, 17 Mar 2018 11:24:31 +0200 Subject: [PATCH 2/3] repro: fix --force option Fixes #561 Signed-off-by: Ruslan Kuprieiev --- dvc/project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dvc/project.py b/dvc/project.py index 7e48eda13..0a9e3e1a4 100644 --- a/dvc/project.py +++ b/dvc/project.py @@ -125,7 +125,7 @@ class Project(object): return stage def _reproduce_stage(self, stages, node, force): - if not stages[node].changed(): + if not stages[node].changed() and not force: return [] stages[node].reproduce(force=force) From 286002f9cb94200316666a9939cda3e423315e38 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Sat, 17 Mar 2018 11:29:40 +0200 Subject: [PATCH 3/3] test: add '--force' test for repro Signed-off-by: Ruslan Kuprieiev --- tests/test_repro.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/test_repro.py b/tests/test_repro.py index fc995a67d..afd58ddd5 100644 --- a/tests/test_repro.py +++ b/tests/test_repro.py @@ -25,6 +25,12 @@ class TestRepro(TestDvc): cmd='python {} {} {}'.format(self.CODE, self.FOO, self.file1)) +class TestReproForce(TestRepro): + def test(self): + stages = self.dvc.reproduce(self.file1_stage, force=True) + self.assertEqual(len(stages), 2) + + class TestReproChangedCode(TestRepro): def test(self): self.swap_code()