Geertjan's Blog

  • February 6, 2006

Command Line CVS or NetBeans Internal CVS?

Geertjan Wielenga
Product Manager
I'm a complete newbie when it comes to CVS in NetBeans IDE. Until the last few days, I've happily been using command line CVS to check in HTML files for the JavaHelp help sets that are bundled with the IDE. (Bear in mind, I've been doing this for more than two years, so I know of what I speak.) But, now that I have a brand new laptop, I'm trying to minimize on the software that I install and so, instead of downloading the CVS software needed for command line CVS, I decided to try the internal CVS in the IDE. So, I'm really approaching this whole NetBeans-CVS experience as a user, and not from the perspective of someone working for NetBeans. (Therefore, all the praise I am about to sing is honest!) It's been a pretty cool experience and I've been kicking myself for not having used the IDE's internal CVS earlier. Here, for the uninitiated hard-core command-line CVS junkie, is a list of things I like about CVS in NetBeans (compared to command line CVS):

  • The Versioning window, in the lower part of the IDE. I mean, is that window cool, or what?! Whenever I change a file, it is automatically added to the list. Now that is really cool. If it is new, it is listed in green; if it is changed, it is listed in blue.

    I can also see how up to date the information in the Versioning window is:

  • Contextual menu on nodes. On the nodes in the IDE's windows, I can easily access CVS commands that I used to type in manually in the command prompt:

  • Intuitive and helpful diffs. When I diff, there's a cool drop-down list that lets me select a changed file and then I can see the diffs in handy colors inside the IDE:

  • Add and Commit combined. In command line CVS, I would always have to do the add and the commit commands separately, obviously. However, in the IDE, there's a handy dialog box that not only lets you specfy the message you want to include, but also lets you select the command you want to send (the Commit Actions in the screenshot below are actually drop-down lists, from which you can select the appropriate command, such as 'Add As Binary' for screenshots):

  • Ad-hoc testing, thanks to IDE integration. Finally, because CVS is integrated into the IDE, I can use all the IDE's commands, such as, specifically, this one, which installs the module, including the changed JavaHelp, in the IDE (I use this command before doing a commit, so that I can see the effect of the changs before committing them):

So, even though I've lost the simplicity and lightness of command line CVS, I've gained a lot more—a user interface that gives me handy overviews of the changes I've made, and a simple process for making my commits painlessly.

Join the discussion

Comments ( 4 )
  • none Monday, February 6, 2006

    GUI is cool. Really.


    Does it support CVS-over-SSH (and ssh key-based authentification using ssh-agent), all ~/.cvsrc options and many other options available from command-line tools?

    It's not about "GUI suck". It's about "don't reinvent the wheel". Command-line CVS already can do much more than this one.

  • Geertjan Monday, February 6, 2006
    Hi none! In this blog entry I only showed a subset of CVS functionality in NetBeans -- and only the subset that I've ben using. But there's MUCH more available, including (yes!) SSH. Check out Roman's demo for details!
  • Geertjan Monday, February 6, 2006
    Also, see John's Connecting to CVS through SSH. Plus, he has other CVS-related topics in his blog.
  • Roman Strobl Monday, February 6, 2006
    Yes, it works with SSH, you need to use extssh in the CVSROOT.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.