Manual username/password (Error: Server sent unexpected return value (403 Forbidden) in response to OPTIONS)

32 views
Skip to first unread message

sp...@erwincoumans.com

unread,
Oct 30, 2008, 9:56:29 PM10/30/08
to us...@tortoisesvn.tigris.org

When trying to checkout some source code, our secure server doesn't allow
it, and tortoiseSVN doesn't provide a username/password dialog either.

Error: Server sent unexpected return value (403 Forbidden) in response to
OPTIONS

This server requires a username and password, and appears not to allow the
OPTIONS query from TortoiseSVN.

Does TortoiseSVN have a manual way to specify username/password? If not,
can we please have it?

Thanks,
Erwin

---------------------------------------------------------------------
To unsubscribe, e-mail: users-un...@tortoisesvn.tigris.org
For additional commands, e-mail: users...@tortoisesvn.tigris.org

sp...@erwincoumans.com

unread,
Oct 30, 2008, 10:26:57 PM10/30/08
to us...@tortoisesvn.tigris.org

Given a private repository A with directories:

trunk/src
trunk/src/folder0
trunk/src/folder1

and within this 'src' directory, two directories point to public repository
B, using svn::externals (svn properties).

trunk/src/folderB0 -> folderB0 defined in svn::externals pointing to some
directory in repo B
trunk/src/folderB1 -> same for folderB1, svn::externals pointing to repo B

When some changes are made in both externals 'folderB0' and 'folderB1', the
commit fails:

Error: Commit failed (details follow):
Error: Repository UUID '08e121b0-ae19-XXXX-XXXX-3be3395fd4fd' doesn't match
expected
Error: UUID '85ceb6c3-2a14-XXXX-XXX-d80b5b198c98'

If, however, the commit is done on each directory individually, it works
fine.

Can someone confirm this?

Stefan Küng

unread,
Oct 31, 2008, 1:49:43 PM10/31/08
to us...@tortoisesvn.tigris.org
sp...@erwincoumans.com wrote:
>
> When trying to checkout some source code, our secure server doesn't
> allow it, and tortoiseSVN doesn't provide a username/password dialog
> either.

If no authentication dialog pops up, the server doesn't ask for one.

> Error: Server sent unexpected return value (403 Forbidden) in response
> to OPTIONS
> This server requires a username and password, and appears not to allow
> the OPTIONS query from TortoiseSVN.

Maybe it's not the server but a proxy which doesn't allow DAV requests.
Try using https instead of http so proxies can't interfere anymore.

> Does TortoiseSVN have a manual way to specify username/password? If
> not, can we please have it?

Nope, TSVN does not provide the means to specify username/password. It
relies on the server asking for it.

Stefan

--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net

signature.asc

Stefan Küng

unread,
Oct 31, 2008, 1:50:48 PM10/31/08
to us...@tortoisesvn.tigris.org
sp...@erwincoumans.com wrote:
>
> Given a private repository A with directories:
> trunk/src
> trunk/src/folder0
> trunk/src/folder1
> and within this 'src' directory, two directories point to public
> repository B, using svn::externals (svn properties).
> trunk/src/folderB0 -> folderB0 defined in svn::externals pointing to
> some directory in repo B
> trunk/src/folderB1 -> same for folderB1, svn::externals pointing to repo B
> When some changes are made in both externals 'folderB0' and 'folderB1',
> the commit fails:
> Error: Commit failed (details follow):
> Error: Repository UUID '08e121b0-ae19-XXXX-XXXX-3be3395fd4fd' doesn't
> match expected
> Error: UUID '85ceb6c3-2a14-XXXX-XXX-d80b5b198c98'
> If, however, the commit is done on each directory individually, it works
> fine.
> Can someone confirm this?

Sure, everyone can confirm this.
Think about what you're asking Subversion to do: committing changes to
two different repositories at once. That's not possible, because that
*requires* two separate commits.

signature.asc

Erwin Coumans

unread,
Oct 31, 2008, 3:02:13 PM10/31/08
to us...@tortoisesvn.tigris.org

> Think about what you're asking Subversion to do: committing changes to

No, you think again.

I'm asking to commit some changes in two directories, both
svn::externals pointing to the SAME repository.

Why can't this be done in a single commit, by selecting the two
folders?
Thanks,
Erwin


