This is one of many reasons why we still use SVN. Every commit is authenticated against our LDAP server so is technically signed against a user based on their credentials.
... you can sign your git commits with GPG, which is a hell of a lot better than "technically signed" via random internal LDAP and implied relationships.
Git has an intentional separation between author of a commit, and the person who signed-off on it. So if you hired an outside contractor to work a little bit of code, he could write it, send it to you, and then an internal person with a GPG key would review it and sign-off on it. It would retain the original author (contractor) and it would retain the person who put it into your code and "signed off" on it.
How many people other than developers can handle GPG? We have office staff, graphic designers, operations and technical authors as well using SVN. About 100 people and several separate repositories.
sAMAccountName is passed through transparently from users' NT accounts using NTLM. Relationships are also very strongly enforced with access to their own workstations tied down.
Other non reasons:
1. partial checkouts.
2. Easy ACL control.
3. Great tooling for windows
4. Locking (oh the sin) - we have numerous unmergeable binary files like PSDs going in as well.
5. No problems with large bins like reference DLLs and graphics.
6. Bomb proof with a top end repo size of 14G and 100000 revs and NO problems reported.
7. Centralised commit policy. We have scripts that test check ins for stupid things people have done, bad ticket references etc.
I could go on.
It works very well for us (oh and we don't have merge tracking problems for reference).
There are lots of wonderful integrations / applications for windows now. The days of windows being awful with Git are behind us.
Please tell me more, how I can get behind Git being awful on Win7 since I have to use this OS at work (and since I've been on Linux personally for a few years, I have no clue). I have only some crappy git console and my config even doesn't work outside of it. Thank you.
I don't use VS, and as it turns out, the crappy console I'm talking about is this msysgit. The lack of a decent consistent terminal is my biggest pain in win7. cmd, powershell, msysgit - they all are total crap and every one works differently. And my Git settings aren't working from Eclipse, basically the only place they work is this git terminal. Sorry, but that's not 'wonderful integration'. On Linux everything just works.
as i said, try tortoise git. msysgit is just the underlying git environment, and is pretty much the same as git on linux. tortoise git is the GUI front end and windows integration bit that makes it nice and usable.
cmd/powershell are horrible, so just install cygwin and ignore them. it gives you a fully functional bash shell with a package manager and the majority of the common Linux utilities and plays nice with windows CLI programs.
I cannot comment on Eclipse, but with msysgit + tortoise git, git pretty much just works in windows and integrates so well even our non technical staff (designers, QA etc) use it without any issues.
If by "things" you mean customer software support then yes, but development environments work consistently and are dead easy to set up. YMMV if you work on MS tech (.net, etc.), I don't. TBH one of my main reasons to move to Linux a few years ago is because I was pissed off by this particular problem (how to do it + ok and now tell me how to do it on windows and why half of what you describe doesn't work).
What do you use? I use SourceTree and it's slow and buggy. TortoiseSVN was the best versioning client experience I'd had. TortoiseGIT didn't do as well.
Comments
This is one of many reasons why we still use SVN. Every commit is authenticated against our LDAP server so is technically signed against a user based on their credentials.
... you can sign your git commits with GPG, which is a hell of a lot better than "technically signed" via random internal LDAP and implied relationships.
Git has an intentional separation between author of a commit, and the person who signed-off on it. So if you hired an outside contractor to work a little bit of code, he could write it, send it to you, and then an internal person with a GPG key would review it and sign-off on it. It would retain the original author (contractor) and it would retain the person who put it into your code and "signed off" on it.
What other non-reasons do you have for using SVN?
How many people other than developers can handle GPG? We have office staff, graphic designers, operations and technical authors as well using SVN. About 100 people and several separate repositories.
sAMAccountName is passed through transparently from users' NT accounts using NTLM. Relationships are also very strongly enforced with access to their own workstations tied down.
Other non reasons:
1. partial checkouts.
2. Easy ACL control.
3. Great tooling for windows
4. Locking (oh the sin) - we have numerous unmergeable binary files like PSDs going in as well.
5. No problems with large bins like reference DLLs and graphics.
6. Bomb proof with a top end repo size of 14G and 100000 revs and NO problems reported.
7. Centralised commit policy. We have scripts that test check ins for stupid things people have done, bad ticket references etc.
I could go on.
It works very well for us (oh and we don't have merge tracking problems for reference).
It's a hell of a lot simpler if you don't need a ton of branches, and better integrated with Windows.
There are lots of wonderful integrations / applications for windows now. The days of windows being awful with Git are behind us.
Hell of a lot simpler if you don't need ANY branches. Merging is still a goddamn nightmare with SVN.
Please tell me more, how I can get behind Git being awful on Win7 since I have to use this OS at work (and since I've been on Linux personally for a few years, I have no clue). I have only some crappy git console and my config even doesn't work outside of it. Thank you.
msysgit + tortoise git make it pretty simple, and Visual Studio 2013 has built in git support (however I've not used it very much)
I don't use VS, and as it turns out, the crappy console I'm talking about is this msysgit. The lack of a decent consistent terminal is my biggest pain in win7. cmd, powershell, msysgit - they all are total crap and every one works differently. And my Git settings aren't working from Eclipse, basically the only place they work is this git terminal. Sorry, but that's not 'wonderful integration'. On Linux everything just works.
as i said, try tortoise git. msysgit is just the underlying git environment, and is pretty much the same as git on linux. tortoise git is the GUI front end and windows integration bit that makes it nice and usable.
cmd/powershell are horrible, so just install cygwin and ignore them. it gives you a fully functional bash shell with a package manager and the majority of the common Linux utilities and plays nice with windows CLI programs.
I cannot comment on Eclipse, but with msysgit + tortoise git, git pretty much just works in windows and integrates so well even our non technical staff (designers, QA etc) use it without any issues.
Really? In my Linux experience it's a lot more rare for things to 'just work' than on Windows. Windows' homogenous environment contributes to this.
If by "things" you mean customer software support then yes, but development environments work consistently and are dead easy to set up. YMMV if you work on MS tech (.net, etc.), I don't. TBH one of my main reasons to move to Linux a few years ago is because I was pissed off by this particular problem (how to do it + ok and now tell me how to do it on windows and why half of what you describe doesn't work).
What do you use? I use SourceTree and it's slow and buggy. TortoiseSVN was the best versioning client experience I'd had. TortoiseGIT didn't do as well.
You could (and many) do the same thing with git.