Differences between revisions 25 and 26
Revision 25 as of 2008-03-24 23:15:33
Size: 15900
Editor: mpm
Comment:
Revision 26 as of 2008-03-25 13:32:25
Size: 15926
Editor: abuehl
Comment: +link
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
 * greatly improved merge tool configuration, see "hgrc.5.txt" for details  * greatly improved [:MergeToolConfiguration:merge tool configuration], see "hgrc.5.txt" for details

Be sure to read [:UpgradeNotes]. See also [:RoadMap].

TableOfContents()

Version 1.0 - 2008-03-24

General:

  • greatly improved [:MergeToolConfiguration:merge tool configuration], see "hgrc.5.txt" for details

  • improved copy/rename handling in diffs, status, and merge
  • files in .hg inherit permissions from .hg/store
  • infer --repository when possible, so commands may be run from anywhere.
  • easy-installable
  • new "droplet" logo

Commands:

  • archive: disable ".hg_archival.txt" file addition with "ui.archivemeta"
  • bisect: now built-in with greatly improved performance and usability
  • bundle: new --all option to bundle the whole repository more easily.
  • cat: apply decode filters with --decode
  • clone: can clone from a full-history bundle
  • commit: warn when creating a new head
  • debugancestor: index argument is now optional
  • diff: set the number of context line to show with -U/--unified
  • grep: display matched revisions commit date with --date
  • import: new --no-commit and --user options
  • incoming/outgoing: add --limit option
  • log: use -b/--only-branch to show revisions of a single branch
  • remove: improve handling for --after
  • revert: major speedup
  • serve: prefix the served path with --prefix (also in [web] section)
  • status: unknown files are skipped by --quiet
  • tag: allow multiple tags to be added or removed
  • tags: --verbose flags local tags
  • update: switch between named branches without -C

Extensions:

  • churn: promoted to an official extension (previously in contrib)
  • color: new extension coloring "status" and "qseries" command outputs
  • convert:
    • allow synthetic history to be spliced in with --splicemap
    • support GNU Arch and Monotone sources
    • svn: allow shallow conversions of single branches with convert.svn.startrev option.
    • svn: make trunk/branches/tags layout detection more flexible by allowing either of them to be skipped.
    • svn: preliminary support as a conversion target
  • hgk: configuration file changed from .gitk to .hgk
  • highlight: new extension enabling syntax highlighting in hgweb file view (requires pygments)
  • inotify: new extension using Linux 2.6 inotify API for instant status checking
  • keyword: new extension for filewise RCS-keyword expansion in working directory
  • mq: new --currentdate, --date, --currentuser, and --user options
  • record: add "qrecord" command when used with mq
  • win32mbcs: new extension dealing with problematic MBCS behavior on Windows

Web interface:

  • improved WSGI integration and compatibility
  • follow symlinks in hgwebdir collections
  • show branches in most of gitweb templates
  • add line anchors to annotate, changeset, diff and file views
  • support web.baseurl in hgwebdir, overriding SCRIPT_NAME

Hooks:

  • standard hook to reject text files with CRLF in win32text extension
  • redirect stdout to stderr for ssh and http servers

Windows support:

  • "hg" script output set to binary mode for redirecting diff, export, annotate, etc.
  • also search for .hgrc if mercurial.ini cannot be found
  • major speedup of "clone --pull"

Version 0.9.5 - 2007-10-19

New features:

  • Handle symlinks on systems without symlink support
  • hg archive supports symlinks
  • Display executable/symlink bit with "hg manifest -v" (see UpgradeNotes)

  • Improved hg verify diagostics
  • Faster revlog handling
  • Faster handling of large directories
  • Greatly improved handling of large files
  • Atom syndication support in hgweb
  • Improved test suite with parallel execution

Fixes:

  • Fixes for some file copy and rename corner cases
  • Allow moving newly-added files before commit
  • Improve hg diff whitespace handling
  • Disallow fast-forward merge with an ancestor
  • Fix adding untracked files on directory renames
  • Fix hg archive %r format specifier
  • Fix re: and glob: patterns in .hgignore
  • Improve hg executable path resolution
  • Many options and hgrc parsing improvements
  • Better handling of VFAT filesystems on Linux
  • Fix tgz archival on Windows
  • Fix hg serve on Windows requiring pywin32 modules
  • Fix --profile under Windows

New extensions:

  • alias - allow user-defined command aliases
  • children - show the children of the given or working dir revision
  • imerge - incremental interactive merging
  • interhg - modify changelog text as in InterWiki

  • record - darcs-style interactive change selection during commit

