On Mar 31, 2009, at 5:11 PM, Krzysztof Kosiński wrote:

I'm not sure that GUI tools are necessary to use something. They can

drastically improve productivity in many cases, but I don't think they're

fundamental, especially for something like a VCS. We're talking about

programmers here; are Windows programmers not capable of using the command

line? Our Windows build tool is command line only! On top of that, if you

are not a project admin, you're only going to work on one or two branches

most of the time, so it should be completely manageable without a GUI.

Whereas GUI tools may not be necessary, they *really* make certain work feasible for certain people.

I've worked with many different source control tools over the years, and am comfortable with both GUI and command-line.

One thing I've found is that for a large portion of the people out there, myself included, good GUI tools for certain tasks make things several orders of magnitude faster.

Among the tasks that good GUI tools will help with are:

 * merging branches
 * integrating changes between branches
 * creating patches
 * tracking down bugs and regressions
 * minimizing changes before submitting code
 * backporting fixes

In moving from CVS to Subversion we ended up losing good branch and merge tagging and visualization. However the tradeoffs worked out in favor of the move, with things such as atomic commits more than making up the difference.

Oh, and in my professional experience (a few decades now) I've seen time and again that poor SCM tools lead to large losses of productivity. Just as one *can* work on software with only a line editor, one *can* work on a large project without SCM visualization. But just that same way things are *far* more productive if good tools are available.

BTW, did you go through the videos and info at the Perforce site? Those are very informative.