./devel/py-mercurial, Fast, lightweight source control management system

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 5.1, Package name: py27-mercurial-5.1, Maintainer: wiz

Mercurial is a free, distributed source control management tool.
It efficiently handles projects of any size and offers an easy and
intuitive interface.

Mercurial efficiently handles projects of any size and kind. Every
clone contains the whole project history, so most actions are local,
fast and convenient. Mercurial supports a multitude of workflows
and you can easily enhance its functionality with extensions.

It is easy to learn: You can follow our simple guide to learn how
to revision your documents with Mercurial, or just use the quick
start to get going instantly. A short overview of Mercurial's
decentralized model is also available.

And it just works: Mercurial strives to deliver on each of its
promises. Most tasks simply work on the first try and without
requiring arcane knowledge.

Required to run:
[devel/py-curses] [lang/python27]

Required to build:
[archivers/unzip] [pkgtools/cwrappers]

Master sites:

SHA1: 516800a18bb4e81ba6e4ba5d12cc5807d51bcc0a
RMD160: 23f05ca435a332a9db0e1f42f4841656d463acdf
Filesize: 7112.691 KB

Version history: (Expand)

CVS history: (Expand)

   2019-09-02 15:20:22 by Adam Ciarcinski | Files touched by this commit (415)
Log message:
future Python 3.8
   2019-08-18 10:35:47 by Thomas Klausner | Files touched by this commit (3)
Log message:
py-mercurial: add an upstream patch that fixes a test case on *BSD.
   2019-08-16 14:59:02 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
py-mercurial: update to 5.1.

This is an overview of the 5.1 release.

1. New Features

    New config commands.commit.post-status shows status after
    successful commit.

    hg root now has templating support, including support for
    showing where a repo share's source is. See hg help -v root
    for details.

    New --force-close-branch flag for hg commit to forcibly close
    branch from a non-head changeset.

    The curses-based interface for commands like hg commit -i now
    supports a range-select mechanism. Select the first line using
    space like before, navigate to the last line, and press X
    (capital x) to set all items in the range at once. Lowercase
    x has been added as a synonym for space to help reinforce the
    mechanism, and pressing enter/return continues to be a synonym
    for "toggle the current line and move down to the next item in
    this section."

2. New Experimental Features

    New config experimental.log.topo makes hg log -G use topological
    sorting. This is especially useful for aliases since it lets
    the alias accept an -r option while still using topological
    sorting with or without the -r (unlike if you use the `sort(...,
    topo)` revset).

3. Bug Fixes

    issue4292: "hg log and {files} {file_adds} {file_mods} {file_dels}
    in template show wrong files on merged revision". See details
    in "Backwards Compatibility Changes".

4. Backwards Compatibility Changes

    Removed (experimental) support for log graph lines mixing
    parent/grandparent styles. Setting e.g. experimental.graphstyle.parent
    = ! and experimental.graphstyle.grandparent = 3. would use !
    for the first three lines of the graph and then .. This is no
    longer supported.

    If ui.origbackuppath had been (incorrectly) configured to point
    to a file, we will now replace that file by a directory and
    put backups in that directory. This is similar to how we would
    previously replace files *in* the configured directory by

    Template keyword {file_mods}, {file_adds}, and {file_dels} have
    changed behavior on merge commits. They used to be relative to
    the first parent, but they now consider both parents. {file_adds}
    shows files that exists in the commit but did not exist in
    either parent. {file_dels} shows files that do not exist in
    the commit but existed in either parent. {file_mods} show the
    remaining files from {files} that were not in the other two

5. Internal API Changes

    Matchers are no longer iterable. Use match.files() instead.

    match.visitdir() and match.visitchildrenset() now expect the
    empty string instead of '.' to indicate the root directory.

    util.dirs() and util.finddirs() now include an entry for the
    root directory (empty string).

    shelve is no longer an extension now. it will be turned on by

    New API to manage unfinished operations: Earlier there were
    distinct APIs which dealt with unfinished states and separate
    lists maintaining them that are cmdutil.afterresolvestates,
    cmdutil.unfinishedstates and cmdutil.STATES. Now these have
    been unified to a single API which handles the various states
    and their utilities. This API has been added to state.py. Now
    instead of adding to these 3 lists independently a state for
    a new operation can be registered using addunfinished() in
    state module.

    cmdutil.checkunfinished() now includes detection for merge too.
    merge abort has been disallowed in case an operation of higher
    precedence is in progress to avoid cases of partial abort of

    We used to automatically attempt to make extensions compatible
    with Python 3 (by translating their source code while loading
    it). We no longer do that.
   2019-07-14 12:59:35 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
