The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Developing in multiple locations

I was wondering how others handle the idea of developing in multiple locations whilest being a uISV?  I'm currently on a laptop, but the laptop is getting old, and won't support VS.Net 2008.  (VS.Net 2005 runs like a Tortise, so it's not much better)

I've thought of having a dedicated server (using either subversion or Visual Source Safe) and then checking in files at the end of the night, but feel like that is a pointless way of performing this.

If anyone else has come up with a great solution, any input would be appreciated.
Richard B. Send private email
Monday, November 26, 2007
Won't a new laptop solve your problem?
Ionuţ Bizău Send private email
Monday, November 26, 2007
Yes.. and for the love of all that is sane, please use version control:
KC Send private email
Monday, November 26, 2007
> but feel like that is a pointless way of performing this.

If internet reliability is low on your working site, you might consider a distributed SCM. I cannot say very much to Win** OS'es in this regard (SVK?). Git would be a choice on Linux. This way, you can carry your repository with you without to lose the possibility for later merging.
Micha Send private email
Monday, November 26, 2007
>then checking in files at the end of the night, but feel like that is a pointless way of performing this.

I'm working with a friend who dislikes source control. So, for his project, we zip up folders and try to manually merge stuff. Alternatively, we play with and remote into his machine when he's out of his basement.

My estimate is that together we waste approx 1.5 hours per weekend doing this. He sees the ~$30 that cvsdude would charge as a lot of money, of course he's panicking about his ARM reset in a couple months (which will make his housing payments jump by 50%), so he's stepping over a dollar to pick up a dime.
Peter Send private email
Monday, November 26, 2007
Here's what I do.  I'm sure someone will tell me this is the absolute worst thing in the world, but since it's just me, and I'm disciplined about it, it works fine. 

I'm a lone developer, and I work on 3 different machines.  I use Subversion.  I have a USB thumb drive.  I have a subversion repository on each machine I use.  Conceptually, what I do is synchronize those repositories so that they're mirrors of each other.  Specifically, here's how I do that:

Subversion keeps global revision numbers.  Let's say yesterday I was up to revision 123, and today I work to revision 134.  When I finish the day's work, I do an incremental dump onto my thumb drive using a command like
    svnadmin dump --incremental -r124:134 my_repository > thumb/incremental/124-134.txt

I keep all the incrementals, although once in a while I go in and make a dump from 1-1000 or something like that to save me time.

When I go to a different machine, the first thing I do is load my incrementals:
svnadmin load my_repository < thumb/incremental/124-134.txt
svnadmin load my_repository < thumb/incremental/135-144.txt
Then I do a subversion update, compile, and I'm good to go.

On both dump and load, I use a command like
    svnlook youngest my_repository
to tell me what the latest revision is.

It took me a while the first time or two, but now that I'm used to it, it's a couple of seconds at start/stop.
Michael Gibson Send private email
Monday, November 26, 2007

Did you check out svsync and if so - why did you reject it?
Monday, November 26, 2007
Or you could pay $6/month to get CVSDude to host it and never have to worry about missing or screwing up a sync.

Stop the insanity/complexity!
KC Send private email
Monday, November 26, 2007
DK -

I didn't realize svnsync existed until a couple of weeks ago.  I haven't looked into it seriously.  The reason I didn't immediately switch over is the documentation talks about it being for one active repository and one or more read only copies.  Since I'm writing on all copies at various times, I figured I'd need to spend some time reading the fine points of the documentation and testing it to make sure it was okay - I just haven't had a chance to do that yet.
Michael Gibson Send private email
Monday, November 26, 2007
Fair enough :) thanks for the answer.

At the moment I'm happy with subversion repository on SD card: SVN servers (simple command line flavour) are running on the laptop and home desktop; usually the card just follows with me to the box I currently work with, but if the card is missing I still risk no more than few hours work. It's no-hussle setup, e.g. if server is not running, it's a matter of one click to launch it etc etc. And SD card nicely fits all the way inside laptop. Resume: very convenient and almost 0 extra effort to maintain.

However, with svnsync released I have a feeling there is a similar zero-mainenance solution, which would have repository available all the time and won't require physically moving some media around, just may be auto-run some sync script when laptop is connected to the home wireless network or something.

As svnsync can do the synchronization both ways it shouldn't force you to assign a dedicated r/w repository... guess I'll invest few hours on weekend to see if it will work for me.
Monday, November 26, 2007
I've been playing with bazaar lately[0], and kind of liking it.

It's a distributed VCS, which doesn't require ANY servers, and supports much easier merging than svn does. Net result, each machine has their own repository, and it's fairly simple to shoot patches back and forth as needed, and easy to merge them.

Downside - command line only interface for the moment; no tortoiseBZR yet.

Works on windows and linux at least.


Chris Tavares Send private email
Tuesday, November 27, 2007
I have 3 separate machines (1 'at the office', 1 at home, and my laptop).

The best $30 I spend every month is  Hands down, the commit, update commands or TortoiseSVN are LIFESAVER'S!!!  (I started with the free plan, and upgraded my way through... I'd really go with the $6/month plan mentioned above to start.)

Tom Fuertes Send private email
Wednesday, December 05, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz