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

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

Branch: CURRENT, Version: 4.4.1, Package name: py27-mercurial-4.4.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: 99fedcebccdb53f67aefaba5cdade9e84d79cf7e
RMD160: 7f7affb0e86e096f60a8cdec1fd16ac2037e9087
Filesize: 5504.426 KB

Version history: (Expand)

CVS history: (Expand)

   2017-12-08 22:24:27 by Joerg Sonnenberger | Files touched by this commit (1)
Log message:
py-mercurial: Run tests in parallel when MAKE_JOBS is set.
   2017-11-23 21:44:47 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
py-mercurial: update to 4.4.1.

1.1. Notable changes

    Git and Subversion subrepos have been disabled by default to
    mitigate a potential security risk if files overlapping with
    a subrepo managed to be committed to a repository.
    Subrepos are now more paranoid about symlink traversal.
    The share extension handles drive letters on Windows better.

It is possible that a specially malformed repository can cause Git
subrepositories to run arbitrary code in the form of a
.git/hooks/post-update script checked in to the repository in
Mercurial 4.4 and earlier. Typical use of Mercurial prevents
construction of such repositories, but they can be created
   2017-11-07 16:33:25 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-mercurial: add comment about failing test case and bug report URL
   2017-11-07 14:16:32 by Thomas Klausner | Files touched by this commit (1) | Package updated
Log message:
py-mercurial: remove integrated patch after update to 4.4
   2017-11-07 14:16:07 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
py-mercurial: update to 4.4.

Mercurial 4.4 (2017-11-01)

1.1. Notable changes

1.1.1. Control whitespace settings for annotation on hgweb

/annotate URLs on hgweb now accept query string arguments to influence how \ 
whitespace changes impact results.

The arguments "ignorews," "ignorewsamount," \ 
"ignorewseol," and "ignoreblanklines" now have the same \ 
meaning as their [annotate] config section counterparts. Any provided setting \ 
overrides the server default.

HTML checkboxes have been added to the paper and gitweb themes to expose current \ 
whitespace settings and to easily modify the current view.

1.1.2. Fast, heuristic copy-tracing

A new fast heuristic algorithm for copytracing which assumes that the files \ 
moves are either:

    renames in the same directory
    moves in other directories with same names

You can use this algorithm by setting 'experimental.copytrace=heuristics'. This \ 
setting performs full copytracing if both source and destination branches \ 
contains non-public changesets only.

1.1.3. Other changes

    Estimated time is more accurate with non-linear progress
    "hg status -v" can now show unfinished state. For example, when in \ 
an unfinished rebase state, "hg status -v" might show:

     # The repository is in an unfinished *rebase* state.
     # No unresolved merge conflicts.
     # To continue:                hg rebase --continue
     # To abort:                   hg rebase --abort

    Added '--ignore-space-at-eol' diff option to ignore whitespace differences \ 
at line endings.
    show: use consistent node length in views
    show: decrease minimum displayed hash length from 5 to 4
    A new uncommit extension which provides 'hg uncommit' using which one can \ 
uncommit part or all of the changeset. This command undoes the effect of a local \ 
commit, returning the affected files to their uncommitted state.
    'hg clone --uncompressed' uses clone bundles when possible
    'hg annotate --skip' now prints a '*' on lines with skipped revisions
    New 'commands.update.check' feature to adjust constraints on when 'hg \ 
update' will allow updates with a dirty working copy.

    Add an experimental -L/--line-range FILE,FROMLINE:TOLINE option to 'hg log' \ 
command to follow the history of files by line range. In combination with \ 
-p/--patch option, only diff hunks within specified line range will be \ 
displayed. Feedback, especially on UX aspects, is welcome.
    Print warning when fsmonitor isn't being used on a large repository

1.2. Backwards Compatibility Changes

    The config option for copytrace 'experimental.disablecopytrace' is now \ 
replaced with 'experimental.copytrace' which defaults to 'on'. If you need to \ 
turn off copytracing, add '[experimental] copytrace = off' to your config.
    'hg clone --stream' should now be used instead of --uncompressed. \ 
--uncompressed is marked as deprecated and is an alias for --stream. There is no \ 
schedule for elimination of --uncompressed.
    The 'experimental.updatecheck' name for the new 'commands.update.check' \ 
