views:

311

answers:

3

I'm looking for a subversion tool, and i have the following requirements:

  • Must integrate into VS 2008
  • Automatically submits new versions
  • Does not use the command line as primary interface
  • Doesn't clutter up explorer with bright icon overlays or context menus
  • is only going to be used by one user mostly if not completely, so doesn't need to have advanced diff tools or anything like that

Basically, i want a subversioning tool that will only bother me when creating a project or actually needing to get something from a previous version.

Does something like that exist, and if so, what is it?

+12  A: 

Yes. VisualSVN (commercial)

Except for "automatically submits new versions" - that makes no sense. The day computers know when your code is ready to be committed and free of bugs is the day the world needs a lot less programmers

You commit when you're done a task, which effectively gives you a rollback point. It's also important to add a meaningful commit message ("Fixed crash when clicking on Save button") - this way you can find things easily later. A lot of new users to version control skip this part, and unfortunately only learn the hard way 3 months later when they need to go back and undo a fix/feature.

AnkhSvn is a free alternative, I've personally only used 1.x, which was really quite terrible. It definitely looks more usable in 2.x.

One upside to VisualSVN is that it uses TortoiseSVN for a lot of its dialogs. This means when you're working with subversion just from explorer, you have basically the same interface and same UI. Quite handy, as it lets you do things like edit images or text files without having to fire up VisualStudio, or edit scripts/installers, or other parts of a product that are not necessarily in VisualStudio.

gregmac
+1 for speaking up against "auto-commit". That is not the job of subversion, but of a backup tool (such as Eclipse's local history, or Apple's Time Machine)
Thilo
Simple (but terribly accurate) algorithm to decide if a given piece of code is bug-free: "function isBugFree() { return false; } ". ;-)
Thilo
That's right, you need "commit". otherwise how would you indicate to your version control software that a certain set of changes belong to a certain revision? You want your changes to be ACID. If you didn't have "commit" then there would be no concept of a Transaction.
Roberto Sebestyen
Plus, you really, really want meaningful commit messages, especially in a team, especially if you have a bug tracker or design documents you can refer to in there.
Thilo
Agreed. People that want 'auto-commit' don't actually understand how to use SVN, IMHO.
Noon Silk
gregmac: Classic files that I don't edit in VS are nant build scripts.
Noon Silk
AnkhSvn 2.x is definitely usable when compared to version 1.x. I actually learned to use combination of AnkhSvn and TortoiseSVN. While I do most of my tasks in TortoiseSVN, AnkhSvn allows me to move and copy files around from Visual Studio in a way that records the changes to SVN.
Filip Navara
Basically i want it to make a sumbission whenever it builds without errors, so that things actually get checked in more than once a month! :D
RCIX
i'm what you would call a short attention span person....
RCIX
RICX: Again, I think that would be useless. I personally build sometimes 40 times a day. Ending up with thousands of checkins without commit messages is basically worthless - you'll spend hours whenever you need to go back to remove a feature or find out how you did a fix, etc. I'd suggest trying it manually for a while. You'll probably find you get used to it very quickly and it becomes a natural thing - write a bug fix/feature, test it, commit it to svn, and then repeat.
gregmac
+1  A: 

visual SVN is what you need.

Benny
+3  A: 

Yes, they are available.

The two I know of are VisualSVN and AnkhSVN. There are a bunch of comparisons available on SO

I use AnkhSVN myself. It is free, integrates nicely with Visual Studio, and doesn't cause any performance issues.

Nader Shirazie