What's a good version control for a Mac environment? [closed] - iphone

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I'm a Windows developer looking to do some Cocoa dev on a Mac. I'm familiar with Subversion, TFS, Sourcegear Vault, CVS and VSS in a Windows environment. What version control should I look at using in my new, unfamiliar Mac environment?
I will be doing 95% of the development, with the other 5% coming from one or two other people. However, it is probably safe to assume I will be the only one making commits.
Is there a good Subversion client for Macs? I have a repository already setup that I could use, but I also wouldn't mind using something else. What do you recommend?

Personally, I would probably just use subversion from the command line. If you are looking for a nice GUI I have heard good things about:
http://versionsapp.com/

Seeing as you're already in an unfamiliar environment,
why not go the whole hog and start using git?
Prebuilt binaries abound and for me, switching to git
this year brought me an increase in productivity.
You can also try gitx which, amonst other things,
generates nice, colourful, London metro style graphs of
of your commits and merges.

Versions is a very good Subversion client for the Mac. There are lots of other clients available too.
I personally use Git for all my Mac projects. Gitx is a good client.
I you're willing to experiment, Git, in my opinion is arguably the most powerful revision control system you can get your hands on — but it does have a small learning curve.
(You can always use the command line versions of git/svn/cvs—all of them work superbly)

Get an account at http://beanstalkapp.com/ and then use http://versionsapp.com to connect to it.

http://whygitisbetterthanx.com/
I use GIT, get it from here:
http://code.google.com/p/git-osx-installer/
Frankly speaking CVS and Subversion, others are just not good enough. People that still use them fall on 2 categories.
Because of legacy, they have to.
They are to lazy to learn something new.
Their IDE supports X.
Out of this 2, #1 is valid, if your org is already using something and the cost of change is too high, bummer, you need to take it. #2 is what happens to most people. #3 is pointless as source control inside an ide is meaningless, no real advantage/disadvantage, sure its nice, but I much rather have a better source control version than a button in my IDE.
REALLY USE GIT !.

CVS and Subversion are both available for Macs.

Subversion is installed by default on Leopard
The latest XCode knows about Subversion
so...

I agree with fraca7. Subversion support is built directly into XCode. I happen to think it's really great.
Here's a link to apple's docs on setting up svn with xcode.

As far as I remember is the SCM support in Xcode limited to git, svn and cvs.
Thus I would choose some of them.
I personally prefer subversion.

Xcode 3.1 has built in support for CVS, Subversion and Perforce. I haven't used Perforce with Xcode, but a friend does and seems happy with it. My company uses Subversion and it works reasonably well with Xcode, but it's a little rough compared to what you get with Eclipse or IntelliJ.
Beyond that, we use Subversion primarily from the command line, but my co-worker has taken a look at Versions and liked it.

XCode 3.1 has built in support for Subversion SVN.
There is a GUI plugin called SCPlugin that works very well, pretty similar to tortoiseSVN on Windows but with less frills.
Here is the link http://scplugin.tigris.org/

Related

