[PLUG-Devel] Using DVCS was: sourceforge or codeplex or googlecode for OSS hosting

Josh Coffman josh at computeristsolutions.com
Tue Sep 16 08:39:39 MST 2008


On Tue, Sep 16, 2008 at 6:51 AM, Ted Gould <ted at gould.cx> wrote:
> On Mon, 2008-09-15 at 21:09 -0700, Josh Coffman wrote:
>>   Why don't you start a thread and share you're dsvc experiences?
>> I've not used any, but thought I might try mercurial out for fun.
>> (yep... source control for fun..  I'm mental.)  Anyway, I'd be
>> interested.  I do a lot of stuff that is just me or for a client that
>> has their own setup.  So I'm not sure I see the point of dsvc in my
>> case, but I'd like to know more.
>
> I guess for me there are two things.  Really supporting branches and
> disconnected access.
>
> I think that every version control system, probably ever but certainly
> recent ones, has supported branches.  But, in many cases that support is
> weak and merging is so-so.  Then, if you want to be able to look at a
> development log of development that was done on a branch, you better
> have made some good check-in comments.  No real tool support.  By the
> very nature of being a DVCS you really need to support branches
> first-class and making merging useful and easy.
>
> So what does this really mean?  In my development I do a lot more "micro
> branches" because they are so easy and useful.  I'm much more willing to
> throw a feature on a branch.  Why not?  And infact this is better
> because if I want to cherry pick features for a release, or remove
> features, having them on a branch makes it a complete idea.  I find that
> this becomes a lot cleaner than the way I've done things before.  It
> also makes code reviews easier and the result is "merge branch X" which
> is simple for everyone involved.
>
> Now, there is a downside.  Because branches are easy to maintain and
> make I find that I sometimes forget to merge them in and keep them off
> the mainline more.  I simply don't get around to it.  Where when I was
> using SVN I'd try to merge in as quickly as possible because I knew it
> couldn't handle a branch if it was away from mainline for too long.
> This is simply me being lazy, but now I have tools that make me being
> lazy easier :)
>
> I travel, quite a bit.  Now some of this is to places like Europe, but
> other is to the local coffee shop.  In general, it seems like half the
> time "Public WiFi" sites end up being 'disconnected' for some technical
> reason or another.  But, it doesn't matter.  I can branch, cherry pick
> and check in whether or not I'm online or not.  It's just not a big
> deal, which is a big deal to me.  I also find this makes things like
> server maintenance something I don't follow anymore.
>
> In general, if you're starting a new project or in a transition period I
> would recommend switching to a DVCS.  If only one developer uses the 'D'
> features once that's okay because there's no cost to everyone else.
> And, I swear, that once will make you a new best friend :)
>
> That's about all I can think of off the cuff.  If you guys have any
> questions on specifics, or general stuff, I'd be happy to continue.
> Direct me on where to go!  :)
>
>                        --Ted
>
>

So what DVCS do you like? GIT, Mercurial, etc?  ..and what client
software do you know of and think is good.  I'd be happy to try
something if I knew where to start.  I'm not going to pay for hosting
it though; I'd only want something to try it out with.  Also, Some of
my coding is on windows, other is not OS dependent.  So I'd need
something with client software for windows, linux, and (soon) mac.

-j


-- 
Josh | josh at computeristsolutions.com | http://computeristsolutions.com


More information about the PLUG-devel mailing list