git: add support for working with refspecs and stashes (#4952)

* git: add support for dulwich Stash

* git: start adding support for custom refs

* git: add Stash and helper context managers for preserving
workspace state

* scm: cleanup refs/stash and add push_refspec

* tests: add tests for git refs and stash

* fix push_refspec

* tests: add tests for git push_refspec

* scm: add git fetch-refspecs

* add test for fetch refspecs

* scm: add test for git refs containing

* remove extraneous log msgs

* fix typing issues

* stash: only try to push if workspace is dirty

* update dulwich to 0.20.14

* scm: move dulwich into scm.backend

* move stash internals to backends

* scm: move git code into dvc/scm/git/... module

* git: use ABC for BaseGitBackend

* fix rebase issue

* git: fix refspec tests on windows

- git file:// URLs need posix style paths

* git: move get_refs_containing to backend

* scm: add callback for handling diverged refs during fetch
This commit is contained in:
Peter Rowlands (변기호)
2020-12-01 16:56:50 +09:00
committed by GitHub
parent 38cbd998e1
commit 1e52bc94a3
9 changed files with 839 additions and 13 deletions
+1 -1
View File
@@ -50,7 +50,7 @@ install_requires = [
"colorama>=0.3.9",
"configobj>=5.0.6",
"gitpython>3",
"dulwich>=0.20.11",
"dulwich>=0.20.14",
"setuptools>=34.0.0",
"nanotime>=0.5.2",
"pyasn1>=0.4.1",