Subject: [PATCH] svn: fix path strip for branches

From: "Pavel Dydyshko via GitGitGadget" <[email-masked]>
Date: Fri, 31 Oct 2025 13:26:21 +0000

From: Pavel Dydyshka <[email-masked]>

When checking path against ignore-include regexps $path argument is
given relatively to svn repo root. This results in unwanted prefix which
is path to svn branch location and should be stripped before testing
path against ignore-include regexps

Signed-off-by: Pavel Dydyshka <[email-masked]>
---
    svn: fix path strip for branches

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2087%2Fpddshk%2Fsvn-fix-strip-path-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2087/pddshk/svn-fix-strip-path-v1
Pull-Request: https://github.com/git/git/pull/2087

 perl/Git/SVN/Fetcher.pm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/perl/Git/SVN/Fetcher.pm b/perl/Git/SVN/Fetcher.pm
index 968309e6d6..5ac8c71a3d 100644
--- a/perl/Git/SVN/Fetcher.pm
+++ b/perl/Git/SVN/Fetcher.pm
@@ -123,6 +123,10 @@ sub in_dot_git {
 # This will also check whether the path is explicitly included
 sub is_path_ignored {
 	my ($self, $path) = @_;
+	if ($self->{path_strip}) {
+		$path =~ s/$self->{path_strip}//;
+		$path =~ s{^/}{};
+	}
 	return 1 if in_dot_git($path);
 	return 1 if defined($self->{ignore_regex}) &&
 	            $path =~ m!$self->{ignore_regex}!;

base-commit: 419c72cb8ada252b260efc38ff91fe201de7c8c3
-- 
gitgitgadget