{"thread":{"id":"16214","subject":"pull --preserve-merges","startedAt":"2008-11-07T22:01:38Z","lastAt":"2008-11-10T19:48:19Z","messageCount":6,"participants":["Stephen Haberman","Johannes Schindelin","Francis Galiegue"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"95151","messageId":"20081107160138.aa96405c.stephen@exigencecorp.com","threadId":"16214","inReplyTo":null,"subject":"pull --preserve-merges","fromName":"Stephen Haberman","fromEmail":"stephen@exigencecorp.com","sentAt":"2008-11-07T22:01:38Z","receivedAt":"2008-11-07T22:01:38Z","isPatch":false,"sender":{"key":"stephen@exigencecorp.com","avatar":"https://gravatar.com/avatar/23b93ad70a06ce53505f17ddba65176edbcfb6588e7a4c1a2dca04aaf0a6aff1?d=mp&s=160"},"body":"Hi,\n\nAwhile ago I brought up wanting to have a \"rebase with preserve merges\"\noption for `git pull`:\n\nhttp://thread.gmane.org/gmane.comp.version-control.git/96513\n\nAndreas had a patch to help by supporting manually typing out `git pull\n--rebase --preserve-merges`:\n\nhttp://thread.gmane.org/gmane.comp.version-control.git/96593\n\nAnd then I did another small copy/paste patch on top to add a config\nsetting of `branch.<name>.preservemerges` much like the existing\n`branch.<name>.rebase`.\n\nThe patches haven't gotten an explicit \"no\" that I noticed, nor have\nthey been applied...is there anything I can do to move them along?\nResubmit them or what not?\n\nThanks,\nStephen\n"},{"id":"95218","messageId":"alpine.DEB.1.00.0811081607300.30769@pacific.mpi-cbg.de","threadId":"16214","inReplyTo":"20081107160138.aa96405c.stephen@exigencecorp.com","subject":"Re: pull --preserve-merges","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2008-11-08T15:08:41Z","receivedAt":"2008-11-08T15:08:41Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 7 Nov 2008, Stephen Haberman wrote:\n\n> Awhile ago I brought up wanting to have a \"rebase with preserve merges\"\n> option for `git pull`\n\nThat might be something you want, but you cannot call it\n\n\tgit pull --preserve-merges\n\nsince everybody used to \"pull = fetch && merge\" would go \"Huh? A merge \n_does_ preserve merges\".\n\nIf at all, you could call it \"--rebase=preserve-merges\".\n\nCiao,\nDscho\n"},{"id":"95224","messageId":"200811081807.53199.fg@one2team.net","threadId":"16214","inReplyTo":"alpine.DEB.1.00.0811081607300.30769@pacific.mpi-cbg.de","subject":"Re: pull --preserve-merges","fromName":"Francis Galiegue","fromEmail":"fg@one2team.net","sentAt":"2008-11-08T17:07:52Z","receivedAt":"2008-11-08T17:07:52Z","isPatch":false,"sender":{"key":"fg@one2team.net","avatar":null},"body":"Le Saturday 08 November 2008 16:08:41 Johannes Schindelin, vous avez écrit :\n> Hi,\n>\n> On Fri, 7 Nov 2008, Stephen Haberman wrote:\n> > Awhile ago I brought up wanting to have a \"rebase with preserve merges\"\n> > option for `git pull`\n>\n> That might be something you want, but you cannot call it\n>\n> \tgit pull --preserve-merges\n>\n> since everybody used to \"pull = fetch && merge\" would go \"Huh? A merge\n> _does_ preserve merges\".\n>\n> If at all, you could call it \"--rebase=preserve-merges\".\n>\n\nWhy not --rebase --keep-merges? Personnally, I think it makes things clearer \nsince in general options are either standalone or have a value.\n\n-- \nfge\n"},{"id":"95227","messageId":"20081108115710.7f501aa9.stephen@exigencecorp.com","threadId":"16214","inReplyTo":"200811081807.53199.fg@one2team.net","subject":"Re: pull --preserve-merges","fromName":"Stephen Haberman","fromEmail":"stephen@exigencecorp.com","sentAt":"2008-11-08T17:57:10Z","receivedAt":"2008-11-08T17:57:10Z","isPatch":false,"sender":{"key":"stephen@exigencecorp.com","avatar":"https://gravatar.com/avatar/23b93ad70a06ce53505f17ddba65176edbcfb6588e7a4c1a2dca04aaf0a6aff1?d=mp&s=160"},"body":"\nReplying to both Johannes and Francis...\n\n> > > Awhile ago I brought up wanting to have a \"rebase with preserve merges\"\n> > > option for `git pull`\n> >\n> > That might be something you want, but you cannot call it\n> >\n> > \tgit pull --preserve-merges\n> >\n> > since everybody used to \"pull = fetch && merge\" would go \"Huh? A merge\n> > _does_ preserve merges\".\n\nAh, right, sorry, Johannes, I know it only makes sense in the context if\n--rebase is also being in use, I was just being too brief.\n\n> > If at all, you could call it \"--rebase=preserve-merges\".\n\nI'd be fine with that, I had not thought of it.\n\n> Why not --rebase --keep-merges? Personnally, I think it makes things clearer \n> since in general options are either standalone or have a value.\n\nI originally had --rebase --preserve-merges in mind because it matches\nthe existing -p/--preserve-merges flag that git rebase has that I'd\nlike git pull to just pass along.\n\nIf they were separate flags, passing just --preserve-merges without\n--rebase should likely report an error. Probably the same thing if\nsomeone sets `branch.name.preservemerges` but `branch.name.rebase` is\nnot set.\n\nUnless instead of separate config parameters, `branch.name.rebase` uses\nJohannes's suggestion and has separate values...true or false or\npreserve-merges. That would probably better parallelize with the\n--rebase=preserve-merges style command line argument.\n\nBetween one flag/config parameter or two flags/config parameters, I\ncould go either way and would be willing to patch together either one\nto get it in.\n\nThanks,\nStephen\n"},{"id":"95357","messageId":"20081110130518.3eb64ceb.stephen@exigencecorp.com","threadId":"16214","inReplyTo":"20081107160138.aa96405c.stephen@exigencecorp.com","subject":"Re: pull --preserve-merges","fromName":"Stephen Haberman","fromEmail":"stephen@exigencecorp.com","sentAt":"2008-11-10T19:05:18Z","receivedAt":"2008-11-10T19:05:18Z","isPatch":false,"sender":{"key":"stephen@exigencecorp.com","avatar":"https://gravatar.com/avatar/23b93ad70a06ce53505f17ddba65176edbcfb6588e7a4c1a2dca04aaf0a6aff1?d=mp&s=160"},"body":"\n> Awhile ago I brought up wanting to have a \"rebase with preserve merges\"\n> option for `git pull`:\n>\n> http://thread.gmane.org/gmane.comp.version-control.git/96513\n>\n> Andreas had a patch to help by supporting manually typing out `git pull\n> --rebase --preserve-merges`:\n>\n> http://thread.gmane.org/gmane.comp.version-control.git/96593\n>\n> And then I did another small copy/paste patch on top to add a config\n> setting of `branch.<name>.preservemerges` much like the existing\n> `branch.<name>.rebase`.\n\nI just noticed the `branch.<name>.mergeoptions` flag in the merge docs.\nInstead of having both `branch.<name>.rebase` and `.preservemerges`, and\npossibly even more config parameters for whatever other people what to\nconfigure as well, would something like `branch.<name>.pulloptions` be a\nbetter idea?\n\nIn our case, we could then set all the `branch.<name>.pulloptions` to\n\"--rebase --preserve-merges\" (likely via a post-checkout hook) and be\nhappy with `git pull` \"just working\".\n\nAdding pulloptions would make the patch a little bit trickier, for me\nto implement anyway, and I assume the rebase flag would have to stay\nfor backwards compatibility, but if a pulloptions config parameter\napproach would be more acceptable than an explicit preservemerges\nconfig (and hence more likely to get the patches accepted), I'd be\nwilling to work on that.\n\nThanks,\nStephen\n"},{"id":"95363","messageId":"alpine.DEB.1.00.0811102047130.30769@pacific.mpi-cbg.de","threadId":"16214","inReplyTo":"20081110130518.3eb64ceb.stephen@exigencecorp.com","subject":"Re: pull --preserve-merges","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2008-11-10T19:48:19Z","receivedAt":"2008-11-10T19:48:19Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Mon, 10 Nov 2008, Stephen Haberman wrote:\n\n> [citing someone, presumably himself]\n>\n> > Awhile ago I brought up wanting to have a \"rebase with preserve \n> > merges\" option for `git pull`:\n> >\n> > http://thread.gmane.org/gmane.comp.version-control.git/96513\n> >\n> > Andreas had a patch to help by supporting manually typing out `git \n> > pull --rebase --preserve-merges`:\n> >\n> > http://thread.gmane.org/gmane.comp.version-control.git/96593\n> >\n> > And then I did another small copy/paste patch on top to add a config \n> > setting of `branch.<name>.preservemerges` much like the existing \n> > `branch.<name>.rebase`.\n> \n> I just noticed the `branch.<name>.mergeoptions` flag in the merge docs.\n> Instead of having both `branch.<name>.rebase` and `.preservemerges`, and\n> possibly even more config parameters for whatever other people what to\n> configure as well, would something like `branch.<name>.pulloptions` be a\n> better idea?\n\nOr we can stay backwards-compatible and support\n\n\t[branch \"<name\">]\n\t\trebase = preserve-merges\n\nCiao,\nDscho\n"}]}