Is it a good practise to do version control from outside the IDE? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I have heard from my peers on more than one occasion that it is "advised" not to do version controlling of your code from within the IDE where you write it. I have seen them developing on Eclipse, IntelliJ IDEA, etc. but doing version control (in my current scenario - Git) from command-line or standalone clients as opposed to using the corresponding plugins readily available for the IDE.
Though I have used version control plugins in Eclipse and never found any issues, I would like to know what is the general norm and why?
I don't think that there's a general norm. The answer to the question is highly subjective.
I personally don't use any IDE integration (not even a GUI tool, except the builtin ones git gui and gitk) because my experience told me that these tools behave different than the command line version and/or don't provide the full functionality available on the command line:
Does NetBeans ignore my Git pre-commit hook?
Can you interact with the index/staging area with TortoiseGit?
Does TortoiseGit actually make Git a lot easier to use like TortoiseSVN?
Another thing is that your knowledge about your versioning tools is bound to your IDE. Maybe you want to set up some version management for other things than the sources you edit with Eclipse (your dotfiles, for example).
Or one day you switch your IDE, drop Eclipse and start using Visual Studio. Then you don't have to learn only Visual Studio but in addition you need to learn the Git integration in VS too.
I think compared with what I've written above, there are no serious advantages that would legitimate the usage of version control tools from inside the IDE.
So, IMO, it's a bad practice to do version control from inside the IDE and it should always be done from the outside.
You should always try to use the right tool for the job, and that is a personal question so there is no "norm" or "good practice".
In my case I prefer to use a ...
GUI, like Sourcetree, for viewing logs, diffs, staging/discarding lots of files, staging/discarding hunks, etc.
CLI for modifying remotes, squashing commits, pushing, cloning, etc.
Also, if you plan to break out of the box a little bit, it wouldn't hurt to know a little bit about the Git internals.
Those plugins and add-ones tend to sometime do things that otherwise you wouldn't do if you were using the native (CLI?) client.
For example, if you were working with an Eclipse + ClearCase plugin, any change in a file, even adding a new line, will initiate a check-out operation (depending on the configuration).
Specifically for Git, you should be aware of its internals to properly work with it. Using the IDE hides those things from you. In normal trivial operations, it will work. But, when you are facing a source control issue (ugly merge, cherry-picking, rebase conflicts) you will have to go to the CLI to resolve, but then you have no idea what were the actual commands that the IDE ran that got you to this situation in the first place (plus you have no experience with the CLI at that point).

Alternative to subversion / TortoiseSVN on Win xp?

