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

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.

Advertisement

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.

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

Mercurial is much more humane on Windows compared to Git (IMO). Setting up Mercurial server on Windows is trivially simple with HgLab ( http://hglabhq.com/ ).


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?


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.

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!

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.

Yeah Perforce very much likes to be in control of files in the repo, and generally doesn't behave well when you go behind its back. So if you want to delete a file you have to tell P4 to delete it, and it will then delete it from your hard drive. If you happen to delete a file locally it won't even be aware it's gone, and if you try to sync on it (Get Latest in P4V) it won't replace it. The only way it will replace it is if you use -f to force a sync.

Reconcile offline work and then reverting the delete should work as well.

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.

This topic is closed to new replies.

Advertisement