On Monday 25 January 2010, Adam wrote:
> I must be making progress, because now I'm on the development team,
>  sort of, for a major project, as I'm assisting the developer of
>  one small area of libgphoto2, if you call that a major project.  I
>  figured I'm likely to do something that will trash my development
>  system, so I used VirtualBox to create a VM just for this project.
>  This way, no matter how badly I wreck the "development" system,
>  my "production" system (I only have the one box) will remain
>  usable.

I think that's unnecessary, but you'll also find that out for yourself 
by doing the experiment.  Breaking libgphoto2 would be something that 
is reversible without much impact -- whereas badly breaking something 
fundamentally needed for the system, like libc6, could be more 
catastrophic.  However even then you could revert libc6 with a LiveCD.  
As such, any development (and testing) I do is on the same systems I 
normally use.

> Anyway, I'm on a development team for this project which uses SVN. 
>  I think I need to keep three separate versions on my "development"
>  system: (a) the latest SVN version, (b) the latest SVN version
>  plus whatever the developer sends me (as I think I'm the only
>  other person involved, he just emails me, instead of using "svn
>  commit" for every minor change), and (c) the latest SVN version
>  plus whatever the developer sends me plus whatever changes I'm
>  trying out.

This is essentially exactly what "branches" were meant to be for, at 
least in 'git' terms of them.  So if I were in this situation, I would 
locally use 'git' which contained the 'lastes SVN' repo (a) in the 
'master' branch, another branch for (b) named something like 
'developer-updated' which you patch and commit locally yourself, and a 
third branch for (c) named something like 'my-local-changes'.  From 
there you can either send patches back to the developer for the 
differences between branches (b) and (c), or you can copy your local 
changes so SVN and work with SVN to commit from there, etc.  Pulling 
in changes in branch (b) into (c) can be done from (c) using 'git 
pull', and it's actually that simple unless you've changed exactly the 
same lines in the same files the other developer has.

Alternatively I guess another way would be to set up your own local 
SVN repo, to illeviate needing to populate the public repo with 
branches.

   -- Chris

-- 

Chris Knadle
[email protected]
_______________________________________________
Mid-Hudson Valley Linux Users Group                  http://mhvlug.org
http://mhvlug.org/cgi-bin/mailman/listinfo/mhvlug

Upcoming Meetings (6pm - 8pm)                         MHVLS Auditorium
  Feb 3 - Why Arduino? An Introduction
  Mar 3 - Sahana and 7 Years of MHVLUG Celebration
  Apr 7 - Nagios

Reply via email to