Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a good (gitorious-like) server for mercurial?

Tags:

mercurial

At the company where I work we are using hg as (d)vcs.
Most of the repositories in use are kept in a cenralized space and served via hgweb.

For ease of use and better user experiance (and overview) I like to have something like gitorious (github, bitbucket).
It should allow

  • hg as backend (or else I'd install gitorious...)
  • local installation (not per developer, but locally on our site / not hosted)
  • easy (web-based) repository-creation
  • personal forking (cloning, but keeping the new repo physically on the same server)
  • merge requests
like image 695
Nils Avatar asked Nov 03 '10 07:11

Nils


People also ask

Is Mercurial better than Git?

Git Is Better for Experienced Users Security in Git vs. Mercurial depends on your level of technical expertise. Mercurial may be safer for less experienced users, but Git can offer ways to enhance safety (once you know what you are doing).

Is there a GitHub for Mercurial?

hg-github is a Mercurial extension that wraps hg-git, and supports a work-flow where repositories are hosted on Bitbucket and mirrored on GitHub.

Where can I host a Mercurial repo?

Savannah: Free software hosting for people committed to free software, supports Mercurial and the repositories are accessible via hgweb. Uses the savane software. TuxFamily.org. foss.heptapod.net: Free hosting for Free and Open Source Software.

Does Facebook use Git or Mercurial?

In 2013, Facebook adopted Mercurial and began work on scaling it to handle their large, unified code repository. Google also uses Mercurial client as a front-end on their cloud-based 'Piper' monorepo back-end.


2 Answers

A good tool is RhodeCode that serves Mercurial. It looks really good, has user management, grouping, LDAP integration hook control and some graphing options.

The current release (1.3.x) supports git repositories.

like image 155
Ton Plomp Avatar answered Oct 01 '22 12:10

Ton Plomp


You should make this decision looking at the PublishingRepositories wiki page.

My preferred solution is to use the hg-ssh script that already comes with your mercurial install. It makes it very easy to give multiple people ssh access without creating a separate system account for each, and without giving them shell access. It's very easily configured in the .ssh/authorized_keys file of the single shared user.

Repository creation isn't web-based, but it's very easy and personal forking is completely supported:

hg clone ssh://shared@server/main/repo ssh://shared@server/my-personal/repo

I then set up the hgweb script that comes with mercurial to provide a read-only view, and rely on ssh:// for all writes (though hgweb also does writes / push just fine).

If you really think web based repo creation is easier than one-line ssh-based creation I've previously written a stupidly simple script to do so:

http://ry4an.org/unblog/UnBlog/2009-09-17

Someone is going to suggest "mercurial server", and I'd recommend against it. It's not current and never added much value over ssh.

like image 29
Ry4an Brase Avatar answered Oct 01 '22 14:10

Ry4an Brase