On Oct 31, 10:50 am, Stefan Küng <tortoise...@gmail.com> wrote:

>  signature.asc
> < 1KViewDownload

Erwin Coumans

unread,
Oct 31, 2008, 3:04:47 PM10/31/08
to us...@tortoisesvn.tigris.org

> Maybe it's not the server but a proxy which doesn't allow DAV requests.
> Try using https instead of http so proxies can't interfere anymore.

Unfortunately I was already using https, and it doesn't work.

Using a command-line svn utility, I can simply provide the --username
and --password options and that works fine.

Why can't you simply add an optional username and password option in
the TortoiseSVN GUI?
Thanks,
Erwin

On Oct 31, 10:49 am, Stefan Küng <tortoise...@gmail.com> wrote:

>  signature.asc
> < 1KViewDownload

Stefan Küng

unread,
Oct 31, 2008, 3:05:39 PM10/31/08
to us...@tortoisesvn.tigris.org
Erwin Coumans wrote:
>> Think about what you're asking Subversion to do: committing changes to
>
> No, you think again.
>
> I'm asking to commit some changes in two directories, both
> svn::externals pointing to the SAME repository.

Are you sure? Because the error indicates that the repositories have
different UUIDs.

Also, the parent folder of all selected entries for a commit must be in
the same repository as those selected entries (that's a restriction of
the svn library, nothing we can do about that).

signature.asc

Stefan Küng

unread,
Oct 31, 2008, 3:06:59 PM10/31/08
to us...@tortoisesvn.tigris.org
Erwin Coumans wrote:
>> Maybe it's not the server but a proxy which doesn't allow DAV requests.
>> Try using https instead of http so proxies can't interfere anymore.
>
> Unfortunately I was already using https, and it doesn't work.
>
> Using a command-line svn utility, I can simply provide the --username
> and --password options and that works fine.
>
> Why can't you simply add an optional username and password option in
> the TortoiseSVN GUI?

I could ask: why can't you simply configure your server to ask for
authentication instead of just failing?

Or: where would you put that option to pass username/password in TSVN?

signature.asc

Erwin Coumans

unread,
Oct 31, 2008, 3:14:38 PM10/31/08
to us...@tortoisesvn.tigris.org

They probably disabled this option to ask for username as a security
measure. It is a server in a different territory and beyond our
control.

> Or: where would you put that option to pass username/password in TSVN?

Perhaps you could add a button 'Username' in the Checkout dialog?
There is still some room next to the 'Omit externals'.

Thanks,
Erwin

Andy Levy

unread,
Oct 31, 2008, 3:20:49 PM10/31/08
to us...@tortoisesvn.tigris.org
On Fri, Oct 31, 2008 at 15:14, Erwin Coumans <erwin....@gmail.com> wrote:
>
> They probably disabled this option to ask for username as a security
> measure. It is a server in a different territory and beyond our
> control.

You mean as a NEGATIVE security measure. That makes no sense, unless
your goal is to avoid having to manage user accounts, and therefore
reduce accountability.

Erwin Coumans

unread,
Oct 31, 2008, 3:18:47 PM10/31/08
to us...@tortoisesvn.tigris.org

> Are you sure? Because the error indicates that the repositories have
> different UUIDs.

Yes, I'm very sure about it. The two selected folders are externals of
the same repo B. but the parent folder is from repo A, and next to the
externals from repo B, there are some folders from repo A as well.

> Also, the parent folder of all selected entries for a commit must be in
> the same repository as those selected entries (that's a restriction of
> the svn library, nothing we can do about that).

If that is a limitation, why can't TortoiseSVN perform several
individual commits for each selected folder?
Thanks,
Erwin

Stefan Küng

unread,
Oct 31, 2008, 3:24:43 PM10/31/08
to us...@tortoisesvn.tigris.org
Erwin Coumans wrote:
>> Are you sure? Because the error indicates that the repositories have
>> different UUIDs.
>
> Yes, I'm very sure about it. The two selected folders are externals of
> the same repo B. but the parent folder is from repo A, and next to the
> externals from repo B, there are some folders from repo A as well.
>
>> Also, the parent folder of all selected entries for a commit must be in
>> the same repository as those selected entries (that's a restriction of
>> the svn library, nothing we can do about that).
>
> If that is a limitation, why can't TortoiseSVN perform several
> individual commits for each selected folder?

