MacHg icon

Repository Menu

The Repository menu is, in general, concerned with operations on a repository as a whole. (Operations on the files and folders in a repository are accessed via the Action menu.)

MacHg provides a front end for many of the standard commands present in Mercurial's standard command set. Below is a list of the menu items in the Repository menu, together with their corresponding Mercurial versions. Also, with each Repository menu item there is a description of its availability and its corresponding operation.

 

Fundamental commands acting on repositories:

Menu Item
Operation

Clone...

Mercurial command: clone

Available: in all views when a local or server repository is selected in the sidebar. (Also available from the toolbar.)

Operation: Performing this operation opens a clone sheet where you must specify a source repository to clone and a destination for the clone (duplicate) on your local file system. After filling out the fields on this sheet, the clone operation will make an exact duplicate of the selected repository and all its history at the location specified. In the advanced options section of the sheet you can specify further options which the Mercurial clone command can take.

Help: Cloning a Repository

External Help: clone wiki, MDG: Making a local copy of a repository

Pull from...

Mercurial command: pull

Available: in all views when a local or server repository is selected in the sidebar. (Also available from the toolbar.)

Operation: Performing this operation opens a pull sheet. On the pull sheet the destination of the pull is the currently selected repository and you must select the source repository. The source repository is another compatible repository (or you can specify that you want to pull from incompatible repositories). Completing the pull operation will copy all the changesets that are in the source which are not in your local destination to your local destination repository. In the advanced options section of the sheet you can specify further options which the Mercurial pull command can take.

Help: Pulling Changes

External Help: pull wiki, MDG: Pulling changes from another repository

Push to...

Mercurial command: push

Available: in all views when a local repository is selected in the sidebar. (Also available from the toolbar.)

Operation: Performing this operation opens a push sheet. On the push sheet the source of the push is the currently selected repository and you must select the destination repository. The destination is another compatible repository (or you can specify that you want to push to incompatible repositories). Completing the push operation will send all the changesets you have in your source which are not in the destination to the destination. In the advanced options section of the sheet you can specify further options which the Mercurial push command can take.

Help: Pushing Changes

External Help: push wiki, MDG: Pushing changes to another repository

Incoming...

Mercurial command: incoming

Available: in all views when a local or server repository is selected in the sidebar. (Also available from the toolbar.)

Operation: Performing this operation opens an incoming sheet. On the incoming sheet the destination for the comparison is the currently selected repository and you must select the source repository. The source repository is another compatible repository (or you can specify that you want to view changes from incompatible repositories). Completing the incoming operation will print a summary of all the changesets in the source repository which are not in your local destination repository. In the advanced options section of the sheet you can specify further options which the Mercurial incoming command can take.

External Help: MDG: Pulling changes from another repository

Outgoing...

Mercurial command: outgoing

Available: in all views when a local repository is selected in the sidebar. (Also available from the toolbar.)

Operation: Performing this operation opens an outgoing sheet. On the outgoing sheet the source for the comparison is the currently selected repository and you must select the destination repository. The destination is another compatible repository (or you can specify that you want to push to incompatible repositories). Completing the outgoing operation will print a summary of all the changesets in the source repository which are not present in the destination repository. In the advanced options section of the sheet you can specify further options which the Mercurial outgoing command can take.

External Help: MDG: Pushing changes to another repository

Commands for updating and merging a local repository:

Menu Item
Operation

Update Repository

Mercurial command: update

Available: in the Browser and History views when a local repository is selected in the sidebar.

Operation: Updates the working revision of the repository to the head of the current branch. The Repository menu item "Update Repository" acts differently from the Action menu item "Revert All Files". The latter only changes the contents of all the repository files whereas the former will change the contents of the repository files and change the working revision of the repository to the head of the current branch.

External Help: update wiki, MDG: Updating the working directory

Update Repository to Version...

Mercurial command: update --rev

Available: in all views when a local repository is selected in the sidebar.

Operation: Performing this operation opens an update sheet. After choosing a version to update to, you can then update the working revision of the repository to the specified revision. The Repository menu item "Update Repository to version..." acts differently from the Action menu item "Revert All Files to Version...". The latter only changes the contents of all the repository files whereas the former will change the contents of the repository files and change the working revision of the repository to the specified revision.

External Help: update wiki, MDG: Updating the working directory

Merge

Mercurial command: merge

Available: in the Browser and History views when a local repository with more than one branch is selected in the sidebar.

Operation: Performing this operation opens a merge sheet. After choosing a version to merge with, you can then merge the working revision of the repository with the specified revision.

Help: Merging Branches

External Help: merge wiki, MDG: Merging work

Commands Editing local Repository History:

