<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to Mercurial</title><link href="https://sourceforge.net/p/forge/documentation/Mercurial/" rel="alternate"/><link href="https://sourceforge.net/p/forge/documentation/Mercurial/feed.atom" rel="self"/><id>https://sourceforge.net/p/forge/documentation/Mercurial/</id><updated>2026-01-14T18:57:06.812000Z</updated><subtitle>Recent changes to Mercurial</subtitle><entry><title>Mercurial modified by Dave Brondsema</title><link href="https://sourceforge.net/p/forge/documentation/Mercurial/" rel="alternate"/><published>2026-01-14T18:57:06.812000Z</published><updated>2026-01-14T18:57:06.812000Z</updated><author><name>Dave Brondsema</name><uri>https://sourceforge.net/u/brondsem/</uri></author><id>https://sourceforge.netcde6abb8788be25532a1d4248d7b0cbb41eb9d31</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v25
+++ v26
@@ -39,8 +39,6 @@
 Once Mercurial has been enabled, you may wish to [adjust permission grants](Mercurial Permissions) for your users, if you need to disable one or more user's ability to make changes in the Mercurial repository.

 The standard way to modify the contents of your repository is using a Mercurial client as detailed in [Distributed revision control with Mercurial](http://hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html#x6-310002.2). Refer to the Getting Started section for how to make your first commit to your new repository.
-
-Administrators may also manually manipulate their repository via the site interactive shell service.

 ##Options

&lt;/pre&gt;
&lt;/div&gt;</summary></entry><entry><title>Mercurial modified by Dave Brondsema</title><link href="https://sourceforge.net/p/forge/documentation/Mercurial/" rel="alternate"/><published>2025-01-21T19:42:42.505000Z</published><updated>2025-01-21T19:42:42.505000Z</updated><author><name>Dave Brondsema</name><uri>https://sourceforge.net/u/brondsem/</uri></author><id>https://sourceforge.net6be7bec71b260e17457a96afac00fae5b639f42c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v24
+++ v25
@@ -117,27 +117,12 @@

 However, due to various restrictions on the ssh login specific to SourceForge.net, the above command will not work. Thus, the create, clone, pull, push workflow is required to achieve the same thing.

-#Accessing the repository via the shell
+# Server-side configuration
+Please [open a support ticket](https://sourceforge.net/p/forge/site-support/new/?private=true) for assistance with server-side configuration like:

-Direct access to the bare repository is also available via [SSH], when logged into the shell, it will be available at:  
-
-`/home/hg/p/PROJECTNAME/REPOSITORY/`
-
-Note that the directory is mounted during the shell creation, if you create a new repository while an existing shell session is still active, use the `shutdown` command on the shell and start a new session.
-
-##Hooks
-
-Direct access to the repository can be used to install [custom hg hooks](http://mercurial.selenic.com/wiki/Hook) server-side.
-
-Note however, that a *`changegroup`* hook is used for site-integration, if this hook is changed, the code browser view may not longer automatically update.
-
-If you need to re-create the default *`changegroup`* hook, the entry in the server-side .hg/hgrc file is as follows: 
-
-~~~~
-[hooks]
-; = [the next line is required for site integration, do not remove/modify] =
-changegroup.sourceforge = curl -s http://sourceforge.net/auth/refresh_repo/p/PROJECTNAME/REPOSITORY/
-~~~~
+- hgrc settings
+- email notification hooks
+- custom hg hooks

 #Backups
 SourceForge.net performs routine backups for all of our servers and will restore from these backups in the event of catastrophic server failure. We encourage projects to make their own backups of Mercurial data as that data restore can be performed by the project in the event of accidental data destruction by a member of the project team.
&lt;/pre&gt;
&lt;/div&gt;</summary></entry><entry><title>Mercurial modified by Dave Brondsema</title><link href="https://sourceforge.net/p/forge/documentation/Mercurial/" rel="alternate"/><published>2020-04-17T14:25:44.481000Z</published><updated>2020-04-17T14:25:44.481000Z</updated><author><name>Dave Brondsema</name><uri>https://sourceforge.net/u/brondsem/</uri></author><id>https://sourceforge.net22472deabae70bb11a03f3d7ce15a93a1ffd620f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v23
+++ v24
@@ -13,7 +13,7 @@
 #Features
 SourceForge.net provides the following features in its Mercurial offering:

-* All features of Mercurial 2.6.2 are supported.
+* All features of Mercurial 5.x are supported.
 * Developer (read/write) access is provided via ssh.
 * anonymous (read-only) access are provided via hgweb over HTTP ("http://").
 * Several Mercurial clients are supported, including:
&lt;/pre&gt;
&lt;/div&gt;</summary></entry><entry><title>Mercurial modified by Dave Brondsema</title><link href="https://sourceforge.net/p/forge/documentation/Mercurial/" rel="alternate"/><published>2019-09-12T18:56:05.152000Z</published><updated>2019-09-12T18:56:05.152000Z</updated><author><name>Dave Brondsema</name><uri>https://sourceforge.net/u/brondsem/</uri></author><id>https://sourceforge.net5ac9401b90fe0f09c9165ab3e30b547470acae94</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v22
+++ v23
@@ -13,13 +13,12 @@
 #Features
 SourceForge.net provides the following features in its Mercurial offering:

-* All 1.4.1 features of Mercurial are supported.
+* All features of Mercurial 2.6.2 are supported.
 * Developer (read/write) access is provided via ssh.
 * anonymous (read-only) access are provided via hgweb over HTTP ("http://").
 * Several Mercurial clients are supported, including:
     * The official Mercurial client (MS Windows, Mac OS X, Linux, BSD).
     * The Windows shell extention client, TortoiseHG (MS Windows).
-
 * Existing repositories may be imported via a normal Mercurial push (since Mercurial is a distributed SCM).
 * Repository access may be granted or revoked from a developer using the Project Admin interface.
 * Repository backups and mirroring may be performed using rsync or Mercurial clone.
&lt;/pre&gt;
&lt;/div&gt;</summary></entry><entry><title>Mercurial modified by Dave Brondsema</title><link href="https://sourceforge.net/p/forge/documentation/Mercurial/" rel="alternate"/><published>2019-08-20T17:30:27.786000Z</published><updated>2019-08-20T17:30:27.786000Z</updated><author><name>Dave Brondsema</name><uri>https://sourceforge.net/u/brondsem/</uri></author><id>https://sourceforge.net5c7c210bcd21b824a83f70741a462418241cec15</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v21
+++ v22
@@ -100,17 +100,18 @@
 To replicate your existing repository, first clone the new repository as described above. This will create a local clone of the new repository in your own filesystem. Then, enter this clone and pull changes from your existing repository:

     :::bash
-    $ cd PROJECTNAME-REPOSITORY # the new, empty repository
-    $ hg pull path-to-existing-repository
+    $ cd PROJECTNAME-REPOSITORY # the new, empty repository from SourceForge
+    $ hg pull ../path/to/existing/repository
+    $ hg update

 Since the new repository is empty, Mercurial will happily perform the operation. (Had the new repository not been empty, Mercurial will have complained about you pulling changes into an unrelated repository.)

-You may now push the contents of the new repository back to SourceForge.net:
+Now push the contents of the new repository back to SourceForge.net:

     :::bash
     $ hg push

-What you have effectively done at this point is to clone your existing repository to the SourceForge.net server. In other environments, this would have been done using the following command:
+You're all set!  What you have effectively done at this point is to clone your existing repository to the SourceForge.net server. In other environments, this would have been done using the following command:

     :::bash
     $ hg clone path-to-existing-repository ssh://USERNAME@hg.code.SF.net/p/PROJECTNAME/REPOSITORY
&lt;/pre&gt;
&lt;/div&gt;</summary></entry><entry><title>Mercurial modified by Dave Brondsema</title><link href="https://sourceforge.net/p/forge/documentation/Mercurial/" rel="alternate"/><published>2018-01-22T18:08:24.274000Z</published><updated>2018-01-22T18:08:24.274000Z</updated><author><name>Dave Brondsema</name><uri>https://sourceforge.net/u/brondsem/</uri></author><id>https://sourceforge.neta248e5dd73891230ddcb6b78725f4ca467520d5a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v20
+++ v21
@@ -87,7 +87,7 @@
     RSA key fingerprint is 86:7b:1b:12:85:35:8a:b7:98:b6:d2:97:5e:96:58:1d.
     Are you sure you want to continue connecting (yes/no)?

-Before typing 'yes' to accept the host fingerprint, ensure the fingerprint is correct for the host. You can find a listing of SSH host keys in the SSH Host Key Fingerprints list. If you receive a host key warning, please contact the SourceForge.net team.
+Before typing 'yes' to accept the host fingerprint, ensure the fingerprint is correct for the host. You can find a listing of SSH host keys in the [SSH Key Fingerprints list](SSH Key Fingerprints). If you receive a host key warning, please contact the SourceForge.net team.

 The clone command will create a PROJECTNAME-REPOSITORY directory with the hgrepository inside the .hg subdirectory. If you're starting fresh, use whatever combination of "hg add" and "hg commit" commands you want to create one or more commits in your local repository. When you are ready, run "hg push" to push your commits to our server.

&lt;/pre&gt;
&lt;/div&gt;</summary></entry><entry><title>Mercurial modified by Brad BizX</title><link href="https://sourceforge.net/p/forge/documentation/Mercurial/" rel="alternate"/><published>2017-11-29T19:12:34.786000Z</published><updated>2017-11-29T19:12:34.786000Z</updated><author><name>Brad BizX</name><uri>https://sourceforge.net/u/bradbizx/</uri></author><id>https://sourceforge.neta3f42207dfb4ad4d6572c78e38abc51eb0d1d17a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</summary></entry><entry><title>Mercurial modified by Brad BizX</title><link href="https://sourceforge.net/p/forge/documentation/Mercurial/" rel="alternate"/><published>2017-11-29T19:11:23.300000Z</published><updated>2017-11-29T19:11:23.300000Z</updated><author><name>Brad BizX</name><uri>https://sourceforge.net/u/bradbizx/</uri></author><id>https://sourceforge.net465d7355adea91437d2b1add0a28a5a4e30a9197</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v18
+++ v19
@@ -79,7 +79,7 @@

 Your project's Mercurial repository will be completely empty at the start, but since Mercurial allows you to clone a repository with no content, you can do a clone to get started:

-    $ hg clone ssh://USERNAME@hg.code.net/p/PROJECTNAME/REPOSITORY PROJECTNAME-REPOSITORY
+    $ hg clone ssh://USERNAME@hg.code.SF.net/p/PROJECTNAME/REPOSITORY PROJECTNAME-REPOSITORY

 The first time you try connecting to the hg.code.sf.net host, you should see a message similar to the following:

@@ -113,7 +113,7 @@
 What you have effectively done at this point is to clone your existing repository to the SourceForge.net server. In other environments, this would have been done using the following command:

     :::bash
-    $ hg clone path-to-existing-repository ssh://USERNAME@hg.code.net/p/PROJECTNAME/REPOSITORY
+    $ hg clone path-to-existing-repository ssh://USERNAME@hg.code.SF.net/p/PROJECTNAME/REPOSITORY

 However, due to various restrictions on the ssh login specific to SourceForge.net, the above command will not work. Thus, the create, clone, pull, push workflow is required to achieve the same thing.

@@ -147,4 +147,4 @@
 Example (replace PROJECTNAME with the UNIX group name of your project):

     :::bash
-    $ rsync -av hg.code.sf.net::p/PROJECTNAME/REPOSITORY .
+    $ rsync -av hg.code.SF.net::p/PROJECTNAME/REPOSITORY .
&lt;/pre&gt;
&lt;/div&gt;</summary></entry><entry><title>Mercurial modified by Dave Brondsema</title><link href="https://sourceforge.net/p/forge/documentation/Mercurial/" rel="alternate"/><published>2016-01-14T21:16:29.583000Z</published><updated>2016-01-14T21:16:29.583000Z</updated><author><name>Dave Brondsema</name><uri>https://sourceforge.net/u/brondsem/</uri></author><id>https://sourceforge.netd5b51f13bde4eb57b4281339590db7afa0cea66c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v17
+++ v18
@@ -35,7 +35,7 @@
      * Select a name for the label (this will determine the title of the link in the project navigation)
      * Select a Url Path (this will affect the URL for your repository)

-The above instructions may be repeated using a different label and mountpoint to create multiple repositories.
+The above instructions may be repeated using a different label and path to create multiple repositories.

 Once Mercurial has been enabled, you may wish to [adjust permission grants](Mercurial Permissions) for your users, if you need to disable one or more user's ability to make changes in the Mercurial repository.

@@ -51,13 +51,13 @@

 We provide read/write access to Mercurial via ssh or https. ssh will provide better performance than https, and should be used whenever possible.

-To access a Mercurial repository, configure your Mercurial client as follows (replace PROJECTNAME with the UNIX group name of the project, and the default MOUNTPOINT is 'code'):
+To access a Mercurial repository, configure your Mercurial client as follows (replace PROJECTNAME with the UNIX group name of the project, and the default REPOSITORY is 'code'):

-    ssh://USERNAME@hg.code.sf.net/p/PROJECTNAME/MOUNTPOINT (read/write)
+    ssh://USERNAME@hg.code.sf.net/p/PROJECTNAME/REPOSITORY (read/write)

 If ssh does not work for you, you may use https instead, however, access will be slower:

-    https://USERNAME@hg.code.sf.net/p/PROJECTNAME/MOUNTPOINT (read/write)
+    https://USERNAME@hg.code.sf.net/p/PROJECTNAME/REPOSITORY (read/write)

 #Anonymous access (Read-only)

@@ -65,7 +65,7 @@

 For example:

-    http://hg.code.sf.net/p/PROJECTNAME/MOUNTPOINT/
+    http://hg.code.sf.net/p/PROJECTNAME/REPOSITORY/

 #Authentication

@@ -79,7 +79,7 @@

 Your project's Mercurial repository will be completely empty at the start, but since Mercurial allows you to clone a repository with no content, you can do a clone to get started:

-    $ hg clone ssh://USERNAME@hg.code.net/p/PROJECTNAME/MOUNTPOINT PROJECTNAME-MOUNTPOINT
+    $ hg clone ssh://USERNAME@hg.code.net/p/PROJECTNAME/REPOSITORY PROJECTNAME-REPOSITORY

 The first time you try connecting to the hg.code.sf.net host, you should see a message similar to the following:

@@ -89,7 +89,7 @@

 Before typing 'yes' to accept the host fingerprint, ensure the fingerprint is correct for the host. You can find a listing of SSH host keys in the SSH Host Key Fingerprints list. If you receive a host key warning, please contact the SourceForge.net team.

-The clone command will create a PROJECTNAME-MOUNTPOINT directory with the hgrepository inside the .hg subdirectory. If you're starting fresh, use whatever combination of "hg add" and "hg commit" commands you want to create one or more commits in your local repository. When you are ready, run "hg push" to push your commits to our server.
+The clone command will create a PROJECTNAME-REPOSITORY directory with the hgrepository inside the .hg subdirectory. If you're starting fresh, use whatever combination of "hg add" and "hg commit" commands you want to create one or more commits in your local repository. When you are ready, run "hg push" to push your commits to our server.

 Users should commit to their project repository using their SourceForge.net username or email address (USERNAME@users.sourceforge.net). Several methods are supported for configuring this, please refer to the Mercurial Documentation for the supported methods.

@@ -100,7 +100,7 @@
 To replicate your existing repository, first clone the new repository as described above. This will create a local clone of the new repository in your own filesystem. Then, enter this clone and pull changes from your existing repository:

     :::bash
-    $ cd PROJECTNAME-MOUNTPOINT # the new, empty repository
+    $ cd PROJECTNAME-REPOSITORY # the new, empty repository
     $ hg pull path-to-existing-repository

 Since the new repository is empty, Mercurial will happily perform the operation. (Had the new repository not been empty, Mercurial will have complained about you pulling changes into an unrelated repository.)
@@ -113,7 +113,7 @@
 What you have effectively done at this point is to clone your existing repository to the SourceForge.net server. In other environments, this would have been done using the following command:

     :::bash
-    $ hg clone path-to-existing-repository ssh://USERNAME@hg.code.net/p/PROJECTNAME/MOUNTPOINT
+    $ hg clone path-to-existing-repository ssh://USERNAME@hg.code.net/p/PROJECTNAME/REPOSITORY

 However, due to various restrictions on the ssh login specific to SourceForge.net, the above command will not work. Thus, the create, clone, pull, push workflow is required to achieve the same thing.

@@ -121,7 +121,7 @@

 Direct access to the bare repository is also available via [SSH], when logged into the shell, it will be available at:  

-`/home/hg/p/PROJECTNAME/MOUNTPOINT/`
+`/home/hg/p/PROJECTNAME/REPOSITORY/`

 Note that the directory is mounted during the shell creation, if you create a new repository while an existing shell session is still active, use the `shutdown` command on the shell and start a new session.

@@ -136,7 +136,7 @@
 ~~~~
 [hooks]
 ; = [the next line is required for site integration, do not remove/modify] =
-changegroup.sourceforge = curl -s http://sourceforge.net/auth/refresh_repo/p/PROJECTNAME/MOUNTPOINT/
+changegroup.sourceforge = curl -s http://sourceforge.net/auth/refresh_repo/p/PROJECTNAME/REPOSITORY/
 ~~~~

 #Backups
@@ -147,4 +147,4 @@
 Example (replace PROJECTNAME with the UNIX group name of your project):

     :::bash
-    $ rsync -av hg.code.sf.net::p/PROJECTNAME/MOUNTPOINT .
+    $ rsync -av hg.code.sf.net::p/PROJECTNAME/REPOSITORY .
&lt;/pre&gt;
&lt;/div&gt;</summary></entry><entry><title>Mercurial modified by Dave Brondsema</title><link href="https://sourceforge.net/p/forge/documentation/Mercurial/" rel="alternate"/><published>2016-01-14T21:08:40.400000Z</published><updated>2016-01-14T21:08:40.400000Z</updated><author><name>Dave Brondsema</name><uri>https://sourceforge.net/u/brondsem/</uri></author><id>https://sourceforge.net048ac7c534b487648e549aafebb38ca5e5a3fb08</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v16
+++ v17
@@ -28,14 +28,12 @@

 #Management

-Login as a project administrator and click on the Admin icon in the navigation bar.
-
 To create a new repository:

- * Click on Tools.
+ * Click on the "Add New..." link in the project menu bar
  * Click on Mercurial.
      * Select a name for the label (this will determine the title of the link in the project navigation)
-     * Select a mountpoint (this will affect the URL for your repository)
+     * Select a Url Path (this will affect the URL for your repository)

 The above instructions may be repeated using a different label and mountpoint to create multiple repositories.

&lt;/pre&gt;
&lt;/div&gt;</summary></entry></feed>