{"thread":{"id":"8587","subject":"tags and patches","startedAt":"2007-06-13T10:52:23Z","lastAt":"2007-06-14T02:50:57Z","messageCount":10,"participants":["Geoff Russell","Pierre Habouzit","Johannes Schindelin","Jeff King"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"44914","messageId":"93c3eada0706130352h3ad6857eie01e1171fdda3991@mail.gmail.com","threadId":"8587","inReplyTo":null,"subject":"tags and patches","fromName":"Geoff Russell","fromEmail":"geoffrey.russell@gmail.com","sentAt":"2007-06-13T10:52:23Z","receivedAt":"2007-06-13T10:52:23Z","isPatch":false,"sender":{"key":"geoffrey.russell@gmail.com","avatar":"https://gravatar.com/avatar/c30f497ccfa6bf06d86f30bd2ba092a2dd124c61c6bc902f7cb5c3f6486947de?d=mp&s=160"},"body":"Dear gits,\n\n(I'm on 1.5.0.5)\n\nThe last tag made seems to be missing from a patch ... eg.\n\n        cd ~ ; mkdir myrepo ; cd myrepo\n        git init-db ; echo STUFF > xxx ; git add xxx\n        # work, work, work on xxx\n        git commit -a\n        git tag v1.0\n        # work work work on xxx\n        # then I clone this repository\n        cd /tmp ; git clone ~/myrepo newmyrepo\n        # go back and work some more\n        cd ~/myrepo\n        echo YYY >>xxx\n        git commit -a\n        git tag v1.1\n        # is git commit -a required to commit the tag???\n        git format-patch v1.0\n        cd /tmp/newmyrepo\n        git am ~/myrepo/THEPATCHNAME\n        git tag ls\n\nWhere is tag v1.1 ?\n\nCheers,\nGeoff Russell\n"},{"id":"44916","messageId":"20070613110401.GG21684@artemis.intersec.eu","threadId":"8587","inReplyTo":"93c3eada0706130352h3ad6857eie01e1171fdda3991@mail.gmail.com","subject":"Re: tags and patches","fromName":"Pierre Habouzit","fromEmail":"madcoder@debian.org","sentAt":"2007-06-13T11:04:01Z","receivedAt":"2007-06-13T11:04:01Z","isPatch":false,"sender":{"key":"madcoder@debian.org","avatar":"https://avatars.githubusercontent.com/u/44708?v=4"},"body":"On Wed, Jun 13, 2007 at 08:22:23PM +0930, Geoff Russell wrote:\n> Dear gits,\n> \n> (I'm on 1.5.0.5)\n> \n> The last tag made seems to be missing from a patch ... eg.\n> \n>        cd ~ ; mkdir myrepo ; cd myrepo\n>        git init-db ; echo STUFF > xxx ; git add xxx\n>        # work, work, work on xxx\n>        git commit -a\n>        git tag v1.0\n>        # work work work on xxx\n>        # then I clone this repository\n>        cd /tmp ; git clone ~/myrepo newmyrepo\n>        # go back and work some more\n>        cd ~/myrepo\n>        echo YYY >>xxx\n>        git commit -a\n>        git tag v1.1\n>        # is git commit -a required to commit the tag???\n>        git format-patch v1.0\n>        cd /tmp/newmyrepo\n>        git am ~/myrepo/THEPATCHNAME\n>        git tag ls\n\n  git tag ls is not the proper way to list tags. Afaict there isn't any\nyet, except: ls .git/refs/tags/\n\n  git tag ls just tagged your HEAD with the name 'ls' which is obviously\nnot what you meant :)\n\n-- \n·O·  Pierre Habouzit\n··O                                                madcoder@debian.org\nOOO                                                http://www.madism.org\n"},{"id":"44921","messageId":"93c3eada0706130504g7f405b8ercd093b585b364eb5@mail.gmail.com","threadId":"8587","inReplyTo":"20070613110401.GG21684@artemis.intersec.eu","subject":"Re: tags and patches","fromName":"Geoff Russell","fromEmail":"geoffrey.russell@gmail.com","sentAt":"2007-06-13T12:04:34Z","receivedAt":"2007-06-13T12:04:34Z","isPatch":false,"sender":{"key":"geoffrey.russell@gmail.com","avatar":"https://gravatar.com/avatar/c30f497ccfa6bf06d86f30bd2ba092a2dd124c61c6bc902f7cb5c3f6486947de?d=mp&s=160"},"body":"On 6/13/07, Pierre Habouzit <madcoder@debian.org> wrote:\n> On Wed, Jun 13, 2007 at 08:22:23PM +0930, Geoff Russell wrote:\n> > Dear gits,\n> >\n> > (I'm on 1.5.0.5)\n> >\n> > The last tag made seems to be missing from a patch ... eg.\n> >\n> >        cd ~ ; mkdir myrepo ; cd myrepo\n> >        git init-db ; echo STUFF > xxx ; git add xxx\n> >        # work, work, work on xxx\n> >        git commit -a\n> >        git tag v1.0\n> >        # work work work on xxx\n> >        # then I clone this repository\n> >        cd /tmp ; git clone ~/myrepo newmyrepo\n> >        # go back and work some more\n> >        cd ~/myrepo\n> >        echo YYY >>xxx\n> >        git commit -a\n> >        git tag v1.1\n> >        # is git commit -a required to commit the tag???\n> >        git format-patch v1.0\n> >        cd /tmp/newmyrepo\n> >        git am ~/myrepo/THEPATCHNAME\n> >        git tag ls\n>\n>   git tag ls is not the proper way to list tags. Afaict there isn't any\n> yet, except: ls .git/refs/tags/\n>\n>   git tag ls just tagged your HEAD with the name 'ls' which is obviously\n> not what you meant :)\n\nOoops. Yes, I meant \"git tag -l\" as the last command, which lists the tags,\nbut doesn't list v1.1.\n\nGeoff.\n\n>\n> --\n> ·O·  Pierre Habouzit\n> ··O                                                madcoder@debian.org\n> OOO                                                http://www.madism.org\n>\n>\n"},{"id":"44924","messageId":"Pine.LNX.4.64.0706131313550.4059@racer.site","threadId":"8587","inReplyTo":"93c3eada0706130352h3ad6857eie01e1171fdda3991@mail.gmail.com","subject":"Re: tags and patches","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-06-13T12:14:53Z","receivedAt":"2007-06-13T12:14:53Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Wed, 13 Jun 2007, Geoff Russell wrote:\n\n> Dear gits,\n\n;-)\n\n> [...]\n>\n>        git tag v1.1\n>        git format-patch v1.0\n>        cd /tmp/newmyrepo\n>        git am ~/myrepo/THEPATCHNAME\n> \n> Where is tag v1.1 ?\n\nTags are not propagated with patches. Sorry.\n\nCiao,\nDscho\n"},{"id":"45021","messageId":"93c3eada0706131715oa84eff7kc0b477a3b80e9d66@mail.gmail.com","threadId":"8587","inReplyTo":"Pine.LNX.4.64.0706131313550.4059@racer.site","subject":"Re: tags and patches","fromName":"Geoff Russell","fromEmail":"geoffrey.russell@gmail.com","sentAt":"2007-06-14T00:15:42Z","receivedAt":"2007-06-14T00:15:42Z","isPatch":false,"sender":{"key":"geoffrey.russell@gmail.com","avatar":"https://gravatar.com/avatar/c30f497ccfa6bf06d86f30bd2ba092a2dd124c61c6bc902f7cb5c3f6486947de?d=mp&s=160"},"body":"On 6/13/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> Hi,\n>\n> On Wed, 13 Jun 2007, Geoff Russell wrote:\n>\n> > Dear gits,\n>\n> ;-)\n>\n> > [...]\n> >\n> >        git tag v1.1\n> >        git format-patch v1.0\n> >        cd /tmp/newmyrepo\n> >        git am ~/myrepo/THEPATCHNAME\n> >\n> > Where is tag v1.1 ?\n>\n> Tags are not propagated with patches. Sorry.\n\nIs this considered to be a bug to be eventually fixed or a feature?\n\nGeoff\n\n\n>\n> Ciao,\n> Dscho\n>\n>\n"},{"id":"45024","messageId":"Pine.LNX.4.64.0706140201400.4059@racer.site","threadId":"8587","inReplyTo":"93c3eada0706131715oa84eff7kc0b477a3b80e9d66@mail.gmail.com","subject":"Re: tags and patches","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-06-14T01:03:08Z","receivedAt":"2007-06-14T01:03:08Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 14 Jun 2007, Geoff Russell wrote:\n\n> On 6/13/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> > Hi,\n> > \n> > On Wed, 13 Jun 2007, Geoff Russell wrote:\n> > \n> > > Dear gits,\n> > \n> > ;-)\n> > \n> > > [...]\n> > >\n> > >        git tag v1.1\n> > >        git format-patch v1.0\n> > >        cd /tmp/newmyrepo\n> > >        git am ~/myrepo/THEPATCHNAME\n> > >\n> > > Where is tag v1.1 ?\n> > \n> > Tags are not propagated with patches. Sorry.\n> \n> Is this considered to be a bug to be eventually fixed or a feature?\n\nAFAIK patches are not supposed to _contain_ patches.\n\nWhat you want is probably a bundle. You don't want a collection of diffs \nwith comments on them, but you want a collection to reacreate the history \nthe other side has.\n\nCiao,\nDscho\n"},{"id":"45030","messageId":"93c3eada0706131905i1cd43fd2xcc44ce47dca8ce00@mail.gmail.com","threadId":"8587","inReplyTo":"Pine.LNX.4.64.0706140201400.4059@racer.site","subject":"Re: tags and patches","fromName":"Geoff Russell","fromEmail":"geoffrey.russell@gmail.com","sentAt":"2007-06-14T02:05:35Z","receivedAt":"2007-06-14T02:05:35Z","isPatch":false,"sender":{"key":"geoffrey.russell@gmail.com","avatar":"https://gravatar.com/avatar/c30f497ccfa6bf06d86f30bd2ba092a2dd124c61c6bc902f7cb5c3f6486947de?d=mp&s=160"},"body":"On 6/14/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> Hi,\n>\n> On Thu, 14 Jun 2007, Geoff Russell wrote:\n>\n> > On 6/13/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> > > Hi,\n> > >\n> > > On Wed, 13 Jun 2007, Geoff Russell wrote:\n> > >\n> > > > Dear gits,\n> > >\n> > > ;-)\n> > >\n> > > > [...]\n> > > >\n> > > >        git tag v1.1\n> > > >        git format-patch v1.0\n> > > >        cd /tmp/newmyrepo\n> > > >        git am ~/myrepo/THEPATCHNAME\n> > > >\n> > > > Where is tag v1.1 ?\n> > >\n> > > Tags are not propagated with patches. Sorry.\n> >\n> > Is this considered to be a bug to be eventually fixed or a feature?\n>\n> AFAIK patches are not supposed to _contain_ patches.\n\nIs this a typo? I expected patches to contain tags, not other patches.\n\n>\n> What you want is probably a bundle. You don't want a collection of diffs\n> with comments on them, but you want a collection to reacreate the history\n> the other side has.\n\nI didn't know about bundles but do now.  However \"git bundle --help\" tells\nme \"No manual entry for git-bundle\" despite\ngit-bundle.html being in the Documentation directory.\n\nI'm trying to work out if I want to use git to manage a software distribution\nproblem. I distribute release v1.0 to people then later I want to email them\na patch to take them from v1.0 to v1.1.  I can probably live without\nthe tags, but\nam just surprised that patches don't send them.\n\n\nCheers,\nGeoff\n\n>\n> Ciao,\n> Dscho\n>\n>\n"},{"id":"45031","messageId":"20070614021939.GA18325@segfault.peff.net","threadId":"8587","inReplyTo":"93c3eada0706131905i1cd43fd2xcc44ce47dca8ce00@mail.gmail.com","subject":"Re: tags and patches","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2007-06-14T02:19:40Z","receivedAt":"2007-06-14T02:19:40Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Jun 14, 2007 at 11:35:35AM +0930, Geoff Russell wrote:\n\n> I'm trying to work out if I want to use git to manage a software\n> distribution problem. I distribute release v1.0 to people then later I\n> want to email them a patch to take them from v1.0 to v1.1.  I can\n> probably live without the tags, but am just surprised that patches\n> don't send them.\n\nPatches represent differences in _content_, but they don't show history.\nSo while git supports a somewhat extended patch format (supporting\nthings like renames and file modes), patches don't know anything about\nbranches, parent commits, or tags.\n\nIf you are trying to take people from v1.0 to v1.1, the best way depends\non their setup:\n\n  - If they are all running git, then you can have them 'pull' from your\n    repository\n  - If you don't like that for some reason, you can send them a bundle,\n    which is the moral equivalent of pulling (except that you've pushed\n    through a non-interactive medium, but the end result in their\n    repository is the same)\n  - If they aren't running git, then you can use git to prepare the\n    patch by tagging your own repository, and then creating either a\n    patch series (git-format-patch v1.0..v1.1) or a single big patch\n    (git-diff v1.0..v1.1). But either way, what would it mean to have a\n    tag in the patch, since they don't have a tagging system at the\n    other end?\n\nI'm not really sure what you're trying to accomplish; if you can be more\nconcrete, we might be able to offer more concrete solutions (or maybe\nthe answer you were looking for was simply, \"you want bundles, not\npatches\").\n\n-Peff\n"},{"id":"45032","messageId":"Pine.LNX.4.64.0706140326350.4059@racer.site","threadId":"8587","inReplyTo":"93c3eada0706131905i1cd43fd2xcc44ce47dca8ce00@mail.gmail.com","subject":"Re: tags and patches","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-06-14T02:31:53Z","receivedAt":"2007-06-14T02:31:53Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 14 Jun 2007, Geoff Russell wrote:\n\n> On 6/14/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n>\n> > AFAIK patches are not supposed to _contain_ patches.\n> \n> Is this a typo? I expected patches to contain tags, not other patches.\n\nActually, two typos. Sorry. \"AFAIK\" -> \"AFAICT\", and the rest should \nactually have been written as \"formatted patches are not supposed to \ncontain tags.\"\n\n> > What you want is probably a bundle. You don't want a collection of \n> > diffs with comments on them, but you want a collection to reacreate \n> > the history the other side has.\n> \n> I didn't know about bundles but do now.  However \"git bundle --help\" \n> tells me \"No manual entry for git-bundle\" despite git-bundle.html being \n> in the Documentation directory.\n\n... which probably means that your man pages, and therefore your Git \ninstallation, is not up-to-date.\n\n> I'm trying to work out if I want to use git to manage a software \n> distribution problem. I distribute release v1.0 to people then later I \n> want to email them a patch to take them from v1.0 to v1.1.  I can \n> probably live without the tags, but am just surprised that patches don't \n> send them.\n\nPatches are just files of the format that \"diff\" outputs, and \"patch\" \naccepts. There was never any possibility to change anything but files.\n\nBut then, usually people put the version _into_ files. So I suspect you \nreally don't need tags, if you _have_ to send patches. Because if you \n_have_ to send patches, your recipients probably don't use Git, and could \nnot use those tags anyway.\n\nCiao,\nDscho\n"},{"id":"45033","messageId":"93c3eada0706131950y7a27cf39i1326d34535e7f5e9@mail.gmail.com","threadId":"8587","inReplyTo":"20070614021939.GA18325@segfault.peff.net","subject":"Re: tags and patches","fromName":"Geoff Russell","fromEmail":"geoffrey.russell@gmail.com","sentAt":"2007-06-14T02:50:57Z","receivedAt":"2007-06-14T02:50:57Z","isPatch":false,"sender":{"key":"geoffrey.russell@gmail.com","avatar":"https://gravatar.com/avatar/c30f497ccfa6bf06d86f30bd2ba092a2dd124c61c6bc902f7cb5c3f6486947de?d=mp&s=160"},"body":"On 6/14/07, Jeff King <peff@peff.net> wrote:\n> On Thu, Jun 14, 2007 at 11:35:35AM +0930, Geoff Russell wrote:\n>\n> > I'm trying to work out if I want to use git to manage a software\n> > distribution problem. I distribute release v1.0 to people then later I\n> > want to email them a patch to take them from v1.0 to v1.1.  I can\n> > probably live without the tags, but am just surprised that patches\n> > don't send them.\n>\n> Patches represent differences in _content_, but they don't show history.\n> So while git supports a somewhat extended patch format (supporting\n> things like renames and file modes), patches don't know anything about\n> branches, parent commits, or tags.\n>\n> If you are trying to take people from v1.0 to v1.1, the best way depends\n> on their setup:\n>\n>   - If they are all running git, then you can have them 'pull' from your\n>     repository\n>   - If you don't like that for some reason, you can send them a bundle,\n>     which is the moral equivalent of pulling (except that you've pushed\n>     through a non-interactive medium, but the end result in their\n>     repository is the same)\n>   - If they aren't running git, then you can use git to prepare the\n>     patch by tagging your own repository, and then creating either a\n>     patch series (git-format-patch v1.0..v1.1) or a single big patch\n>     (git-diff v1.0..v1.1). But either way, what would it mean to have a\n>     tag in the patch, since they don't have a tagging system at the\n>     other end?\n>\n> I'm not really sure what you're trying to accomplish; if you can be more\n> concrete, we might be able to offer more concrete solutions (or maybe\n> the answer you were looking for was simply, \"you want bundles, not\n> patches\").\n\nOk (in english we have an expression \"the penny has dropped\" :)), I understand\nmy confusion and no longer am surprised that patches don't have tags!\nI think that we will ensure everyone is running git (but we will ssh into their\nmachines and do the appropriate pulls).\n\nMany thanks for your help and patience,\n\nCheers,\nGeoff\n\n\n\n>\n> -Peff\n>\n"}]}