mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-02 19:45:51 +01:00
Add multiple svn externals support
This commit is contained in:
@@ -193,21 +193,23 @@ public class SvnBrowseCommand extends AbstractSvnCommand
|
||||
|
||||
repository.getDir(entry.getRelativePath(), revision, properties, (Collection) null);
|
||||
|
||||
String externals = properties.getStringValue(SVNProperty.EXTERNALS).replaceAll("[\\r\\n]+", "");
|
||||
String[] externals = properties.getStringValue(SVNProperty.EXTERNALS).split("\\r?\\n");
|
||||
for (String external : externals) {
|
||||
String subRepoUrl = "";
|
||||
String subRepoPath = "";
|
||||
for (String external : externals.split(" ")) {
|
||||
if (shouldSetExternal(external)) {
|
||||
subRepoUrl = external;
|
||||
} else if (!external.contains("-r") && !external.isEmpty()) {
|
||||
subRepoPath = external;
|
||||
for (String externalPart : external.split(" ")) {
|
||||
if (shouldSetExternal(externalPart)) {
|
||||
subRepoUrl = externalPart;
|
||||
} else if (!externalPart.contains("-r") && !externalPart.isEmpty()) {
|
||||
subRepoPath = externalPart;
|
||||
}
|
||||
}
|
||||
|
||||
if (Util.isNotEmpty(externals)) {
|
||||
if (Util.isNotEmpty(external)) {
|
||||
SubRepository subRepository = new SubRepository(subRepoUrl);
|
||||
fileObject.addChild(createSubRepoDirectory(subRepository, subRepoPath));
|
||||
}
|
||||
}
|
||||
} catch (SVNException ex) {
|
||||
logger.error("could not fetch file properties", ex);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user