Easy-to-use Version Control on Windows? Needs to be able to easily ignore certain files.

Started by
27 comments, last by ilreh 9 years, 10 months ago

Hi,

I've used SVN before and their client-side ignorelist (their server-side one is useless as it is per folder) but I need it to be version controlled so others who Checkout get it too.

I've looked at Perforce but it's not exactly affordable for me, and it uses a different system than what I'm used to (I want Checkout/Update/Commit).

I've looked at Bazaar but it is a nightmare to setup as a server on Windows.

Does anyone have any suggestions? Is Mercurial any better?

Advertisement

I mostly use git on Windows nowadays. It has a .gitignore file that gets versioned with the rest of the files. I generally use cygwin's git from the command line but there are also GUI interfaces like tortoisegit (which I never got to work) and Git Extensions (which I have).

I vote for git, and I usually use a combination of the command line client and a graphical client called SmartGit that I'm quite fond of.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.

Another vote for Git. I mostly work with it via the command line but I'm growing quite fond of Sourcetree as a GUI

don't know what client your using but svn CAN ignore more than just a folder [ and have those settings not just be client side only! ]

TortoiseSVN can ignore folders, files [recursively even] and i would bet also by using a regular expression too.

Nowadays i actually use Mercurial with sourcetree but TortoiseSVN is still nice and good and easy.

Thanks for the suggestions!

I've heard Git is cumbersome to setup as server, which is one of my requirements. Might try it though.

don't know what client your using but svn CAN ignore more than just a folder [ and have those settings not just be client side only! ]

TortoiseSVN can ignore folders, files [recursively even] and i would bet also by using a regular expression too.

I guess you're thinking of svn:ignore, which doesn't work like that. You have to add it to every directory you commit. You can't place it on the topmost directory. This is well documented.

SVN has an ignore property (svn:ignore) which is versioned exactly like anything else. You can change it, commit the changes and then everyone else gets it.

What exactly, is the problem

See this link for what I'm talking about. It's not recursive, which is what I've described in my last post.

Git's difficulty tends to scale with the size of your team. It's trivial to use for a handful of people, but as the team gets larger, the amount of times people (and most problematically, non-programmers) will be exposed to git's confusing conflict resolution workflow will spiral out of control.

I use git at home and at work. At home, I pretty much just use the command line, but at work we use Git Extensions and we like it quite a bit. We've not really had any major issues with merge conflicts, except with binary objects (simulink models) and that hasn't been a huge deal. Using .gitignore is pretty easy and can be very robust, I have literally never seen a file I didn't need to push at work. At home, it's not a huge deal because I know every file anyway, but I do use a .gitignore to get rid of some of the stuff.

This topic is closed to new replies.

Advertisement