Support #5541
openSVN Settings: Repository Patterns
0%
Description
Hi everybody,
we have just a few SVN Repos but with many "Sub-Projects" each having its own "trunk/branches/tags" structure.
Now in the settings for each repo we have to use "Repository Patterns" so that RhodeCode can correctly identify all trunk/branches and tags structures.
We started with patterns like this, as this will work as expected:
Patterns
DeveloperBranches
/project1/trunk
/project1/branches/*
/project2/trunk
/project2/branches/*
/project3/trunk
/project3/branches/*
/project4/trunk
/project4/branches/*
[...]
Tags:
/project1/tags/*
/project2/tags/*
/project3/tags/*
/project4/tags/*
[...]
As this is a lot of work with a high number of "Sub-"Projects (esp. as one can only set one line per request in the Web GUI), we hoped, that sth. like this will work, but it didn't:
Patterns
DeveloperBranches
/*/trunk
/*/branches/*
Tags:
/*/tags/*
With these patterns no structure was correctly identified.
So do we really have to add these 3 lines for each and every existing (and future) Sub-Project in the repo settings? Or is there another pattern syntax or API Calls to do this programmatically?
Thx in advance!
Markus
Updated by Marcin Kuzminski [CTO] almost 6 years ago
Hi Markus,
each repository inherits its settings from the global ones, if you set the global VCS SVN patterns they apply to ALL SVN repositories unless Inherit from global settings
flag isn't checked.`
Updated by Markus Leitold almost 6 years ago
Hi Marcin,
sure, I know... but what has this to do with my question? Perhaps I didn't make it clear enough: I'm speaking of ONE SVN Repository (or lets say 2 or 3 with different structures), which has a high Number of Projects each with its own SVN typical trunk/branches/tags structure like this:
SVNRepository1
-> Project1
->trunk
-> <folders and files>
->branches
-> <folders and files>
->tags
-> <folders and files>
-> Project2
->trunk
-> <folders and files>
->branches
-> <folders and files>
->tags
-> <folders and files>
-> Project3
->trunk
-> <folders and files>
->branches
-> <folders and files>
->tags
-> <folders and files>
-> Project4
->trunk
-> <folders and files>
->branches
-> <folders and files>
->tags
-> <folders and files>
-> ...
-> ProjectN
->trunk
-> <folders and files>
->branches
-> <folders and files>
->tags
-> <folders and files>
So there are multiple projects in one SVN Repository, NOT just one project with one trunk/branches/tags structure at root level (as the default pattern in RhodeCode assumes).
That means, it would make no difference if I set the patterns at the specific repository or globally... finally the latter would be wrong, if there is more than one repo with different structures. So I had to set the patterns for each project in this repo or globally... the amount of work would be the same no matter where I set the patterns. And what is more ... for every future project which is added in this one repo I have to add the pattern in RhodeCode.
I hope I could clearify the situation a bit...
Updated by Marcin Kuzminski [CTO] almost 6 years ago
Markus -
Ok this is now clear, i indeed was confused by that i didn't know you're talking about a single repository.
I'd have to talk to our dev team about that one. The code that does matching only has a condition for the ending *
. see: https://code.rhodecode.com/rhodecode-enterprise-ce/files/fd4b2bf5348f1def66ac9495be06eac1e60f8fae/rhodecode/lib/vcs/backends/svn/repository.py?mark=_tags_or_branches#L135
I guess we'd need to change that logic so it does pattern matching on whole tree.
Updated by Markus Leitold almost 6 years ago
Nice to hear I could clear things up....