{"thread":{"id":"30129","subject":"Updated tags on repo are not updated when pull","startedAt":"2012-04-02T19:16:21Z","lastAt":"2012-04-03T23:39:28Z","messageCount":6,"participants":["Sebastien Tardif","PJ Weisberg","Marc Branchaud","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"188341","messageId":"27353249354D994D8E42D75D75FBA614896543@OASBEVEXM01.oaifield.onasgn.com","threadId":"30129","inReplyTo":null,"subject":"Updated tags on repo are not updated when pull","fromName":"Sebastien Tardif","fromEmail":"sebastien_tardif@oxfordcorp.com","sentAt":"2012-04-02T19:16:21Z","receivedAt":"2012-04-02T19:16:21Z","isPatch":false,"sender":{"key":"sebastien_tardif@oxfordcorp.com","avatar":null},"body":"Default pull behavior does bring new tag that are hitting the revisions involved in the pull, in other words all tags that would point to log entries that are pulled.\n\nI have tag like: LATEST_UIT, LATEST_QA, LATEST_CONTINOUS_BUILD\n\nBut with this incoherent behavior of not having the already pulled tag been updated when doing a pull, my developers end-up with misleading information in their log since their tags point to old pointer.\n\nPlease fix.\n"},{"id":"188370","messageId":"CAJsNXTk8R0yjad0T9605v-CMMdCA+C0v3Rqt65h_k6MK88UD9g@mail.gmail.com","threadId":"30129","inReplyTo":"27353249354D994D8E42D75D75FBA614896543@OASBEVEXM01.oaifield.onasgn.com","subject":"Re: Updated tags on repo are not updated when pull","fromName":"PJ Weisberg","fromEmail":"pj@irregularexpressions.net","sentAt":"2012-04-02T23:29:44Z","receivedAt":"2012-04-02T23:29:44Z","isPatch":false,"sender":{"key":"pj@irregularexpressions.net","avatar":"https://gravatar.com/avatar/aa2c1edcc61b536cc5c9f37fbce084e655446e2309f9818d43f13d47304a602b?d=mp&s=160"},"body":"On Mon, Apr 2, 2012 at 12:16 PM, Sebastien Tardif\n<sebastien_tardif@oxfordcorp.com> wrote:\n> Default pull behavior does bring new tag that are hitting the revisions involved in the pull, in other words all tags that would point to log entries that are pulled.\n>\n> I have tag like: LATEST_UIT, LATEST_QA, LATEST_CONTINOUS_BUILD\n>\n> But with this incoherent behavior of not having the already pulled tag been updated when doing a pull, my developers end-up with misleading information in their log since their tags point to old pointer.\n>\n> Please fix.\n\nThere's a discussion in the git-tag man page about titled \"On\nRe-tagging,\" the upshot of which is:\n\n'Just admit you screwed up, and use a different\nname. Others have already seen one tag-name, and if you keep the\nsame name, you may be in the situation that two people both have\n\"version X\", but they actually have different \"X\"'s. So just call\nit \"X.1\" and be done with it.'\n\nYou could use branches instead of tags for your 'latest X' things.  A\nbranch is basically a tag that moves.\n\n-PJ\n\nGehm's Corollary to Clark's Law: Any technology distinguishable from\nmagic is insufficiently advanced.\n"},{"id":"188403","messageId":"27353249354D994D8E42D75D75FBA6148967BE@OASBEVEXM01.oaifield.onasgn.com","threadId":"30129","inReplyTo":"27353249354D994D8E42D75D75FBA6148965A9@OASBEVEXM01.oaifield.onasgn.com","subject":"RE: Updated tags on repo are not updated when pull","fromName":"Sebastien Tardif","fromEmail":"sebastien_tardif@oxfordcorp.com","sentAt":"2012-04-03T12:00:06Z","receivedAt":"2012-04-03T12:00:06Z","isPatch":false,"sender":{"key":"sebastien_tardif@oxfordcorp.com","avatar":null},"body":"Like almost everything else, if a local repo is not updated, many things like HEAD and branch may not point to the latest thing.\n\nI agree that using branch is somehow a workaround, but it's still wrong that the tag is not updated by default when doing pull. Even if I find a long documentation about this behavior, it will still be wrong.\n\nLet just admit git is still new, this use case is not original at all, it just show some outstanding issue with Git.\n\nI'm used to work with SCM that that is server base, each extra step a developer need to do create issues and productivity lost. They just needed to do commit/update, but end-up forgetting \"add\" when creating new file.\n\nNow with git beside still forgetting 'add\" they forget to push. And now they will forget to do a extra \"pull --tag\".\n\nDesigned for failure.\n________________________________________\nFrom: pjweisberg@gmail.com [pjweisberg@gmail.com] on behalf of PJ Weisberg [pj@irregularexpressions.net]\nSent: Monday, April 02, 2012 7:29 PM\nTo: Sebastien Tardif\nCc: git@vger.kernel.org\nSubject: Re: Updated tags on repo are not updated when pull\n\nOn Mon, Apr 2, 2012 at 12:16 PM, Sebastien Tardif\n<sebastien_tardif@oxfordcorp.com> wrote:\n> Default pull behavior does bring new tag that are hitting the revisions involved in the pull, in other words all tags that would point to log entries that are pulled.\n>\n> I have tag like: LATEST_UIT, LATEST_QA, LATEST_CONTINOUS_BUILD\n>\n> But with this incoherent behavior of not having the already pulled tag been updated when doing a pull, my developers end-up with misleading information in their log since their tags point to old pointer.\n>\n> Please fix.\n\nThere's a discussion in the git-tag man page about titled \"On\nRe-tagging,\" the upshot of which is:\n\n'Just admit you screwed up, and use a different\nname. Others have already seen one tag-name, and if you keep the\nsame name, you may be in the situation that two people both have\n\"version X\", but they actually have different \"X\"'s. So just call\nit \"X.1\" and be done with it.'\n\nYou could use branches instead of tags for your 'latest X' things.  A\nbranch is basically a tag that moves.\n\n-PJ\n\nGehm's Corollary to Clark's Law: Any technology distinguishable from\nmagic is insufficiently advanced.\n"},{"id":"188412","messageId":"4F7AFF05.1030702@xiplink.com","threadId":"30129","inReplyTo":"27353249354D994D8E42D75D75FBA6148967BE@OASBEVEXM01.oaifield.onasgn.com","subject":"Re: Updated tags on repo are not updated when pull","fromName":"Marc Branchaud","fromEmail":"marcnarc@xiplink.com","sentAt":"2012-04-03T13:45:41Z","receivedAt":"2012-04-03T13:45:41Z","isPatch":false,"sender":{"key":"marcnarc@xiplink.com","avatar":"https://avatars.githubusercontent.com/u/14980203?v=4"},"body":"On 12-04-03 08:00 AM, Sebastien Tardif wrote:\n> Like almost everything else, if a local repo is not updated, many\n> things like HEAD and branch may not point to the latest thing.\n\nYou need to wrap your head around the concept that git keeps your local \nrepository's branches separate from any remote repositories'.  Even if \nmy local repository has a branch \"foo\" and the remote also has a branch \n\"foo\", git stores these in separate namespaces.\n\n> I agree that using branch is somehow a workaround, but it's still\n> wrong that the tag is not updated by default when doing pull.  Even if\n> I find a long documentation about this behavior, it will still be\n> wrong.\n\nWell, that's debatable and depends on how you're using git.  Other \npeople's processes *want* the tags to remain unchanged.\n\n> Let just admit git is still new, this use case is not original at\n> all, it just show some outstanding issue with Git.\n\nAnd indeed has been discussed at length.  The latest proposal was about \nletting tags have local and remote namespaces and to have \"git fetch\" \nautomatically move remote tags, just like remote branches:\n\nhttp://thread.gmane.org/gmane.comp.version-control.git/165799/focus=166118\n\n\t\tM.\n"},{"id":"188429","messageId":"CAJsNXT=mQgt++g-Tz=kfDjC+PC7wJhc77f6zu7vg8GSnJfDq3w@mail.gmail.com","threadId":"30129","inReplyTo":"27353249354D994D8E42D75D75FBA6148967BE@OASBEVEXM01.oaifield.onasgn.com","subject":"Re: Updated tags on repo are not updated when pull","fromName":"PJ Weisberg","fromEmail":"pj@irregularexpressions.net","sentAt":"2012-04-03T19:44:54Z","receivedAt":"2012-04-03T19:44:54Z","isPatch":false,"sender":{"key":"pj@irregularexpressions.net","avatar":"https://gravatar.com/avatar/aa2c1edcc61b536cc5c9f37fbce084e655446e2309f9818d43f13d47304a602b?d=mp&s=160"},"body":"On Tue, Apr 3, 2012 at 5:00 AM, Sebastien Tardif\n<sebastien_tardif@oxfordcorp.com> wrote:\n> Like almost everything else, if a local repo is not updated, many things like HEAD and branch may not point to the latest thing.\n>\n> I agree that using branch is somehow a workaround, but it's still wrong that the tag is not updated by default when doing pull. Even if I find a long documentation about this behavior, it will still be wrong.\n\nThe documentation is at least an indication that it was a reasoned\ndecision on the part of the Git developers, so changing it would take\nmore of a discussion than \"Please fix.\"\n\n> Let just admit git is still new, this use case is not original at all, it just show some outstanding issue with Git.\n\nIndeed, I see what you're trying to do with those tags, and I like it.\n There just needs to be a way to implement it while addressing the\nconcern about tags changing out from under people.  A branch is\n*almost* what you want.  Basically it's a branch that no one updates\nexcept the build server under specific circumstances.  You could\nenforce that with hooks, but I think the biggest problem is the word\n\"branch\".  People (and UIs) have ideas of what a branch is and what\nit's used for, which don't *quite* match the intended use.\n\nI wonder if the Git developers have any ideas on the best way to\nmaintain a pointer to the latest successful automated build, and other\nsuch things?\n\n-PJ\n\nGehm's Corollary to Clark's Law: Any technology distinguishable from\nmagic is insufficiently advanced.\n"},{"id":"188462","messageId":"7vfwckbd1r.fsf@alter.siamese.dyndns.org","threadId":"30129","inReplyTo":"CAJsNXT=mQgt++g-Tz=kfDjC+PC7wJhc77f6zu7vg8GSnJfDq3w@mail.gmail.com","subject":"Re: Updated tags on repo are not updated when pull","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-04-03T23:39:28Z","receivedAt":"2012-04-03T23:39:28Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"PJ Weisberg <pj@irregularexpressions.net> writes:\n\n> Basically it's a branch that no one updates\n> except the build server under specific circumstances.  You could\n> enforce that with hooks, but I think the biggest problem is the word\n> \"branch\".  People (and UIs) have ideas of what a branch is and what\n> it's used for, which don't *quite* match the intended use.\n>\n> I wonder if the Git developers have any ideas on the best way to\n> maintain a pointer to the latest successful automated build, and other\n> such things?\n\nSuch things, if they are not branches nor tags, can be placed under\ndifferent naming hierarchy, e.g. refs/built, without interfering the\nnormal semantics of \"branches\" (people expect to be able to check them\nout, build on them and push them back to advance their tips) or \"tags\"\n(people expect them to anchored at known points without floating).  Any\nsemantics the project wants to assign to them by social convention, and\nGit does not care.  If the project participants are expected to always\nfetch them to keep them up to date in their local namespace, the project\ncan tell them to place an extra entry for remote.origin.fetch in their\nrepository config\n\n\t[remote \"origin\"]\n        \tfetch = +refs/built/*:refs/built/*\n\nin the same document they tell them where and how to clone the project\nhistory from.\n\nI would however use the usual branch perhaps with a well-known prefix if I\nwere doing this.  You would want to forbid updates of them from random\npeople at the central site with a pre-receive hook anyway; using a\ndifferent hierarchy only to avoid the word \"branch\" is not worth the extra\ncomplexity.\n"}]}