Situation:
Mac OS X Server running El Cap upgraded to Xcode 8.0
Suddenly I couldn’t connect from a remote machine using svn+ssh, got the following error:
Owens-MacBook-Pro:WatchPoint owen$ svn commit -m "changes up to release 1.06"
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
svn: E170013: Commit failed (details follow): svn: E210002: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file. svn: E210002: Network connection closed unexpectedly
Took a while to figure this out. The first message is about xcode licensing, the second the general no connect error of svn. Chased down the latter for a while because I’m not calling Xcode, and my remote machine’s xcode had beem run often. A dead end, of course. So I attacked the Xcode license error. You can’t run sudo Xcode-select -license anymore, at least there’s no comparable parameter in the man page.
Here’s the jig: svn+ssh causes an instance of svnserve to be run in the ssh tunnel. The svn binaries live in the Xcode.app package, and apparently require the licensing agreement to be run. So it was xcode on the server that swallowed my subversion request. Again, no licensing parameter on the man page, so I ssh into the server and just run svnserve. Bingo. License agreement pops up in the terminal window, type agree, and all is right with the world again.
It probably would’ve resolved if I had just run Xcode on the server, but I did not try that.
-Owen |