Things I Like on New CVS Support
I've been playing recently with the
new CVS support, which will be available in next version of NetBeans. I like that:
1. There is an
easy and straightforward checkout. I can run it from CVS | Checkout, no need to invoke a versioning manager, just fill in the repository, local directory, modules, branch and there it goes. I can leave the checkout on background and continue my work with the IDE.
2.
Colors are used to visualize the file statuses - green if the file was modified and needs a commit. Red color shows me that there is a conflict with the file and I need to solve it. Blue is used to show that a file is new or modified in the repository.
3. CVS |
Diff All Changes. In the old versioning I had to go to context menu to show diffs, but now I'm able to see diffs of all changed files, and I can easily browse them. I can also
Commit All Changes. It seems to me that the new CVS support is designed so that features which I really need to use are accessible easily. Take a look into the new CVS menu and compare it with the original VCS one.
4. Next to global actions there are
project-related actions. So I can commit all changes in a project on one click from menu.
5. It supports
CVS over SSH.
6. When
commiting multiple files, I can easily choose whether to commit them as text, binary or to exclude them from commit.
7. Easier working with
branches. I can choose the project or directory I want to branch, execute branch command from menu and the branch is created. I find it practical that actions in the CVS menu are context sensitive.
8. Integration with
project system. You can share the build.xml file with other people, so you can make changes to the project build script and share them through CVS. You can set easily which project files to ignore not to share unecessary project files. You can import the whole project into CVS repository from context menu.
9.
Much more. I don't think the original VCS system was bad, I've been using it succesfully as well, but it was a bit too complex. I like that the new CVS support is light-weight and more use-case oriented.
Why don't we have such support for other versioning systems yet? :-) I know, I know, it's a lot of work. So I'm looking forward to next releases for such nice support for subversion and other versioning systems.