Sign in to follow this  
SymLinked

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

Recommended Posts

SymLinked    1233

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?

Share this post


Link to post
Share on other sites
Promit    13246

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.

Share this post


Link to post
Share on other sites
bladeofodinx    161

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.

Share this post


Link to post
Share on other sites
SymLinked    1233

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.

Share this post


Link to post
Share on other sites
markr    1692

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

Share this post


Link to post
Share on other sites
hatfarm    224

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.

Share this post


Link to post
Share on other sites
Hodgman    51234

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

Depends what kind of "server" you need. Git is decentralized, so there's a lot of ways you can set it up.
 
Every "client's" project directory is also a server -- e.g. when working on my local network, I just share my project directory using windows file sharing, and pull/push changes to other PCs on my network without there being an explicit "server" -- just many clients communicating via a shared windows file system.
 
To set up a simple web-accessible central server, I just cloned my project into a linux server that has sharing enabled over SSH. Anyone who has access to the server using SSH already can now access this "git server".
 
For more advanced central servers (with access control, etc), check out gitosis and gitolite, or just use GitHub ;)

 

When coming from a centralized version control background (SVN, CVS, Perforce, AlienBrain, etc), git can be confusing at first... but I now swear by it for managing code.

Edited by Hodgman

Share this post


Link to post
Share on other sites
Promit    13246

Setting up a git server is super easy, provided you have a server with SSH access and don't mind giving all project members shell access. Step outside those bounds and things get... less pleasant.

Share this post


Link to post
Share on other sites
Zipster    2359

 


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).

 

Isn't Perforce free for less than 20 users nowadays?

 

 

It is, plus Perforce actually does use a checkout/update/submit workflow because it's a centralized VCS.

Share this post


Link to post
Share on other sites
SymLinked    1233

Perforce has a limit in their free edition of 20 workspaces, though. Won't you need one for each depot/repository like in SVN?

 

You can't just update/submit. You have to lock files before you change them.

 

Okay, I'll try Perforce. Thanks for the tips!

Edited by SymLinked

Share this post


Link to post
Share on other sites
SymLinked    1233

Whatever. My files are set to read-only if I don't lock or mark them for edit beforehand. Hardly just a Commit/Update workflow..

Turns out this can be disabled per workspace. Fine. I still have to add the files before I can submit. I guess that's okay. Submited successfully. I now tested to delete the files locally and pressed Checkout. In SVN this (or Update) would restore the files. Perforce doesn't do that though, it throws up a CHMOD error. Very descriptive.

Edited by SymLinked

Share this post


Link to post
Share on other sites
SymLinked    1233

Thanks, that's useful.
 

I also noticed SVN has reached 1.8 and they've added a global ignore property that is recursive!

Though it is only recursive for directory that have already been added. So if you set the global ignores property on the root and add a new directory which contains files that are on the ignore list, they will still get added because their parent directory hasn't been updated with the ignores property.

Edited by SymLinked

Share this post


Link to post
Share on other sites
Shannon Barber    1681

Mercurial is the best balance of simplicity and provides a modern source-control tool.

 

You can use TortoiseHg which is very similar to TortoiseSvn so you'll have a low learning curve there.

 

git is a bit more powerful than Mercurial and it's a bit more complicated to use but they have very similar core features.

 

I don't see much reason to use any version control tool other than mercurial or git. If you have a shared/map Windows drive then you have what you need to get started.

Share this post


Link to post
Share on other sites
Kyle Harrison    169

Git or Mercurial. Both are extremely identical, both have awesome UI's, both have great command line. 

Canonicals Bazaar gets my next vote

 

As a person who works on Web and Software on Linux, Mac, and Windows, GIT has been my go-to everywhere.

Share this post


Link to post
Share on other sites
ballmar    1586
I use git too at home and at work. I really love its ability to create branches and merge code fast. I am a bit worried about its behaviour regarding binary files, but so far we use it to store code for our game and assets and git works fine. If you need preconfigured git server for you, you can use github or bitbucket. The last one allows you to have a couple of private projects shared between no more than five people, and it is faster than github.

Share this post


Link to post
Share on other sites
Alurik    1215

I use git with SourceTree for my personal projects. It makes source control really painless. Using git with command line is not that bad either though there is a slightly higher learning curve for it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this