Cross-platform source control?

We do development for both .NET (using VS 2008) and Java (using eclipse)

We currently use CVS, but there is actually no good plugin for Visual Studio 2008, so I'm looking to move on to something that better supports VS 2008 and Eclipse.

My initial thought was SVN, as it is really close to CVS, but I was a little tempted to use something like Mercurial. I am looking for something easy to use and have good plugin support for both platforms.

+4
source share
10 answers

I can tell you that there are really good plugins for Subversion for Eclipse and Visual Studio 2008 ( AnkhSVN for Visual Studio). You should definitely download AnkhSVN daily builds if you plan to use it with the latest version of subversion. In addition, there are tools ( http://cvs2svn.tigris.org/ ) to transfer data from CSV to SVN.

For Mercurial oder Git - I have no experience with them.

I think SVN will give you the smoothest transfer - but it won’t give you a “big revolution” (if that’s what you need)

+6
source

We are a .NET, Java and Rails store.

We used Subversion for many years and its fantastic system, did everything that we thought we needed from SCM. About 9 months ago, we started playing with Github.com, developing a Rails application (an inevitable part of the Rails community).

Since then, we have completely migrated to Github.com using private repositories for our commercial, closed source software development.

Git made us not interrupt the build or clobber code for months - something that happened from time to time, and made us lose work a day trying to fix the problem. Subversion does not provide you with the flexibility in your working methods that Git does. If you have problems (broken build or fix), Subversion will not help you, it will even work against you. Its branch / merge mechanism is very difficult to use because it does not track the origin of the branch. In addition, when you merge, the change history changes so that all team changes in a particular branch are attributed to the user performing the merge. Git is also lightning fast, since the entire repo you work in is local, which is very noticeable when you work in remote places.

However, Subversion will take you a week or two to get comfortable, Git takes at least a month, especially if you come from Subversion or CVS. If you pretend it's just a more modern SVN or CVS, you will be disappointed by the lack of improvement in the coding workflow, and you will be annoyed by the many commands.

We have an installation with three branches: fix ↔ master ↔ development. Under normal circumstances, the development team will work in the development industry. For each user story, the developer will create a development branch: user development history. When the story is completed, the user story merges with the development, and the user history thread can be deleted. This goes on and on, and the wizard remains stable and unaffected until the build manager decides that he will save all development changes back to the wizard. If at the same time the client calls and requires correction, this is also done in isolation from the main one and can be combined with the rest of the code base (master & development) at an appropriate time in the future.

Now refer to the GUI and SCM. We avoid them like the plague. Graphical interfaces are poorly suited for working with SCM. I know - controversial, but listen to me. The command line will slow you down more than the GUI does, and when you work with SCM, and there is a chance that you are going to do something bad or destructive for your central repo, slow is good. Slowly makes you think about your actions. All the typical graphical interfaces that I have seen (EclipseSVN, TortoiseGit / SVN) all pre-select your recent changes as part of the command that you are about to make, regardless of whether these changes are ready to be made or not. BADLY!!!! You need to think about your commits and how complex or complex they are - command lines work better than the GUI in this regard. All our .NET encoders, which, of course, access tasks using graphical interfaces, use the Git command line and use the SVN command line before that, only for the reasons stated above. This gave them a greater sense of control.

+2
source
+1
source

Using svn with Eclipse and Visual Studio, I found that eclipse plugins (especially subversive ) are generally more integrated into the IDE. Ankh and VisualSVN work very well, but I prefer ToirtoiseSVN when working with .net. In Eclipse, I almost never resort to ToirtoiseSVN.

To be honest, I think the IDE plugin should not take your decision too much.

+1
source

We use both VSS (and now subversion) for J2EE and .NET for different projects. Both seem to be working fine.

Why are you so hung up on IDE atomizers? Personally, I could take either leav'em ... I put them in "kitch, which does not add any real meaning."

Greetings. Whale.

0
source

The discussion continues between AnkhSVN and VisualSVN if you decide to go with SVN.

Personally, I like Ankh. It is free, more intuitive for me and gives more useful feedback on the status of my project. I had some corruption issues, but nothing that cost me more than a few minutes.

0
source

I am using Vault from SourceGear . It is easy to use and has excellent IDE integration with Visual Studio and Eclipse. It is also fully tested on Linux using Mono.

It can be used for single users, so you can try before buying.

Check it out and see what you think. http://www.sourcegear.com/vault/

0
source

Try Plastic SCM running on Linux, Mac, and Windows. GUI-based replication, branch-to-branch, efficient branching and merging (merge tracking enabled, move and rename), ACL-based security ...

0
source

Personally, I like Perforce . Not free, but cross-platform and very good.

0
source

I am not an expert on this, but I was disappointed in the GUI or the SCM IDE extensions. I use SVN and GIT pretty well with projects hosted on sourceforge. My 2 cents is worth it. CHEERS!

0
source

All Articles