POV-Ray : Newsgroups : povray.off-topic : Best solution for versioning in my situatiuon Server Time
5 Nov 2024 12:41:30 EST (-0500)
  Best solution for versioning in my situatiuon (Message 1 to 4 of 4)  
From: Halbert
Subject: Best solution for versioning in my situatiuon
Date: 6 Jan 2009 16:12:37
Message: <4963c945$1@news.povray.org>
Much of the work I do involves working on web applications for a small 
service based company. We also have another developer who does the same type 
of work in another part of the country. We have finally learned to make sure 
we have the most recent version of a file before beginning work on an 
update.
I had been working on an update to add second language functionality to four 
pages, finished my work and was testing when she sends me an email informing 
me that she has just completed updating the very same four files that I had 
been working on for the last four days. So, the version of the file I had 
became out of date before I could make my own update. She is always very 
good about informing me of such things although after the fact. So, now I 
have to get the new version of these four files and completely redo the work 
I have already done.

I tend to use Dreamweaver 95% of the time while she uses Visual Studio.We 
are set up with a development server and two load-balanced web servers 
running Windows Server 2003 IIS etc. Does anyone have any recommendations on 
a system for maintaining integrity in such a situation? What have other 
people been using?

-- 


Post a reply to this message

From: Darren New
Subject: Re: Best solution for versioning in my situatiuon
Date: 6 Jan 2009 16:25:02
Message: <4963cc2e$1@news.povray.org>
Halbert wrote:
> I tend to use Dreamweaver 95% of the time while she uses Visual Studio.

The simplest for you would probably be to set up Visual Source Safe. This is 
a source code control system that does locking. I.e., while she's modifying 
the file, you cannot.  In this mechanism, there's one server that holds all 
versions of all the code, and you take copies to your machine to work on 
them (or, hopefully, serve them from your production servers). You make a 
change by telling VSS to lock the file, at which point the read-only flag 
gets cleared, and when you're done you check it back in, which updates the 
central copy (with the possibility of getting old copies back, of course).

One advantage is that VSS interface is built into Visual Studio, so it'll 
automatically check out a file when she starts editting it, for example. I 
don't know about Dreamweaver.

The other mechanism you might want to look into is something like 
"subversion", aka "svn".  There are Windows clients (TortiseSVN for one) 
that integrates it into Explorer, so you can check out files and put them 
back with a right-click menu, along with little shortcut-style icons telling 
you the status of the files. In this sort of system, you get a full copy of 
all the files, and you make changes locally and then push the changes back 
up. If she makes changes while you are, whoever pushes the changes back 
second has to "resolve" any conflicts. If you changed the top and she 
changed the bottom, it works fine. If you and she changed the same lines, 
the second person will have to basically re-edit the file to say "this is 
what it should look like combined".

There's a third mechanism exemplified by "git", where everyone has an entire 
copy of the entire history of the system locally. This is more useful in 
things like open-source software, or if you're often disconnected from the 
network. You can save multiple sets of changes locally, then push them up to 
the central server later. This is probably way overkill for two people.

HTH.

-- 
   Darren New, San Diego CA, USA (PST)
   Why is there a chainsaw in DOOM?
   There aren't any trees on Mars.


Post a reply to this message

From: Halbert
Subject: Re: Best solution for versioning in my situatiuon
Date: 6 Jan 2009 16:49:31
Message: <4963d1eb$1@news.povray.org>
> The simplest for you would probably be to set up Visual Source Safe. This 
> is a source code control system that does locking. I.e., while she's 
> modifying the file, you cannot.  In this mechanism, there's one server 
> that holds all versions of all the code, and you take copies to your 
> machine to work on them (or, hopefully, serve them from your production 
> servers). You make a change by telling VSS to lock the file, at which 
> point the read-only flag gets cleared, and when you're done you check it 
> back in, which updates the central copy (with the possibility of getting 
> old copies back, of course).
>
> One advantage is that VSS interface is built into Visual Studio, so it'll 
> automatically check out a file when she starts editting it, for example. I 
> don't know about Dreamweaver.
>

I see there is an option in Dreamweaver to sync to a VSS database. I wonder 
what means you use to sync the VSS database with the development webserver 
and the two load-balanced production webservers. The business about syncing 
the two production servers is always something that has bothered me too 
because we have been doing it manually. Every once in a while a revision 
will be made and one of the servers will fail to be updated making one of 
the two servers have an out of date copy (or no copy.)

-- 


Post a reply to this message

From: Darren New
Subject: Re: Best solution for versioning in my situatiuon
Date: 6 Jan 2009 17:42:37
Message: <4963de5d$1@news.povray.org>
Halbert wrote:
> I see there is an option in Dreamweaver to sync to a VSS database.

Cool. That simplifies things.  You'll still need someone knowlegable to set 
up the repository. (Said person might be you of course, but it's not nearly 
as straightforward as using it.)

> I wonder 
> what means you use to sync the VSS database with the development webserver 
> and the two load-balanced production webservers.

VSS comes with a client software that just presents a window with the server 
side and the client side, I think.

Basically, you check out the code onto the server the same way you do on the 
development machines. When you want to deploy, you just refresh the checked 
out version. You may need to rearrange some things to make this easy, but I 
find it works well because it gives you the option to go "crap! Production 
doesn't work with the version that's fine on development!" and get back to 
where you were within a short time.

If you have a SQL database, things are uglier of course, since you have to 
synchronize schema changes and stuff. I can advise on that if the mechanisms 
aren't obvious too, but it's a fairly tedious process no matter how you work it.

> The business about syncing 
> the two production servers is always something that has bothered me too 
> because we have been doing it manually. Every once in a while a revision 
> will be made and one of the servers will fail to be updated making one of 
> the two servers have an out of date copy (or no copy.)

Yep. VSS will tell you what version is on the servers, if you log into them 
and query it.

Given that both Visual Studio and Dreamweaver support VSS, I'd suggest you 
find someone locally who can spend you an hour setting it up and teaching 
you how to use it.  It's conceptually pretty straightforward.

-- 
   Darren New, San Diego CA, USA (PST)
   Why is there a chainsaw in DOOM?
   There aren't any trees on Mars.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.