{"thread":{"id":"6500","subject":"Remote git-describe ?","startedAt":"2007-01-24T10:31:40Z","lastAt":"2007-01-24T15:23:43Z","messageCount":11,"participants":["Francis Moreau","Johannes Schindelin","Junio C Hamano","Santi Béjar","Simon 'corecode' Schubert","Nicolas Pitre"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"32504","messageId":"38b2ab8a0701240231v5ec4acfasd838ececb316500d@mail.gmail.com","threadId":"6500","inReplyTo":null,"subject":"Remote git-describe ?","fromName":"Francis Moreau","fromEmail":"francis.moro@gmail.com","sentAt":"2007-01-24T10:31:40Z","receivedAt":"2007-01-24T10:31:40Z","isPatch":false,"sender":{"key":"francis.moro@gmail.com","avatar":null},"body":"Hi !\n\nI'm looking for a command that would give the same output than 'git\ndescribe' but on a remote server.\n\nIs this possible ?\n\nthanks\n-- \nFrancis\n"},{"id":"32505","messageId":"Pine.LNX.4.63.0701241201410.22628@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"6500","inReplyTo":"38b2ab8a0701240231v5ec4acfasd838ececb316500d@mail.gmail.com","subject":"Re: Remote git-describe ?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-01-24T11:03:26Z","receivedAt":"2007-01-24T11:03:26Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Wed, 24 Jan 2007, Francis Moreau wrote:\n\n> I'm looking for a command that would give the same output than 'git\n> describe' but on a remote server.\n> \n> Is this possible ?\n\nIt would be possible; at a high cost (especially on the remote server): \nYou definitely need _all_ commits between the commit you want to describe \nand the tag it eventually finds, and possibly all other commits, too.\n\nSo it boils down to fetching all commit objects. It is much cheaper, and \nmore efficient, to just fetch the repo and do it locally.\n\nHth,\nDscho\n"},{"id":"32507","messageId":"38b2ab8a0701240313w64c2df57w2542b63eba2294e0@mail.gmail.com","threadId":"6500","inReplyTo":"Pine.LNX.4.63.0701241201410.22628@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: Remote git-describe ?","fromName":"Francis Moreau","fromEmail":"francis.moro@gmail.com","sentAt":"2007-01-24T11:13:17Z","receivedAt":"2007-01-24T11:13:17Z","isPatch":false,"sender":{"key":"francis.moro@gmail.com","avatar":null},"body":"On 1/24/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> Hi,\n>\n> On Wed, 24 Jan 2007, Francis Moreau wrote:\n>\n> > I'm looking for a command that would give the same output than 'git\n> > describe' but on a remote server.\n> >\n> > Is this possible ?\n>\n> It would be possible; at a high cost (especially on the remote server):\n> You definitely need _all_ commits between the commit you want to describe\n> and the tag it eventually finds, and possibly all other commits, too.\n>\n> So it boils down to fetching all commit objects. It is much cheaper, and\n> more efficient, to just fetch the repo and do it locally.\n>\n\nreally ? Givinig that I would use it to describe the HEAD of the kernel repo:\n\n        $ git describe --remote=<git-server> HEAD\n\nthis would make the server parse all commits between HEAD and the\nclosest tag which seems to me a lot cheaper than downloading the whole\nrepo...\n-- \nFrancis\n"},{"id":"32510","messageId":"Pine.LNX.4.63.0701241227490.22628@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"6500","inReplyTo":"38b2ab8a0701240313w64c2df57w2542b63eba2294e0@mail.gmail.com","subject":"Re: Remote git-describe ?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-01-24T11:29:24Z","receivedAt":"2007-01-24T11:29:24Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Wed, 24 Jan 2007, Francis Moreau wrote:\n\n> On 1/24/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> > Hi,\n> > \n> > On Wed, 24 Jan 2007, Francis Moreau wrote:\n> > \n> > > I'm looking for a command that would give the same output than 'git\n> > > describe' but on a remote server.\n> > >\n> > > Is this possible ?\n> > \n> > It would be possible; at a high cost (especially on the remote server):\n> > You definitely need _all_ commits between the commit you want to describe\n> > and the tag it eventually finds, and possibly all other commits, too.\n> > \n> > So it boils down to fetching all commit objects. It is much cheaper, and\n> > more efficient, to just fetch the repo and do it locally.\n> > \n> \n> really ? Givinig that I would use it to describe the HEAD of the kernel \n> repo:\n> \n>        $ git describe --remote=<git-server> HEAD\n> \n> this would make the server parse all commits between HEAD and the \n> closest tag which seems to me a lot cheaper than downloading the whole \n> repo...\n\nThe problem is that you don't know which tag is closest. You _have_ to \nwalk the ancestry to find out.\n\nBesides, it has been determined that the commit objects _alone_ make up \nquite a substantial part of the repo, so downloading them _is_ similar to \ndownloading the whole repo.\n\nCiao,\nDscho\n"},{"id":"32512","messageId":"7vps94fweq.fsf@assigned-by-dhcp.cox.net","threadId":"6500","inReplyTo":"38b2ab8a0701240313w64c2df57w2542b63eba2294e0@mail.gmail.com","subject":"Re: Remote git-describe ?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-01-24T12:21:01Z","receivedAt":"2007-01-24T12:21:01Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Francis Moreau\" <francis.moro@gmail.com> writes:\n\n> ... Givinig that I would use it to describe the HEAD of the kernel repo:\n>\n>        $ git describe --remote=<git-server> HEAD\n>\n> this would make the server parse all commits between HEAD and the\n> closest tag which seems to me a lot cheaper than downloading the whole\n> repo...\n\nDo you mean you want to have the server describe the HEAD the\nserver side has (not the HEAD in your repository)?  Why?\n\nI suspect the real motivation of your question lies elsewhere\nand not in \"describe\".\n\nSuppose we had such a service on the server side, and you asked\nthe server twice and got these (at different times, of course):\n\n\tv2.6.20-rc5-g419dd83\n\tv2.6.20-rc5-gde14569\n\nWhat useful information can you get between the two?  \n\nNothing.\n\nThe commit object names are like random numbers and 419dd83 may\nor may not be older than de14569.  The \"hash\" part of the\noutput is meaningless for you until you actually have the\nhistory to poke at with \"git log\", \"git diff\" and friends.\n\nAnother request might give you this:\n\n\tv2.6.20-rc6\n\nAt least, between this one and the previous two, you have a\nlittle bit of information that you can use: \"Ah, another\ndevelopment phase.\"\n\nSo I suspect what you are after is not about using describe\nremotely or describing where the HEAD is; you want to know if\nthere is a new tag near the tip since the last time you checked.\n\nIf that is the case, \"git-ls-remote --tags\" is probably what you\nwant. \n"},{"id":"32513","messageId":"7vlkjsfvro.fsf@assigned-by-dhcp.cox.net","threadId":"6500","inReplyTo":"7vps94fweq.fsf@assigned-by-dhcp.cox.net","subject":"Re: Remote git-describe ?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-01-24T12:34:51Z","receivedAt":"2007-01-24T12:34:51Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <junkio@cox.net> writes:\n\n> Suppose we had such a service on the server side, and you asked\n> the server twice and got these (at different times, of course):\n>\n> \tv2.6.20-rc5-g419dd83\n> \tv2.6.20-rc5-gde14569\n>\n> What useful information can you get between the two?  \n>\n> Nothing.\n>\n> The commit object names are like random numbers and 419dd83 may\n> or may not be older than de14569.  The \"hash\" part of the\n> output is meaningless for you until you actually have the\n> history to poke at with \"git log\", \"git diff\" and friends.\n\nSide note.\n\nAlso the commit object names (hence \"describe\" output) do not\ntell you how far they are from the tag used to describe them.\n\nHowever, I suspect that we could do better with Shawn's new\nfangled describe implementation that actually counts the\ndistance between what is described and the tag.  We could add\n\"number of commits since the tag\" somewhere, to describe:\n\n\tv2.6.20-rc5-256-g419dd83\n        v2.6.20-rc5-217-gde14569\n\nto say that the first one has 256 commits accumulated since the\ngiven tag \"v2.6.20-rc5\" and the second one has only 217\ncommits, to get the sense of how busy the development activity\nis.\n\nIs it useful?  That is something I am not sure.\n\nSide note for side note.\n\nThis should be obvious to people who know git, but the above\ndoes not mean we can remove gXXXX part from the describe output,\nbecauses there could be infinite number of commits that are 256\ncommits away from v2.6.20-rc5 tag.  v2.6.20-rc5-256 alone does\nnot uniquely identify the commit 419dd83.\n"},{"id":"32515","messageId":"38b2ab8a0701240450s614df3bevf95e62add1b1783f@mail.gmail.com","threadId":"6500","inReplyTo":"7vps94fweq.fsf@assigned-by-dhcp.cox.net","subject":"Re: Remote git-describe ?","fromName":"Francis Moreau","fromEmail":"francis.moro@gmail.com","sentAt":"2007-01-24T12:50:56Z","receivedAt":"2007-01-24T12:50:56Z","isPatch":false,"sender":{"key":"francis.moro@gmail.com","avatar":null},"body":"Junio C Hamano wrote:\n> \"Francis Moreau\" <francis.moro@gmail.com> writes:\n>\n>> ... Givinig that I would use it to describe the HEAD of the kernel repo:\n>>\n>>        $ git describe --remote=<git-server> HEAD\n>>\n>> this would make the server parse all commits between HEAD and the\n>> closest tag which seems to me a lot cheaper than downloading the whole\n>> repo...\n>\n> Do you mean you want to have the server describe the HEAD the\n> server side has (not the HEAD in your repository)?  Why?\n>\n\nyes. see below...\n\n> I suspect the real motivation of your question lies elsewhere\n> and not in \"describe\".\n>\n> Suppose we had such a service on the server side, and you asked\n> the server twice and got these (at different times, of course):\n>\n> \tv2.6.20-rc5-g419dd83\n> \tv2.6.20-rc5-gde14569\n>\n> What useful information can you get between the two?\n>\n> Nothing.\n>\n\nI agree in the context I gave, it's useless.\n\n>\n> So I suspect what you are after is not about using describe\n> remotely or describing where the HEAD is; you want to know if\n> there is a new tag near the tip since the last time you checked.\n>\n\nActually I'd like to generate an archive from a git server. And\nI want to give the name of the archive file, the ouptut given by\n'git describe'.\n\nSince I can pass --remote to 'git archive', I do not need anymore\nto clone the repo before generating the archive. But I still needs\nit only to run 'git describe' thus my question...\n\nthanks\n-- \nFrancis\n"},{"id":"32516","messageId":"8aa486160701240501t3f6919b0tcd19da131a196dbb@mail.gmail.com","threadId":"6500","inReplyTo":"7vlkjsfvro.fsf@assigned-by-dhcp.cox.net","subject":"Re: Remote git-describe ?","fromName":"Santi Béjar","fromEmail":"sbejar@gmail.com","sentAt":"2007-01-24T13:01:11Z","receivedAt":"2007-01-24T13:01:11Z","isPatch":false,"sender":{"key":"santi@agolina.net","avatar":null},"body":"On 1/24/07, Junio C Hamano <junkio@cox.net> wrote:\n> Also the commit object names (hence \"describe\" output) do not\n> tell you how far they are from the tag used to describe them.\n>\n> However, I suspect that we could do better with Shawn's new\n> fangled describe implementation that actually counts the\n> distance between what is described and the tag.  We could add\n> \"number of commits since the tag\" somewhere, to describe:\n>\n>         v2.6.20-rc5-256-g419dd83\n>         v2.6.20-rc5-217-gde14569\n>\n> to say that the first one has 256 commits accumulated since the\n> given tag \"v2.6.20-rc5\" and the second one has only 217\n> commits, to get the sense of how busy the development activity\n> is.\n>\n> Is it useful?  That is something I am not sure.\n\nI find it usefull. I even suggested it in November:\nhttp://marc.theaimsgroup.com/?l=git&m=116246596012422&w=2\n\nQuote:\nOne problem I see with this scheme (either 'g', 'git' of '+') is that\nit does not provide an increasing version number, even for\nfast-forwarding commits. Then it is not useful as a package version\nnumber (deb or rpm). I've already seen deb packages with\nversion+git20061010.\nEnd Quote:\n\nThe \"either 'g',...\" was something it that thread, but applies to the\ncurrent scheme.\n\nSanti\n\n>\n> Side note for side note.\n>\n> This should be obvious to people who know git, but the above\n> does not mean we can remove gXXXX part from the describe output,\n> becauses there could be infinite number of commits that are 256\n> commits away from v2.6.20-rc5 tag.  v2.6.20-rc5-256 alone does\n> not uniquely identify the commit 419dd83.\n>\n>\n> -\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n>\n"},{"id":"32518","messageId":"Pine.LNX.4.63.0701241456230.22628@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"6500","inReplyTo":"7vlkjsfvro.fsf@assigned-by-dhcp.cox.net","subject":"Re: Remote git-describe ?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-01-24T13:57:53Z","receivedAt":"2007-01-24T13:57:53Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Wed, 24 Jan 2007, Junio C Hamano wrote:\n\n> This should be obvious to people who know git, but the above\n> does not mean we can remove gXXXX part from the describe output,\n> becauses there could be infinite number of commits that are 256\n> commits away from v2.6.20-rc5 tag.\n\nThis is only completely true if \"infinite\" is smaller than 2^160...\n\n;-)\n\nCiao,\nDscho\n"},{"id":"32524","messageId":"45B76D29.3090207@fs.ei.tum.de","threadId":"6500","inReplyTo":"Pine.LNX.4.63.0701241456230.22628@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: Remote git-describe ?","fromName":"Simon 'corecode' Schubert","fromEmail":"corecode@fs.ei.tum.de","sentAt":"2007-01-24T14:28:57Z","receivedAt":"2007-01-24T14:28:57Z","isPatch":false,"sender":{"key":"corecode@fs.ei.tum.de","avatar":"https://gravatar.com/avatar/eff9dbf0cdac0d1e6a6cd7ed0e50763edcb376b493b5253a35ff167918ad79e1?d=mp&s=160"},"body":"Johannes Schindelin wrote:\n>> This should be obvious to people who know git, but the above\n>> does not mean we can remove gXXXX part from the describe output,\n>> becauses there could be infinite number of commits that are 256\n>> commits away from v2.6.20-rc5 tag.\n> This is only completely true if \"infinite\" is smaller than 2^160...\n\nactually not.  you can have more, but then even the hash isn't unique anymore.  oh no!\n\ncheers\n  simon\n\n-- \nServe - BSD     +++  RENT this banner advert  +++    ASCII Ribbon   /\"\\\nWork - Mac      +++  space for low €€€ NOW!1  +++      Campaign     \\ /\nParty Enjoy Relax   |   http://dragonflybsd.org      Against  HTML   \\\nDude 2c 2 the max   !   http://golden-apple.biz       Mail + News   / \\\n\n"},{"id":"32526","messageId":"Pine.LNX.4.64.0701241020590.3011@xanadu.home","threadId":"6500","inReplyTo":"7vlkjsfvro.fsf@assigned-by-dhcp.cox.net","subject":"Re: Remote git-describe ?","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2007-01-24T15:23:43Z","receivedAt":"2007-01-24T15:23:43Z","isPatch":false,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"On Wed, 24 Jan 2007, Junio C Hamano wrote:\n\n> However, I suspect that we could do better with Shawn's new\n> fangled describe implementation that actually counts the\n> distance between what is described and the tag.  We could add\n> \"number of commits since the tag\" somewhere, to describe:\n> \n> \tv2.6.20-rc5-256-g419dd83\n>         v2.6.20-rc5-217-gde14569\n> \n> to say that the first one has 256 commits accumulated since the\n> given tag \"v2.6.20-rc5\" and the second one has only 217\n> commits, to get the sense of how busy the development activity\n> is.\n> \n> Is it useful?  That is something I am not sure.\n\nI think this would be really nice to have even if not absolutely useful.\n\n\nNicolas\n"}]}