Home > Java, NetBeans, Subversion, Version Control > Subversion and NetBeans – A quick start guide

Subversion and NetBeans – A quick start guide

Introduction:

Subversion is arguably the most popular version control system as of now. No wonder NetBeans has very good support for Subversion. I personally feel that a java developer must be familiar with both these tools. This article shall help you to get started with both these tools.

Objectives:

- To create a simple java project in NetBeans.

- To import the java project into the subversion repository.

- To commit the changes made in a java source file.

- To view the revision history of a java source file which was changed.

- To rollback to the previous revision of the java source file.

Requirements:

- NetBeans 6.1 Beta or NetBeans 6.0

- Subversion

- TortoiseSVN

- Though not mandatory, but a basic knowledge of subversion concepts.

Note: You can read this article to learn how to install/configure Subversion and TortoiseSVN.

Step 1:

Create a new “Java Application” project called “SimpleLogin”.

Step 2:

Create a new JFrame called “LoginFrame” under the package “org.example.simplelogin” and add the necessary components as shown below.

Step 3:

Name the swing components accordingly.

Your application should like this now on preview:

Step 4:

Create a java class named “LoginService” under the package “org.example.simplelogin”.

Step 5:

Add the following code to the LoginService class.

Here we are defining a simple method which shall return true if the username is “guest” and the password is “password”.

Step 6:

Now open “LoginFrame.java” and add the following methods.

The above methods are self explanatory. We are just doing a simple validation and calling the login method we defined previously in the class LoginService.

Step 7:

Now double click the login “button” in the design mode of LoginFrame.java to create the event handling method named “loginButtonActionPerformed”. Add the following code to call the “performLogin” method.

That’s it.

Step 8:

Run the project.

If you enter the username as “guest” and password as “password”, you will get an output like this.

Otherwise, you will be getting an output like this.

Ok, our simple login application is ready for prime time :-) . Now let us import this project into a subversion repository.

Step 9:

Create an empty folder called “MyRepository” in a preferred location.

Step 10:

Create a subversion repository in the empty “MyRepository” folder as mentioned below, by right clicking anywhere inside the windows explorer.

Accept the default option (FSFS) in the “Create Repository” window.

That’s it. Your repository should be ready when you press “OK” and it should look something like this.

Step 11:

Let us import the NetBeans project we have created into the subversion repository. Right click the NetBeans project we have created and then click “Versioning -> Import into Subversion Repository”.

NetBeans will prompt you with a window. Enter the path of your repository as shown below.

Click the “Next” button and enter the “Repository Folder” name into which you would like to import your project. To make things simple, let us enter our NetBeans project name itself as the “Repository Folder” name. Also enter a small description about this import activity as shown below.

We are almost there. Click the “Next” button and the IDE will show a window like this.

Accept the default entries and click “Finish”. Congratulations! you have imported your project successfully into the subversion repository.

Right click anywhere in your desktop/windows explorer and click “TortoiseSVN -> Repo-Browser” and then enter the path of your subversion repository. You can see all your project files sitting comfortably inside the subversion repository. :-)

Step 12:

Let us play around with some more cool subversion integration features offered by NetBeans. Open the class “LoginService.java” and change the value of “DUMMY_PASSWORD” from “password” to “guest”.

You can see the IDE markup a blue shade near the line you made the change. This indicates that your source file has got something different than the version in the repository. You can also note that the IDE change your java source file name’s font-color to blue.

Let us turn our focus to the editor window again. Click the blue stripe shown by the IDE near the  place where you made changes to the source file. The IDE will popup a small hint-window.

screenshot

You can see the previous value of the DUMMY_PASSWORD there. The IDE also provides you a set of buttons to revert back the changes or to have a “diff” view on the changes made. Let us explore the “diff’ functionality of the IDE first by clicking the “diff” button.

screenshot

The IDE will display the “diff” view of the “working copy” and the “HEAD” revision (the latest committed version) in the repository.

screenshot

From the above figure, you can see the current and previous value of the string DUMMY_PASSWORD. Now you can revert back to the old value of “DUMMY_PASSWORD” by clicking the replace  button (displayed like an arrow)

screenshot

When you press the “replace” button, the IDE will replace the “current” value with the “original” value.

screenshot

The “diff” view provided by the IDE will be very useful to examine and compare the changes made to the “working copy”  alongwith the option to revert back to the original version in the repository. But if all you need is to quickly revert back some change to the original version in the repository, you can click on the blue strip in the source code and click the “revert” button.

screenshot

That’s cool, right?

Step 13:

Enough playing. Now let us commit the changes we made in our source file. Ensure that the source file you are willing to commit is in focus and click the menu “Versioning -> Commit”

screenshot

When you click the “Commit” menu item, the IDE will prompt you with a window to enter the “message” for this commit operation. Enter a commit message and click the “Commit” button.

screenshot

Step 14:

Let us explore the history of our source file and see the the changes we made all along. Click the “Versioning -> Search History” menu.

screenshot

The IDE will display all the versions of the source file.

screenshot

In the “Search History” window, the IDE offers two views, “summary” view and “diff” view. By default, the IDE displays the “summary” view. The “diff” view contains more information.

screenshot

You can straightaway “revert” or “rollback” to previous revisions just by right clicking a particular revision.

screenshot

Nice, isn’t it? There are still a lot more cool subversion features offered by NetBeans. I will blog more about that later. I hope the information provided here was useful to you.

SolitaryGeek Poll

What is your favourite Subversion client?

  • TortoiseSVN (47%, 103 Votes)
  • The one that comes with my IDE (NetBeans, Eclipse, etc) (30%, 65 Votes)
  • Subversion Command Line Client (13%, 29 Votes)
  • Other (Please mention your choice in the comments) (5%, 11 Votes)
  • RapidSVN (5%, 10 Votes)

Total Voters: 218

Loading ... Loading ...

 