I'm looking for an alternative version control software to TortoiseSVN/ Subversion. Only interested in those with a GUI and an easy installation process, though if multiple installations are needed (Such as vault, which needs both a client, server, and lots of other stuff), please give some installation instructions with your answer.
I'm a one man shop as of right now.
Use Mercurial and TortoiseHg.
Just as matter of interest why is it that you dont want to use subversion?
If you dont want to look after the subversion server and repos, you can always put them in places like assembla, or similar(i only used them and pretty happy wit the service and the value) , that for a small fee will look after all that and the integration with trac, etc.
And the integration tools with most IDEs are pretty good.
Other option is git, tho integration with windows is not great and this is something that you seem to be very interested in.
(I m not afiliated with assembla, just a happy customer so far)
I'd be interested in why you don't like SVN, but some alternatives that I have some experienve with and are free (atleast for one man shops):
CVS
Vault
Perforce
I like Perforce when in an environment with a lot of users (but then it starts costing serious money), but for my personal (one man) stuff, I use SVN - it's much easier to administer.
I second Bazaar -- I've recently been part of converting two teams to using it and it's been quite easy. (Think of it being like git, but able to work in the same way you're used to doing with svn, plus able to work on Windows.) Two people in my office are using TortiseBZR on Windows with good success. It's easy to set up a server too -- I had it done in less than 30 minutes and able to work with others. (The easiest/quickest way to do a server is over SFTP, but you can do it all on your machine too, if you'd like.)
I use GIT on windows with TortoiseGIT and i'm loving it! .
Git Extenions looks like a better way of using Git in Windows than the alternatives. It even comes with a Visual Studio plugin.
VisualSVN integrates directly into Visual Studio if you are working on the .net Framework. The developers of Stack Overflow used it!
PS: Its not free

Setup version control for Dreamweaver CS3?

I have NEVER used ANY version control system before. I am currently using the check-in-check-out feature of Dreamweaver but I would like to implement some sort of version control system where I can roll back to previous versions. Also it would be great but not required if I could go back like 3 versions, fix a bug, and have that bug fixed for all the later versions. I have no experience with version control, mainly because I never knew about it until I started reading the pragmatic programmer. So I would probably need step by step directions so if there is a tutorial or something I can be pointed to that would be great too.
Thanks!
Turtoise SVN would be a great first step into proper version control system.
Bazaar have impressed me lately, it's a fairly new scm and not that many 3rd party tools just yet. But if you want the latest and the greatest try it out!
Step by step guide(!) ;
Download
Bazaar in five
minutes
If you're on Windows, and want a smooth but powerful Distributed Version Control System, I recommend Mercurial through TortoiseHg. As a newcomer to version control, I can attest to its robust and nice, detailed interface, where you can smoothly progress from GUI-clicking to command line operations when needed.

Do you know a good open-source version-control viewer?

I'm looking for a tool like Atlassian's FishEye. The alternatives I've found so far (like StatCVS, ViewCVS or Bonsai) are either lacking in features or are quite a pain to install and maintain. So before staying with one of these tools, I'd like to be sure I did not miss any other good, easy to install, open-source (prefereably java) version control-viewer which supports cvs as scm.
Another SVN tool which has repository browsing capabilities is Trac. This is nice because as well as a browser for the repository it also has a timeline showing commits. It also does bug tracking.
Warehouse is pretty cool
ViewVC is a good open source, web based, repository viewer similar to FishEye. I know you've looked at it, and you're right, it was a hassle to set up, but once setup, it's run without any intervention for almost three years for us.
There is also CVS Monitor, though it hasn't got the nearly the number of features as FishEye.
We use ViewCVS for repository browsing.
If you were using SVN I'd highly recommend Tortoise SVN.

DVCS Choices - What's good for Windows?

So I want to get a project on a distributed version control system, such as mercurial, git, or bazaar. The catch is that I need the Windows support to be good, i.e. no instructions that start off with "install cygwin...". Now I've heard that git's Windows support is decent these days, but don't have any first hand experience. Also, it sounds like the bazaar team has an explicit goal of making it as multiplatform as possible.
Can I get any recommendations?
I use msys-git on windows every single day. Works fast and flawlessly.
Although the newer build has some problems with git-svn, this build (Git-1.5.5-preview20080413.exe) has a working git-svn.
There's a nice comparison between git, hg and bzr in this InfoQ article. They all have their strengths and weaknesses. You'll have to think about your project and your workflows and choose the best fit. The good news is that they're all fairly good.
At last I checked, the only thing you need for Mercurial is Python and to grab a binary package. If you find yourself with more time and want to fiddle / build it yourself, look here.
The only real drawback with HG is its idea of branching .. but for some people that's a major plus.
I like it because its intuitive, easy to install and works on anything that Python does. I don't think that all of the available plugins will work for you, but most should.
I've had the best luck with Bazaar, followed by Mercurial. Never could get Git to work correctly. A quick search shows that Git still requires clunky emulation layers like Cygwin/MSYS, and I can't find any integration tools like TortoiseBzr for Git.
With Mercurial in Windows, I had several minor issues (insensitive paths, symlinks, ). They were usually fixed eventually, but I felt that the same quality of testing was not applied to running on Windows as for the other platforms. Bazaar also had better documentation for integrating with native applications like Visual C.
EDIT: Perhaps add a "dvcs", "distrubutedversioncontrol", "distrubuted"
I've used Mercurial on Windows with no problems. You can use TortoiseHG or just use the command line. Mercurial does require Python, but that is easy to install in Windows as well.
Mercurial Binary Packages
I agree with basszero. I'm using mercurial under windows and it's as easy and reliable as it can get. My development team is spread over Europe (well Dublin and Vienna :-).
We use VPN to commit or sometime the built in webserver (hgserve). Both work fine with no problems out of the box.
Also diff3 open source tool works perfect with mercurial and TortoiseHG out of the box.
If you are concerned about an easy to use interface:
The bazaar folk now include TortoiseBzr in their windows binary package. That's got to be a pretty strong indicator that they think it is up to snuff. I don't know what the maturity/stability of TortoiseHg is, but there certainly isn't a decent GUI interface for git yet, and the MSYS git build still needs some work IMO.
If your team are comfortable with or prefer the command line, then either bazaar or mercurial would probably work well for you, and are both probably about the same in terms of learning curve. Git's learning curve is much higher. It is like the swiss-army knife that is almost wider than it is long, with all the little gadgets and do-dads in it and hanging off it, with the springs so tight that you occasionally slice a finger open trying to prise a blade out.
In my experience using GIT on windows is a major pain. But I have been using Fossil SCM for some time now, and I think it actually fits your needs exactly.
It also has a built in Ticket system and a Wiki. And the whole program is contained in 1 file and it works right out of the box.
I totally recommend it.
Here is a link to the site http://www.fossil-scm.org/
Remember, this site is self hosting, what that means is you are looking at the web interface to fossil it self, when you look at tickets and the wiki and documentation, you actually are using fossil.
But if your project has millions of lines of code and is a few gigabytes in size, you have to use GIT, there is no way around that problem.
Enjoy.