scmrepo
scmrepo copied to clipboard
SCM wrapper and fsspec filesystem for Git for use in DVC.
https://github.com/jelmer/dulwich/issues/882 in libgit2/pygit2 this requires exposing `git_fetch_options.extra_headers` in the pygit remote callbacks
- [x] expose `git_remote_create_anonymous` in `pygit2.Remote.create_anonymous` - [ ] investigate windows `file://` behavior in pygit/libgit _Originally posted by @pmrowla in https://github.com/iterative/scmrepo/pull/169#pullrequestreview-1278378606_
# Bug Report ## Description As I have multiple GitHub accounts (work and personal) on a single machine, I use SSH aliases to easily switch between the accounts when using...
# Bug Report ## pull: "no valid credentials" when using ssh-agent ## Description As outlined in iterative/scmrepo#215, I tried setting up SSH keys using the [webfactory/ssh-agent](https://github.com/webfactory/ssh-agent) action. However, dvc always...
Follow up to https://github.com/iterative/scmrepo/issues/211 dulwich currently lacks support for .gitattributes line ending/normalization settings, we should either contribute this upstream or detect when text normalization attributes are set and then force...
Currently, gitfs works on one single revision, but we could totally make `version_aware` version (similar to s3fs, gcsfs, adlfs) and support revisions as `version_id`. The implementation is fairly straightforward (just...
Had to pin it in https://github.com/iterative/scmrepo/commit/42cbd913cf3a16b85491b9604bbcf96465a2f14b Example failure: https://github.com/iterative/scmrepo/actions/runs/4172914933/jobs/7224610376#step:6:126
When using a git repo with `sparse-checkout` set (`git sparse-checkout set`), this sets the `worktreeconfig = true` in the git config. This is currently not supported by dulwich
I have an issue in iterative/dvc#7967, that appears is actually an issue with scmrepo. In scmrepo, there is an assumption that hooks are in .git/hooks, and it is hardcoded as...
`get_fs` doesn't pass a trie to the fs: https://github.com/iterative/scmrepo/blob/28973b17f747d90cc0a132dff485244191dfe29b/scmrepo/git/__init__.py#L300 which results in it always defaulting to `pygit2` https://github.com/iterative/scmrepo/blob/28973b17f747d90cc0a132dff485244191dfe29b/scmrepo/fs.py#L175 which is against the general `scmrepo` behavior, where it should go through...