since we are Microsoft Certified Partners, we are considering
SourceSafe. what is your experience with it?
I am also interested in these features:
-integration with Visual Studio 2005
-integration with a bug tracker, and which one would it be?
Tsahi
> On Aug 8, 11:05 am, tsahias...@gmail.com wrote:
>> hi,
>> we are a small software company, with 6 developers in 2 locations, and
>> a couple of dozens of clients. we develop 3 products, and we are in a
>> process of rewriting them from VB6 to C#. so far we didn't have any
>> version control system. we just had sequential versions stored on a
>> file server. we managed to keep away from branching specific versions
>> for every client's special needs.
>> we are now looking for a good version control systems. in particular,
>> i'd like answers to these questions:
>> 1. what are the general benefits of using a version control system?
Well, it manages the versioning for you. In a way that is far less error
prone than doing manual version control on a file server. All changes to
you sources are tracked and it can be checked at any point in time who did
what and why. And, most importantly, history can't be changed anymore.
Consider the following scenario with you file server based versioning:
1) You deliver your software to customer
2) A developer accidentally continues to work on the same directory you
delivered from.
3) Customer reports a bug.
Now the exact software that was delivered to customer is not available
anymore, which may make bug hunting harder.
This can't happen anymore with a version control system. You can tag what
you deliver and refer to this tag again later if needed (check out from it
and fix bugs in the exact same software you delivered months ago, without
fear that anybody changed it in between).
>> 2. what features should i expect from a VCS?
- directory versioning
- ability to branch/merge
- merge tracking
- atomic operations
- maybe others
>> 3. to the extend this question is valid, is there a VCS you would
>> recommend?
Since you're working on Windows, I would recommend subversion[1] (doesn't
track merges, yet. Planned for 1.5), because it has Windows clients.
However, I would recommend to install the server on a Unix-like OS (Linux,
*BSD), for reliablity reasons.
>> since we are Microsoft Certified Partners, we are considering
>> SourceSafe. what is your experience with it?
None.
> I am also interested in these features:
> -integration with Visual Studio 2005
There's a subversion plugin for it.
> -integration with a bug tracker, and which one would it be?
You could look at bugzilla or trac.
[1]: http://subversion.tigris.org
HTH...
Dirk
None. But SourceSafe has by far the worst reputation of any version
control tool. Google for details; I cannot honestly say I know more
about this.
I don't think Microsoft would mind if you went for something different
in this case. "Subversion" seems to be a popular (free) alternative
these days.
/Jorgen
--
// Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu
\X/ snipabacken.dyndns.org> R'lyeh wgah'nagl fhtagn!
I do. We used VSS for years, and everybody is glad
we switched from it. If you want to know more,
google for what I wrote here about it in the past.
> I don't think Microsoft would mind if you went for something different
> in this case. [...]
Especially since they use something else themselves. :)
> /Jorgen
Schobi
--
Spam...@gmx.de is never read
I'm HSchober at gmx dot de
"If there were some arcane way to remove the heads of every
newsgroup troll on the planet, I think it would elevate
humans to a whole new level of intelligence."
Rocky Frisco
I tried once again, to record something in a FAQ at:
http://www.cmcrossroads.com/cgi-bin/cmwiki/view/CM/ScmFaq
Point n'est besoin d'espérer pour entreprendre,
ni de réussir pour persévérer.
Marc
We are looking at IBM's clearcase as another option since it comes
with a great set of integrated tools for project mgmt, requirements,
testing, defct tracking, continuous build system, etc. Clearcase has
the great feature of atomic commit that svn has and the tool comes
with a multi-site support (supports multiple remote repositories with
auto syncronization as a nice add-on you might be interested in)...but
it's not free.
> We are looking at IBM's clearcase as another option since it comes
> with a great set of integrated tools for project mgmt, requirements,
> testing, defct tracking, continuous build system, etc.
Problably the best choice if your company has the money.
> Clearcase has
> the great feature of atomic commit
No, it has not. Checkout/checkin is element-wise.
> ...but
> it's not free.
How true :-(
Bye...
Dirk
--
Dirk Heinrichs | Tel: +49 (0)162 234 3408
Configuration Manager | Fax: +49 (0)211 47068 111
Capgemini Deutschland | Mail: dirk.he...@capgemini.com
Wanheimerstraße 68 | Web: http://www.capgemini.com
D-40468 Düsseldorf | ICQ#: 110037733
GPG Public Key C2E467BB | Keyserver: www.keyserver.net
I must respectfully disagree. While SVN may be a step up from CVS (as
CVS was a step up from RCS) it is hardly the best at anything it
does. Its most notable problem is that branching and moving code from
branch to branch is painful at best. I still believe the best on the
market is ClearCase with Perforce running a close second. The nice
thing about Perforce is that you can use it free for up to two users.
If I were forced to use something free on a larger scale, I would
probably serioiusly look at git and might use SVN as a result of the
lack of anything better in that arena.
SVN is far, far from the best VCS, free or not. It is built on an old
branch-and-label model; while parallel development efforts might be
possible, it would be painful. Three entries from "Subversion Best
Practices" will give you a feel for the software's capabilities:
-- "Track Merges Manually";
-- "Be patient with large files" -- "This means that your working copy
takes up at least twice as much disk space as the original dataset"
-- "Work around commands that don't understand copies/renames"
http://svn.collab.net/repos/svn/trunk/doc/user/svn-best-practices.html
I would suggest looking at AccuRev. I have been using it for my own
projects for several years, at long last, it is getting some attention from
the company I work for as a possible replacement for the miserable VSS.
"The best" is strong words ... but a lot of people are happy with it.
> We are looking at IBM's clearcase as another option since it comes
> with a great set of integrated tools for project mgmt, requirements,
> testing, defct tracking, continuous build system, etc.
If by "great set of integrated tools" you refer to IBM/Rational
ClearQuest, Requisite Pro and so on, I suggest you get a second
opinion. (Unless you have previous good experiences.)
I find them "sub-standard" and "isolated". Possibly that's because the
organizations I have worked in haven't set them up and used them
properly; I cannot say for sure.
That said, I like Clearcase because of its solid (although maybe too
low-level for some) support for branching and merging, and because of
version-extended paths and such. I would like it for clearmake too,
if I had ever used it.
/Jorgen
PS. I don't like the word "integrated", because it sounds too much as
a fancy term for vendor lock-in. Anyone can integrate bug tracking
with ClearCase if they want to -- the interface is there, in the
form of the command line and the triggers.
> I still believe the best on the
> market is ClearCase with Perforce running a close second.
While I totally agree with regard to CC, the second for me would be Vesta
[1]. The reason is that Vesta comes very close to CC in
- MultiSite development, where repositories have a unique name everywhere
(in CC MultiSite, a VOB can have a different tag at other sites).
- Integrated build management (even stronger than clearmake, because
everything involved has to be under version control).
However, the drawback is that the Vesta build system is incompatible with
everything else, so that a complete rewrite of the build system would be
needed.
Bye...
Dirk
...which is irrelevant if you work in branches.
[ I would especially hate anybody understanding
this as an advantage for subversion: the grain a
of commit being the directory is not any better ]
But I agree that applying a label isn't atomic either.
Marc
'Rename' is atomic, however.
So, if you care for atomicity, apply your label under a
tmp name, then rename it as the one already in your
users' config specs.
Now, you'll soon want to rename the previous
instance away, *and* rename the new, and I don't
know how to make this a transaction.
I made an RFE for something like that 5+ years ago,
but ClearCase is not really being developed any
more (except in UCM, which counts as negative).
Besides, this requires that you master both the old
and the new.
Marc
>> No, it has not. Checkout/checkin is element-wise.
>
> ...which is irrelevant if you work in branches.
Not quite:
1) Developer makes many changes on a branch (affecting many files).
2) Developer checks in all at once.
2a) While this is running a cronjob syncs the VOB to another site.
3) Checkin is finished, Developer tells the world it can be integrated.
4) Integrator at other site starts merging this (incompletely synced)
branch.
-> Ooops
> [ I would especially hate anybody understanding
> this as an advantage for subversion: the grain a
> of commit being the directory is not any better ]
Although I'm ClearCase biased, I would consider this as an advantage for
SVN. At least in some scenarios.
Bye...
Dirk
Since you are on Windows I would recommend Mercurial
http://www.selenic.com/mercurial/wiki/
Although it's quite new (version number is 0.9.4 at the moment) it is already
very useful and gets new features nearly every week.
In my company we are currently evaluating it to replace our good old ClearCase
system that we used in the last 10+ years and up to now we are very impressed.
Mercurial is much (x10+) faster then ClearCase (with dynamic views) and once you
get used to the distributed nature of Mercurial it is also much easier to use.
And: It's free!
> since we are Microsoft Certified Partners, we are considering
> SourceSafe. what is your experience with it?
>
see e.g.
http://better-scm.berlios.de/to-avoid/
Peter
>
> >> 2. what features should i expect from a VCS?
>
> - directory versioning
> - ability to branch/merge
> - merge tracking
> - atomic operations
> - maybe others
That would cover a VCS - but these days you should be considering a
Configuration Management system rather than just a basic VCS. So you
will also need:
- Ability to record configurations, especially baselines (far more
important than the requirements given above).
>
> >> 3. to the extend this question is valid, is there a VCS you would
> >> recommend?
I tend to deal with much lasger setups so can't specifically suggest
for your very small setup. I have heard good things of both Subversion
and Perforce. I would think the admin requirements for Clearcase would
be too much for you especially as you are working in multiple
locations. You don't say what network performance you have between the
locations - but I would assume it is WAN rather than LAN.
By the way, you may want to start by importing a few important, recent
VB6-based releases of your products into version control. Even if
everything gets rewritten, it is good to be able to answer questions
like "what modules changed a lot the last six months?" or "for how
long have we had this bug?".
/Jorgen
The problem is with the improper release procedure
(merging from .../branch/LATEST), not with using
branches.
> Although I'm ClearCase biased, I would consider this as an advantage for
> SVN. At least in some scenarios.
"In some scenarios..." maybe.
Resilience to user errors...
We'd have to make a tradeoff analysis.
Extra semantics gets attached to the directory structure,
which represents an additional, artificial pressure to set it
in a certain way, which impacts the manageability more
than any benefit gained.
Marc