{"thread":{"id":"22983","subject":"Clarifications for merge workflows","startedAt":"2010-03-11T11:12:21Z","lastAt":"2010-03-11T13:02:04Z","messageCount":3,"participants":["Markus Elfring","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"136575","messageId":"4B98D015.40401@web.de","threadId":"22983","inReplyTo":null,"subject":"Clarifications for merge workflows","fromName":"Markus Elfring","fromEmail":"markus.elfring@web.de","sentAt":"2010-03-11T11:12:21Z","receivedAt":"2010-03-11T11:12:21Z","isPatch":false,"sender":{"key":"markus.elfring@web.de","avatar":null},"body":"Hello,\n\nSome informations are available in the manual about distributed content\nmanagement workflows.\nhttp://kernel.org/pub/software/scm/git/docs/gitworkflows.html#_merge_workflow\n\nI find that a few details are missing to achieve a better understanding for the\nmerging of branches.\n\nUse case:\nA contributor pushes an update suggestion from the personal repository \"ABC\" to\na topic branch in a public repository \"SHARE\" on a separate server. An\nintegrator reviews the proposed changes. If they are accepted, the integrator\nwill choose a repository where the merge should be performed next.\n- Log-in to the server and integrate the updates there.\n  or\n- Fetch the remote topic branch into the integrator's own local repository\n\"XYZ\", merge there and push the result back to the server.\n\nWhich ways do you recommend to select the storage location where a merge will be\napplied first?\n\nRegards,\nMarkus\n"},{"id":"136577","messageId":"7v63532h82.fsf@alter.siamese.dyndns.org","threadId":"22983","inReplyTo":"4B98D015.40401@web.de","subject":"Re: Clarifications for merge workflows","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-03-11T12:08:45Z","receivedAt":"2010-03-11T12:08:45Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Markus Elfring <Markus.Elfring@web.de> writes:\n\n> - Log-in to the server and integrate the updates there.\n>   or\n> - Fetch the remote topic branch into the integrator's own local repository\n> \"XYZ\", merge there and push the result back to the server.\n>\n> Which ways do you recommend to select the storage location where a merge will be\n> applied first?\n\nPersonally, I would find the latter a more natural (and perhaps the only\nnatural) solution to me.\n\nBeing distributed is just that.  When I do my work, whether it is\ndeveloping new things myself, reviewing others' patches or reviewing\nothers' pull requests and accepting them (either \"am\", or \"pull\"),\neverything is done \"locally\" at the most convenient place for \"me\", and\nthat convenient place happens to be where I primarily do my work.  The\ntools, test procedures, and everything necessary for my work is already\nthere.\n\nAnd then the procedure to publish the result out, whether it is what I did\nmyself, or what I helped to integrate into my history from others, is the\nsame.  I push the result out from that \"local\" place to the \"public\" one.\n\nOf course, if you are always working on that \"server\", the fact that you\nare always working there makes it the most convenient place to do all of\nyour work for you.  But even in that case, you would not want to publish a\nhalf-integrated state out to the public only to confuse people, so the\nactual integration work may happen phisically on the \"server\" machine, but\nmost likely you would be working in a repository on that machine that is\nseparate from the one you let others to pull from, i.e. your public\nrepository.\n"},{"id":"136582","messageId":"4B98E9CC.9000700@web.de","threadId":"22983","inReplyTo":"7v63532h82.fsf@alter.siamese.dyndns.org","subject":"Re: Clarifications for merge workflows","fromName":"Markus Elfring","fromEmail":"markus.elfring@web.de","sentAt":"2010-03-11T13:02:04Z","receivedAt":"2010-03-11T13:02:04Z","isPatch":false,"sender":{"key":"markus.elfring@web.de","avatar":null},"body":"Thanks for your explanation.\n\n\n> And then the procedure to publish the result out, whether it is what I did\n> myself, or what I helped to integrate into my history from others, is the\n> same.  I push the result out from that \"local\" place to the \"public\" one.\n\nDoes any observable difference exist if the data synchronisation would be\nperformed in the other direction?\n\n\n> Of course, if you are always working on that \"server\", the fact that you\n> are always working there makes it the most convenient place to do all of\n> your work for you.\n\nI guess that it matters a bit if the published repository \"SHARE\" is the leading\nand authoritative storage location.\n\nRegards,\nMarkus\n"}]}