Hi Kenneth,

> I have a site in production and being developed at the same time - a
> common django usecase I am sure. This is the first time I am
> developing a site with a team comprised of several remote
> contributors also. My previous teams were all in the same lab.
> Currently everyone with commit rights commits code to the repository.
> I test it out on the setup on my local box, and if satisfactory do an
> svn up on the server and restart apache. The problem is that there
> are two types of changes in code - one is new features and the other
> is minor changes. With the current setup, minor changes have to wait
> until the new features are tested out. So even a spelling mistake has
> to wait until whatever is already committed is tested and accepted.
> At the same time, the new features do not really justify setting up
> separate branches. So what would be the best way out of this?
> --

Branching and merging will actually make your life easy. This is a
standard usecase for it.

Just for example:

/trunk -> Keep the latest/bleeding-edge/unstable development code here

/branches/production -> Keep your current production code here (your
production server would be upgraded by "svn up" from this branch)

/versions/v-2008-Jan-15
/versions/v-2007-Dec-09
        -> Keep a snapshot of each production release here with a dated
version number

Encourage your development team to make small frequent commits of
related code rather than one big commit with all kinds of mixed fixes
and features (all of this trunk, of course.)

When you need to deploy a set of minor fixes to production, keep
merging such fixes into /branches/production. Be sure to test /
branches/production any time you merge in fixes or features into it.
And any time /branches/production gets svn updated to your production
server, snapshot it to /versions/v-yyyy-mmm-dd for historical records
(or if you need to revert back to an older production release for any
reason.)

If you have serious features/refactoring work going on, it's extremely
useful to do all of that in dedicated branches (think newforms-admin,
queryset-refactor, ...) and merge them to trunk later.

Good luck!

-Rajesh D

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to