Because that would result in two revisions/two commits. And that's not
what the user would expect.

signature.asc

Erwin Coumans

unread,
Oct 31, 2008, 3:26:25 PM10/31/08
to us...@tortoisesvn.tigris.org

We are going off-topic now. Those server settings are beyond our
control.

So assuming we can't change the server, command-line svn with --
username --password is the only option?

Why can't tortoiseSVN add a username button and add this --username --
password when doing the request?
Thanks,
Erwin

On Oct 31, 12:20 pm, "Andy Levy" <andy.l...@gmail.com> wrote:


> On Fri, Oct 31, 2008 at 15:14, Erwin Coumans <erwin.coum...@gmail.com> wrote:
>
> > They probably disabled this option to ask for username as a security
> > measure.  It is a server in a different territory and beyond our
> > control.
>
> You mean as a NEGATIVE security measure. That makes no sense, unless
> your goal is to avoid having to manage user accounts, and therefore
> reduce accountability.
>
> ---------------------------------------------------------------------

> To unsubscribe, e-mail: users-unsubscr...@tortoisesvn.tigris.org
> For additional commands, e-mail: users-h...@tortoisesvn.tigris.org

Stefan Küng

unread,
Oct 31, 2008, 3:29:45 PM10/31/08
to us...@tortoisesvn.tigris.org
Erwin Coumans wrote:
> We are going off-topic now. Those server settings are beyond our
> control.

I really doubt that. All you can say is that *you* have no access to the
server to change those. But you definitely can ask someone with access
to the server to set this up properly. Even if it's hosted by another
company.

> So assuming we can't change the server, command-line svn with --
> username --password is the only option?

Yes.

> Why can't tortoiseSVN add a username button and add this --username --
> password when doing the request?

Because TSVN doesn't have just the checkout dialog?
Adding this to *every* dialog would be very bad UI design.
Just ask someone who's responsible for the server to set it up properly.

signature.asc

Erwin Coumans

unread,
Oct 31, 2008, 3:32:01 PM10/31/08
to us...@tortoisesvn.tigris.org

Indeed it would result in two revisions/commits.

But if you have several svn::externals directories, it is a lot of
manual burden to go over each individual directory and do a separate
commit.

Can you add an 'advanced' option to allow such multi-commit, for
developers who know what they are doing?
Thanks,
Erwin

Stefan Küng

unread,
Oct 31, 2008, 3:42:55 PM10/31/08
to us...@tortoisesvn.tigris.org
Erwin Coumans wrote:
> Indeed it would result in two revisions/commits.
>
> But if you have several svn::externals directories, it is a lot of
> manual burden to go over each individual directory and do a separate
> commit.
>
> Can you add an 'advanced' option to allow such multi-commit, for
> developers who know what they are doing?
> Thanks,
> Erwin

You should ask for this feature on the Subversion mailing list and tell
them that an
svn commit external1 external2
doesn't work even if external1 and external2 are from the same repository.

signature.asc

Erwin Coumans

unread,
Oct 31, 2008, 3:52:49 PM10/31/08
to us...@tortoisesvn.tigris.org

>>Adding this to *every* dialog would be very bad UI design.
There are options that don't add any clutter, for example allowing
svn://username:password@repositoryurl/path

but

>> So assuming we can't change the server, command-line svn with --
>> username --password is the only option?
>Yes.

I'll use command-line svn then, unless they are willing to change the
server settings.

Thanks,
Erwin

>  signature.asc
> < 1KViewDownload

Erwin Coumans

unread,
Oct 31, 2008, 3:54:34 PM10/31/08
to us...@tortoisesvn.tigris.org

Good plan, I'll do that.

Thanks for the quick response by the way,
Erwin

Stefan Küng

unread,
Oct 31, 2008, 4:29:31 PM10/31/08
to us...@tortoisesvn.tigris.org
Erwin Coumans wrote:
>>> Adding this to *every* dialog would be very bad UI design.
> There are options that don't add any clutter, for example allowing
> svn://username:password@repositoryurl/path

And introduce a security risk?
http://support.microsoft.com/kb/834489

signature.asc

Erwin Coumans

