Skip to content

Don't rely on system git executable #16

Open
@doshitan

Description

@doshitan

Context

The project currently has a bunch of utilities for interacting with Git in nava/platform/util/git.py. These call the git executable in a subprocess. This requires users have a particular version of git available on their system to use the tool. We can relax that requirement, and possibly improve some performance, by switching to library for interactions with Git.

Although ultimately copier still requires the git executable at the moment, this tool may eventually have useful functionality that interacts with git outside of Copier. In addition to not having to re-invent a Python interface to Git operations.

Implementation

Probably with dulwich (https://github.com/jelmer/dulwich)

Possibly with pytgit2 (https://www.pygit2.org/index.html)

Copier has a similar open issue, though there's not much interest in making the switch there because (sensibly) if someone is using a Git template, they almost certainly have git installed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions