This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
Interesting point about the use of local history in Eclipse Roel. I've never used this feature in the past - I must read up on it. I'd be interested to know where the history is stored and what it is associated with? If it is stored with the project, or the workspace, or somewhere else? Is the history kept if I import the project into another version of Eclipse?
Using source control locally may seem like a pointless exercise on the face of it. As Elchine mentioned, especially since your repository and checkout are on the same machine ! But there are some benefits.
You can tag milestones in your project - this allows you to roll-back the entire state of your project to known working points.
You can branch if you wanted to try out some idea and leave the head stable with your working version.
You can easily diff between version of the file, you can easily roll back a single file to any of its' previous states.
You can easily move the project and all of its' history to another machine.
Regards storing the repository locally, I've been playing around with SVN and a remote project hosting site that supports SVN called Assembla . It's pretty cool! I had it setup within a few minutes - this included setting up my account, integrating with Eclipse, and integrating with TortoiseSVN.
I also took a look at Google Code and it looks very nice! But it doesn't allow private projects like Assembla. All projects seem to have to be open source.
All possibly overkill for a "small" project. But another way of looking at it is it is much easier to get a handle on such techniques, setups, processes etc. on a very small project than trying to learn it all on a large project. So there's benefits in treating a small project as if it were some larger development project. So when it comes to a larger project you'll be already accustomed these things.
More info about Eclipse's local history can be found here.
For the assignment you don't need a real version control system, like you would use in your daily job when being part of a development team. Because you are the only one who makes code changes, so no conflicts, no synchronizing with changes made by other developers,... The local history comes just in handy when you have tried something out, is not what you want, so you can really easy undo your changes. For this reason I sometimes use the local history feature during work time.
And because I would be when I'm almost finished but due to some virus or crash on my laptop I had to start the assignment all over again, I made every day a backup to an usb stick and I also uploaded the zip file to my web space.
Just in case of a system failure e.g. hard drive crash, I back up my code regularly and store off-site. I use ant to zip my source code, add a timestamp to the zip file name and store off-site/external hard drive /usb stick.