Hi Blake,
Just a quick prelude - as I didn't see anything that explicitly mentioned your 
level of Git experience - 

Git branching is not the same as branching in most other version control 
systems. 
Changing between Git branches is not normally swapping between major variants 
and divergences of a project. 

If your previous experience has been of 'branches' being different, separate 
and divergent version of code (and a VCS that assumes that is true), it will be 
hard to see Git's branch model for what it is. One blog on the issue is [1].

Many codebases become inter-twined because of the things the VCS makes easy and 
those that are hard (and then you get into the usual problems...). Git changes 
those biases, and reduces the problems (but may not be an instant fix). It can 
take a while to see the woods for the trees. 

Philip

[1] http://felipec.wordpress.com/2013/08/27/analysis-of-hg-and-git-branches/
  ----- Original Message ----- 
  From: Blake McBride 
  To: git-users@googlegroups.com 
  Sent: Monday, October 21, 2013 4:03 PM
  Subject: Re: [git-users] GIT with large projects


  I am sure this can be done.  The problem is:


  1.  It would be a complex setup and may require a lot of maintenance to keep 
up to date


  2.  It would add a whole new potential bug element.  In other words, if the 
setup, or how it worked, had a problem, you'd have something to debug that 
would never have existed without attempting to add the ability to switch 
branches.  You wouldn't even know that that was the problem until you got far 
enough in the debug process.  


  So, while if this system were perfect it would be a good feature, in practice 
it would just add an additional failure point.


  Thanks.


  Blake


  On Monday, October 21, 2013 9:38:59 AM UTC-5, Dale Worley wrote:
    > From: Blake McBride <blak...@gmail.com> 

    > Not sure what you mean about designed well, but in order to switch 
branches 
    > without having to do a full rebuild would involve: 
    > 
    > [lots of stuff] 

    I believe there are commercial systems that do this.  They keep track 
    of the derived files and what source files they depend on.  Then when 
    you switch branches, they know everything that has to be deleted, 
    etc. to get the state of the build tree right. 

    Dale 


  -- 
  You received this message because you are subscribed to the Google Groups 
"Git for human beings" group.
  To unsubscribe from this group and stop receiving emails from it, send an 
email to git-users+unsubscr...@googlegroups.com.
  For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to