unread,
Oct 31, 2008, 4:30:53 PM10/31/08
to us...@tortoisesvn.tigris.org

It seems a TSVN specific issue, because command-line svn just works
fine:

svn commit external1 external2
results in a single commit:
http://code.google.com/p/bullet/source/detail?r=1437

What svn command(s) does TSVN send when you select multiple externals
directories and commit?
Thanks,
Erwin

> To unsubscribe, e-mail: users-unsubscr...@tortoisesvn.tigris.org
> For additional commands, e-mail: users-h...@tortoisesvn.tigris.org

---------------------------------------------------------------------

Stefan Küng

unread,
Oct 31, 2008, 4:49:14 PM10/31/08
to us...@tortoisesvn.tigris.org
Erwin Coumans wrote:
> It seems a TSVN specific issue, because command-line svn just works
> fine:
>
> svn commit external1 external2
> results in a single commit:
> http://code.google.com/p/bullet/source/detail?r=1437
>
> What svn command(s) does TSVN send when you select multiple externals
> directories and commit?

Just tried this with my test repo: when I select two externals from the
same repo and commit the changes, it works as expected.

TSVN commits the two selected externals the same as the mentioned svn
command. The only thing that could be different is that TSVN could pass
the --non-recursive flag with the commit. But that would only happen if
while you had the commit dialog open a file inside those external
folders was touched (i.e., had is last-modified time changed).
Or if you have entries in the commit dialog which were not selected.

signature.asc

Erwin Coumans

unread,
Oct 31, 2008, 4:47:17 PM10/31/08
to us...@tortoisesvn.tigris.org

Let's not get offtopic on security.

It seems we don't need to request any server change, because command-
line svn just works fine again, even without providing a --username:

svn co https://repository/svnroot/project

prompts for a username/password, and it doesn't terminate with the
'server sent unexpected return value (403 Forbidden) in response to
OPTIONS.

Is this 'OPTIONS" request tortoise SVN specific? Perhaps the command-
line svn co command doesn't send such 'OPTIONS' request?
Thanks,
Erwin

On Oct 31, 1:29 pm, Stefan Küng <tortoise...@gmail.com> wrote:
> Erwin Coumans wrote:
> >>> Adding this to *every* dialog would be very bad UI design.
> > There are options that don't add any clutter, for example allowing
> > svn://username:password@repositoryurl/path
>

> And introduce a security risk?http://support.microsoft.com/kb/834489


