All of lore.kernel.org
 help / color / mirror / Atom feed
* Only the config file changes ...
@ 2010-03-02 12:06 Jez Caudle
  2010-03-02 13:16 ` Michael J Gruber
  0 siblings, 1 reply; 4+ messages in thread
From: Jez Caudle @ 2010-03-02 12:06 UTC (permalink / raw)
  To: git

Hi I'm new to Git and I've read the manual and tried my best to understand it.

I 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.

I 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.

I read about sub modules but they didn't seam relevant.

Am I barking up the wrong tree here?

Thanks,

Jez Caudle.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Only the config file changes ...
  2010-03-02 12:06 Only the config file changes Jez Caudle
@ 2010-03-02 13:16 ` Michael J Gruber
  2010-03-02 13:26   ` Jez Caudle
  0 siblings, 1 reply; 4+ messages in thread
From: Michael J Gruber @ 2010-03-02 13:16 UTC (permalink / raw)
  To: Jez Caudle; +Cc: git

Jez Caudle venit, vidit, dixit 02.03.2010 13:06:
> Hi I'm new to Git and I've read the manual and tried my best to
> understand it.
> 
> I 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.
> 
> I 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.
> 
> I read about sub modules but they didn't seam relevant.
> 
> Am I barking up the wrong tree here?

You're fellow dogs may need more details in order to decide that ;)

In general, I would recommend one branch (be it master) for changes
which apply to all clients (I guess that's what you mean by "versions,
all the same except..."), and one branch each for specific changes (to
config etc.).

Then just make sure to merge in the right direction, i.e. merge the
general, common branch into the specific ones.

Cheers,
Michael

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Only the config file changes ...
  2010-03-02 13:16 ` Michael J Gruber
@ 2010-03-02 13:26   ` Jez Caudle
  2010-03-02 14:46     ` Michael J Gruber
  0 siblings, 1 reply; 4+ messages in thread
From: Jez Caudle @ 2010-03-02 13:26 UTC (permalink / raw)
  To: Michael J Gruber; +Cc: Jez Caudle, git

Sounds good.

The 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.


I'm still reading my Git book but I'm thinking of doing it this way:

Master has it's own repository.
Each 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.
When changes are made to the master then simply copy all the non-specific files to each of the versions.

Then I can run my unit/functional tests agains each version and if they all pass - deploy.

Jez.

On 2 Mar 2010, at 13:16, Michael J Gruber wrote:

> Jez Caudle venit, vidit, dixit 02.03.2010 13:06:
>> Hi I'm new to Git and I've read the manual and tried my best to
>> understand it.
>> 
>> I 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.
>> 
>> I 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.
>> 
>> I read about sub modules but they didn't seam relevant.
>> 
>> Am I barking up the wrong tree here?
> 
> You're fellow dogs may need more details in order to decide that ;)
> 
> In general, I would recommend one branch (be it master) for changes
> which apply to all clients (I guess that's what you mean by "versions,
> all the same except..."), and one branch each for specific changes (to
> config etc.).
> 
> Then just make sure to merge in the right direction, i.e. merge the
> general, common branch into the specific ones.
> 
> Cheers,
> Michael

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Only the config file changes ...
  2010-03-02 13:26   ` Jez Caudle
@ 2010-03-02 14:46     ` Michael J Gruber
  0 siblings, 0 replies; 4+ messages in thread
From: Michael J Gruber @ 2010-03-02 14:46 UTC (permalink / raw)
  To: Jez Caudle; +Cc: Jez Caudle, git

Jez Caudle venit, vidit, dixit 02.03.2010 14:26:
> Sounds good.
> 
> The only problem being I find a bug in version C. I fix it in version
> C,

Don't do that :)

> now I want to merge that change back to the master and then out to
> A,B and then D.
> 

If you've done that anyways, you can still cherry-pick that change onto
master, or merge --no-commit and checkout --ours what you don't want merged.

> 
> I'm still reading my Git book but I'm thinking of doing it this way:
> 
> Master has it's own repository. Each 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. When changes are
> made to the master then simply copy all the non-specific files to
> each of the versions.

I don't think you need to remove any files - you do need them for
testing, don't you? It's just that you don't want to modify them in your
"specific" client repos.

Michael

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-03-02 14:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-02 12:06 Only the config file changes Jez Caudle
2010-03-02 13:16 ` Michael J Gruber
2010-03-02 13:26   ` Jez Caudle
2010-03-02 14:46     ` Michael J Gruber

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.