Clone wiki

HgSccPackage / History


Version v2.0.6

  • Added support for MS Visual Studio 2019 Preview 3
  • Fixed showing seconds for changeset commit time in the GUI
  • Fixed null reference exception when sorting an empty grid view

Version v2.0.5

  • Added support for MS Visual Studio 2017 RC

Version v2.0.4

  • Added support for Elvis Designer v3.3+ isolated shell application

Version v2.0.3

  • Fixed issue when removed and then re added project files stay removed in source control
  • Save columns width for bitbucket repository window

Version v2.0.2

  • Fixed unhandled exception when using a wrong credentials for BitBucket
  • Show all repositories available to a user on BitBucket
  • Fixed loading a projects without SCC bindings
  • Added keyboard accelerators for menu commands
  • Added owner and descrition columns for bitbucket repository browser

Version v2.0.1

  • Changed text rendering option in all WPF windows to use Display formatting mode to make it less blurry
  • Added option to use MS Visual Studio internal diff tool for file comparison in non modal windows
  • Added minimal width for file pane (issue #84)
  • Added a dark theme. You can select between light and dark themes in package settings.
  • Fixed repository creation for Kiln
  • Removed unnecessary reference to shell assembly v12 (from VS2013) and changed it to v11 (VS2012). This fixes issue #100.

Version v2.0.0

  • The HgSccPackage is converted to VSIX format and now can be installed from MS Visual Studio using extension gallery
  • Support for VS2008/2010 is moved to a separate fork

Version v1.9.3:

  • Fixed package uninstallation
  • Allways check if mercurial client is found on startup. This handle the case where mercurial client was installed earlier but now is not available (i.e. uninstalled)

Version v1.9.2:

  • Fixed an error on package activation if mercurial client is not found
  • Added an example of mercurial username syntax in commit dialog if the username is not set

Version v1.9.1:

  • Added support for VS2013 and VS2015
  • Fixed bug with showing blank information for the initial revision in the repository
  • Fixed initial height of commit message textbox
  • Fixed an infinite hang for commands: Clone/Incoming/Outgoing/Pull/Push if they need to prompt for password. Now this commands are run in non-interactive mode, so they fail immediately with authorization error.
  • Fixed a bug with type convertion when adding a WinJS project to source control in VS2012
  • Changed toolbar name to Mercurial
  • Create a dedicated pipe for standard error pipe to prevent 'Arithmetic Exception' error when running a mercurial in the cmdserver mode.
  • Added check for a good values when saving/loading windows position from settings

Version v1.9:

  • The package now uses mercurial via command server protocol. This change improved dialog windows startup, history browsing and overall performance.
  • Added initial support of filtering revisions by revsets in a graph log window
  • Speed up rename tracking in a file history and annotate windows
  • Remember height of changes list in annotate window
  • Added syntax highlighting for a Python language in annotate window
  • Show both parents for merged revisions as tab pages with changed files in file history and annotate windows
  • Always create a mercurial repository on BitBucket (fixed issue #70)
  • Show only mercurial repositories from BitBucket (without git)
  • BitBucket and Kiln repositories now odered by name
  • Run resolve command in non interactive mode. Otherwise, mercurial may ask about unchanged file after resolving and hang.
  • Show mercurial path and version at the About page in package options
  • Added a check for username before committing (fixed issue #71)
  • Changed required mercurial version to v2.1.1, because it contains an important bug fixes for a command server mode

Version v1.8.5:

  • Fixed authentication issue with Kiln, due to changes in Kiln API. You may also need to append a /Kiln/ suffix to your Kiln dashboard URL to login (if you are not a Kiln On Demand user).

Version v1.8.4:

  • Improved IDE performance while editing files when package is active.

Version v1.8.3:

  • Fixed issue with package loading in VS2008 due to changed package description in v1.8.2. That made PLK (package load key) invalid.

Version v1.8.2:

  • Added support for MS Visual Studio 11 Developer Preview
  • Fixed bug with crashing a diff tool selection dialog when it is invoked first time from a non Options window
  • Fixed a bug with a path comparison for subrepositories
  • New installer (WiX based)
  • Installation of .Net Framework v3.5 SP1 is not enforced on MS Windows 8 Developer Preview

Version 1.8.1:

  • Added support to automatically load a solution after a successful clone
  • Fixed toolbar commands positioning when customized by user
  • Added top level menu for operations with Mercurial
  • Package commands in the Tools -> Options -> Keyboard looks now like: Mercurial.Clone, Mercurial.Commit, etc. This makes it easier to find them.
  • Repository path is now automatically saved as default path alias after successful push, but only if there are no paths aliases for repository
  • Combobox with repository path in Synchronize window is always enabled now to make it possible to copy/paste the repository path
  • Fixed package version in Visual Studio about dialog
  • Remember last used project/group for Kiln in the new repository window
  • Remember last used private setting for new repository for BitBucket
  • Added support for creating new projects and groups in Kiln

Version 1.8:

  • Initial integration with BitBucket and Kiln in folowing windows: Clone, Synchronize, Path alias editor. You can create, view, delete and select a remote repositories.
  • Do not add files automatically for web site projects
  • Added a check that solution file is exists on project opening, because for web site projects it may not exists on first project open
  • Added support for manually adding a selected files to source control with 'Add to Source Control' command for web site projects
  • New icon for grep operation in menu and toolbar
  • New options window is now shown in the package when called from menu or toolbar
  • Added new options pages: BitBucket, Kiln, HttpProxy
  • Removed old options page from Tools -> Options -> Source Control -> Mercurial Options
  • Fixed a bug with hang on reverting a large list of files
  • Fixed bug in ini parser, which does not work if the file contains a non windows line endings
  • Fixed url encoding of spaces. HttpUtility.UrlEncode encodes space as '+', but most tools expects %20.

Version 1.7.1:

  • Fixed closing of the commit window for the repository which have no revisions (empty)
  • Allow to change branch name on first commit

Version 1.7:

  • Added check for mercurial v1.8
  • Updated bookmarks support as those are in the core mercurial v1.8
  • Added parsing of bookmarks using styles and added bookmarks to changeset description
  • Fixed bug with not showing bookmarks in FileHistory and Annotate windows if those windows are run from revisions graph log
  • Files are now passed with listfile pattern to mercurial client to overcome command line length limitation
  • Use HGPLAIN environment variable to disable mercurial i18n in the output
  • Use "parents" command instead of "identify" in the most windows, because check for uncommited changes can be time consuming on large repositories

Version 1.6.1:

  • Fixed a bug with not updating a file status cache after pull
  • Fixed a bug with hang of mercurial client (hg.exe) in background in some cases
  • Fixed a bug with not showing a property page for HgSccPackage in Tools->Options->Source Control, when a path for merge tool contains quotes
  • Fixed a bug with diff dialog throwing exception when path for merge tool contains quotes
  • If the diff tool is not exist anymore, do not add it to diff tool combobox in setting page

Version 1.6:

  • Added support for bookmarks extension.
  • Added support for rebase extension.
  • Bookmarks are now visible in revisions graph log, file history and annotate windows.
  • Added a dialog for operations with bookmarks to revisions graph log window.
  • Added a dialog for rebase revisions in revisions graph log window.
  • Added option to compare bookmarks on incoming/outgoing commands.
  • Improved synchronize window to work with bookmarks and named branches. Added option to allow pushing a named branch to remote repo.
  • Added an option for action after pull in synchronize window: nothing, update and rebase.
  • Added support to reload revisions graph log via F5. The graph now automaticaly reloads after adding new tags or after rebase.
  • Introduced a cache for some of mercurial information (branches, tags, bookmarks, current revision, parents) and pass it between UI dialogs to imporve performance.
  • Fixed a bug in handling of tag changes in file history and annotate windows. The flag for asynchronous operation was specified incorrectly (Identify, instead of Tags)

Version 1.5.3:

  • Added initial support for mercurial subrepositories
  • Fixed a bug where each file name was specified twice in a command line, that passed to mercurial client (hg.exe) for a various commands (status, add, remove, revert, resolve). This bug was unnoticed untill the caseguard extension triggered an error (thanks to Avi Douglen who reported an issue)
  • Fixed border drawing for tags/branches in several windows. There was no vertical alignment, so the border was not always drawn precisely
  • The current file is now selected in changeset file list (with respect of renames) when user change a selected changeset in the FileHistory window
  • Select first checked item in commit and revert windows. This makes it more convenient to use when the command invoked from a single selected file in solution explorer

Version 1.5.2:

  • Annotate window now uses editor with syntax highlighting to show file content with annotated lines (instead of listview)
  • The currently annotated file is now selected in changeset file list (with respect of renames) when user change a selected changeset
  • Added a border around tags/branches names
  • Added launch condition to the installer to check if any of MS Visual Studio 2008/2010 installed (Standard Edition or above)
  • Added file status color highlighting in all package windows
  • Fixed duplicated diffs due to not clearing a diff colorizer on async complete (most noteable in Commit Window)
  • Show waiting cursor for operations: clone, merge, incoming, pull, outgoing, push
  • Added warning about commiting the files, which are deleted localy, but not removed in mercurial
  • Commit window now runs mercurial commands asynchronously to speed up startup time on large repositories

Version 1.5.1:

  • Fixed commit dialog crash with commiting first revision (in new repository)

Version 1.5:

  • Fixed deleting files for some project types (for example C++), they were deleted localy, but not removed in mercurial
  • Diff tool now runs in non modal mode, so you can diff several files at the time
  • View file tool now runs in non modal mode
  • Diff tools autodetection was changed to use mercurial merge-tools
  • Added ability to specify command line arguments for diff tools
  • Added experimental support for working with projects/solution, that are not controlled by source control, but contains files, which are controlled. This can be usefull for auto generated prj/sln files (for example by cmake).
  • Added support for viewing inline file difference to the most of package windows: Revisions Graph, File history, Annotate, Grep, Commit, Revert
  • Improved dialog startup time and speed of folowing package windows: Revisions Graph, File history, Annotate. This should make them more responsible to the user on large repositories.
  • Save last used archive type in configuration

Version 1.4:

  • Fixed layout and margins for UI
  • Fixed broken status glyphs for allready loaded solution/projects when provider is set as active in Tools->Options->SourceControl
  • Fixed typo in synchronize settings window tittle
  • Added hotkey Ctrl+Enter for commit
  • Remember position for ChangeSccBindings and CreateRepository windows
  • Removed extra new line(s) at the end of commit message in folowing windows: RevisionGraph, Grep, FileHistory, Annotate

Version 1.3.3:

  • Fixed url escaping of username and password for reserved characters in synchronize, clone and path edit windows
  • Added ChangeSccBindings command under File menu, which allows to add/remove Scc bindings for projects and solution
  • Fixed issue with disabled "Add to Source Control" command for uncontrolled project when it is loaded in controlled solution and located in mercurial repository
  • Fixed status update for project files after save, if those projects are not located in repository with solution

Version 1.3.2:

  • Fixed several issues with updating status glyph for WindowsForms designer generated files in solution explorer
  • Fixed loading UseSccBindings option from settings
  • Added new option CheckProjectsForMercurialRepository, that controls whether provider will check for a mercurial repository at projects location even if solution is not controlled and located outside of mercurial repository
  • Fixed registering solution and projects as controlled when solution does not contain Scc bindings, but located in mercurial repository. This was not worked if UseSccBindings option was disabled
  • Fixed saving solution Scc bindings for added solution when UseSccBindings option is changed from "off" to "on" without closing solution first

Version 1.3.1:

  • Fixed bug with deleting a file when file is excluded from project or file link is removed from project
  • Fixed tracking renames in Annotate and FileHistory windows, when those are invoked from other windows (i.e. not from a toolbar or context menu in solution explorer)

Version 1.3:

  • Added support for multiple repositories in a single solution
  • Enabled commands Compare/ViewHistory/Annotate for solution file in the solution explorer
  • Added batched file status update after file save (this should speed up 'Save all' command)
  • Context menu commands for HgSccPackage in solution explorer are moved to submenu
  • File name and extension is now preserved for temporary files when invoking difference tool
  • Added dialog for selecting new repository location on 'Add to source control' command. It will be invoked only if there are no repository at solution/project location.
  • Fixed status glyphs for files in solution explorer for web site projects in VS2010
  • Added 'Refresh Status' command to update status for files in solution explorer for all controlled projects and repositories
  • Removed lowering of repository root, that shown in windows tittle

Version 1.2:

  • The commit/revert commands will be enabled if there are any changes in the repository. Earlier you have to select modified file or project in solution explorer to run those commands.
  • Fixed "HgSccHelper.Hg threw an exception" issue, which can arise when you have quoted paths in PATH environment variable
  • Added UseSccBindings option in package settings, which controls whether package will use Scc bindings for new projects and solution
  • Added batched status update for modified files. That should reduce solution loading time in some cases.
  • Added support for sorting columns in files list to most of the package windows
  • Fixed wrong revision id when viewing removed file in revision graph log window for merged revisions

Version 1.1:

  • Added additional glyphs indication in solution explorer for the folowing file states:
    • Added
    • Copied from other file
    • Deleted
    • Modified in memory (dirty)
  • Added grep window to search for a pattern in specified files and revisions
  • Added support for viewing file in editor, configured in ui.editor section of hgrc/Mercurial.ini
  • Added support for running any hg executable (.bat, .exe, etc), not just hg.exe. The package will search for hg executable once on startup.
  • Most UI windows are now showing repository root or filename in the tittle
  • Added digital signature to the package installer

Version 1.0.9:

  • Added support for file annotation (blame)
  • Package GUI windows now saves and restores their size and position
  • Most of list views in GUI are also save/restore columns width

Version 1.0.8:

  • Added synchronize settings, where user can add/edit/remove remote paths for repository
  • Added authorization options to clone window and to synchronize window. Now user can specify username and/or password inplace, without editing paths.
  • Deleted files are now visible in commit & revert windows
  • Commit window now support merge tools
  • Fixed context menu popup visibility while running diff command from all plugin windows
  • Added support for selecting merge tools for merging. Also you can optionaly accept local or other changes. Merge window was redesigned to show mercurial output for merge
  • The default path alias is now selected if exists in the synchronize window
  • Increased max lines limit for commit message textbox from 5 to 10 lines. Also added a grid splitter to the commit window, so you can resize commit message text box to any size, if ten lines is not enough.
  • The height of textboxes for changeset description in revisions graph log window and in file history window are now bound to gridsplitters
  • Fixed bug with marking file as resolved after unsuccessful merge in commit window

Version 1.0.7:

  • Fixed bug in installer #12 (Setup fails with rror 1001. Unable to get installer types ...)
  • Added clone window
  • Added support for bundles to synchronize window and to revisions graph log window
  • Added support for archive
  • Added support for operations with named branches to commit window
  • Added support for operations (Update, View Revision Log, Tags, Synchronize) even for projects, that have no source control bindings, but there are under mercurial repository. This allows to update to earlier revision, where solution and project was not bound with HgSccPackage provider
  • Revision graph log window, file history window and update window can show closed branches now
  • Fixed some minor issues

Version 1.0.6:

  • New commit window with support of resolving merge conflicts
  • Update to revision is now handled smoothly by MS Visual Studio
  • Added basic support of merging revisions
  • Added branch name and current revision visualisation to revisions graph control and file history window
  • Revisions graph control and file history window will handle updates for: tags, current revision and branch names
  • Revision graph control can now show file difference with both parents, for merged revisions
  • Added revert window, where you can select files to revert
  • All windows are WPF based now
  • Added support for drag'n'drop or copy/paste files with preserving file history. (Note: This works only within a same project).
  • Fixed TAB navigation for most GUI windows
  • Fixed several issues with MSVS 2010

Version 1.0.5:

  • Added support for 'Update' command
  • Added support for 'Add/Remove Tags' command
  • Added visualization for tags in revision graph log and file history windows
  • Fixed issue with MS Expression Blend 3 compatibility (#8)
  • Fixed issue with file renames grouping in file history dialog. If file was renamed several times and new name is equal to one of the previous name, then grouping was incorrect, because it uses only file name.
  • Fixed bug with string marshalling which can cause MS Visual Studio to crash. (#7)
  • Fixed issue with not showing all revisions in revision log control (removed 'follow' option).
  • Some minor fixes


  • The HgSccPackage properties for projects in solution file (.sln) was removed in this version. Those properties was not used in any way, but MS Expression Blend can't load such solutions.
  • On update command plugin will reload solution automaticaly. I know, this is not a best way, but this will be improved in next versions.
  • Top level plugin windows was changed to use Windows Forms which hosts WPF controls, because of some interop issues with MS Visual Studio and WPF

Version 1.0.4:

  • Added integration for MS Visual Studio 2010 Beta 2
  • Fixed bug with one file referenced multiple times in a project or projects (for example as link)
  • Forms are now closed by Escape (thanks to Dainius Bekeris)
  • Fixed bug in File History dialog with file renames (thanks to Dainius Bekeris)
  • Fixed bug with commit messages with non-english characters

Version 1.0.3:

  • Support for basic operations: Add, Remove, Commit, Revert, Rename, Compare
  • File history dialog with support of file differencing
  • Support tracking of file renames in file history dialog
  • Support external file comparison tools (use plugin options at Tools->Options->Source Control->Mercurial Options Page)
  • In commit dialog you can check the files for checkin. Also you can compare files in commit dialog to see the changes with previous revision
  • Toolbar for basic operations with Mercurial
  • Tracking changes for files modified outside of IDE
  • Revisions graph log. This feature is similar to hgk, hgview & tortoisehg change log window.
  • Support for Push/Pull/Incoming/Outgoing
  • Fixed several bugs with command line length, which can cause visual studio to hang


  • No support for Patch queues (MQ)
  • No support for Bundles
  • No support for Merge
  • No support for Get revision