New extension features:

  • convert
    • Now supports Subversion, Darcs and Mercurial as source SCMs
    • Use clone's behaviour for the default destination name
    • Force encoding to UTF-8 for converted repository
    • Support new-style .cvspass file format
    • Filter the files and directories to import
    • Remap paths to new locations during import
  • hgk
    • Fix hgk stopping because of untrusted repository warnings
    • Handle filenames with spaces
    • Improved documentation
  • mq
    • Autodetect --git patches on qrefresh

Version 0.9.4 - 2007-06-25

New features:

  • support for symlinks
  • improved tag handling
  • improved merge handling of file and directory renames
  • improved named branch usability
  • numerous improvements to commands
  • generic pre- and post-command hooks
  • improved Windows support
  • basic BeOS and OpenVMS support
  • numerous bug fixes

New extensions and contributions:

  • extensions can now be specified in .hg/hgrc
  • new convert extension with CVS support
  • new graphlog extension
  • improved patchbomb extension
  • example FastCGI script

Version 0.9.3 - 2006-12-17

Bug fixes:

  • fix a merge copy/rename corner case
  • fix spurious new heads message with push -r
  • fix hg export %n sequence numbers
  • fix shell quoting on Windows
  • fix charset encoding for hgwebdir and obfuscated addresses
  • fix missing generated files for distribution tarball
  • fix convert-repo tag updates and transcoding of committer
  • add instructions for redoing failed merges

Documentation fixes:

  • hg cat, manifest, and tag default to current parent revision.
  • CGI stub comments clarified
  • corrected synopses for many commands
  • improve doc building and distribution
  • convert-repo: update usage information

Extension fixes:

  • mq: fix strip on Windows
  • mq: fix some guards corner cases
  • gpg: make 'hg sign' default to current parent

Version 0.9.2 - 2006-12-10

New features:

  • merge now follows renames and copies
  • new layout protects against case-insensitivity issues
  • new branch and branches commands for managing named branches
  • push command accepts -r for pushing specified heads or named branches
  • proper storage of changelog and other metadata in UTF-8
  • log, annotate and grep --follow follow renames and copies

  • date parsing is improved and log, update, and revert now accept --date ranges
  • additional command options for log, status, addremove
  • improved schema for hgweb URLs
  • bundle can now use -r and --base removing the need of an base repository

  • support for git-style extended patches with --git option
  • new debuginstall command to check for common installation issues

New contributions and extensions:

  • mq
    • support for quilt-style guards
    • can import existing changesets into mq (qimport -r) or commit mq patches as regular changesets (qdel -r)

    • edit the log message with qrefresh -e

    • rename patches with qrename

    • qheader to display the patch header of particular patches, and --summary for qseries, qapplied, qunapplied and qtop

    • combine patches with qfold

    • qrefresh supports pattern options to import only a subset of the changes into a patch, to help split changes into multiple patches
    • patch names for applied patches act like local tags, and can be used in the revision arguments of any hg command
  • hgk
    • browse a subset of the entire history with --limit and revision range arguments

    • shows revision numbers as well as node hashes
  • churn: graph lines of code changed per user over a range of history
  • patchbomb: generate inline attachments with -a

Behavior changes:

  • hg cat defaults to the working directory revision rather than tip
  • hg manifest no longer shows internal file revision hashes by default
  • hg revert now requires the -a flag to revert all files

Developer notes:

  • new high-level API functions in the hg module

  • new context API simplifies many operations
  • The changelog can now include arbitrary metadata in key: value form

Version 0.9.1 - 2006-07-24

