I don't know much about source control beyond what I have used at work [Perforce]. I'm looking for a product with the following..
Free
Centralized (server running on the LAN)
Good integration with Microsoft Visual Studio (built-in / free plugin?)
Good integration with Apple Xcode (built-in / free plugin?)
Are there many that fit those criteria? What would you choose?
Thank you for any input.
Xcode has built-in support for SVN, CVS and Perforce.
Visual Studio has a plug-in for most source code control systems. A free one for svn is Ankhsvn
SVN sounds like your only option. I'd question why you think you need a centralised server, though.
Well subversion is the first one which comes in mind.
Ankhsvn/visual svn for visual studio
http://developer.apple.com/tools/subversionxcode.html for xcode
Related
which is best sourcesafe system for iphone xcode on backup and proper check-in & check-out on codes
Regards,
sathish
it appears that you're using 'sourcesafe' as a generic term for version control.
for version control of xcode projects:
i have used cvs, subversion, and now git (also serving as a front-end for other systems).
git is my first choice (it is distributed, and quite fast).
svn (subversion) is my second choice - you may have more coworkers/projects which prefer svn, although git may also be used as a svn client.
lastly - i prefer using dedicated visual clients over xcode... xcode seems to be busy doing other things. it is usually faster to disable vc in xcode, and hop to a terminal or other client while xcode builds/debugs/updates indexes, etc.
XCode supports CVS, Perforce and SVN out of the box. Out of the three, I think SVN is the most popular choice.
Setup your project.
Delete the build folder.
Setup repository.
Import project to repo.
Checkout project from repo so you'll get a versioned copy.
Well, first - it is not called sourcesafe system, but version control - way of controlling evolution of source code and its versioning. Sourcesafe is a specific product by Microsoft.
Second - version control is data agnostic. That means you can use any system you know. The best tool is the one you know well.
That being said, there are some advantages in using specific version control systems as Subversion and Git, because those two are going to be supported in next version of Xcode (version 4).
Current Xcode (version 3) has support for Subversion, CVS and Perforce. If you are familiar with any of these, use them, but do not restrict yourself only to these. Stability of version control support in Xcode 3 is mediocre, at least with Subversion which I've used. Xcode 4 is going to be a huge improvement in this area.
Lots of developers, me included, prefer not to use integrated support for version control in Xcode (or any other developer tools), but use specific clients - like Versions for Subversion, or command-line tools for Git.
I want to comment on use of Git, which I personally use and love. It is a distributed system, and for beginners its concepts might be a bit hard to grasp. Consider the experience of your teammates when deciding to use it - for lots of teams it's better to use something more traditional like Subversion.
SmartCVS is also one of good tool which we use for co working with teammates
Does no such plugin exist?
So to be clear, I realize that RedGate has their own SSMS SCC app, and I realize that VSS2k5 will integrate in. I'm looking to stay with Hg as that's where my source already is, and I'ld like to find something that my team can stay consistent with on their tools.
As is, I guess I'm going to have to just run it through TortoiseHg and a folder with manual maintenance. Which isn't terrible, but naturally it would be nicer if there was an app pre-existing that I could consume.
And no, I don't have the time or inclination to write one myself. Not before Summer 2011.
Thoughts or ideas?
There are two versions of HgScc plugin:
HgScc - uses old MS SCCI API, works with MS VS2005/2008/2010 and with some third party IDEs. Last version of this plugin was released in 2008. It is not actively developed anymore, because MS SCCI API is very limiting and does not allow a tight integration with Visual Studio.
HgSccPackage - uses MS SCC Package, works only with MS VS2008/2010. This version of plugin currently in active development.
To get the first version of HgScc follow the instructions here:
MSSCCI compliant Mercurial client
Red Gate SQL Source Control is looking into supporting Mercurial in a future version, http://redgate.uservoice.com/forums/39019-sql-source-control/suggestions/803713-mercurial-support-as-source-control-system.
SQL Server 2012 (Denali) is using the Visual Studio 2010 Shell as the basis for the new Management Studio. I haven't tried it yet but I am hoping that tools such as VisualHg will work in Sql Server 2012. I will update this post after I get on my laptop that has the 2012 SQL Management Studio installed.
Have you tried hgscc? I know it integrates with Visual Studio, but I haven't tried it with SSM
What in your view are the most important differences?
Need to make an expensive decision...
Information:
We have both Java and .NET Projects (few more .NET)
Very interested in project life cycle management.
Migrating from ClearCase
Both TFS and RTC are CRRM integrated to development environment (Visual Studio or Eclipse): they provide:
Change Management (CM)
VCS (Version control system)
Release Management (RM)
The difference is mainly in their architecture, where:
TFS provides a server SDK for facilitating integration with Visual Studio
RTC is build on top of an open-source application HUB able to aggregate any kind of tools (RTC baing the IBM Rational commercial implementation of Jazz)
The challenge in both CRRM tools is to manage the necessary bridge you will have to setup for various legacy tools (like an existing ticket system for instance).
Stay away from Accurev, it is a nightmare, as a developer with personal daily battles with it. Git, Mercurial, Darcs, or SVN are much better choices. As far as all of the "features" of Accurev, you likely won't ever miss them, you'll be too busy swearing.
RTC is Visual Studio friendly, and TFS is Eclipse friendly:
(RTC visual studio integration listed here)
https://jazz.net/downloads/rational-team-concert/releases/3.0
(TFS eclipse integration detailed here)
http://teamprise.com/ (purchased and renamed by MS)
I'd personally rather work with TFS, and I write integrations with version control systems for a living, and have touched both of these systems in a deep way. Ask if you want the details.
If you have a choice in the matter, go with Mercurial. Git is fantastic, but I found the Windows experience lacking. Get a separate bug tracker.
If you have a choice but must have version control integrated tightly with tickets, try http://fossil-scm.org/ - far less pain than either TFS or RTC to setup and maintain, though the IDE integration simply does not exist. But it competes solidly on core features with them in about 1 megabyte of download.
TFS doesnt have any support for eclipse or any such editors yet, (they are about to come, but no news yet). So which editor you use for your java projects that matters here. But Microsoft is coming up with teamprise which can let you connect TFS (which can work better for your java+.net)
And ofcourse for .net projects, TFS is the best, eclipse support for .net/c# is bad, we are using TFS and am lot happy with 2010.
I think for RTC dont know how much support is there for .net editors (VS or any other you prefer) but with TFS, you can certainly make .NET project work great and you can find Teamprise + TFS to work with eclipse also.
Is it really a question? Not nagging, but what is your toolstack to start with. What versions we talk about? (note Visual Studio 2010 and TFS 2010 are just around the corners - both a lot better, still usable for .NET 2.0 upward).
Without more information you get tons of idiotic little feature lists - because we dont know how to answer properly in the big picture. This is like "what are all the differences between a BMW 3 and a Mercedes SLK" - TONS of small things, TONS of relevant things, but what do you want? ;)
I found a great article on integrating different diff and merge tools with Visual Studio 2005 and 2008: http://blogs.msdn.com/jmanning/articles/535573.aspx.
Does anyone know how I might integrate a tool like KDiff3 in the same way with Visual Studio.Net 2003? I would like to have KDiff3 be the default diff tool when I use the "Compare Versions..." menu item in the Solution Explorer.
For our source control, we're using Team System 2005, using the msscci provider to integrate.
What source control system are you using?
With certain systems you can specify what diff tool you'd like to use. Perforce has this...and I believe VisualSVN lets you choose what diff tool as well.
If you've got VSS...I think you're out of luck...
Thank you for that question and comment. It got me to realize the compare was coming from VS2005, even though I'm using VS2003, because the msscci provider I'm using for source control integration is the VS2005 version.
So, by going into VS2005 and using "Configure User Tools...", it forces 2003 to use the same tools.
I know that Devart CodeCompare shows good results on the integration with Visual Studio. But I don't know what VS versions are compatible with CodeCompare.
I like to keep my source files on a USB drive for the portability. To date I have been using Visual SourceSafe for this purpose. What is a good alternative to VSS that fulfils these criteria:
Entire database can be held on a USB "pen" drive
Code / documentation duplicated on local drives
Does not require a central server
Easy to backup and restore using standard backup tools
Integrates with Visual Studio
Has a small footprint
Easy to clean the database and keep small
Compatible with Windows XP, Vista and Vista x64
A good reference on setup would be good too.
I would use SVN (Subversion).
You can use SVN in "file" mode (w/o using the network).
combine this with tortoiseSVN, which integrates to explorer, and you have a nice little portable repository.
For Visual Studio integration, there is the commercial($49) VisualSVN (which I believe is the setup used to develop StackOverflow).
Someone also mentioned AnkhSVN which I haven't used, but some people find it less than satisfying.
Don't use SourceSafe. There's major problems with it. See this:
Article1
Article2
I'd recommend using SubVersion instead.
If you're using Windows, you can use TortoiseSVN.
If you're working on Linux or other Unix variants, try RapidSVN.
Use Subversion. The FSFS style repository will work best as older BDB ones can have issues when moved from computer to computer. With AnkhSVN you'll have full integration with Visual Studio (AnkhSVN 2.x is a source control plugin; older versions still do the job, though).
Bazaar does what you're asking for (in terms of working very well standalone), and there was a 2007 Summer of Code project to build a Visual Studio integration plugin which appears to have produced an at-least-partially-functional product.
Bazaar (and other distributed tools, such as Git, Mercurial, Darcs and the like) are ideal because you can have your repository stored in multiple places (ie. on your pen drive, but also copied up to a server on a regular basis), make changes in one or the other branch (let's say you leave your pen drive at home -- you can build changes against the copy on a remote server, upload them via WebDAV, SFTP, etc, and be able to seamlessly merge them into changes done locally to the pen drive; non-distributed solutions such as Subversion don't have that capability).
There are two common free front-ends Ankhsvn integrates into visual studio
and TortoiseSVN integrates with explorer ( my preference).
There is also sliksvn a self contained svn server for windows.
I'd recommend SubVersion as well - you can find a hosting provider who offers SVN for really cheap, this way your source code is always backed up and available, all you need to keep on your flash drive is SVN client...