Mercurial 2.1 (2012-02-01)#

Mercurial 2.1.2 (2012-04-01)#

This is a regularly-scheduled bugfix release.

  • alias: abort on missing positional args (issue3331)

  • aliases: use empty string for missing position parameters (issue3331)

  • bookmarks: clone non-divergent bookmarks with @ in them

  • convert/git: abort if git submodules are detected (issue2150)

  • convert: deal with empty splicemap path (issue3311)

  • dirstate: avoid normalizing letter case on icasefs for exact match (issue3340)

  • dirstate: fix some problems for recursive case normalization (issue3342)

  • dirstate: normalize case of directory components

  • extdiff: escape filenames with vim/DirDiff and make quoting work with Windows

  • filemerge: remove temporary files when using internal:dump as merge-tool

  • filemerge: restore default prompt for binary/symlink lost in 83925d3a4559

  • icasefs: use case preserved root for 'util.fspath()' invocation (issue3302)

  • largefiles: suppress unexpected warning of 'hg status' for removed files

  • localrepo: fix unpushable repos when using bookmarks (issue3317)

  • merge: accept missing revisions in symlink flag merge (issue3316)

  • merge: handle linear update to symlink correctly (issue3316)

  • mq: fix qpush --move with comments in series file between applied patches

  • qfinish: comply with the phases.new-commit option in secret mode (issue3335)

  • rebase: move bookmarks as needed with pull --rebase (issue3285)

  • rebase: properly calculate descendant set when aborting (issue3332)

  • rename: handle case-changing (issue1717)

  • setup.py: don't call splitlines twice on the output of xcodebuild (issue3277)

  • strip: enhance repair.strip to receive a list of nodes (issue3299)

  • strip: ignore -n (issue3326) (BC)

  • wix: add phases help text and two more translations (issue3288)

Mercurial 2.1.1 (2012-03-01)#

This is a regularly-scheduled bugfix release.

  • bdiff: fix malloc(0) issue in fixws()

  • bugzilla: stop XMLRPC requests from requesting gzipped responses

  • bundlerepo: bundle repos should be non-publishing (issue3266)

  • cmdserver: invalidate the dirstate when running commands (issue3271)

  • context: make workingctx.forget() really warn about untracked files

  • convert: ignore blank lines in mapfiles (issue3286)

  • convert: tolerate spaces between splicemap parent ids (issue3203)

  • convert: use splicemap entries when sorting revisions (issue1748)

  • dirstate: filecacheify _ignore (issue3278)

  • fetch: use update rather than clean when updating (issue3246)

  • forget: show warning messages for forgetting in subrepo correctly

  • graft: use proper revisions for copy detection (issue3265)

  • import: handle git renames and --similarity (issue3187)

  • largefiles: check whether specified patterns are related to largefiles strictly

  • largefiles: don't break filesets

  • largefiles: only cache largefiles in new heads

  • largefiles: use repo.store.createmode for new files in .hg/largefiles

  • localrepo: clear _filecache on rollback (issue3261)

  • localrepo: reset _phasesdirty flag after writing

  • localrepo: use 'changectx.dirs()' in 'status()' for directory patterns

  • log: fix --follow FILE ancestry calculation

  • log: remove caching of all visited revisions (issue3253)

  • log: restore cache used by --copies

  • mdiff: adjust hunk offsets with --ignore-blank-lines (issue3234)

  • mq: fix qapplied --last and qprev documentation (issue3282)

  • mq: fix qnext when all remaining patches are guarded

  • mq: make qimport --push push all imported patches (issue3130)

  • mq: make qprev return the previous applied patch (issue3245)

  • mq: restore _branchtags() fast path (issue3223)

  • patch: fix fuzzing of hunks without previous lines (issue3264)

  • patch: fuzz more aggressively to match patch(1) behaviour

  • pull: backout change to return code

  • scmutil: update cached copy when filecached attribute is assigned (issue3263)

  • setup: handle output from Apple's Xcode 4.3 better (issue3277)

  • subrepo: fix for merge inconsistencies

  • update: delete bookmarks.current when explicitly updating to a rev (issue3276)

  • update: don't move the active bookmark if a rev is specified with -r

Mercurial 2.1 (2012-02-01)#

This is a regularly-scheduled feature release. See UpgradeNotes for some minor compatibility notes.

Major features#

  • Changesets now have a phase attribute, which tracks what changesets are safe to modify (see Phases)

Core changes#

  • annotate: support diff whitespace filtering flags (issue3030)

  • bookmarks: automatically advance bookmark on bare update (BC) (issue2894)

  • bookmarks: shadow divergent bookmarks of foo with foo@n

  • copies: improved copy detection for diff and status

  • hooks: new priority specifier to control ordering

  • id: add command line options for handling ssh and https urls

  • push: propagate --new-branch and --ssh options when pushing subrepos

  • revset: add remote() predicate to lookup remote revisions

  • subrepo: support explicit add and forget of files in subrepos

Extension changes#

  • bugzilla: make XMLRPC interface support http and https access

  • largefiles: add --normal option to hg add (issue3061)

  • notify: add option for writing to mbox

  • rebase: add a "D" short option for detach

  • rebase: allow --detach when --rev is used

  • win32mbcs: allow win32mbcs extension to be enabled on cygwin platform

  • mq: add secret phase setting

Bug fixes#

  • hgcia: fix diffstat support

  • largefiles: add error checking to tags conversion (issue3092)

  • largefiles: add tests for uncovered codepaths (issue3092)

  • largefiles: check if largefile could be found when archiving (issue3193)

  • largefiles: correctly download new largefiles when merging

  • largefiles: correctly handle dirstate status when rebasing

  • largefiles: correctly handle newly added largefile on other side of merge

  • largefiles: display remote errors from putlfile (issue3123) (issue3149)

  • largefiles: don't reference uninitialized variable (issue3092)

  • largefiles: fix caching largefiles from an aliased repo (issue3212)

  • largefiles: fix confusion upon removal of added largefile (issue3176)

  • largefiles: fix inappropriate locking (issue3182)

  • largefiles: fix output of hg summary (issue3060)

  • largefiles: cache new largefiles for new heads when pulling

  • largefiles: implement addremove (issue3064)

  • largefiles: optimize performance of status on largefiles repos (issue3136)

  • largefiles: optimize status when files are specified (issue3144)

  • largefiles: remove empty directories upon update (issue3202)

  • largefiles: fix addremove when no largefiles are specified

  • largefiles: fix revert on missing largefile (issue3217)

  • largefiles: fix transplant for all cases (issue3192)

  • mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)

  • merge: give a special message for internal:merge failure (issue3105)

  • rebase: reinstate old-style rev spec support for the source and base (issue3181)

  • ssh: quote remote paths (issue2983)

  • sslutil: abort properly if no certificate received for https connection

  • sslutil: show fingerprint when cacerts validation fails

  • status: support revsets with --change

  • subrepo: avoid syncing bookmarks twice on clone (issue3191)

  • tag: invalidate tag cache immediately after adding new tag (issue3210)

  • util: don't encode ':' in url paths

  • bundlerepo: try to find containing repo on creation (issue1812)

  • convert: subversion convert abort on revision not found (issue3205)

  • discovery: fix regression when checking heads for pre 1.4 client (issue3218)

  • merge: defer symlink flag merging to filemerge (issue3200)

  • patch: a little bit more robust line counting on diff --stat (issue3183)

  • push: return 1 if no changes found (issue3228)

  • qpush: avoid trying to manage existing history (issue2218)

  • revsets: include the correct first ancestor change for follow(file)

  • revsets: filesets now work correctly inside of revsets