{"thread":{"id":"22880","subject":"Only the config file changes ...","startedAt":"2010-03-02T12:06:48Z","lastAt":"2010-03-02T14:46:51Z","messageCount":4,"participants":["Jez Caudle","Michael J Gruber"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"136017","messageId":"70786312428882320720829319256948501508-Webmail@me.com","threadId":"22880","inReplyTo":null,"subject":"Only the config file changes ...","fromName":"Jez Caudle","fromEmail":"gitmailinglist@me.com","sentAt":"2010-03-02T12:06:48Z","receivedAt":"2010-03-02T12:06:48Z","isPatch":false,"sender":{"key":"gitmailinglist@me.com","avatar":null},"body":"Hi I'm new to Git and I've read the manual and tried my best to understand it.\n\nI have a project that is going to have many versions, all the same except for the config file, the unit/functional tests and some display information.\n\nI have seen that I can create branches and then merge them. I wondered if I could create a branch, change the config file information and then decree that the config file in the new branch is not merged.\n\nI read about sub modules but they didn't seam relevant.\n\nAm I barking up the wrong tree here?\n\nThanks,\n\nJez Caudle.\n"},{"id":"136018","messageId":"4B8D0FA7.8070206@drmicha.warpmail.net","threadId":"22880","inReplyTo":"70786312428882320720829319256948501508-Webmail@me.com","subject":"Re: Only the config file changes ...","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2010-03-02T13:16:23Z","receivedAt":"2010-03-02T13:16:23Z","isPatch":false,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Jez Caudle venit, vidit, dixit 02.03.2010 13:06:\n> Hi I'm new to Git and I've read the manual and tried my best to\n> understand it.\n> \n> I have a project that is going to have many versions, all the same\n> except for the config file, the unit/functional tests and some\n> display information.\n> \n> I have seen that I can create branches and then merge them. I\n> wondered if I could create a branch, change the config file\n> information and then decree that the config file in the new branch is\n> not merged.\n> \n> I read about sub modules but they didn't seam relevant.\n> \n> Am I barking up the wrong tree here?\n\nYou're fellow dogs may need more details in order to decide that ;)\n\nIn general, I would recommend one branch (be it master) for changes\nwhich apply to all clients (I guess that's what you mean by \"versions,\nall the same except...\"), and one branch each for specific changes (to\nconfig etc.).\n\nThen just make sure to merge in the right direction, i.e. merge the\ngeneral, common branch into the specific ones.\n\nCheers,\nMichael\n"},{"id":"136020","messageId":"1463530E-F729-46CA-881D-A89E6CF89241@me.com","threadId":"22880","inReplyTo":"4B8D0FA7.8070206@drmicha.warpmail.net","subject":"Re: Only the config file changes ...","fromName":"Jez Caudle","fromEmail":"jezcaudle@me.com","sentAt":"2010-03-02T13:26:15Z","receivedAt":"2010-03-02T13:26:15Z","isPatch":false,"sender":{"key":"jezcaudle@me.com","avatar":null},"body":"Sounds good.\n\nThe only problem being I find a bug in version C. I fix it in version C, now I want to merge that change back to the master and then out to A,B and then D.\n\n\nI'm still reading my Git book but I'm thinking of doing it this way:\n\nMaster has it's own repository.\nEach version has it's own repository that is created by cloning the Master and then removing all the files that are not specific removed from the repository.\nWhen changes are made to the master then simply copy all the non-specific files to each of the versions.\n\nThen I can run my unit/functional tests agains each version and if they all pass - deploy.\n\nJez.\n\nOn 2 Mar 2010, at 13:16, Michael J Gruber wrote:\n\n> Jez Caudle venit, vidit, dixit 02.03.2010 13:06:\n>> Hi I'm new to Git and I've read the manual and tried my best to\n>> understand it.\n>> \n>> I have a project that is going to have many versions, all the same\n>> except for the config file, the unit/functional tests and some\n>> display information.\n>> \n>> I have seen that I can create branches and then merge them. I\n>> wondered if I could create a branch, change the config file\n>> information and then decree that the config file in the new branch is\n>> not merged.\n>> \n>> I read about sub modules but they didn't seam relevant.\n>> \n>> Am I barking up the wrong tree here?\n> \n> You're fellow dogs may need more details in order to decide that ;)\n> \n> In general, I would recommend one branch (be it master) for changes\n> which apply to all clients (I guess that's what you mean by \"versions,\n> all the same except...\"), and one branch each for specific changes (to\n> config etc.).\n> \n> Then just make sure to merge in the right direction, i.e. merge the\n> general, common branch into the specific ones.\n> \n> Cheers,\n> Michael\n"},{"id":"136021","messageId":"4B8D24DB.3080007@drmicha.warpmail.net","threadId":"22880","inReplyTo":"1463530E-F729-46CA-881D-A89E6CF89241@me.com","subject":"Re: Only the config file changes ...","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2010-03-02T14:46:51Z","receivedAt":"2010-03-02T14:46:51Z","isPatch":false,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Jez Caudle venit, vidit, dixit 02.03.2010 14:26:\n> Sounds good.\n> \n> The only problem being I find a bug in version C. I fix it in version\n> C,\n\nDon't do that :)\n\n> now I want to merge that change back to the master and then out to\n> A,B and then D.\n> \n\nIf you've done that anyways, you can still cherry-pick that change onto\nmaster, or merge --no-commit and checkout --ours what you don't want merged.\n\n> \n> I'm still reading my Git book but I'm thinking of doing it this way:\n> \n> Master has it's own repository. Each version has it's own repository\n> that is created by cloning the Master and then removing all the files\n> that are not specific removed from the repository. When changes are\n> made to the master then simply copy all the non-specific files to\n> each of the versions.\n\nI don't think you need to remove any files - you do need them for\ntesting, don't you? It's just that you don't want to modify them in your\n\"specific\" client repos.\n\nMichael\n"}]}