The way I handle this sort of thing is with a combination of sharing and 
branching.

Let's say we're developing release 1.0 of the app. I'll make a SJ folder 
structure like this:

MyApp/1.0

Then I'll put all of my code, starting out, under that 1.0 folder.

Later on we go live with 1.0. But we want to maintain our code base so we can 
do maintenance
releases and we want to begin work on 2.0. What we do is share the 1.0 folder 
into a new 2.0
folder. What this does is create a new folder structure like this in SJ:

MyApp/2.0

Everything under 2.0 will be exactly the same as what's in 1.0. All of the 
folders will be the
same and all of the files will be references to the exact same files as those 
under 1.0 (that's
what we mean by sharing). 

Now, as we begin development in 2.0, we individually branch each file as we 
modify it (using the
branch on checkin feature in most cases). This way, changes we make in 2.0 
don't show up in 1.0
and we've always got a clean copy of 1.0. But if we make a change in 1.0 in a 
file that has not
yet been branched, we don't branch it so that the change we make automatically 
gets propogated to
2.0. 

As we work for a while, many of our files will remain shared, but many will end 
up branched. We
can continue this process into new releases, by sharing the 2.0 directory into 
a new 3.0 folder
and so on.

Labels fit in a little bit differently. I generally keep a top-level label in 
each of my "release"
folders. I rebuild this every time a major chunk of functionality has been 
completed. 

This is how I personally fit shares, branches, and labels together to organize 
my build structre.

One issue is that you end up with a lot of x.x folders after a while, but this 
is easy to take
care of. Once you've got multiple release of your app, you can create a 
"current" and "archive"
folder and just move the older release folders to the "archive" folder and keep 
only 2 or 3
release in "current".

Hopefully this is helpful, Amit. Thanks for a good question.

--Rob

--- Shah Amit <[EMAIL PROTECTED]> wrote:

> Hi,
> 
> Please pardon my inexperience with branching/labelling. I have a set of 
> requirements and I am confused as to how I can use sourcejammer to help me.
> 
> I have a project checked into sourcejammer. Let us say there are 10 files in 
> that. Now I want to "release" versions 1.0. Do some changes to the main line 
> of code and release 2.0, and similarly 3.0. However after 3.0 is released, I 
> might want to be able to go into 1.0 and change something in one of the 
> files (may be to fix some minor bugs)
> 
> I tried to use label, but label doesn't let me change any files "in" that 
> label, except if I rebuild the label. However in my situation, I might 
> already be at version 3.0 and the code has drastically changed compared to 
> version 1.0 (The root of the problem is, the developement is far ahead of 
> the release schedule so we are releasing only small portions of whatever is 
> ready !!)
> 
> I tried to use the branch feature, but it says I should share a file to 
> branch. Now I dont really need to share a file because all i want to do is 
> "release" ??
> 
> Please advise ...
> 
> Thanks,
> Amit
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by:
> Power Architecture Resource Center: Free content, downloads, discussions,
> and more. http://solutions.newsforge.com/ibmarch.tmpl
> _______________________________________________
> SourceJammer-users mailing list
> SourceJammer-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sourcejammer-users
> 



        
                
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
SourceJammer-users mailing list
SourceJammer-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sourcejammer-users

Reply via email to