Hi shane,

"Shane Taylor" <[EMAIL PROTECTED]> wrote:

> Is it possible to tell Draco where to check the working copy of the source
> out to?  
> 

Not currently...

> Here is why I ask this…
> 
> 1.) We version control Nant itself along with any custom Nant tasks we have
> written.  We want the Build server to be using the latest version of Nant
> (along with our custom tasks) as we change it.  It would be very easy to
> “upgrade” Nant on the build server if we had a controlled location to point
> to.
> 

If you have a Path setup to your Binaries directory on your server, you can always be 
sure the
correct version of NAnt, Nunit, etc is being used? The reason I say this is because 
this is what we
do here at work (esentially).  We can do whatever with NAnt etc, and the next build 
will use the
latest of those changes.  The one problem with this is that you cannot put your tools 
within the
Project in your source control system and have it downloaded each time - but it doesnt 
stop you from
batching the latest stuff together.  For example, we have a Production project with a 
Binaries and
Source sub-project.  The Source project is the one checked out by Draco, and the 
Binaries is left
alone.  We label at the Production project and can therefore guarantee we have the 
correct version
for building etc.

> 2.) We have a lot of our own source (and other things such as Nant, NDoc,
> NUnit, etc...) in source control.  It is a lot of overhead to download all
> the source each time to a different location - especially if perhaps only a
> single file has changed.  If the source was checked out to a common
> controlled location, only the diffs would be sent over the wire (instead of
> approximately 30meg for us).
> 

I agree with this Shane.  A while ago I had the idea that maybe Draco could actually 
parse the
history that is reported, and then do a GET LATEST on those files to the correct 
locations on a
"working copy" of the code base.  However I never looked further into it, but I agree 
if something
like this was being done, the efficiency in the build would be profoundly faster.

> 3.) I understand that we can create our own tasks (we use Subversion... does
> anyone out there have any tasks for it??? :-) that can check out the source
> for us to a controlled location.  This way, problems #1 and #2 would be
> essentially solved (well... not really).  Now, however, there would be two
> source trees - 30 meg that Draco would get check out each time (to a
> different location) when a filed changed, and then the other tree would be
> checked out and maintained by the Nant tasks themselves (only sending diffs
> across the wire).  This seems rather wasteful as source tree that Draco
> checked out would not be used.  It would only be slowing everything down.
> 

I dont use Subversion, but this sounds a bit complicated.

> Now, I also understand that this might have been by design to check out code
> to a different location as this ensures a totally clean build each and every
> time.  This is a very nice feature for those who need to get up and running
> quickly.  However, most people should take time to create a decent "clean"
> target that would allow a totally clean build without switching working
> directories...
> 

I agree with a lot of this, but I have had a number of times in my career when a weird 
bug has
disappeared by a totally clean build.  By doing a clean build in these instances, it 
has been almost
absurd that it should affect the way the build is working, but it does.  But maybe 
there is some
leverage in letting those who are confident in the state of the code, to not use a 
clean codebase
(clean as in fresh from Version control).

> I like the idea of checking out to a separate location to ensure a clean
> build for some, however in our case (and probably many others...), it would
> be a nice thing to turn off and have a controlled working copy location.  If
> Draco does not allow this currently, is this something that is in the works?
> 
> Also, I am curious to see what other people's interest is in this...
> perhaps I am overlooking something and this is not a concern.  If it is,
> perhaps I (and others) can help out.
> 

It is a good point to raise Shane.  I am working at a client who has had to put the 
team in
temporary accommodation - we work in Portakabins.  This means we have a 10mbit network 
connection
and therefore means our build takes in excess of 5 minutes when Draco runs.  I would 
like to get
this down to a few at most (the problem isnt just draco).  This is why I had the idea 
of having
Draco parse the history and extract only the files that have changed or been deleted.  
For VSS, I
dont think the solution would be too difficult - all that is required is a parse of 
the history, a
Change Context to be created, and a Source Mapper to perform the task of getting the 
source onto the
machine and into the existing codebase.



> 
> Respectfully, 
> 
> Shane
> 





-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Draconet-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/draconet-users

Reply via email to