3 ms·
magit and p4.el are different. The scope of the projects is different - p4.el is a thin wrapper over p4, magit is an full blow UI both exposing and going beyo
by gleb 11y ago
magit and p4.el are different. The scope of the projects is different - p4.el is a thin wrapper over p4, magit is an full blow UI both exposing and going beyond the underlying git's "porcelain".
Compared to git Perforce command line interface is much smaller and more consistent. And it is designed to be invoked from an editor/IDE. This makes p4.el job easier than magit's. p4.el has fewer features, needing less code, and can reuse more of this code.
p4.el UI was also designed to mirror p4's interface using the same commands and vocabulary. This makes it unusual in Emacs world where SCM interfaces tend to use UI derived from to pcl-cvs. p4.el does not. magit clearly started out similar, but is now vastly more ambitious, but still has some of this flavor.
W.r.t. editor support - for any command where the CLI would open P4EDITOR with some template filled in (like say committing) - p4 has an equivalent workflow which can be easily automated from within an IDE. I.e. it has one command/option that will spit out the template, and another command/option that will accept this template filled in, from stdin. It's hard to believe but git lacks this feature. So, magit has an elaborate library to work around this using emacsclient.