>
> Stefan
>
> --
>        ___
>   oo  // \\      "De Chelonian Mobile"
>  (_,\/ \_/ \     TortoiseSVN
>    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
>    /_/   \_\    http://tortoisesvn.net
>

Stefan Küng

unread,
Oct 31, 2008, 4:51:59 PM10/31/08
to us...@tortoisesvn.tigris.org
Erwin Coumans wrote:
> Let's not get offtopic on security.

You mean I can't explain why your suggestion for a change isn't good?

> It seems we don't need to request any server change, because command-
> line svn just works fine again, even without providing a --username:
>
> svn co https://repository/svnroot/project
>
> prompts for a username/password, and it doesn't terminate with the
> 'server sent unexpected return value (403 Forbidden) in response to
> OPTIONS.
>
> Is this 'OPTIONS" request tortoise SVN specific? Perhaps the command-
> line svn co command doesn't send such 'OPTIONS' request?

Do you use the command line client from the same computer as you use
TSVN? If not, try it on the same computer.
And the OPTIONS request is done by all svn clients - TSVN uses the svn
library, as does the command line client.

Again: check your virus scanner and/or firewall.

signature.asc

Stefan Küng

unread,
Oct 31, 2008, 4:55:17 PM10/31/08
to us...@tortoisesvn.tigris.org
On Fri, Oct 31, 2008 at 21:49, Stefan Küng <torto...@gmail.com> wrote:
> Erwin Coumans wrote:
>> It seems a TSVN specific issue, because command-line svn just works
>> fine:
>>
>> svn commit external1 external2
>> results in a single commit:
>> http://code.google.com/p/bullet/source/detail?r=1437
>>
>> What svn command(s) does TSVN send when you select multiple externals
>> directories and commit?
>
> Just tried this with my test repo: when I select two externals from the
> same repo and commit the changes, it works as expected.
>
> TSVN commits the two selected externals the same as the mentioned svn
> command. The only thing that could be different is that TSVN could pass
> the --non-recursive flag with the commit. But that would only happen if
> while you had the commit dialog open a file inside those external
> folders was touched (i.e., had is last-modified time changed).
> Or if you have entries in the commit dialog which were not selected.

More info: after some more testing I can tell you that this only
happens if TSVN commits the changes non-recursively.
And as mentioned in my last mail, that only happens if:
* unchecked entries are in the commit dialog
* files were changed while the commit dialog was open (hit F5 to
refresh before you click on OK to 'clear' those monitored changes and
allow a recursive commit).

Erwin Coumans

unread,
Oct 31, 2008, 5:29:54 PM10/31/08
to us...@tortoisesvn.tigris.org

I tried to reproduce it, and it seems to only fail in a second
checkout, with a new copy of the repository (repoA and its
svn::externals repoB).

So in the original location, the commit works fine, and in the second
checked-out version it doesn't.

>>* unchecked entries are in the commit dialog
>>* files were changed while the commit dialog was open

There are certainly no unchecked entries, and no changed files while
the dialog was open.

Can you create testRepoA and testRepoB, with testRepoA having two
separate svn::externals pointing to folders in repoB
repoB/somepath/otherFolder0/testFileB0
repoB/somepath/otherFolder1/testFileB1

repoA/folderA/subfolderA0/testFileA
repoA/folderA/externalFolderB0/testFileB0 <- svn::externals
externalFolderB0 -> repoB/somepath/otherFolder0
repoA/folderA/externalFolderB1/testFileB1 <- svn::externals
externalFolderB1 -> repoB/somepath/otherFolder1

Then, do a fresh checkout of this testRepoA in a different location,
and try to modify testFileB0 and testFileB1, and try to select both
repoA/folderA/externalFolderB0 and repoA/folderA/externalFolderB1 for
a commit.
This fails here.
Hope you can reproduce this,
Thanks,
Erwin

On Oct 31, 1:55 pm, "Stefan Küng" <tortoise...@gmail.com> wrote:

---------------------------------------------------------------------

Erwin Coumans

unread,
Oct 31, 2008, 5:40:33 PM10/31/08
to us...@tortoisesvn.tigris.org

>>Do you use the command line client from the same computer as you use

It was done on a different computer and operating system (OSX versus
Windows). Trying it on the same computer it indeed fails for svn
command-line too.

Let's close this issue, it is not TSVN specific.
Thanks,
Erwin

On Oct 31, 1:51 pm, Stefan Küng <tortoise...@gmail.com> wrote:
> Erwin Coumans wrote:
> > Let's not get offtopic on security.
>
> You mean I can't explain why your suggestion for a change isn't good?
>
> > It seems we don't need to request any server change, because command-
> > line svn just works fine again, even without providing a --username:
>

> > svn cohttps://repository/svnroot/project


>
> > prompts for a username/password, and it doesn't terminate with the
> > 'server sent unexpected return value (403 Forbidden) in response to
> > OPTIONS.
>
> > Is this 'OPTIONS" request tortoise SVN specific? Perhaps the command-
> > line svn co command doesn't send such 'OPTIONS' request?
>
> Do you use the command line client from the same computer as you use
> TSVN? If not, try it on the same computer.
> And the OPTIONS request is done by all svn clients - TSVN uses the svn
> library, as does the command line client.
>
> Again: check your virus scanner and/or firewall.
>
> Stefan
>
> --
>        ___
>   oo  // \\      "De Chelonian Mobile"
>  (_,\/ \_/ \     TortoiseSVN
>    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
>    /_/   \_\    http://tortoisesvn.net
>

Erwin Coumans

unread,
Oct 31, 2008, 5:48:36 PM10/31/08
to us...@tortoisesvn.tigris.org

The svn command-line version under Windows fails the same way on the
second checked-out version, so again not TSVN specific.

If I have time for it, I might raise this on the subversion mailing
list.

Thanks for the help,
Erwin

> To unsubscribe, e-mail: users-unsubscr...@tortoisesvn.tigris.org
> For additional commands, e-mail: users-h...@tortoisesvn.tigris.org

---------------------------------------------------------------------

Reply all
Reply to author
Forward
0 new messages