These are the major changes between Mercurial 0.9 and 0.9.1:

  • New features:
    • You can now configure your hgweb server to let remote users push changes over http.

    • You can now import a patch in a mail message by saving the mail message, and importing it. This works for patches sent either inline or as attachments.

    • The diff command now accepts -rA:B syntax as a synonym for -r A -r B, and adds -b and -B options.

  • New contributions and extensions:
    • The acl extension lets you lock down parts of a repository against incoming changes

    • The extdiff extension lets you run your favourite graphical change viewer

    • Comprehensive integration with the vim editor

    • A restricted shell for ssh-hosted repositories

    • An importer for darcs repositories

  • New hooks added:
    • preupdate is run before an update or merge in the working directory.

    • update is run after an update or merge in the working directory.

  • Behaviour changes:
    • NOTE: Mercurial as installed by the Windows binary installer no longer performs automatic line-ending conversion for Unix/Linux compatibility. To re-enable this feature, edit your mercurial.ini file after you upgrade.

    • The Windows binary installer now automatically adds hg to your %PATH%.

    • The backout command now runs an editor by default, to let you modify the commit message for a backed-out changeset.

    • An earlier problem with parsing of tags [http://www.selenic.com/repo/hg?cs=dbdce3b99988 has been fixed]. This makes tag parsing slower but more reliable.

  • Memory usage and performance improvements:
    • The remove command has been rewritten to be hundreds of times faster in large repositories.

    • It is now possible to clone a repository very quickly over a LAN, if the server is configured to allow it. See the new server section in the hgrc documentation.

  • Other changes of note:
    • Mercurial will now print help for an extension if you type hg help EXT_NAME.

    • The usual array of bug fixes and documentation improvements.
    • The integrated web server is now more [http://www.python.org/dev/peps/pep-0333/ WSGI]-compliant.

    • Work has begun to solidify Mercurial's API for use by third-party packages.

Version 0.9 - 2006-05-10

[http://www.selenic.com/pipermail/mercurial/2006-May/008093.html Release announcement.]

These are the major changes between Mercurial 0.8.1 and 0.9:

  • The repository file format has been improved.
    • This has resulted in an average 40% reduction in disk space usage.
    • The new format (called RevlogNG) is now the default.
    • Mercurial works perfectly with both the old and new repository file formats. It can transfer changes transparently between repositories of either format.
    • To use the new repository format, simply use hg clone --pull to clone an existing repository.

    • Note: Versions 0.8.1 and earlier of Mercurial cannot read RevlogNG repositories directly, but they can clone, pull from, and push to servers that are serving RevlogNG repositories.

  • Memory usage has been improved by over 50% for many common operations.
  • Substantial performance improvements on large repositories.
  • New commands:
    • archive - generate a directory tree snapshot, tarball, or zip file of a revision

  • Deprecated commands:
    • addremove - replaced by add and remove --after

    • forget - replaced by revert

    • undo - replaced by rollback

  • New extensions:
    • Bugzilla integration hook
    • Email notification hook
  • Nested repositories are now supported. Mercurial will not recurse into a subdirectory that contains a .hg directory. It is treated as a separate repository.

  • The standalone web server, hg serve, is now threaded, so it can talk to multiple clients at a time.

  • The web server can now display a "message of the day".
  • Support added for hooks written in Python.
  • Many improvements and clarifications to built-in help.

Version 0.8.1 - 2006-04-07

Released [http://www.selenic.com/pipermail/mercurial/2006-April/007534.html 2006-04-07].

  • New extensions:
    • mq (manage a queue of patches, like quilt only better)

    • email (send changes as series of email patches)

  • New command: merge (replaces update -m)

  • Improved commands:
    • log (--limit option added)

    • pull and push (-r works on specific revisions)

    • revert (rewritten, much better)

  • Comprehensive hook support
  • Output templating added, supporting e.g. GNU changelog style
  • Windows, Mac OS X: prebuilt binary packages, better support
  • Many reliability, performance, and memory usage improvements

Version 0.8

Major changes from 0.7 to 0.8:

 faster status, diff, and commit
 reduced memory usage for push and pull
 improved extension API
 new bisect, gpg, hgk, and win32text extensions
 short URLs, binary file handling, and optional gitweb skin for hgweb
 numerous new command options including log --keyword and pull --rev
 improved hooks and file filtering

Version 0.7

Changes from 0.6 to 0.7:

core
 greatly improved merge logic
 improved copy/rename support (still experimental)
 automatic binary file handling
 generic file filtering support
 support for user-defined hooks (aka triggers)
 support for local tags and finding branches with tags
 numerous performance improvements
command line
 fewer long, confusing hashes to deal with
 new commands: clone, revert, incoming/outgoing, bundle/unbundle, grep, rename
 more powerful path handling with most commands
 improved push and pull support
 support for plug-in extensions
 much improved exception handling and debugging support
 many new command options and settings
web interface
 more conformant and compatible HTML output
 built-in RSS feeds
 fast multiple keyword search
 easy to set up multiple repository interface
 configurable support for downloading tarballs and zip files
 improved configurability
 IPv6 support
documentation
 improved built-in help and man pages
 a greatly expanded wiki
 tutorials in multiple languages
portability
 full support for Windows, including hardlinking and file filtering
 should easily compile and install on any modern UNIX
 binary packages available for many systems
extras
 powerful bash completion support
 Emacs integration
 updated hgk
and more
 expanded test suite
 numerous bug fixes and cleanups

Changes from 0.6c to 0.7:

core
 improved merge logic
 improved copy/rename support (still experimental)
 automatic binary file handling
 generic file filtering support
 various performance improvements
command line
 new bundle/unbundle commands for exchanging native updates
 more natural support for remove, copy, and rename
 faster, more powerful log command
 new grep command for searching entire history
 support for plug-in extensions
 improved exception handling and debugging facilities
hgweb
 optional downloading of tarballs and zip files
Windows support
 hardlinking support
 newline conversion through file filtering
contrib
 updated hgk

WhatsNew (last edited 2024-03-21 11:28:40 by RaphaelGomes)