That would be incredibly helpful Tom.
I love git as well, however for now I just need basic versioning. Visual Studio Online Basic is free for up to 5 devs, comes with VS 2013. Uses TSVC or git. I just checked in my project without much hassle at all. Create your project on <your team name>.visualstudio.com, map source control to your folder, drag and drop, check in, done.
Not an MS fan usually, but this does the job at the right price
I would check out Bitbucket. It has free private repos for teams of five or less and a private issue tracker and wiki.
Some hard numbers on the current trends on SVN vs Git vs Mercurial:
The “Eclipse Community Survey Report June 2013” is a reliable source:
Short version “Git is now as widespread (30+7%) as SVN (37.8%) in the industry”
The first point of the accompanying analysis read like this :
“1. Git continues to take-over. The adoption of Git as a developers primary source code management system continues to move forward and at the expense of Subversion. Interestingly, Subversion continues to be the #1 SCM but just barely. If you combine Git and GitHub usage, Subversion leads by only 1.5% points. Next year I am sure Git and GitHub will be #1.”
Another point of importance : in this survey, Mercurial is loosing ground, far far behind both Git and SVN with 3.6% !
In the ground of opensource projects, here is the numbers from Ohloh : SVN 48%, Git 37%, CVS 9%, Mercurial 2%
Those number tells about really interesting trends, I think.
Git is not suitable when you’re working with large binaries. Git is only code-oriented, f.e. Github even doesn’t support files larger than 100Mb, what sounds like a joke when you’re keeping your assets. So, we can basically choose between SVN and Perforce.
P.S. - regarding “statictics” about Git - they count repositories number, which is not fair speaking about github
Hi ufna, you should not express ‘opinions’ like that without reading the provided materials.
I mentioned the Eclipse Survey because it is quite serious; it is about counting developers using git as their main tool, not counting repositories! And it is about business usage, not open source/hobbyists.
And while Ohloh is counting only open source repositories, it is not counting forks (like those you get on GitHub or Gitorious).
So while provided numbers are by nature ‘relative’, depending on context, varies between size and nature of business, I still think those numbers are quite talkative, and trends they show should not be laughed about to quickly. I just thought the would be useful to readers…
So this became a source control war all of a sudden?
Going back on topic, does source control integration need to be integrated with the Editor, or can it just be with Visual Studio, or can you just use whatever client on your machine? I personally use git, SVN, CVS, and TSVC depending on the project and team, from command line, in cygwin, on linux, on OSX, on VS, and I don’t have much of an issue.
Other than convenience, what is the advantage of source control integration in the Editor? Does it make you that more productive than the alternatives?
Editor integration isn’t about convenience but rather necessity, the aim is to provide change tracking for assets, not code. Blueprints are stored as binary assets, you can’t tell what changes were made by diffing a binary file using whatever diff/merge tool you usually use. There is however a built-in visual Blueprint diff tool in the Editor, but to use that tool the Editor has to be able to read the change history from the repository you have your assets stored in.
Absolutely! The internet survey shows that 100% of users use internet.
P.S. - Editor integration is nice feature when you see that asset locked/unlocked with another user. It is faster and more comfortable than have external tool.
I did not know this. Granted, that is useful.
No war, I also use daily SVN. The point was Git is becoming popular especially for hobbyists (no need for a real server) or small teams (no big assets).
I use both VCS systems as much from the command line as from external GUI, but Editor Integration is easier to grasp for beginners, especially if is automated:
- auto detection of VCS system used on existing project
- propose to initialize a new repository at project creation
As a C++ developer, I feel I could help on implementation of Git support, based on the SVN implementation.
Is this already functional? I should look at the source code!
Not yet, hopefully I’ll finish the code to extract the file status and history from the repository by Monday, at which point it should be functional enough to be of some use. All the code that directly calls out to the Mercurial executable will be confined to a single source file (MercurialSourceControlClient.h/cpp), modifying it to call Git instead should be trivial at that point, and I think everything else should be pretty much the same whether it’s git or hg (seeing as the source control provider only really needs to deal with a few basic commands).
So at last I’ve started implementing a Git Source Control Plugin.
For know it is barely a “pre-alpha v0.0” as it does only provide overlay icons to show status of your project content assets.
But it’s a start, and it will soon become more useful, I’ll keep you informed.
Thank you very much! Looking forward to follow this as it develops. I was spending time going around and around with Git and SVN trying to do the reverse of git-svn, basically I was trying to find a way of having Subversion client connect to a Git repository just so that I could take advantage of the SVN integration in the editor, since I already have my own Git infrastructure both locally and offsite that I use for other projects. But being able to just use Git will make things much easier.
This is great news, SRombauts. Is it ready for testing yet? Let me know if you need beta testers.
I think you use git with perforce in one way or another. I’m not entirely sure how, but they advertise that on their website. For now I just resorted to using perforce.
Hi Bajee, you can already try it, as I’ve released a 0.0 binary version for Windows 64bits, but I think the installation instructions need improvement and testings.
Yeah it is similar to how Git-SVN works, where you are using git locally to connect to a perforce server. I was trying to do the opposite so that I could use SVN or Perforce connectors in the Unreal editor to connect to a Git repository. But with the distributed nature of Git, most developers want to run it on their local machines, then use it to also connect to another system such as SVN or Perforce. So everything was written to be opposite of what I was looking for.
Did anyone tested the Git Plugin?
Did anyone tried it?
It was quite buggy, but I fixed everything I found
It is still totally raw and basic (no history log, no diff, no add/delete, no commit) but it provides reliable file status!
Anyway, if you find the time to test it, please let me know, it could help me.