Xcode 2.1 & Subversion broken workaround
Xcode 2.1 & Subversion broken workaround
- Subject: Xcode 2.1 & Subversion broken workaround
- From: Kyle <email@hidden>
- Date: Sun, 18 Sep 2005 14:24:33 -0700
If you want to get Subversion working again in Xcode 2.1, there is a
workaround available. If subversion is working for you in Xcode 2.1,
then you don't need this workaround, but if you are using URLs like
"svn+ssh://user@host" or "svn+customtunnel://host" etc., then
Subversion most likely isn't working for you in Xcode 2.1 (see
referenced email below).
To workaround this, get out your favorite HexEditor.app and open the
file:
/Library/Application Support/Apple/Developer Tools/
Plug-ins/XcodeSubversionPlugin.xcplugin/
Contents/MacOS/XcodeSubversionPlugin
Search for the string "url=". There are two of them in the file (at
0x0A13F and 0x20F38). Change the second one (at 0x20F38) to be
"xrl=" instead (be careful to neither lengthen nor shorten the file
when you make this change).
Okay, that's it. Subversion will now work for you with Xcode 2.1.
BEWARE that this change has a side effect. The authentication dialog
that Xcode displays WILL NO LONGER BE DISPLAYED. If you rely on
Xcode to solicit your name/password/pass phrase when connecting to a
subversion server, then this workaround will probably not help you.
Although in the case of http or https URLs, you can embed the user/
password in the URL (https://user:password@host/...). In the case of
svn+ssh, you can either provide the passphrase on the command line
via ssh-agent or just set up ssh to authenticate automatically --
install your passphrase free public SSH key into the authorized keys
list on the server you are connecting to.
Chris's email below of approx. 2 months ago suggests that a patch
"will be released in an update shortly". I haven't seen one for
Xcode 2.1 and I'm unwilling to switch to Xcode 2.2 until it's
formally released (no betas for me) and so I don't know whether or
not Xcode 2.2 contains the fix.
Anyway, this workaround got me going again in Xcode 2.1, so I thought
I'd share in case it can help anyone else.
ANALYSIS: (For those of you that are curious)
The Xcode subversion plugin reads the ".svn/entries" file that is
located inside your .xcodeproj folder and attempts to find a "url="
line and then parse it to offer an authentication dialog.
Unfortunately the Xcode 2.1 subversion plugin doesn't understand the
wealth of possible URLs that can be used to connect to a Subversion
server and when it parses the host wrong in many cases then fails to
connect, it simply refuses to use Subversion at all -- note that the
svn command line tool IS NEVER RUN in this case. However, you must
have a .svn/entries file in your project to have Xcode use subversion
in Xcode in the first place, hence this workaround.
Kyle
Subject: Re: Subversion does not work
On Jul 22, 2005 at 8:50 AM, Chris Espinosa wrote:
On Jul 22, 2005, at 3:45 AM, Greg Hurrell wrote:
Since installing XCode 2.1 I can no longer access Subversion. I
get the following error:
SCM Error
SCM could not go online. Could not reach host: :
My repository is on a remote volume. I can access it with the
command line tool just fine.
I get a very similar problem trying to connect to a repository via
HTTP. Works on the command line (on both remote and local hosts),
used to work in Xcode prior to 2.1, but in Xcode 2.1 I get a
message like this:
"SCM Error: SCM could not go online. Could not reach host:
localhost:8080"
Hard to troubleshoot because nothing is printed to the console.
I've filed a bug report about this (rdar://4182651/) which has
since been marked as "Closed/Duplicate" and I suggest you do as
well; the more people report a bug the more likely Apple is to fix
it:
That won't be necessary as this bug has been found and fixed, and
will be released in an update shortly. Sorry, we have no workaround
at this time.
Chris
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden