Mercurial Server Windows
You can try HgLab - a source control management system for and Mercurial Server for Windows with push, pull and streaming capabilities, repository browser, Active. For ssh support, you will either need putty/pageant installed to send the proper keys to the server if the keys are password protected, or you will need to specify the change in the ui section mercurial.ini found in C: Users username mercurial.ini to use a specific key. Mercurial is a free, distributed source control management tool. It efficiently handles projects of any size and offers an easy and intuitive interface. Download now Mercurial 5.6 TortoiseHg 5.6 MSI installer - x64 Windows.
- By default, Mercurial (the executable) gets installed in a Scripts folder under your Python installation folder. You can create a small batch file in a folder which is present in your path (e.g. Your Windows installation folder) to help you launch Mercurial.
- For those wondering how to host a mercurial server in a windows corporate environment, it is possible to host mercurial 1.7.2 on IIS7 using CGI, and surprisingly smooth as well. It's been running flawlessly in a corporate production environment for a while now. I followed the steps which were posted on Stack Overflow and the.
The Settings dialog is used to configure both TortoiseHg and theunderlying Mercurial DVCS. Since TortoiseHg uses Mercurial’s underlyingconfiguration system to store and retrieve its settings, these areessentially the same thing.
Mercurial on Windows has a three-tier configuration system.
- A site-wide configuration file in
C:ProgramFilesTortoiseHgMercurial.ini
This file is read first and thus has the lowest priority. - A per-user configuration file in
C:DocumentsandSettingsusernameMercurial.ini
This file is read second and thus can override settings in thesite-wide configuration file. - A per-repository configuration file in
repo-root.hghgrc
Thisfile is read last and can override site-wide and user global settings.
The site-wide file can be overwritten on upgrades so it is recommendedthat you do not make changes to this file. Instead, you should makechanges to your user Mercurial.ini
and/or the repositoryhgrc
file. The TortoiseHg Settings dialog enforces thissuggestion by only operating in two modes:
- Global
- edits your user
Mercurial.ini
file - Repository
- edits a repository
.hg/hgrc
file
You may toggle between the two modes using the combo box at the top ofthe dialog, or directly edit the file in your configured visual editor.
Most TortoiseHg users will want to store all configurables in theirglobal user settings, and only use the repository hgrc to store paths(remote repository aliases) and web settings, though it is possible tooverride many configurables per-repository (a common example is toconfigure a username for use in a specific repository). Also note thatthe user and repository configuration files may not exist until you runthe Settings dialog for the first time.
6.1. Tabs¶
The Settings tool is a tabbed application.
Each tab corresponds roughly to a section of your Mercurial.ini
file, though there is a certain amount of overlap. Some sections weresplit across multiple tabs for clarity.
Every tab but Sync has the same format, a list ofconfigurable options with a drop-down combo box with possible values anda history of options you have used for that setting. The configurablename (label) has a tooltip which describes in more detail what you areconfiguring and its default value. The description of the currentlyfocused configurable is also shown in a text box at the bottom of thedialog.
Please consult the Mercurial wiki for more detailed information aboutthese configurables (except for the first three tabs:TortoiseHg, Commit, Changelog, whichare specific to TortoiseHg).
6.1.1. TortoiseHg¶
[editor-tools]
sectionof your Mercurial configuration files. If left unspecified, TortoiseHgwill use the first applicable tool it finds.Specify the command to launch your preferred terminal shellapplication. If the value includes the string %(reponame)s
, thename of the repository will be substituted in place of%(reponame)s
. Similarly, %(root)s
will be the full path tothe repository. (restart needed)
- Default, Windows:
cmd.exe/Ktitle%(reponame)s
- Default, OS X:
- not set
- Default, other:
xterm-T'%(reponame)s'
.hgignore
, are copiedto the newly-created repository.6.1.2. Workbench¶
branch:#XXXXXX
. Spaces and colons in the branch name must beescaped using a backslash (
). Likewise some other characters canbe escaped in this way, e.g. u0040
will be decoded to the @
haracter, and n
to a linefeed. Default: None (leave blank)Select when TortoiseHg will show a prompt to activate a bookmark whenupdating to a revision that has one or morebookmarks.
auto
:- Try to automatically activate bookmarks. When updating to a revisionthat has a single bookmark it will be activated automatically. Showa prompt if there is more than one bookmark on the revision that isbeing updated to.
prompt
:- The default. Show a prompt when updating to a revision that has one
- or more bookmarks.
never
:- Never show any prompt to activate any bookmarks.
Default: prompt
Show indirect revision dependency on the revision graph when filteredby revset. Default: True
Note
Calculating family line may be slow in some cases. This option isexpected to be removed if the performance issue is solved.
6.1.3. Commit¶
FullName<email@example.com>
LANGUAGE
orLANG
environment variables are set to a non-Englishlanguage. This setting is used by the Merge, Tag and Backout dialogs.Default: FalseSelect when the working directory status list will be refreshed:
auto
:default- let TortoiseHg decide when to refresh the working directory statuslist. TortoiseHg will refresh the status list whenever it performsan action that may potentially modify the working directory.This may miss any changes that happen outside of TortoiseHg’scontrol;
always
:- in addition to the automatic updates above, also refresh the statuslist whenever the user clicks on the “working dir revision” or onthe “Commit icon” on the workbench task bar;
alwayslocal
:- same as
always
but restricts forced refreshes to local repos.
Default: auto
6.1.4. Sync¶
pull--update
, fetch equates to the fetch extension,rebase equates to pull--rebase
, updateorrebase equates to pull-u--rebase
. Default: noneSelect the revisions that will be pushed by default, whenever youclick the Push button.
all
:- The default. Push all changes in all branches.
branch
:- Push all changes in the current branch.
revision
:- Push the changes in the current branch up to the current revision.
Default: all
Select if TortoiseHg will show a target combo in the sync toolbar.
auto
:- The default. Show the combo if more than one target configured.
always
:- Always show the combo.
Default: auto
Command to use for SSH connections.
Default: ssh
or TortoisePlink.exe-ssh-2
(Windows)
6.1.5. Server¶
Repository Details:
- Name:
- Repository name to use in the web interface, and by TortoiseHg as ashorthand name. Default is the working directory.
- Encoding:
- Character encoding of files in the repository, used by the webinterface and TortoiseHg.
- ‘Publishing’ repository:
- Controls draft phase behavior when working as a server. When true,pushed changesets are set to public in both client and server andpulled or cloned changesets are set to public in the client. Default:True
Web Server:
- Description:
- Textual description of the repository’s purpose orcontents.
- Contact:
- Name or email address of the person in charge of therepository.
- Style:
- Which template map style to use.
- Archive Formats:
- Comma separated list of archive formats allowed fordownloading.
- Port:
- Port to listen on.
- Push Requires SSL:
- Whether to require that inbound pushes be transportedover SSL to prevent password sniffing.
- Stripes:
- How many lines a “zebra stripe” should span in multiline output.Default is 1; set to 0 to disable.
- Max Files:
- Maximum number of files to list per changeset.
- Max Changes:
- Maximum number of changes to list on the changelog.
- Allow Push:
- Whether to allow pushing to the repository. If empty or notset, push is not allowed. If the special value “*”, any remoteuser can push, including unauthenticated users. Otherwise, theremote user must have been authenticated, and the authenticateduser name must be present in this list (separated by whitespaceor “,”). The contents of the allow_push list are examined afterthe deny_push list.
- Deny Push:
- Whether to deny pushing to the repository. If empty or not set,push is not denied. If the special value “*”, all remote usersare denied push. Otherwise, unauthenticated users are alldenied, and any authenticated user name present in this list(separated by whitespace or “,”) is also denied. The contentsof the deny_push list are examined before the allow_push list.
6.1.6. Proxy¶
- Host:
- Host name and (optional) port of proxy server, forexample
myproxy:8000
. - Bypass List:
- Optional. Comma-separated list of host names thatshould bypass the proxy.
- User:
- Optional. User name to authenticate with at theproxy server.
- Password:
- Optional. Password to authenticate with at theproxy server.
6.1.7. Email¶
- From:
- Email address to use in the “From” header and for the SMTP envelope.
- To:
- Comma-separated list of recipient email addresses.
- Cc:
- Comma-separated list of carbon copy recipient emailaddresses.
- Bcc:
- Comma-separated list of blind carbon copy recipientemail addresses.
- method:
- Optional. Method to use to send email messages. If value is “smtp” (default),use SMTP (configured below). Otherwise, use as name of program to run thatacts like sendmail (takes -f option for sender, list of recipients oncommand line, message on stdin). Normally, setting this to
sendmail
or/usr/sbin/sendmail
is enough to use sendmail to send messages. - SMTP Host:
- Host name of mail server.
- SMTP Port:
- Port to connect to on mail server.Default: 25.
- SMTP TLS:
- Method to enable TLS when connecting to mail server. Default: none
- SMTP Username:
- Username to authenticate to mail server with.
- SMTP Password:
- Password to authenticate to mail server with.
- Local Hostname:
- Hostname the sender can use to identify itself to the mail server.
6.1.8. Diff and Annotate¶
- Patch EOL:
- Normalize file line endings during and after patch to lf or crlf.Strict does no normalization. Auto does per-file detection, and isthe recommended setting. Default: strict
- Git Format:
- Use git extended diff header format.Default: False.
- MQ Git Format:
- When set to
auto
, mq will automatically use git patches whenrequired to avoid losing changes to file modes, copy records orbinary files. If set tokeep
, mq will obey the[diff]
sectionconfiguration while preserving existing git patches upon qrefresh. Ifset toyes
orno
, mq will override the[diff]
section andalways generate git or regular patches, possibly losing data in thesecond case. Default: auto - No Dates:
- Do not include modification dates in diff headers.Default: False.
- Show Function:
- Show which function each change is in.Default: False.
- Ignore White Space:
- Ignore white space when comparing lines.Default: False.
- Ignore WS Amount:
- Ignore changes in the amount of white space.Default: False.
- Ignore Blank Lines:
- Ignore changes whose lines are all blank.Default: False.
Install Mercurial Linux
Annotate:
- Ignore White Space:
- Ignore white space when comparing lines in the annotate view.Default: False
- Ignore WS Amount:
- Ignore changes in the amount of white space in the annotate view.Default: False
- Ignore Blank Lines:
- Ignore changes whose lines are all blank in the annotate view.Default: False
6.1.9. Font¶
- Message Font:
- Font used to display commit messages. Default: monospace 10
- Diff Font:
- Font used to display text differences. Default: monospace 10
- List Font:
- Font used to display file lists. Default: sans 9
- ChangeLog Font:
- Font used to display changelog data. Default: monospace 10
- Output Font:
- Font used to display output messages. Default: sans 8
6.1.10. Issue Tracking¶
{n}
tokens inissue.link (where n is a non-negative integer). {0}
refers to theentire string matched by issue.regex, while {1}
refers to thefirst group and so on. If no {n}
tokens are found in issue.link,the entire matched string is appended instead.IBugTraqProvider
or IBugTrackProvider2
issuetracking plugin.Determines when the issue tracker state will be updated byTortoiseHg. Valid settings values are:
never
:- Do not update the Issue Tracker state automatically.
commit
:- Update the Issue Tracker state after a successful commit.
Default: never
A “template string” that, when set, turns the revision number andshort hashes that are shown on the revision panels into links.The “template string” uses a “mercurial template”-like syntax thatcurrently accepts two template expressions:
{node|short}
:- replaced by the 12 digit revision id (note that
{node}
on itsown is currently unsupported). {rev}
:- replaced by the revision number.
For example, in order to link to bitbucket commit pages you can setthis to: https://bitbucket.org/tortoisehg/thg/commits/{node|short}
6.1.11. Review Board¶
- Server:
- Path to review board example
http://demo.reviewboard.org
- User:
- User name to authenticate with review board
- Password:
- Password to authenticate with review board
- Server Repository ID:
- The default repository id for this repo on the review board server
- Target Groups:
- A comma separated list of target groups
- Target People:
- A comma separated list of target people
6.1.12. Largefiles¶
- Patterns:
- Files with names meeting the specified patterns will be automaticallyadded as largefiles
- Minimum Size:
- Files of at least the specified size (in megabytes) will be added aslargefiles
- User Cache:
- Path to the directory where a user’s cache of largefiles will bestored
6.1.13. Projrc¶
When to ask the user to confirm the update of the local “projrc”configuration file when the remote projrc file changes. Possiblevalues are:
always
:default- Always show a confirmation prompt before updating the local
.hg/projrc
file. first
:- Show a confirmation dialog when the repository is cloned or when aremote projrc file is found for the first time.
never
:- Update the local
.hg/projrc
file automatically, withoutrequiring any user confirmation.
Mercurial Server Windows Free
Let the user update the projrc on incoming:
never
:default- Show whether the remote projrc file has changed, but do not update(nor ask to update) the local projrc file.
prompt
:- Look for changes to the projrc file. If there are changes alwaysshow a confirmation prompt, asking the user if it wants to updateits local projrc file.
auto
:- Look for changes to the projrc file. Use the value of the“projrc.confirm” configuration key to determine whether to show aconfirmation dialog or not before updating the local projrc file.
Default: never
6.1.14. GnuPG¶
- Command:
- Specify the path to GPG. Default: gpg
- Key ID:
- GPG key ID associated with user. Default: None (leave blank)
6.2. Keyboard navigation¶
- Ctrl-Enter
- Apply changes and close the tool, the equivalent of pressing the‘Ok’ button.
Mercurial For Windows 10
6.3. From command line¶
The setting dialog can be started from command line
for the repository settings (.hg/hgrc
file) or
for the user configuration (Mercurial.ini
file).
Mercurial Version Control
The syntax is simple, no options or parameters are needed, except the globaloptions.