diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBrowseCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBrowseCommand.java index eae43a00df..f6e0c9a778 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBrowseCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBrowseCommand.java @@ -385,7 +385,10 @@ public class GitBrowseCommand extends AbstractGitCommand String path = request.getPath(); - appendSubModules(files, repo, revId, path); + if (!request.isDisableSubRepositoryDetection()) + { + appendSubModules(files, repo, revId, path); + } if (Util.isEmpty(path)) { diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgBrowseCommand.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgBrowseCommand.java index ed5cbc69dd..0303275adf 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgBrowseCommand.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgBrowseCommand.java @@ -104,6 +104,11 @@ public class HgBrowseCommand extends AbstractCommand implements BrowseCommand cmd.recursive(); } + if (request.isDisableSubRepositoryDetection()) + { + cmd.disableSubRepositoryDetection(); + } + BrowserResult result = new BrowserResult(); result.setFiles(cmd.execute()); diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/javahg/HgFileviewCommand.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/javahg/HgFileviewCommand.java index b164e7e4a6..59509e1e65 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/javahg/HgFileviewCommand.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/javahg/HgFileviewCommand.java @@ -99,6 +99,19 @@ public class HgFileviewCommand extends AbstractCommand return this; } + /** + * Method description + * + * + * @return + */ + public HgFileviewCommand disableSubRepositoryDetection() + { + cmdAppend("-s"); + + return this; + } + /** * Method description * diff --git a/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/hg/ext/fileview.py b/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/hg/ext/fileview.py index 7ffd568e0c..907ae5f411 100644 --- a/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/hg/ext/fileview.py +++ b/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/hg/ext/fileview.py @@ -145,10 +145,11 @@ def fileview(ui, repo, **opts): path = path[0:-1] transport = opts['transport'] collectFiles(revCtx, path, files, directories, opts['recursive']) - subRepositories = createSubRepositoryMap(revCtx) - for k, v in subRepositories.iteritems(): - if k.startswith(path): - printSubRepository(ui, k, v, transport) + if not opts['disableSubRepositoryDetection']: + subRepositories = createSubRepositoryMap(revCtx) + for k, v in subRepositories.iteritems(): + if k.startswith(path): + printSubRepository(ui, k, v, transport) for d in directories: printDirectory(ui, d, transport) for f in files: @@ -161,6 +162,7 @@ cmdtable = { ('p', 'path', '', 'path to print'), ('c', 'recursive', False, 'browse repository recursive'), ('d', 'disableLastCommit', False, 'disables last commit description and date'), + ('s', 'disableSubRepositoryDetection', False, 'disables detection of sub repositories'), ('t', 'transport', False, 'format the output for command server'), ]) } \ No newline at end of file diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBrowseCommand.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBrowseCommand.java index 8aa7b3f9c0..bda84d4682 100644 --- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBrowseCommand.java +++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBrowseCommand.java @@ -256,7 +256,8 @@ public class SvnBrowseCommand extends AbstractSvnCommand fileObject.setLength(entry.getSize()); - if (fileObject.isDirectory() && entry.hasProperties()) + if (!request.isDisableSubRepositoryDetection() && fileObject.isDirectory() + && entry.hasProperties()) { fetchExternalsProperty(repository, revision, entry, fileObject); }