Move and Rename - Special Character in Path

71 views
Skip to first unread message

Fritz Otlinghaus

unread,
Jul 17, 2024, 9:57:06 AMJul 17
to TortoiseSVN
When using move and rename via drag and drop on a File with a path that contains a special character we get an encoding error in the used url.
When we use the same feature without a special char it works without a Problem
2024-07-17_14-58.png
2024-07-17_14-59.png

2024-07-17_15-00.png

Daniel Sahlberg

unread,
Jul 17, 2024, 12:01:53 PMJul 17
to TortoiseSVN
The screen shots seems to be from different operations. I tried to reproduce your second screenshot with the rename and it works for me.

Can you try to reproduce the same issue in the command line client?

Can you share some information about your installation? Is there any chance you are behind a proxy (or that the server is behind a reverse proxy)? There has been similar error messages in the past caused by proxy servers mangling the paths.

Kind regards,
Daniel

Stefan

unread,
Jul 17, 2024, 3:55:52 PMJul 17
to TortoiseSVN
just an FYI: a rename has to be committed in one commit. You can not commit the add/delete parts separately (unless you have a really, really old server version).

Fritz Otlinghaus

unread,
Jul 18, 2024, 10:22:22 AMJul 18
to TortoiseSVN
thanks for the quick response, everybody is on vacation right now so i can not test further, I will get back to you guys on monday.

Fritz Otlinghaus

unread,
Jul 22, 2024, 2:53:56 AMJul 22
to TortoiseSVN
I added a video of the error to better document whats happening https://youtu.be/EM8sNghOL4w

`Can you share some information about your installation? Is there any chance you are behind a proxy (or that the server is behind a reverse proxy)? There has been similar error messages in the past caused by proxy servers mangling the paths.`

We are running behind an nginx proxy with the following config, do you think this could cause such a thing, as the url seems broken in the client already?

```
                listen 0.0.0.0:443 ssl ;
                listen [::]:443 ssl ;
                listen 0.0.0.0:443 quic ;
                listen [::]:443 quic ;
                http2 on;
                server_name  xxx;
                location /.well-known/acme-challenge {
                        root /var/lib/acme/acme-challenge;
                        auth_basic off;
                }
                ssl_certificate /var/lib/acme/xxx/fullchain.pem;
                ssl_certificate_key /var/lib/acme/xxx/key.pem;
                ssl_trusted_certificate /var/lib/acme/xxx/chain.pem;
                # Do not allow this site to be displayed in iframes
                more_set_headers          "X-Frame-Options: SAMEORIGIN";
                # Do not permit Content-Type sniffing.
                more_set_headers          "X-Content-Type-Options: nosniff";
                # Reenable XSS Filter even when disabled by user
                more_set_headers          "X-XSS-Protection: 1; mode=block";
                # Do not send referrer header when navigating from HTTPS to HTTP
                more_set_headers          "Referrer-Policy: no-referrer-when-downgrade";
                include "/nix/store/jz0dx3b01kc0bibspzl1dxi9hdi5n11b-nginx-error-pages-iis6.conf";
                location / {
                        proxy_pass http://127.0.0.1:3690/;
                        include /nix/store/h7yhsdwp7h51cqwpxzp1p80gwgwf04bd-nginx-proxy-headers.conf;
                        set $fixed_destination $http_destination;
                        if ( $http_destination ~* ^https(.*)$ ) {
                                set $fixed_destination http$1;
                        }
                        proxy_set_header Destination $fixed_destination;
                }
                location = /.well-known/security.txt {
                        alias /nix/store/fscnlbcafyzs4lmh3jv8f3p1cxh5hr1f-security.txt;
                }
                allow 10.64.0.0/12;
                deny all;
```

Daniel Sahlberg

unread,
Jul 22, 2024, 3:03:57 AMJul 22
to TortoiseSVN
I’m quite certain that something is wrong with the Destination header, is is probably url encoded when it should not (or the opposite).

I have never used Nginx so I’m not sure what should be done to fix it but there is probably some easy solution.

The Subversion project has a faq with reverse proxy configurations for IIS and Httpd. It would be nice if we could add Ngonx there as well if you get it to work. See 


Kind regards
Daniel

Karen Ellison

unread,
Jul 22, 2024, 2:10:44 PMJul 22
to TortoiseSVN
I was able to recover most of the repository with a dump & load to a new one. The dump stopped at Version 524. Only one project went beyond that to Version 535. I had the latest version of the project that wasn't fully recovered so I checked that in. I am a single developer only making some apps for myself. no proxy. just using my google drive on a PC so it is mapped as the G: drive.

--
You received this message because you are subscribed to the Google Groups "TortoiseSVN" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tortoisesvn...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tortoisesvn/0135acb7-8ccb-4ccc-9704-85d0149c327fn%40googlegroups.com.

Fritz Otlinghaus

unread,
Jul 29, 2024, 11:33:51 AMJul 29
to TortoiseSVN
You where right, its my nginx i will let you know what fixed the issue

Fritz Otlinghaus

unread,
Aug 22, 2024, 1:02:22 AMAug 22
to TortoiseSVN
This is the config that did the trick:

server {
                listen 0.0.0.0:443 ssl ;
                listen [::]:443 ssl ;
                listen 0.0.0.0:443 quic ;
                listen [::]:443 quic ;
                http2 on;
                server_name svn. ;

                location /.well-known/acme-challenge {
                        root /var/lib/acme/acme-challenge;
                        auth_basic off;
                }
                ssl_certificate fullchain.pem;
                ssl_certificate_key key.pem;
                ssl_trusted_certificate chain.pem;

                # Do not allow this site to be displayed in iframes
                more_set_headers          "X-Frame-Options: SAMEORIGIN";
                # Do not permit Content-Type sniffing.
                more_set_headers          "X-Content-Type-Options: nosniff";
                # Reenable XSS Filter even when disabled by user
                more_set_headers          "X-XSS-Protection: 1; mode=block";
                # Do not send referrer header when navigating from HTTPS to HTTP
                more_set_headers          "Referrer-Policy: no-referrer-when-downgrade";
                location / {
                        proxy_pass http://127.0.0.1:3690/;
                        proxy_set_header    Host $host;
                        proxy_set_header    X-Real-IP $remote_addr;
                        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header    X-Forwarded-Proto $scheme;
                        proxy_set_header    X-Forwarded-Host $host;
                        proxy_set_header    X-Forwarded-Server $host;
                        proxy_set_header    Accept-Encoding "";
                        proxy_hide_header   X-Powered-By;

                        set $fixed_destination $http_destination;
                        if ( $http_destination ~* ^https://[^/]*(.*)$ ) {
                                set $fixed_destination http://127.0.0.1:3690$1;
                        }
                        proxy_set_header Destination $fixed_destination;
                        client_max_body_size 5000M;
                }
                location = /.well-known/security.txt {
                        alias /nix/store/wwagqhcncrsms6ipnlgai23719xxa3xv-security.txt;
                }
                allow 10.64.0.0/12;
                deny all;
                client_max_body_size 5000M;
Reply all
Reply to author
Forward
0 new messages