##// END OF EJS Templates
vcs: Minimal change to expose the shadow repository...
vcs: Minimal change to expose the shadow repository Based on my original research, this was the "minimal" starting point. It shows that three concepts are needed for the "repo_name": * From the security standpoint we think of the shadow repository having the same ACL as the target repository of the pull request. This is because the pull request itself is considered to be a part of the target repository. Out of this thought, the variable "acl_repo_name" is used whenever we want to check permissions or when we need the database configuration of the repository. An alternative name would have been "db_repo_name", but the usage for ACL checking is the most important one. * From the web interaction perspective, we need the URL which was originally used to get to the repository. This is because based on this base URL commands can be identified. Especially for Git this is important, so that the commands are correctly recognized. Since the URL is in the focus, this is called "url_repo_name". * Finally we have to deal with the repository on the file system. This is what the VCS layer deal with normally, so this name is called "vcs_repo_name". The original repository interaction is a special case where all three names are the same. When interacting with a pull request, these three names are typically all different. This change is minimal in a sense that it just makes the interaction with a shadow repository barely work, without checking any special constraints yet. This was the starting point for further work on this topic.
johbo -
r887:175782be default
Show More
Name Size Modified Last Commit Author
.tx
configs
docs
docs-internal
licenses
pkgs
rhodecode
scripts
.bumpversion.cfg Loading ...
.coveragerc Loading ...
.hgignore Loading ...
.hgtags Loading ...
.jshintrc Loading ...
.release.cfg Loading ...
CHANGES.rst Loading ...
Gruntfile.js Loading ...
LICENSE.txt Loading ...
MANIFEST.in Loading ...
Makefile Loading ...
README.rst Loading ...
bower.json Loading ...
default.nix Loading ...
grunt_config.json Loading ...
license.nix Loading ...
package.json Loading ...
pip2nix.ini Loading ...
pytest.ini Loading ...
release.nix Loading ...
requirements.txt Loading ...
setup.cfg Loading ...
setup.py Loading ...
shell.nix Loading ...
test.ini Loading ...

RhodeCode

About

RhodeCode is a fast and powerful management tool for Mercurial and GIT and Subversion with a built in push/pull server, full text search, pull requests and powerfull code-review system. It works on http/https and has a few unique features like:

  • plugable architecture
  • advanced permission system with IP restrictions
  • rich set of authentication plugins including LDAP, ActiveDirectory, Atlassian Crowd, Http-Headers, Pam, Token-Auth.
  • live code-review chat
  • full web based file editing
  • unified multi vcs support
  • snippets (gist) system
  • integration with all 3rd party issue trackers

RhodeCode also provides rich API, and multiple event hooks so it's easy integrable with existing external systems.

RhodeCode is similar in some respects to gitlab, github or bitbucket, however RhodeCode can be run as standalone hosted application on your own server. RhodeCode can be installed on *nix or Windows systems.

RhodeCode uses PEP386 versioning

Installation

Please visit https://docs.rhodecode.com/RhodeCode-Control/tasks/install-cli.html for more details

Source code

The latest sources can be obtained from official RhodeCode instance https://code.rhodecode.com

Contributions

RhodeCode is open-source; contributions are welcome!

Please see the contribution documentation inside of the docs folder, which is also available at https://docs.rhodecode.com/RhodeCode-Enterprise/contributing/contributing.html

For additional information about collaboration tools, our issue tracker, licensing, and contribution credit, visit https://rhodecode.com/open-source

RhodeCode Features

Check out all features of RhodeCode at https://rhodecode.com/features

License

RhodeCode is dual-licensed with AGPLv3 and commercial license. Please see LICENSE.txt file for details.

Getting help

Listed bellow are various support resources that should help.

Note

Please try to read the documentation before posting any issues, especially the troubleshooting section

Online documentation

Online documentation for the current version of RhodeCode is available at

You may also build the documentation for yourself - go into docs/ and run:

nix-build default.nix -o result && make clean html

(You need to have sphinx installed to build the documentation. If you don't have sphinx installed you can install it via the command: pip install sphinx)