# what are plumbing and porcelain

5 messages from 2009-01-21 to 2009-01-21. Participants: bill lam, Boyd Stephen Smith Jr..
Thread: https://gitlist.dev/t/17279

## bill lam, 2009-01-21 05:27

Subject: what are plumbing and porcelain
Message-ID: <20090121052741.GC6970@b2j>
URL: https://gitlist.dev/e/20090121052741.GC6970%40b2j

```
Sorry for this idiot question, but I really don't know what they are
and why it is necessary to distinguish between them.

-- 
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
唐詩318 李白  清平調三首之二
    一枝紅豔露凝香  雲雨巫山枉斷腸  借問漢宮誰得似  可憐飛燕倚新妝

```

## Boyd Stephen Smith Jr., 2009-01-21 05:50

Subject: Re: what are plumbing and porcelain
Message-ID: <200901202350.15011.bss@iguanasuicide.net>
URL: https://gitlist.dev/e/200901202350.15011.bss%40iguanasuicide.net
In-Reply-To: <20090121052741.GC6970@b2j>

```
On Tuesday 20 January 2009, bill lam <cbill.lam@gmail.com> wrote 
about 'what are plumbing and porcelain':
>Sorry for this idiot question, but I really don't know what they are
>and why it is necessary to distinguish between them.

"plumbing" are the commands that do low-level operations.  Generally, 
end-users won't have to use them much, if at all, but they 
are "fundamental" operations, upon which git is built.  It's a term also 
used in other project some, with a similar meaning.

"porcelain" is a cute name for the end-user operations.  They "cover" the 
plumbing to make it look and act "pretty".  While some may be less useful 
to some users, they all are high-level operations that depend on the 
plumbing.

It's important to distinguish between them because we don't want the 
plumbing to get needlessly complex.  They should be single-purpose 
commands and their options should be utilitarian in nature.  Also, 
porcelain is meant to be used interactively, not in scripts, so the output 
or behavior might change a bit--but that is still kept to a minimum.
-- 
Boyd Stephen Smith Jr.                     ,= ,-_-. =. 
bss@iguanasuicide.net                     ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy           `-'(. .)`-' 
http://iguanasuicide.net/                      \_/     

```

## bill lam, 2009-01-21 06:07

Subject: Re: what are plumbing and porcelain
Message-ID: <20090121060726.GE6970@b2j>
URL: https://gitlist.dev/e/20090121060726.GE6970%40b2j
In-Reply-To: <200901202350.15011.bss@iguanasuicide.net>

```
On Tue, 20 Jan 2009, Boyd Stephen Smith Jr. wrote:
> "plumbing" are the commands that do low-level operations.  Generally, 
> end-users won't have to use them much, if at all, but they 

I can see now gitk should probably be porcelain. But how about
commands such as git add or git rebase used with either the -i switch
on or off?

-- 
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
唐詩299 李商隱  寄令狐郎中
    嵩雲秦樹久離居  雙鯉迢迢一紙筆  休問梁園舊賓客  茂陵秋雨病相如

```

## Boyd Stephen Smith Jr., 2009-01-21 06:51

Subject: Re: what are plumbing and porcelain
Message-ID: <200901210051.21663.bss@iguanasuicide.net>
URL: https://gitlist.dev/e/200901210051.21663.bss%40iguanasuicide.net
In-Reply-To: <20090121060726.GE6970@b2j>

```
On Wednesday 21 January 2009, bill lam <cbill.lam@gmail.com> wrote 
about 'Re: what are plumbing and porcelain':
>On Tue, 20 Jan 2009, Boyd Stephen Smith Jr. wrote:
>> "plumbing" are the commands that do low-level operations.  Generally,
>> end-users won't have to use them much, if at all, but they
>
>I can see now gitk should probably be porcelain. But how about
>commands such as git add or git rebase used with either the -i switch
>on or off?

If you have git installed, "man git" should contain separate lists of 
porcelain and plumbing.  If not, the documentation is available in the git 
repository, under Documentation/.  Porcelain: cmds-mainporcelain.txt, 
cmds-ancillarymanipulators.txt, cmds-ancillaryinterrogators.txt, and 
cmds-foreignscminterface.txt.  Plumbing: cmds-plumbingmanipulators.txt, 
cmds-plumbinginterrogators.txt, cmds-synchingrepositories.txt, 
cmds-synchelpers.txt, and cmds-purehelpers.txt
-- 
Boyd Stephen Smith Jr.                     ,= ,-_-. =. 
bss@iguanasuicide.net                     ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy           `-'(. .)`-' 
http://iguanasuicide.net/                      \_/     

```

## bill lam, 2009-01-21 07:23

Subject: Re: what are plumbing and porcelain
Message-ID: <20090121072354.GF6970@b2j>
URL: https://gitlist.dev/e/20090121072354.GF6970%40b2j
In-Reply-To: <200901210051.21663.bss@iguanasuicide.net>

```
Thanks for bringing my attention to that.

-- 
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
唐詩306 鄭畋  馬嵬坡
    玄宗回馬楊妃死  雲雨難忘日月新  終是聖明天子事  景陽宮井又何人

```
