If you want confirmation that a certain person has done something in git, you'll have to have them sign the commit in some fashion.
github is correcting in politely passing this off as a non-issue.
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?
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).
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.
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.
More than that it makes it so the distributed nature of Git is preserved. If I pull from someone who committed a bunch of stuff under their own name but isn't a user on GitHub, then push up to GitHub, GitHub won't be able to just reject the commits from the user who is not on GitHub - it will have to reject the push entirely. Thus, there is no way around this without losing all the benefits of Git.
Perhaps a way around it would be to sign all commits where the committer has the same email address as an existing GitHub user, and then check the signature against the GitHubber's known key, and reject it if the signature doesn't check out.
But having to sign commits if you are a GitHub user adds extra hasssle, and what if an unsigned commit accidentally makes its way into the history? What a pain. Everyone would always have to commit with the possibility of being able to be pushed up to GitHub in mind.