py-mercurial: update to 5.0.2.

As a bonus, changes for 5.0.1 which were not available at the time of the release.

Mercurial 5.0.2

A regularly scheduled bugfix release.

1. commands

    Help fixes on hg mv and hg cp

2. unsorted

    debugrevlog: fix average size computation for empty data (issue6167)

    Fix an obscure data corruption bug with musl libc (and presumably others). \ 
See https://www.mercurial-scm.org/repo/hg-c … ada9b8d51b the fix for \ 
more details.

Mercurial 5.0.1

A regularly scheduled bugfix release.

1. commands

    bookmark: also make bookmark cache depends of the changelog

    commit: allow --interactive to work again when naming a directory (issue6131)

2. unsorted

    manifest: avoid corruption by dropping removed files with pure (issue5801)

    sslutil: fsencode path returned by certifi (issue6132)
   2019-06-17 07:33:10 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
py-mercurial: update to 5.0.1.

Changes not documented.
   2019-05-21 22:55:02 by Thomas Klausner | Files touched by this commit (6) | Package updated
Log message:
mercurial: update to 5.0

Still building with python-2.7 only, but this version has beta support
for python 3.x.

Mercurial 5.0 release

This is an overview of the 5.0 release.

1. New Features

    ui.relative-paths option for getting relative path output from most \ 
commands. This is enabled when ui.tweakdefaults is enabled.

    expectsize() revset errors out if revset has unexpected number of elements.

    config() template function for getting a config value.

    {negrev} template keyword shows the negative revision number. This is \ 
convenient because it is usually shorter than the positive number, but note that \ 
it is less stable.

    hg uncommit now has an --allow-dirty-working-copy option.

    hg shelve now has --keep option, which shelves but also leaves the working \ 
directory unchanged.

    hg diff will now include specified files in subrepos.

    hg recover now has a --no-verify option

1.1. Python 3 Support (Beta)

Mercurial 5.0 has beta level support for running on Python 3.5, 3.6, and 3.7. \ 
The Mercurial distribution itself and all extensions bundled with it should work \ 
on these Python versions.

To use Mercurial with Python 3, invoke setup.py with a Python 3 interpreter or \ 
set the PYTHON variable to a Python 3 interpreter when invoking the Makefile. \ 
e.g. python3.7 setup.py install or make install-home PYTHON=python3.7.

3rd party extensions will likely need to be ported to support running on Python \ 
3 and attempts to run many existing extensions with a Python 3 powered Mercurial \ 
will result in extension loading failures. See the Python3 page for more.

While the Mercurial test suite has a >99% pass rate when running with Python \ 
3.5, 3.6, and 3.7, we anticipate that there are still many Python 3 bugs \ 
lingering in Mercurial. Please report Python 3 issues using the instructions at \ 

If you package Mercurial or distribute it to users, we do not recommend making \ 
Python 3 the default at this time.

Python 3 is not yet very well tested on Windows and there are likely several \ 
more lingering issues on Windows compared to Linux, macOS, and other UNIX-like \ 

1.2. Updated Windows Installers

Windows installer packaging has been transitioned away from ad-hoc processes \ 
employed on individual contributors' personal machines to occurring in \ 
reproducible infrastructure driven by code in the Mercurial repository itself. \ 
This transition should enable Windows packaging and releasing to be more \ 
reliable and reproducible.

As part of this transition, there are changes to the Windows installers.

1.2.1. Inno Setup .exe Installer Changes

    Python has been upgraded from 2.7.15 to 2.7.16
    add_path.exe has been removed and the Inno installer now updates PATH via a \ 