Menu Item
Operation

Collapse Changesets...

Mercurial command: collapse extension

Available: in the History view when a local repository is selected in the sidebar.

Operation: Performing this operation opens a collapse sheet. On this sheet you must choose a consecutive range of revisions to collapse into a single revision. After completing this sheet, a further sheet will present a combined message for the range of commits which are getting collapsed into a single commit. After editing this new commit message as appropriate, the revisions will be collapsed.

External Help: Editing Repository History

Edit Changesets...

Mercurial command: histedit extension

Available: in the History view when a local repository is selected in the sidebar.

Operation: Performing this operation opens a history editing sheet. On this sheet you must choose a starting revision. This chosen revision, together with all child revisions of this chosen revision, will be edited. After choosing the starting revision, a further sheet is presented where you can elect to move a revision, edit a revision, fold a revision into the previous revision, or drop a revision. See the histedit extension for further details.

External Help: Editing Repository History

Strip Changesets...

Mercurial command: strip extension

Available: in the History view when a local repository is selected in the sidebar.

Operation: Performing this operation opens a strip sheet. On this sheet you must choose a starting revision. On completing the strip operation, the chosen revision together with all child revisions of the chosen revision will be striped, and the repository will be updated to the first parent of the removed revision.

External Help: Editing Repository History

Rebase Changesets...

Mercurial command: rebase extension

Available: in the History view when a local repository is selected in the sidebar.

Operation: Performing this operation opens a rebase sheet. On this sheet you must choose a source revision and a destination revision on a different branch. On completing the rebase operation, the source revision together with all child revisions of the source revision will be moved from their current branch onto the branch of the destination and become children of the destination revision.

External Help: Editing Repository History

Backout Changeset...

Mercurial command: backout

Available: in the History view when a local repository is selected in the sidebar.

Operation: Performing this operation opens a backout sheet. After choosing a revision to backout, the backout proceeds by applying the reverse of the changeset being backed out to the current parent revision. This has the effect of undoing the early changeset in the history.

External Help: Backout wiki

Commands involving all files in a repository:

Menu Item
Operation

Manifest

Mercurial command: manifest

Available: in the Browser and History views when a revision is selected.

Operation: Prints a list of version controlled files of the currently selected revision in the log list.

External Help: commit wiki, MDG: Writing a commit message

Add Revision Label...

Mercurial command: tag, branch

Available:in the Browser and History views when a revision is selected.

Operation: Performing this operation opens a sheet where you can add a label, be it a local tag, global tag, bookmark, or branch. You need to choose the name of the label and the revision to be labeled.

External Help: branch wiki, SJL: Branching in Mercurial

Commands for adding, removing and configuring repositories:

Menu Item
Operation

Add Local Repository...

Mercurial concept: init / -

Available: Always.

Operation: Adds to the current document (a reference to) an existing local repository, or creates a new local repository and adds (a reference to) this to the current document. Once you have added (the reference to) the repository to your MacHg document, you can manage this repository using the functionality of MacHg.

Help: Adding an existing local repository, Creating a new local repository

Add Server Repository

Mercurial concept: -

Available: Always.

Operation: Adds to the current document a reference to an external repository (i.e., a repository on a server external to your machine). Once you have such a reference to an external repository in your MacHg document, you can interact with that external repository using the functionality of MacHg. For instance, you can clone the external repository to a local repository, you can push or pull changes from your local clone of the repository to the external repository, etc.

Help: Adding a server repository

Add New Repository Group

Mercurial command: -

Available: Always.

Operation: Adds a grouping folder to the left sidebar. You can drag and drop repository references into the grouping folders, and change the titles of these groups. The left sidebar acts like a standard Document sidebar in OS X.

Help: Adding a Repository Group

Remove Repository Item

Mercurial command: -

Available: when a repository or a repository group is selected.

Operation: Removes the reference to the selected repository or repository group. If you select a local repository in the sidebar, then in addition to removing the reference to this repository, performing this operation allows you to choose to delete the underlying repository on your local machine as well.

Help: Removing a Repository Item

Configure Selected Repository...

Mercurial command: -

Available: when a repository is selected.

Operation: Opens up a sheet where you can change the path to the repository if the repository is local, or change its URL if the repository is a server reference. Also here you can change the shortname of the repository.

Commands for externally interacting with repositories:

Menu Item
Operation

Reveal in Finder

Mercurial command: -

Available: in all views.

Operation: Switches to the finder and reveal the selected files or repository.

Open Terminal Here

Mercurial command: -

Available: in multiple views.

Operation: Switches to the terminal application and changes the working directory in the terminal to the directory of the selected files or the selected repository.