Let's start OSS development with Mercurial (Hg)


Let’s start OSS development with Mercurial (Hg)

At OSDN, we provide various functions to support development which uses Mercurial.

Create personal Mercurial repository Create Project

What is Mercurial?

Mercurial is a cross-platform, source code management system written in Python. It is often called “hg”, the front-end command line referring to Mercurial. It contains version control function which records and manages revisions made to the source code, and all other functions that are vital to distributed version control such as merge and clone. With Mercurial, Windows support is one of the great features, having developed “TortoiseHg” as the official GUI client for Windows.

Mercurial Client, TortoiseHg, for Windows

Features of Mercurial

Mercurial is a distributed source code management system, and each developer will make his/her own local repository to use it. Therefore, it allows version control even in environment where you can’t use network. Also, even if you’re working on a huge development project, it is speedy and less stressful, and its portability which allows you to work in various environments is also one of the great features.

The core parts of Mercurial are written in Python, and only partially where quick processing is required is written in C. That allows Mercurial to be used in almost all main platforms. Also, it has high compatibility with Windows environment, provides clients that can manipulate repository via GUI, and shell extensions that coordinate with Windows Explorer.

With distributed source code management system, changes that a developer have saved in local repository can be sent to other repository (remote repository) through mechanisms called push and pull. By pushing, you can send incremental information between remote repository and local repository to the remote repository. By pulling, you can bring incremental information to the local repository, and it is often used to apply changes on source code made by other developers to the local source code.

To take out a file from any remote repository, and create local repository in order to add changes to the file or directory in your own location is called clone. Most standard development style is that a developer will clone to obtain a file to commit changes, then push or pull to send or receive the changes.

Create Mercurial Repo

Mercurial Support Provided by OSDN

OSDN provides following Mercurial support services.

  • Mercurial repository for PersonalForge ,support function for personal development
  • Mercurial repository for development project
  • Hg command support on free-of-charge shell server/Web server

You can use all these functions free-of-charge once you create an OSDN account. There are no limits to the number and size of repositories you can create.

PersonaForge Mercurial Viewer

Mercurial Repository for PersonalForge, support function for personal development

With PersonalForge, support function for personal development, you can use Chamber which provides functions such as Mercurial personal repository, file uploader, and Wiki. You can create as many Chambers as you wish and upload and release any files.

PersonalForge provides repository browser developed OSDN, so you can browse file lists, commit history, branch/tag lists of any branches on Web browser.

Project Mercurial Repo

Mercurial Repository for Development Project

Project function designed for open source development provides source code management system. Source code management systems such as Git, Subversion, Mercurial, Bazaar, CVS are available. With Git, Subversion, and Mercurial, there’s a repository browser developed by OSDN.

There are also functions designed for other projects, such as Wiki, file release (uploader), ticket, news, forum (bulletin board), mailing list.

Hg Command Support on Free-of-Charge Shell Server/Web Server

OSDN provides shell server which you can use for testing softwares developed by the project, or constructing web. You can log into the shell server using SSH, or you could use MySQL database. Shell server is installed with Git, svn, and hg commands, so you can use these to copy files to the shell server.

Create personal Mercurial repository Cretae Project