feature is now deprecated, and will be removed after this release.
    Mercurial subrepositories are now shared instead of cloned when the parent \ 
repository is shared. This prevents dangling subrepository references in the \ 
share source. Previously shared repositories with cloned subrepositories will \ 
continue to function unchanged.
    Push no longer triggers a pushkey hook when updating phases. Use the new \ 
'txnclose-phase' and 'txnclose-phase' hooks instead. (Applies when both server \ 
and client use version 4.4 or above).

1.3. Bug Fixes

    Core rebase algorithm has been rewritten to be more robust (issue5578, issue5630)

    Creating a share of a repository with a Mercurial subrepository will now \ 
share the subrepository (issue5675)

1.4. Performance Improvements

    improved performance when many aliases are defined

1.5. API Changes

1.5.1. remove peer.batch()

Replace with peer.iterbatch().

1.5.2. Other Changes

    @peer.batchable can no longer emit local values
    @peer.batchable functions must now yield exactly 2 values
    Rename attributes on sshpeer to reflect peer API
    peer.peerrepository has been removed. Use repository.peer abstract base \ 
class to represent a peer repository.
    revset.stringset() now takes 'order' as the last argument.
   2017-10-06 00:32:50 by Thomas Klausner | Files touched by this commit (3)
Log message:
py-mercurial: add one upstream patch to fix a test failure
   2017-10-02 14:11:20 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
py-mercurial: update to 4.3.3.

Mercurial 4.3.3 (2017-10-01)

    Prevent crashes when clearing progress bar. (issue5684)

    rebase: move bookmarks with --keep (issue5682)

Mercurial 4.3.2 (2017-09-18)

    restore compatibility with older versions of Python 2.7 by not using a \ 
bytearray with struct.unpack_from()
    restore mingw compatibility for setup.py
    hgwebdir: read 'web.template' untrusted (plugs potential security issue)

    repair: preserve phase when not using generaldelta (issue5678)
    ssh: fix flakey ssh errors on BSD systems

    restore error handling behavior around certain I/O errors; the
    regressed behavior could result in transactions not being
    properly rolled back if stdio handles encountered errors

    templatekw: choose {latesttag} by len(changes), not date (issue5659)

    record: fix revert -i for lines without newline (issue5651)
    mq: create non-lossy patches, also with custom global diff configuration
   2017-08-14 03:31:56 by Maya Rashish | Files touched by this commit (6) | Package updated
Log message:
py-mercurial: update to 4.3.1

1. Mercurial 4.3 / 4.3.1 (2017-08-10)

(4.3.1 was released immediately after 4.3 to fix a release oversight.)

An overview of new features available. This is a regularly-scheduled quarterly \ 
feature release.

1.1. Notable changes

    experimental amend extension providing the amend command
    experimental sparse extension
    Support for Python 2.6 has been dropped.
    Bundles created by the strip extension now store phase information. It will \ 
be restored when unbundling.
    The strip extension now removes relevant obsmarkers. If a backup requested \ 
(the default), the obsmarkers are stored in the backup bundle and will be \ 
restored when unbundling.

    hg show work (from the experimental show extension) now displays more info

    hg show stack is a new view for the current, in-progress changeset and \ 
others around it
    Mitigation for two security vulnerabilities

1.2. CVE-2017-1000115

Mercurial's symlink auditing was incomplete prior to 4.3, and could be abused to \ 
write to files outside the repository.

1.3. CVE-2017-1000116

Mercurial was not sanitizing hostnames passed to ssh, allowing shell injection \ 
attacks on clients by specifying a hostname starting with -oProxyCommand. This \ 
is also present in Git (CVE-2017-1000117) and Subversion (CVE-2017-9800), so \ 
please patch those tools as well if you have them installed.

2. Mercurial 4.2.3 (2017-08-10)

This was an out-of-cycle backport of security fixes from 4.3 for users stuck on \ 
Python 2.6.

3. Mercurial 4.2.2 (2017-07-05)

This is a regularly-scheduled bugfix release.

    largefiles: avoid a crash when archiving a subrepo with largefiles disabled
    rebase: also test abort from pretxnclose error

    rebase: backed out changes 2519994d25ca and cf8ad0e6c0e4 (issue5610)
    rebase: reinforce testing around precommit hook interrupting a rebase