4 ms·
That's the first thing that drove me initially to Emacs. I never found a Git client that well-crafted.
by RMPR 6y ago
That's the first thing that drove me initially to Emacs. I never found a Git client that well-crafted.
- globular-toast 6y agoThat's because most aren't designed as git porcelains. Magit enhances and, in some cases, replaces git's abstractions with its own. If a git frontend starts by taking git's own built-in porcelain as a given then it's already doomed to failure.
- ajarmst 6y agoI've been using Magit for years, but I've never seen the use of "porcelain" as a jargon term to describe anything but Magit. Can you point me to a 'splaner on the use of that term? Googling hasn't gotten me anything but an insight to just how many people take porcelain (the pottery) very, very seriously.
- lapinot 6y agohttps://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Po... tldr: git low-level commands are considered API and called "plumbing" (eg `git cat-file`, `git upload-pack`), otoh stuff like `git push` is porcelain: it's an ui layer.
- globular-toast 6y agoIt's a git specific terminology. The plumbing is low level stuff like creating objects etc (ie. DAG operations). The porcelain is high level stuff like "rebase" which is (supposedly) designed for human use.
- simias 6y agoIt's silly git nomenclature for "human readable output". Except it's not even used consistently within git. What the parent mean is that some tool rely on the human-oriented, potentially unstable output of git commands instead of using lower level layers.