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

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


Branch: CURRENT, Version: 4.5, Package name: py27-mercurial-4.5, 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: eb50bc81430fb34c11d32a8fbe6860b3d3a87de9
RMD160: 646b6f06a793320db6a84d53749fc53906c3db38
Filesize: 5738.408 KB

Version history: (Expand)


CVS history: (Expand)


   2018-02-11 17:04:21 by Thomas Klausner | Files touched by this commit (6) | Package updated
Log message:
py-mercurial: update to 4.5.

Mercurial 4.5 (2018-02-01)

1.1. New Features

1.1.1. revert --interactive

The revert command now accepts the flag --interactive to allow reverting only \ 
some of the changes to the specified files.

1.1.2. Accessing hidden changesets

Set config option 'experimental.directaccess = True' to access hidden changesets \ 
from read only commands.

1.1.3. githelp extension

The githelp extension provides the hg githelp command. This command attempts to \ 
convert a git command to its Mercurial equivalent. The extension can be useful \ 
to Git users new to Mercurial.

1.1.4. Largefiles changes

    largefiles: add a 'debuglfput' command to put largefile into the store
    largefiles: add support for 'largefiles://' url scheme
    largefiles: allow to run 'debugupgraderepo' on repo with largefiles
    largefiles: convert EOL of hgrc before appending to bytes IO
    largefiles: explicitly set the source and sink types to 'hg' for lfconvert
    largefiles: modernize how capabilities are added to the wire protocol

1.2. hgweb changes

hgweb now shows more information about commits: phase (if it's not public), \ 
obsolescence status (with a short explanation and links to the successors) and \ 
instabilities (e.g. orphan, phase-divergent or content-divergent).

Client-side graph code has been simplified by delegating more work to the \ 
backend, so /graph page is now more in sync with /log page, visually and \ 
feature-wise. Unfortunately, this code change means that 3rd-party themes for \ 
4.5+ are required to have graphentry.tmpl template available (copy it from the \ 
base theme if you don't use %include and then reference it in map file) and \ 
render entries in graph.tmpl -- look at one of the core themes to see what it \ 
needs to look like. JS functions that create graph vertices and edges are now \ 
available in Graph.prototype, making it possible to call the original functions \ 
from custom theme-specific functions if needed.

Graph now shows different symbols for normal, branch-closing, obsolete and \ 
unstable commits, and marks currently checked out commit with a circle around \ 
its graph node.

There's also now json-graph API endpoint that can be used for rendering commit \ 
graph in 3rd-party applications.

1.2.1. Other Changes

    When interactive revert is run against a revision other than the working \ 
directory parent, the diff shown is the diff to <em>apply</em> to \ 
the working directory, rather than the diff to <em>discard</em> from \ 
the working copy. This is in line with related user experiences with 'git' and \ 
appears to be less confusing with 'ui.interface=curses'.
    Let 'hg rebase' avoid content-divergence by skipping obsolete changesets \ 
(and their descendants) when they are present in the rebase set along with one \ 
of their successors but none of their successors is in destination.
    A new experimental config flag, 'rebase.experimental.inmemory', makes rebase \ 
perform an in-memory merge instead of doing it on-disk in the working copy.

    The HGPLAINEXCEPT environment variable can now include color to allow \ 
automatic output colorization in otherwise automated environments.
    A new unamend command in uncommit extension which undoes the effect of the \ 
amend command by creating a new changeset which was there before amend and \ 
moving the changes that were amended to the working directory.
    A '--abort' flag to merge command to abort the ongoing merge.
    An experimental flag '--rev' to 'hg branch' which can be used to change \ 
branch of changesets.
    bundle2 read I/O significantly improved
    bundle2 memory use significantly reduced during read
    clonebundle: it is now possible to serve the clonebundle using a git-lfs \ 
compatible server.

    templatefilters: add slashpath() to convert path separator to slash (issue5572)
    A new experimental config flag, 'inline-color-diff', adds within-line color \ 
diff capacity
    histedit: add support to output nodechanges using formatter to help with \ 
editor integrations

1.3. Backwards Compatibility Changes

    log --follow-first -rREV, which is deprecated, now follows the first parent \ 
of merge revisions from the specified REV just like log --follow -rREV.

    log --follow -rREV FILE.. now follows file history across copies and renames.
    transaction: register summary callbacks only at start of transaction

    hgweb's graph view no longer supports browsers that lack <canvas> support
    hgweb: only include graph-related data in jsdata variable on /graph pages

    graphlog: add another graph node type, unstable, using character *
    remove: print message for each file in verbose mode only while using '-A'

1.4. Bug Fixes

    Bookmark, whose name is longer than 255, can again be exchanged again \ 
between 4.4+ client and servers (issue5165)

    The convert extension works with bzr < 2.6.0 again (issue5733)

    Mercurial will now attempt to use hardlinks on NTFS on Windows (issue4580)

    The revset x^:: is now correctly parsed as (x^):: instead of being an error \ 
(issue5764)

    Setting the diff.noprefix configuration option no longer breaks the --stat \ 
flag on hg diff (issue5759)

    hg outgoing now honors :pushurl paths from hgrc (issue5365)

    log: translate column labels at once (issue5750)

    patch: improve heuristics to not take the word diff as header (issue1879)

    templater: look up symbols/resources as if they were separated (issue5699)
    http and ssh: support for emitting extra debug logs about requests as they happen

1.5. API Changes

    bundlerepo.bundlerepository.bundle and \ 
bundlerepo.bundlerepository.bundlefile are now prefixed with an underscore.
    Rename bundlerepo.bundlerepository.bundlefilespos to _cgfilespos.
    dirstate no longer provides a 'dirs()' method. To test for the existence of \ 
a directory in the dirstate, use 'dirstate.hasdir(dirname)'.
    mapping does not contain all template resources. use context.resource() in \ 
template functions.

    text=False|True option is dropped from the vfs interface because of Python 3 \ 
compatibility issue. Use util.tonativeeol/fromnativeeol() to convert EOL \ 
manually.

    wireproto.streamres.__init__ no longer accepts a reader argument. Use the \ 
gen argument instead.
    exchange.getbundlechunks() now returns a 2-tuple instead of just an iterator.
    bundle2 parts are no longer seekable by default
    memfilectx: the changectx argument is now mandatory in constructor
   2018-01-16 10:24:56 by Thomas Klausner | Files touched by this commit (3)
Log message:
py-mercurial: add upstream patch to fix test failure

No change to binary package, so no PKGREVISION bump.
   2018-01-10 20:32:13 by Thomas Klausner | Files touched by this commit (5) | Package updated
Log message:
py-mercurial: update to 4.4.2.

Add upstream patch to fix a test case.

Mercurial 4.4.2 (2017-12-01)

This is a regularly-scheduled bugfix release.

1.1. Notable changes

1.1.1. Stricter command option parsing

Mercurial can now optionally parse "early" options (-R/--repository,
--cwd, --config, --debugger, and --profile) more strictly, for more
secure integration with tools that invoke 'hg' commands. Setting
HGPLAIN=+strictflags will parse these options more strictly, which
prevents them from being injected as arguments to other flags.

1.2. Bug fixes

    'hg amend' now correctly handles deleted and removed files, as
    well as subrepos. (issue5732, issue5677)
    largefiles now correctly handles dropped standin files when
    updating largefiles.

    Fixed an issue with deleting symlinks to directories when
    ui.origbackuppath is set. (issue5731)

1.3. Performance improvements

    Improved performance in path conflict checking introduced in
    Mercurial 4.4. (issue5716)
   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
programmatically.
   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.