Subject: Re: git compiled on same distro, different versions

From: Holger Hellmuth <[email-masked]>
Date: Mon, 27 Feb 2012 16:19:56 +0100

On 25.02.2012 01:05, Neal Kreitzinger wrote:
> "high-level" question:
> If I compile git 1.7.9.2 (from git.git source) on RHEL6 test-box and
> test it and conclude that it "works right" is that sufficient for me to
> then go ahead and compile git 1.7.9.2 on RHEL5 real-box and
> expect/assume that it will also "work right"? IOW, will they produce the
> same results? Because if not then I have just potentially broken the
> real-box.

Depends on your thoroughness. I.e. you have to assume that your testing 
does actually test aspects that are not covered by all the tests 
included with git (and not detected by hundreds of other users on that 
platform). In that case you can't guarantee anything, even applying 
routine security patches to the operating system could potentially break 
things (and some companies really test every single patch they apply to 
mission-critical systems).

> "low-level" question:
> I suspect git calls linux commands alot. Git has "plumbing" commands
> that are not supposed to "break" scripts. Does linux also have
> "plumbing" commands that are not supposed to "break" scripts? Does git
> only use linux "plumbing" commands? Because if git commands uses linux
> "porcelain" then the linux "porcelain" change could cause git to change
> (not necessarily "break"). Maybe git-porcelain only uses
> linux-porcelain, and git-plumbing only uses linux-plumbing.

As far as I know there is no plumbing/porcelain distinction in the linux 
kernel. But while the internal interfaces in the kernel change a lot, 
the external interface (to user space programs like git) is relatively 
fixed. You can assume that git is adapted to incompatible changes very 
fast. But nobody can guarantee you that bugs won't make a difference 
going from one platform to another.