Re: Barebone Porcelain. Where to stop?
- From
- Frank Sorenson <frank@tuxrocks.com>
- Date
- Jul 18, 2005, 20:57 UTC
- Message-ID
- <42DC17C5.80000@tuxrocks.com>
- In-Reply-To
- <7v8y04q6sj.fsf@assigned-by-dhcp.cox.net>
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Junio C Hamano wrote:
Show 25 quoted lines
> Catalin Marinas <catalin.marinas@gmail.com> writes: > >>I don't see git going towards stgit at all. Indeed, it gets closer to >>cogito but I still like cogito over plain git since it's easier to use >>(my goal, though, is to add pull/clone commands to stgit so that one >>doesn't need to rely on directly using other tools). > > All good to hear. I do not speak for Linus, but I think core > should not be competing with Porcelain. To me, there are four > purposes for the barebone Porcelain layer: > > (1) provide the end user a minimum UI to do essential things. > > (2) codify the BCP/convention to use the core by higher level > SCMs to help them stay compatible with each other where > possible (e.g. "what .git/HEAD means, when it gets updated, > and to what" was discussed recently). > > (3) serve as an example for people interested in learning the > core GIT (i.e. they may be starting their own Porcelain). > > (4) implement operations that are heavy on logic/convention but > does not have much UI need so that higher level SCMs can > implement their own UI by just being a thin wrapper around > them (e.g. clone/fetch and push).
These all sound good. Along the lines of #4, one potential purpose I've been curious about is the possibility of pulling these core operations out into a library that Porcelain could use directly. This way, Porcelain, including the minimum git UI (your #1), could directly link in and call the needed functions, and rather than stringing sequences of git-whatever commands together in a shell script.
This would allow Porcelain to take advantage of the core git more directly, and would improve the speed of Porcelain. The minimum UI (#1) would be a much simpler example (#3), since it would only be the front-end, rather than the front-end/back-end combination it is now.
Is this something we want to consider, or am I out in left field? :)
Frank - -- Frank Sorenson - KD7TZK Systems Manager, Computer Science Department Brigham Young University frank@tuxrocks.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFC3BfFaI0dwg4A47wRApyQAKD3yXqYfcm7TgJ5GnIZsw5ZcB+P/wCgpM75 cjPHXi8jd0VthQjKNFITFxU= =Jxx/ -----END PGP SIGNATURE-----