dvc: retain formatting and comments in .dvc files (#1885)

* test: remove never used copy of load_stage_file()

* dvc: save comments and custom formatting in stage files

* Add a couple of TODOs

* test: test repro doesn't clear comments and formatting in .dvc

As part of this I started writing pytest-like tests and added commonly
used fixtures.

* test: simplify and prettify dvc formatting retained test

Also test that line comments after md5 fields are retained.

* test: fix tests

* dvc: fix stage and metrics opens not closed

* dvc: always use utf-8 in stage files

It used to encode in system default encoding. Not sure if PyYAML was
handling this silently or we were just lucky all the way.

* test: unit test apply_diff()

* test: remove TODOs and ASK

* dvc: polish dvc-formatting PR

* dvc: move stage load/dump utils to a new stage utils file

* dvc: clean up apply_diff()

* test: test stage md5 ignores comments

* test: remove pytests starting marker
This commit is contained in:
Alexander Schepanovski
2019-04-20 01:12:53 +03:00
committed by Ruslan Kuprieiev
parent b057c814ea
commit 0c867399bb
22 changed files with 356 additions and 128 deletions
-6
View File
@@ -1,4 +1,3 @@
import yaml
import os
from dvc.scm import Git
@@ -22,11 +21,6 @@ def get_gitignore_content():
return gitignore.read().splitlines()
def load_stage_file(path):
with open(path, "r") as fobj:
return yaml.safe_load(fobj)
@contextmanager
def cd(newdir):
prevdir = os.getcwd()