Killrazor
Killrazor

Reputation: 7184

svn: warning: Error handling external definitions for

I'm having an extrange error defining external repo with svn. Into my repository I make an externals definition to an enterprise repository that needs authentications (svn+ssh). It works perfectly on my machine, but I have the same username both in my machine and in svn.

When I try to reproduce this checkout into another machine with different user name, all checkout works fine until it arrives to the external repo. At this moment, instead to sync external with my svn username, it try to sync the external with the machine's username.

I set the external in this way:

svn propset svn:externals 'dd1 svn+ssh://subversion.example.int/var/subversion/dd1/trunk' .
svn commit

I cannot define the external with and username because everyone has its own user/password

Any ideas? Thanks.

Upvotes: 4

Views: 7784

Answers (1)

Killrazor
Killrazor

Reputation: 7184

Solved.

The problem is the combination between svn + ssh. Ssh gives the user name to svn. You can force the username by writing svn+ssh://[email protected]/trunk but the external fetch against the default username (because is a different svn authentication process).

The solution was to write a config file (~/.ssh/config) and write inside:

Host subversion.example.int
User svn_user

(more info at: http://www.eall.com.br/blog/?p=105)

With that you create an alias between the machine's user and the server's user. Until that the external will always ask you by svn_user instead by machine_user (as long as you don't change your external form subversion.example.int)

Upvotes: 2

Related Questions