#pragma section-numbers 2 = Shelve Extension = /!\ Mercurial 2.8 and later include a different ShelveExtension. '''This extension is not distributed with Mercurial.''' ''Author: TK Soh (<>)'' ''Current maintainer: Oleg Oshmyan (<>)'' Repository: https://bitbucket.org/astiob/hgshelve <> == Overview == The shelve extension provides the `shelve` command to let you choose which parts of the changes in a working directory you'd like to set aside temporarily, at the granularity of patch hunks. You can later restore the shelved patch hunks using the `unshelve` command. The shelve extension has been adapted from Mercurial's RecordExtension. == Compatibility with Mercurial == || '''Mercurial''' || '''Shelve Extension''' || || 2.9.x - || [[https://bitbucket.org/astiob/hgshelve/commits/62eece7dd02f|62eece7dd02f]] or later || || 2.7.x - 2.8.x || [[https://bitbucket.org/astiob/hgshelve/commits/62eece7dd02f|62eece7dd02f]] to [[https://bitbucket.org/astiob/hgshelve/commits/175cd3ae9e53|175cd3ae9e53]] || || 2.2.x - 2.6.x || [[https://bitbucket.org/astiob/hgshelve/commits/53dbf2e68dc6|53dbf2e68dc6]] to [[https://bitbucket.org/astiob/hgshelve/commits/f482f58b8054|f482f58b8054]] || || 1.9.x - 2.1.x || [[https://bitbucket.org/astiob/hgshelve/commits/53dbf2e68dc6|53dbf2e68dc6]] to [[https://bitbucket.org/astiob/hgshelve/commits/80217a869c9b|80217a869c9b]] || || 1.6.x - 1.8.x || [[https://bitbucket.org/astiob/hgshelve/commits/41e13e800fb6|41e13e800fb6]] to [[https://bitbucket.org/astiob/hgshelve/commits/3d7a2a3ae9a5|3d7a2a3ae9a5]] || || 1.5.x || [[https://bitbucket.org/astiob/hgshelve/commits/d95c583611f8|d95c583611f8]] || || 1.4.x || [[https://bitbucket.org/astiob/hgshelve/commits/276d8083dc3b|276d8083dc3b]] || || 1.3.x || [[https://bitbucket.org/astiob/hgshelve/commits/18815655993b|18815655993b]] to [[https://bitbucket.org/astiob/hgshelve/commits/3920be7ffb42|3920be7ffb42]] || || 1.1.x - 1.2.x || [[https://bitbucket.org/astiob/hgshelve/commits/7090a3ed2da7|7090a3ed2da7]] || || < 1.1.x || [[https://bitbucket.org/astiob/hgshelve/commits/ef85a6331d31|ef85a6331d31]] || The source repository has tags denoting the last changesets compatible with particular versions of Mercurial. == Configuration == Configure your ''`.hgrc`'' to enable the extension by adding following lines: {{{ [extensions] hgshelve=/path/to/hgshelve.py }}} or place `hgshelve.py` in your 'hgext' directory and add the following lines: {{{ [extensions] hgext.hgshelve= }}} If you use the win32text extension, make sure you have the following lines in your ''`.hgrc`'' or ''`mercurial.ini`''. This enables automatic line-ending translation when applying patches. {{{ [patch] eol = auto }}} == Usage == (this is only a description of the basic usage) {{{ hg shelve }}} Temporarily stash away changes. You can select the exact hunks of changes you want to shelve. {{{ hg shelve --all }}} Temporarily stash away changes. All hunks will automatically be selected. {{{ hg unshelve }}} Get the changes back into the workdir. === Shelves === Different changesets can be saved to different shelves, by using the '''--name''' parameter. Without this parameter, the shelf name "default" is used. You can have any number of shelves at one time. {{{ hg shelve --name myshelf }}} Temporarily stash away changes to the shelf '''myshelf'''. Any changes already shelved to a different shelf will not be included. {{{ hg shelve --name myshelf --append }}} Add any changes to the existing shelf '''myshelf'''. {{{ hg unshelve --name myshelf }}} Get the changes stashed away to the shelf '''myshelf''' back into the workdir, and remove the shelf. Any changes shelved to a different shelf will not be included. {{{ hg shelve --list }}} List all current shelves. === Hunk selection === {{{ y - shelve this change n - skip this change s - skip remaining changes to this file f - shelve remaining changes to this file d - done, skip remaining changes and files a - shelve all changes to all remaining files q - quit, shelveing no changes ? - display help }}} == See also == * AtticExtension * [[/Talk|Talk]] page ---- CategoryExtensionsByOthers