{"thread":{"id":"29728","subject":"git compiled on same distro, different versions","startedAt":"2012-02-24T21:05:21Z","lastAt":"2012-02-27T15:19:56Z","messageCount":4,"participants":["Neal Kreitzinger","Junio C Hamano","Holger Hellmuth"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"185377","messageId":"ji8u2f$gml$1@dough.gmane.org","threadId":"29728","inReplyTo":null,"subject":"git compiled on same distro, different versions","fromName":"Neal Kreitzinger","fromEmail":"neal@rsss.com","sentAt":"2012-02-24T21:05:21Z","receivedAt":"2012-02-24T21:05:21Z","isPatch":false,"sender":{"key":"neal@rsss.com","avatar":null},"body":"If I only test a new git version (compiled from git.git source) on RHEL6 \nbefore I put it on the RHEL5 box is that sufficient for validation?  Should \ngit behave the same on both?  If not, why?\n\nWe don't have any RHEL5 VM images so it would be much easier for me to test \non a RHEL6 VM.  I would have to justify the building of a RHEL5 image just \nfor this purpose.\n\nv/r,\nneal \n"},{"id":"185391","messageId":"7vboonhoko.fsf@alter.siamese.dyndns.org","threadId":"29728","inReplyTo":"ji8u2f$gml$1@dough.gmane.org","subject":"Re: git compiled on same distro, different versions","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-02-24T22:08:23Z","receivedAt":"2012-02-24T22:08:23Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Neal Kreitzinger\" <neal@rsss.com> writes:\n\n> If I only test a new git version (compiled from git.git source) on RHEL6 \n> before I put it on the RHEL5 box is that sufficient for validation?  Should \n> git behave the same on both?  If not, why?\n\nI somehow find this a strange question to ask to Git people; you may have\nbetter luck asking the question to RHEL folks.\n\nHaving said that, one of the reasons the result may not work, off the top\nof my head, is that the binary you compiled would expect to link with the\nsystem libraries that are available on your RHEL6 installation.  If your\nRHEL5 installation does not have a matching and ABI compatible library to\nany of them, the resulting binary would obviously not work there.\n"},{"id":"185399","messageId":"4F4825CA.1060506@gmail.com","threadId":"29728","inReplyTo":"7vboonhoko.fsf@alter.siamese.dyndns.org","subject":"Re: git compiled on same distro, different versions","fromName":"Neal Kreitzinger","fromEmail":"nkreitzinger@gmail.com","sentAt":"2012-02-25T00:05:30Z","receivedAt":"2012-02-25T00:05:30Z","isPatch":false,"sender":{"key":"nkreitzinger@gmail.com","avatar":null},"body":"On 2/24/2012 4:08 PM, Junio C Hamano wrote:\n> \"Neal Kreitzinger\"<neal@rsss.com>  writes:\n>\n>> If I only test a new git version (compiled from git.git source) on RHEL6\n>> before I put it on the RHEL5 box is that sufficient for validation?  Should\n>> git behave the same on both?  If not, why?\n>\n> I somehow find this a strange question to ask to Git people; you may have\n> better luck asking the question to RHEL folks.\n>\n> Having said that, one of the reasons the result may not work, off the top\n> of my head, is that the binary you compiled would expect to link with the\n> system libraries that are available on your RHEL6 installation.  If your\n> RHEL5 installation does not have a matching and ABI compatible library to\n> any of them, the resulting binary would obviously not work there.\n>\n\"high-level\" question:\nIf I compile git 1.7.9.2 (from git.git source) on RHEL6 test-box and \ntest it and conclude that it \"works right\" is that sufficient for me to \nthen go ahead and compile git 1.7.9.2 on RHEL5 real-box and \nexpect/assume that it will also \"work right\"?  IOW, will they produce \nthe same results?  Because if not then I have just potentially broken \nthe real-box.\n\n\"low-level\" question:\nI suspect git calls linux commands alot.  Git has \"plumbing\" commands \nthat are not supposed to \"break\" scripts.  Does linux also have \n\"plumbing\" commands that are not supposed to \"break\" scripts?  Does git \nonly use linux \"plumbing\" commands?  Because if git commands uses linux \n\"porcelain\" then the linux \"porcelain\" change could cause git to change \n(not necessarily \"break\").  Maybe git-porcelain only uses \nlinux-porcelain, and git-plumbing only uses linux-plumbing.\n\nDefinitely thanks in advance for any replies!\n\nv/r,\nneal\n"},{"id":"185518","messageId":"4F4B9F1C.8040607@ira.uka.de","threadId":"29728","inReplyTo":"4F4825CA.1060506@gmail.com","subject":"Re: git compiled on same distro, different versions","fromName":"Holger Hellmuth","fromEmail":"hellmuth@ira.uka.de","sentAt":"2012-02-27T15:19:56Z","receivedAt":"2012-02-27T15:19:56Z","isPatch":false,"sender":{"key":"hellmuth@ira.uka.de","avatar":null},"body":"On 25.02.2012 01:05, Neal Kreitzinger wrote:\n> \"high-level\" question:\n> If I compile git 1.7.9.2 (from git.git source) on RHEL6 test-box and\n> test it and conclude that it \"works right\" is that sufficient for me to\n> then go ahead and compile git 1.7.9.2 on RHEL5 real-box and\n> expect/assume that it will also \"work right\"? IOW, will they produce the\n> same results? Because if not then I have just potentially broken the\n> real-box.\n\nDepends on your thoroughness. I.e. you have to assume that your testing \ndoes actually test aspects that are not covered by all the tests \nincluded with git (and not detected by hundreds of other users on that \nplatform). In that case you can't guarantee anything, even applying \nroutine security patches to the operating system could potentially break \nthings (and some companies really test every single patch they apply to \nmission-critical systems).\n\n> \"low-level\" question:\n> I suspect git calls linux commands alot. Git has \"plumbing\" commands\n> that are not supposed to \"break\" scripts. Does linux also have\n> \"plumbing\" commands that are not supposed to \"break\" scripts? Does git\n> only use linux \"plumbing\" commands? Because if git commands uses linux\n> \"porcelain\" then the linux \"porcelain\" change could cause git to change\n> (not necessarily \"break\"). Maybe git-porcelain only uses\n> linux-porcelain, and git-plumbing only uses linux-plumbing.\n\nAs far as I know there is no plumbing/porcelain distinction in the linux \nkernel. But while the internal interfaces in the kernel change a lot, \nthe external interface (to user space programs like git) is relatively \nfixed. You can assume that git is adapted to incompatible changes very \nfast. But nobody can guarantee you that bugs won't make a difference \ngoing from one platform to another.\n"}]}