{"thread":{"id":"1559","subject":"Re: [RFC] Patches exchange is bad?","startedAt":"2005-08-17T17:35:22Z","lastAt":"2005-08-18T10:27:56Z","messageCount":4,"participants":["Marco Costalba","Catalin Marinas","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"7453","messageId":"20050817173522.14386.qmail@web26305.mail.ukl.yahoo.com","threadId":"1559","inReplyTo":null,"subject":"Re: [RFC] Patches exchange is bad?","fromName":"Marco Costalba","fromEmail":"mcostalba@yahoo.it","sentAt":"2005-08-17T17:35:22Z","receivedAt":"2005-08-17T17:35:22Z","isPatch":false,"sender":{"key":"mcostalba@gmail.com","avatar":null},"body":"Catalin Marinas wrote:\n\n>\n>Once you want a subset of these patches merged into MAIN, just pop\n>everything from the stack and only push those you want merged, in the\n>order you want (if there are some dependencies, the push will fail and\n>you can correct them or the order). When you are happy with the\n>patches pushed on the stack, just do a 'git pull <HEAD>' in the MAIN\n>repository. After this, doing a 'stg pull <MAIN>' in the HEAD one will\n>mark the patches already integrated into MAIN as empty and you can\n>safely remove them ('stg clean' does this automatically).\n>\n>This way I found StGIT useful for maintainers as well, not only for\n>contributors.\n>\n\nSorry if the answer is silly, but I still don't know well StGIT .\n\nWhat you describe it's an asymmetrical or one way scenario, new code \ngoes always from HEAD to MAIN. But how is the workflow if:\n\n1) There is more then one contributor feeding MAIN and you need to update \nthe StGIT patch stack from MAIN.\n\n2) You made something terribly wrong with HEAD (I don't know what can be \n'terribly wrong') and you need to recreate a clean base from MAIN.\n\nIn this cases, if I understand correctly, you need to clone a new StGIT archive from \nMAIN and push the interesting stuff from old/broken HEAD.\n\nOr you can always merge back pulling from MAIN as in case of two pure git archives?\n\n\nThanks\nMarco\n\n\n\n\t\t\n____________________________________________________\nStart your day with Yahoo! - make it your home page \nhttp://www.yahoo.com/r/hs \n \n"},{"id":"7475","messageId":"1124314075.7130.49.camel@localhost.localdomain","threadId":"1559","inReplyTo":"20050817173522.14386.qmail@web26305.mail.ukl.yahoo.com","subject":"Re: [RFC] Patches exchange is bad?","fromName":"Catalin Marinas","fromEmail":"catalin.marinas@gmail.com","sentAt":"2005-08-17T21:27:55Z","receivedAt":"2005-08-17T21:27:55Z","isPatch":false,"sender":{"key":"catalin.marinas@gmail.com","avatar":null},"body":"On Wed, 2005-08-17 at 10:35 -0700, Marco Costalba wrote:\n> Sorry if the answer is silly, but I still don't know well StGIT .\n\nIt's probably because there is no document really explaining the\nconcepts. The Quilt documentation would be a good starting point since\nStGIT uses the same ideas but implemented on top if GIT instead of a\nseries of GNU diff files.\n\n> What you describe it's an asymmetrical or one way scenario, new code \n> goes always from HEAD to MAIN. But how is the workflow if:\n\nIt is asymmetrical since HEAD uses StGIT and MAIN uses plain GIT but it\nis a two way data flow: 'git pull HEAD' in MAIN and 'stg pull MAIN' in\nHEAD.\n\n> 1) There is more then one contributor feeding MAIN and you need to update \n> the StGIT patch stack from MAIN.\n\nThe base of the StGIT stack in the HEAD repository (branch) should\nalways be the head of the MAIN repository. You update it via the 'stg\npull' command, which takes care of updating the patches so that they are\nseen as individual commits on top of the base.\n\nThat's how you would normally do development on Linux using StGIT -\nclone the mainline kernel, create patches in your StGIT tree and submit\nthem either via e-mail or ask the gatekeeper to pull directly from your\ntree (assuming that you only push those patches that need to be merged).\nDoing a 'stg pull' would retrieve the latest changes from the mainline\nkernel (including the changes made by your patches which were merged\nupstream).\n\n> 2) You made something terribly wrong with HEAD (I don't know what can be \n> 'terribly wrong') and you need to recreate a clean base from MAIN.\n> \n> In this cases, if I understand correctly, you need to clone a new StGIT archive from \n> MAIN and push the interesting stuff from old/broken HEAD.\n\nThis is not clear for me. What do you mean by 'terribly wrong'? Broken\nHEAD because of a bug in StGIT or GIT? Quite unlikely but in this case\nthe repository would be corrupt. I would recommend periodically doing a\n'stg export' to keep the series of patches in GNU diff files.\n\nIf you refer to a patch which breaks the code, you can simply pop it\nfrom the stack and even delete it with 'stg delete'. Popping it removes\nthe changes it makes to HEAD and the corresponding commit won't be seen\nwith 'git log'. You don't need to clone a new repository since StGIT\nallows you to choose which of your patches (commits) are included in\nHEAD (via 'stg push' and visible with 'stg applied').\n\n> Or you can always merge back pulling from MAIN as in case of two pure git archives?\n\nThe base of the StGIT stack is identical to MAIN. Doing a 'stg pop -a'\nmakes the HEAD and MAIN identical.\n\nPlease let me know if this needs further clarification.\n\n-- \nCatalin\n"},{"id":"7477","messageId":"Pine.LNX.4.63.0508172336280.17758@wgmdd8.biozentrum.uni-wuerzburg.de","threadId":"1559","inReplyTo":"1124314075.7130.49.camel@localhost.localdomain","subject":"Re: [RFC] Patches exchange is bad?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-08-17T21:37:47Z","receivedAt":"2005-08-17T21:37:47Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Catalin,\n\nmaybe it is time for a quick run through the typical jobs you do with \nStGIT, much like what Jeff sent the other day?\n\nCiao,\nDscho\n"},{"id":"7495","messageId":"tnxk6ij35g3.fsf@arm.com","threadId":"1559","inReplyTo":"Pine.LNX.4.63.0508172336280.17758@wgmdd8.biozentrum.uni-wuerzburg.de","subject":"Re: [RFC] Patches exchange is bad?","fromName":"Catalin Marinas","fromEmail":"catalin.marinas@gmail.com","sentAt":"2005-08-18T10:27:56Z","receivedAt":"2005-08-18T10:27:56Z","isPatch":false,"sender":{"key":"catalin.marinas@gmail.com","avatar":null},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> maybe it is time for a quick run through the typical jobs you do with \n> StGIT, much like what Jeff sent the other day?\n\nI hope I will find some time this weekend and write some tutorials on\nan StGIT wiki.\n\n-- \nCatalin\n"}]}