threads / patch / 64411

patchsvn: add multi-line support for ignore-paths and include-paths

Subject: [PATCH] svn: add multi-line support for ignore-paths and include-paths

## tl;dr

One message between Oct 31, 2025 and Oct 31, 2025. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Pavel Dydyshko via GitGitGadget· Oct 31, 2025, 13:26 UTC · lore
From: Pavel Dydyshka <paul.dydyshko@gmail.com>

Allow multiple ignore-paths and include-paths entries in config. Instead of reading single entry and storing it as is editor now concatenates all values through a '|'

Signed-off-by: Pavel Dydyshka <paul.dydyshko@gmail.com>
---
    svn: add multi-line support for ignore-paths and include-paths
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2091%2Fpddshk%2Fsvn-multi-line-ignore-include-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2091/pddshk/svn-multi-line-ignore-include-v1
Pull-Request: https://github.com/git/git/pull/2091
 perl/Git/SVN/Fetcher.pm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
Show changes to perl/Git/SVN/Fetcher.pm +5 −5
diff --git a/perl/Git/SVN/Fetcher.pm b/perl/Git/SVN/Fetcher.pm
index 968309e6d6..b2991480e1 100644
--- a/perl/Git/SVN/Fetcher.pm
+++ b/perl/Git/SVN/Fetcher.pm
@@ -31,15 +31,15 @@ sub new {
 	# override options set in an [svn-remote "..."] section
 	$repo_id = $git_svn->{repo_id};
 	my $k = "svn-remote.$repo_id.ignore-paths";
-	my $v = eval { command_oneline('config', '--get', $k) };
-	$self->{ignore_regex} = $v;
+	my @ignores = eval { command('config', '--get-all', $k) };
+	$self->{ignore_regex} = join('|', @ignores) if @ignores;
 
 	$k = "svn-remote.$repo_id.include-paths";
-	$v = eval { command_oneline('config', '--get', $k) };
-	$self->{include_regex} = $v;
+	my @includes = eval { command('config', '--get-all', $k) };
+	$self->{include_regex} = join('|', @includes) if @includes;
 
 	$k = "svn-remote.$repo_id.preserve-empty-dirs";
-	$v = eval { command_oneline('config', '--get', '--bool', $k) };
+	my $v = eval { command_oneline('config', '--get', '--bool', $k) };
 	if ($v && $v eq 'true') {
 		$_preserve_empty_dirs = 1;
 		$k = "svn-remote.$repo_id.placeholder-filename";

base-commit: 419c72cb8ada252b260efc38ff91fe201de7c8c3
-- 
gitgitgadget

← back to recent threads