The `dvc/scm/__init__.py:scm_context` works with `Repo` objects and
is used mostly in `dvc/repo/...`, so it is better to put it in
`dvc/repo/scm_context.py`.
Fix#1769
Tree objects are used as `Repo().tree`, so it seemed logical to put them
inside `dvc/repo/tree.py`. But what is more important - `dvc.repo.Repo`
depends on `dvc.scm` and it is not convinient to use `dvc.repo.tree` in
`dvc.scm.git`.
Fix#1769
Uncommited files wouldn't be accessible as git objects.
It needs `git clean -fd` to amend "Working Tree" metrics collection
which took its part when the git tree is dirty.
Abstract access to filesystem and its implementation to access files and
particulary Stage objects in different git branches without `git
checkout` execution.
* Download Git package
* Extract tmp git repo & fetch data
* Handle fetch\cloud errors and rename select option
* Modify gitignore files when deploy a package
* More tests for git ignore file. Fix an old issue.
* Raise and exception when .gitignor not in a file subdir
* Existing tests fixes
* Basic test for packages
* Comment out pkg tests
* Codeclimate improvements
* Reformatting
* Enable pkg tests
* Fix tests no Windows
* Another old bug fix
* Fix encoding issue on Windows
* Another windows fix: apply compat.str magic to file write
* Back to posix path in gitignore and apply compat.str magic to tests
* gitignorepath: OS specifix path to posix
* Forgotten assignment
* misc: cleanup small issues
Signed-off-by: Ruslan Kuprieiev <[email protected]>
* cli: pkg: hide from help
Signed-off-by: Ruslan Kuprieiev <[email protected]>
Sometimes it is handy to manually update the stage MD5 checksum after some non-breaking changes were made (e.g. renaming an output file). Logging the computed md5 hash in verbose mode can help experienced users to fix this problem.