[WIP] Make repository select the deepest repository in the directory tree

Review Request #9620 - Created Feb. 11, 2018 and updated

Maram El-Salamouny
RBTools
deepestrepo
1b9c14f...
rbtools, students

Without the presence of a .reviewboardrc file which defines REPOSITORY_TYPE, RBTools will try to auto-detect the repository type by running various commands like "svn info", "hg root", etc. This will run through each repository type until one is found that works.

Unfortunately, if people have nested repositories, this means RBTools can select the wrong one. For example, some people may have /home/user/ as a git directory, and /home/user/src/project/ is a subversion checkout, running "rbt" within their "project" directory may detect it as git instead of svn. We'd like to auto-detect all repository types, and then select the deepest one.

In the case of multiple matching repositories, we may want to output a warning suggesting that people define REPOSITORY_TYPE in .reviewboardrc in order to speed up detection.

  • Tested combinations of nested svn and git repos, both were unaffected by this issue.
  • Tested mercurial repo nested in a git repo.
  • 53
  • 0
  • 0
  • 0
  • 53
Description From Last Updated
E265 block comment should start with '# ' Review Bot Review Bot
E501 line too long (98 > 79 characters) Review Bot Review Bot
E501 line too long (83 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (95 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E265 block comment should start with '# ' Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (80 > 79 characters) Review Bot Review Bot
E265 block comment should start with '# ' Review Bot Review Bot
E501 line too long (110 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (80 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (80 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (80 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (82 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (95 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E265 block comment should start with '# ' Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (80 > 79 characters) Review Bot Review Bot
E265 block comment should start with '# ' Review Bot Review Bot
E501 line too long (110 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (80 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (80 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (80 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
E501 line too long (82 > 79 characters) Review Bot Review Bot
E266 too many leading '#' for block comment Review Bot Review Bot
Checks run (1 failed, 1 succeeded)
flake8 failed.
JSHint passed.

flake8

Maram El-Salamouny
Review request changed

Change Summary:

Check if git changes the CWD, roll back until other clients find their repos, and then find deepest repo. Cannot stop gitClient from changing CWD as that ensures diffs on server are not messed up. Check if git changes the CWD, roll back until other clients find their repos, and then find deepest. Cannot stop gitClient from changing CWD as that ensures diffs on server are not messed up.

Diff:

Revision 2 (+186 -72)

Show changes

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

Maram El-Salamouny
Review request changed

Branch:

-master
+deepestrepo
Loading...