Pascal script that is part of the installer
    The dulwich package has been upgraded from version 0.18.3 to 0.19.11
    The keyring package has been upgraded to version 18.0.1
    The pygments package has been upgraded to version 2.3.1
    The urllib3 package is now included
    The MSVC Runtime DLLs (msvcm90.dll, msvcp90.dll, and msvcr90.dll) have been \ 
upgraded from version 9.0.21022.8 to 9.0.30729.9518
    Various tcl/tk Python packages are now included (making the Python \ 
distribution more complete)
    The pywin32 package is no longer included (pywin32 has not been required by \ 
Mercurial for years)
    Known issue: the distutils package is broken
    (x86 only) Python .pyd and .dll extension modules and support libraries are \ 
now installed as standalone files instead of bundled in the library.zip file. \ 
This behavior is now consistent with 64-bit installers.

2. New Experimental Features

3. Other Notable Features

4. Other Improvements

    Improved color scheme for histedit's curses interface, making it more \ 
consistent with the curses hunk selector.

5. Bug Fixes

    Histedit's curse interface has improved support for non ascii characters.

6. Backwards Compatibility Changes

    color: change color of grep.rev label (BC)
    commit: if interactive, look elsewhere for whitespace settings (BC)

    diff: make sure we output stat even when --git is not passed (issue4037) (BC)
    uncommit: abort if an explicitly given file cannot be uncommitted (BC)
    The Windows Inno installers no longer ship the pywin32 package. This package \ 
was being bundled for historical reasons. Mercurial stopped using pywin32 \ 
several years ago and the disappearance of this package should not have any \ 
meaningful impact.
    The 32-bit Windows Inno installers no longer distribute w9xpopen.exe. This \ 
should only impact people running Mercurial on Windows 95, 98, or ME.
    The Windows MSI installers no longer include the Python sphinx package and \ 
its various dependencies.
    The Windows MSI installers no longer include the pywin32 Python package.
    The Windows MSI installers no longer include the enum and future Python packages.

7. Internal API Changes

    add: pass around uipathfn and use instead of m.rel() (API)
    addremove: pass around uipathfn and use instead of m.uipath() (API)
    branchmap: drop branchcache.setdefault() (API)
    branchmap: remove the dict interface from the branchcache class (API)
    forget: pass around uipathfn and use instead of m.rel() (API)
    largefiles: use uipathfn instead of match.{rel,uipath}() (API)
    match: delete unused abs() (API)
    match: delete unused rel() (API)
    match: delete unused root and cwd arguments from {always,never,exact}() (API)
    match: delete unused root and cwd arguments to constructors (API)
    match: delete unused uipath() and _uipathrelative (API)
    match: remove unused "exact" argument (API)
    memctx: rename constructor argument "copied" to \ 
"copysource" (API)
    patch: accept second matcher that applies only to copy sources (API)
    patch: let caller pass in root-filtering matcher (API)
    patch: pass in context objects into diffhunks() (API)
    patch: replace "prefix" and "relroot" arguments by \ 
"pathfn" (API)
    remove: pass around uipathfn and use instead of m.rel() (API)
    revset: leverage getintrange() helper in relation-subscript operation (API)
    scmutil: delete now-unused origpath() (API)
    scmutil: remove special handling of pats==("",) in matchandpats() (API)
    subrepo: adjust subrepo prefix before calling subrepo.add() (API)
    subrepo: adjust subrepo prefix before calling subrepo.addremove() (API)
    subrepo: adjust subrepo prefix before calling subrepo.archive() (API)
    subrepo: adjust subrepo prefix before calling subrepo.diff() (API)
    subrepo: adjust subrepo prefix before calling subrepo.forget() (API)
    subrepo: adjust subrepo prefix before calling subrepo.removefiles() (API)
    subrepo: avoid calculating subrepo prefix twice for cat() (API)
    templatekw: move getrenamedfn() to scmutil (API)
   2019-04-26 16:12:50 by Maya Rashish | Files touched by this commit (205)
Log message:
fix some whitespace, mostly introduced in the previous
python 3.4 / 3.5 removal commit.
   2019-04-26 15:14:25 by Maya Rashish | Files touched by this commit (473)
Log message:
Omit mentions of python 34 and 35, after those were removed.

- Includes some whitespace changes, to be handled in a separate commit.