![]() Virtual users (database), public and restricted access, also provides git access and access to webspace Generally restricted to intranets, not generally recommended due to general issues with network filesystem reliability No additional setup, just push/pull from Unix server, per-user accounts and repositoriesĮasy key management, fine-grained permissions Permissions system, server side repository creation, zero-configuration startup, open sourceĮasy setup, multiple repositories support, authentication and authorization, Active Directory integrationĭoes not require hg or CGI support on the server Supports Mercurial, GIT and SVN, easy to use installer, advanced permissions system, code-review (chat & comments), pull-requests, add/edit/delete files from web interface, advanced full text search, auditing journal, unlimited nested groups, API, open-source community editionĮasy setup, integrated code review support, commercial support, permissions system, full text search, server-side forking and repository creation Requires more resources, longer setup than hg-web Supports both Mercurial and Git, permissions system, code-review, add/edit files from web interface, full text search, code statistics, users actions journal, easy templating, server-side forking and repository creation, API, open source Projects that can contain mercurial, git or svn repos, permits authentication, permissions system, code-review and commenting Multiple repos, permits authentication, no CGI Hg serve behind a proxy (Nginx) (Windows setup) Push has no authentication, so can only be used on trusted internal networks It is thus recommended to use Python 2.7.3 or higher (or 2.6.x, x>=8) and set the environment variable PYTHONHASHSEED=random when hgweb or other applications are exposed to the internet.Ĭan use existing web server (CGI, WSGI, mod_python, IIS), including authentication Python has an issue with hash collisions that potentially can allow denial of service when exposed to untrusted input. Note that starting with version 1.6 of Mercurial, the hgwebdir.cgi script no longer exists, and its functionality has been merged into the hgweb.cgi script which in most cases can be used with the same configuration. Some are more powerful than others but may require more effort to set up and administer.įor private or restricted-access repositories, aside from the solutions explicitly marked as "private/internal" in the table below, authentication measures (certificates, logins) can be applied to many of the "public" solutions in order to restrict access. There are a variety of different ways to publish your Mercurial repositories. ![]() See SecuringRepositories for guidance on how to secure a Mercurial repository published via the Internet. The table in the next section gives a comprehensive overview of the different repository publishing options. ![]() ![]() We won't cover it here, see StaticHTTP instead. This uses a much slower 'serverless' protocol called static-http. It is not really recommended except for temporary situations where you need to publish a repository for a few minutes, for example to pull changes from a laptop. ![]() This is hgweb, but running within Mercurial's built-in Web server. The recommended method for self-publishing repositories over HTTP is to use the hgweb scripts with a dedicated Web server such as Apache or IIS. The easiest way to share changes with other people using Mercurial is to publish them on the Web. Indicating the encoding of served content.Putting useful information in the index page. ![]()
0 Comments
Leave a Reply. |