Reputation: 63
I'm writing application(s) in Java. I use mainly Eclipse, maven. Is it worth tu use svn if only one person (I) work now on project? Svn repository/server should be on my computer or on internet? What other tools should I look at? Hudson, git? What is hudson for? Which tools to use in development process to make this process even more pleasure and more professional.
Upvotes: 1
Views: 147
Reputation: 16035
Yes, I'd say it's useful to have a version control, even if you are the only user. Some of the advantages would be:
If you are working on your home computer and no-one else works on the project(s) in the version control system, I'd say set it up on your own computer. Companies usually have (or at least should have) their own internal version control systems in their intranets.
As for what version control system is the "best", I can't really say. I've only used CVS and SVN, from these two I'd say definitely go with SVN. I've also heard good things about Mercurial and GIT, but haven't ever used either.
As for other tools, I'm not sure if you need any (since you're already using Maven). We have Hudson at work, but I don't know how to setup one (it was done by somebody else), although the Hudson website says it's really easy. Hudson monitors the version control system (in our case, svn) and automatically builds the project when it notices new changes committed into the svn. It runs the maven-target and reports any test-failures to committer via email. I think it can also be scheduled to do builds at certain times and deploy the project to specified place, but not sure on this. For a single developer project, I'd say setting up Hudson is probably overkill.
Edit: As an afterthought, if you choose to go with SVN, get Subclipse (since you're using Eclipse), it's an SVN-plugin that makes it easy to handle checkouts/commits/updates/reverts and viewing history, changes etc. straight out from the Eclipse-IDE.
Upvotes: 2
Reputation: 116110
Is it worth tu use svn if only one person (I) work now on project?
SVN is good enough for single person and small business. And yes, you should always put your code in version control, even if you're the single programmer. It allows you to compare earlier versions of a file easily, which becomes critical when you need to find the reason something stopped working at once.
Svn repository/server should be on my computer or on internet?
Advantage of having a separate machine, is that your code is automatically backed up, you can reach it from anywhere and if your computer dies, you can just continue on another one. Disadvantage is that SVN can be very slow over network or internet.
What other tools should I look at?
You could choose Mercurial. It allows you to do local commits, which are stored as separate versions, so each relevant change is logged separately. Then, periodically you can push it to a server, where it is stored remotely and more safely. This is actually the same concept as Git (distributed), but Mercurial seems to be less comprehensive.
Which tools to use in development process to make this process even more pleasure and more professional.
A coffee machine. ;)
Upvotes: 1
Reputation: 114539
Is it worth tu use svn if only one person (I) work now on project?
Yest it is. The alternative is having a pile of .zip or .tgz with strange names like "last", "working", "test1", "bad" and not remembering what you did and why. Note that if the project is not trivial then even you after some time will be exactly as someone else (i.e. not remembering what you did and why is really not that different from not knowing it).
Also even if you're a single developer you may end up using several computers (e.g. a desktop and a laptop, may be some with different OSs for checking for portability) and a version control system will help a lot keeping things in sync.
Svn repository/server should be on my computer or on internet?
If you use a distributed version control (e.g. git) then remote is IMO the best way to go. I'm using a virtual server with a linux distro over ssh, but there are also specialized hosting services just for repositories.
If you don't use a distributed version control system (e.g. you use svn) then things are a bit more annoying if the repository is on the internet.
If you run your own repository then you must of course take care of backups.
Upvotes: 0
Reputation: 718936
Is it worth tu use svn if only one person (I) work now on project?
Yes. Svn or some other source code repository (git, mercurial, cvs, etc) helps you keep a history of the changes you have been making, and allows you to wind things back to an earlier state if you make a big mistake. (Of course, if you never make mistakes, and always remember what you did and why ... forever ... version control is superfluous.)
Svn repository/server should be on my computer or on internet?
Either. If you implement the repository server on your own machine, make sure that you do regular backups. If you use a remote repository, make sure that you protect yourself against the repository crashing and losing your stuff, or being inaccessible for a few days.
What other tools should I look at? Hudson, git? What is hudson for?
Git is an alternative to svn ...
Hudson is primarily a continuous build system. It is typically used to automatically run builds and tests; e.g. whenever you do a checkin.
Which tools to use in development process to make this process even more pleasure and more professional.
A test coverage tool such as Coberatura (in Hudson).
Style checkers and bug checkers like CheckStyle, FindBugs, PMD, etc.
A good coffee machine :-)
Upvotes: 4