Related posts:

  1. Hudson CI Server – A quick start guide
  2. NetBeans 6.7 – A quick glance
  3. Subversion and RapidSVN
  4. Extending Subversion by using TortoiseSVN
  5. Extending Subversion with Apache

  1. April 7th, 2008 at 10:31 | #1

    I finally decided to write a comment on your blog. I just wanted to say good job. I really enjoy reading your posts.

    Tina Russell

  2. April 8th, 2008 at 07:24 | #2

    Hi,
    My name is James Branam and I’m the NetBeans Community Docs Manager. Your blog entry would make a fantastic tutorial for our Community Docs wiki (http://wiki.netbeans.org/wiki/view/CommunityDocs). Would you be willing to contribute it? If you need any help or have any questions, please contact me at james.branam@sun.com. I look forward to hearing from you.

  3. April 16th, 2008 at 10:29 | #3

    Hi James,

    This article is easy to understand and detailed. I liked the article. I am still on blogger, saw your pages look more professional in wordpress :)

    Best wishes for next post.

    with regards
    Tushar Joshi, Nagpur

  4. James Selvakumar
    April 16th, 2008 at 16:12 | #4

    Hi Tushar,
    Thank you very much for your comments. I too had a blog in blogger but found wordpress more suitable for me.

  5. May 1st, 2008 at 04:00 | #5

    Hi James,

    Excellent blog and I love the graphics, but I need help creating the svn+ssh link on a unix build and not on Windows. I have to have the ssh rather than the apache access and it lives on a machine in the dmz so I can not use file:/// access. It is amazing how much help there is on this subject and how little actual information like yours.

    If the subversion repository lives on a machine in the dmz and I get to it through an ssh tunnel, how exactly do you you set up subversion and netbeans to talk? I have tried starting it as a stand alone server and as a command run from a tunnel and even though I can ssh into the machine where the repository lives and I can run svn on the pc in a command window, netbeans 6.1 just tells me that the svn connection was closed unexpectedly.

    I think that a blog of this quality on that side of the subject would be quite popular indeed as I can not seem to actually find one – especially using 6.1

    Any help you can be is most appreciated.

    – Jeff

  6. May 16th, 2008 at 01:11 | #6

    felicitacion por tu blog

    saludos

  7. May 30th, 2008 at 09:38 | #7

    Hi James,

    Just to let you know, I got pride I don’t just leave comments, but this…it really deserves such. You really did an Excellent job. For the first time I study a tutorial and understand every explanation without scratching my head.I really appreciate your effort, and the fact that you killed 1 bird with 1 stone, the swing part makes the graet intro too. I know a lot of people who can get going with swing using your blog. BIG UP!!!

    Good luck with the next blog.

    lcvster.

  8. James Selvakumar
    May 31st, 2008 at 06:15 | #8

    Hi all,
    Thank you very much for every one of you who read this blog. Special thanks for those who gave valuable comments. Your comments really motivated me hopefully enough to come out with more contributions from me.

    I would love to inform you all that this blog entry has been selected as a winner in the “Netbeans blogging contest”.

    Thank you once again. I hope you enjoyed this post.

  9. Darko
    September 25th, 2008 at 11:55 | #9

    Great blog!

    Thank you for the tutorial!

  10. January 7th, 2009 at 11:51 | #10

    i am satisfied with this tutorial.thank you.

  11. Anonymous
    March 13th, 2009 at 21:06 | #11

    Nice tutorial, thanks!

  12. mohan
    May 4th, 2009 at 10:01 | #12

    Fantastic its really use for me Thanks Mr.James Selvakuamr thanks for your contribution we welcome more advanced in future

    Thanks for once again

  13. d(3R^2)/dR
    May 12th, 2009 at 14:53 | #13

    Hey James,

    Great work on this. Just wanted to say, I can’t see any of the pictures. Is there something I have to do to see them or did the image directory change for you?

    MathMagician

  14. Addisu
    June 6th, 2009 at 16:03 | #14

    Thanks, your quick guide helped me in creating my repository sucessfully!!

  15. June 27th, 2009 at 19:13 | #15

    This is Nice ever i see the simplest way to Use SVN Thank For your Quick guide that help me to share SVN To all my Friends.

  16. October 17th, 2009 at 04:38 | #16

    Thanks for this excellent tutorial! Its saved me hours and hours a research time and I have my project imported into SVN now – all thanks to your tutorial.

  17. Joe
    October 31st, 2009 at 04:24 | #17

    PERFECT!!! I REALLY LIKE YOUR POST

  18. karthi
    November 12th, 2009 at 18:16 | #18

    I followed the steps provided by you. I struck with the step 11. In netbeans from project folder->Import to subversion -From the first window Subversion repository if i click next, it shows the following error message

    org.tigris.subversion.javahl.ClientException: Couldn’t open a repository
    Unable to open an ra_local session to URL
    Unable to open repository ‘file:///F:/Subversion/MyRepository/Htmlweb’
    Unsupported FS format
    Expected FS format between ‘1′ and ‘3′; found format ‘4′

    What I have to do?
    can u please tell me?

  19. Kelvin
    January 8th, 2010 at 06:26 | #19

    PERFECT!!! I have little experience with Java let alone Java Swing but I could very well follow up everything.

  20. Kelvin
    January 8th, 2010 at 06:32 | #20

    Just to add one thing. I had to add this: import javax.swing.JOptionPane;
    before: public class LoginFrame extends javax.swing.JFrame {…
    in order for it to work.

    Thanks once again

  21. Kelvin
    January 8th, 2010 at 06:34 | #21

    I have been using Eclipse with the subclipse plug-in (for subversion) but the way Netbeans integrates subversion is outstanding. I love it.

  22. Arun
    January 21st, 2010 at 06:53 | #22

    Excellent post !!

  1. April 7th, 2008 at 11:46 | #1
  2. April 7th, 2008 at 13:23 | #2
  3. May 16th, 2008 at 00:37 | #3