|
|
|
|
|
by blakeyrat
3588 days ago
|
|
A CLI is a user interface. The problem with Git (well, one of many many problems with Git) is that it conflates its user interface with machine interfaces-- which means tools that have to work with Git (like those GUI clients) have to use the CLI to do so. They don't have a more powerful option, like an officially-supported API or a shared library they could call into. This is terrible software design. |
|
In fact, there exist many alternative 'frontends' to Git. There are even protocol translators like Hg-Git [2], and many importers that typically use the fast-import format to ingest Git-impl primitives [3]
[1] https://libgit2.github.com/
[2] http://hg-git.github.io/
[3] https://github.com/frej/fast-export