Size: 2408
Comment: reference AtticExtension; tiny grammar fix
|
Size: 4127
Comment: compatibility update for Mercurial 2.7
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
== Shelve Extension == | #pragma section-numbers 2 = Shelve Extension = |
Line 5: | Line 6: |
''Author: TK Soh <teekaysoh@gmail.com>'' | ''Author: TK Soh (<<MailTo(teekaysoh AT gmail DOT com)>>)'' |
Line 7: | Line 8: |
Repository: [[http://bitbucket.org/tksoh/hgshelve/]] | ''Current maintainer: Oleg Oshmyan (<<MailTo(chortos AT inbox DOT lv)>>)'' |
Line 9: | Line 10: |
=== Overview === | Repository: https://bitbucket.org/astiob/hgshelve |
Line 11: | Line 12: |
The shelve extension provides the `shelve` command to lets 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. | <<TableOfContents>> == 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. |
Line 15: | Line 20: |
=== Compatibility with Mercurial === | == Compatibility with Mercurial == |
Line 18: | Line 23: |
|| 1.6 and later || [[http://bitbucket.org/tksoh/hgshelve/changeset/41e13e800fb6/|41e13e800fb6]] or later|| || 1.5.x and later || [[http://bitbucket.org/tksoh/hgshelve/changeset/d95c583611f8/|d95c583611f8]] or later|| || 1.4.x and later || [[http://bitbucket.org/tksoh/hgshelve/changeset/276d8083dc3b/|276d8083dc3b]] or later|| || 1.3.x || [[http://bitbucket.org/tksoh/hgshelve/changeset/18815655993b/|18815655993b]] or later|| || 1.1.x - 1.2.x || [[http://bitbucket.org/tksoh/hgshelve/changeset/7090a3ed2da7/|7090a3ed2da7]] || || < 1.1.x || [[http://bitbucket.org/tksoh/hgshelve/changeset/ef85a6331d31/|ef85a6331d31]] || |
|| 2.7.x - || [[https://bitbucket.org/astiob/hgshelve/commits/62eece7dd02f|62eece7dd02f]] or later || || 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]] || |
Line 25: | Line 33: |
=== Configuration === | The source repository has tags denoting the last changesets compatible with particular versions of Mercurial. |
Line 27: | Line 35: |
Configure your .hgrc to enable the extension by adding following lines: | == Configuration == Configure your ''`.hgrc`'' to enable the extension by adding following lines: |
Line 34: | Line 44: |
or place hgshelve.py in your 'hgext' directory and add the following lines: | or place `hgshelve.py` in your 'hgext' directory and add the following lines: |
Line 41: | Line 51: |
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. | 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. |
Line 48: | Line 58: |
=== Usage === | == Usage == |
Line 59: | Line 69: |
hg shelve --all }}} Temporarily stash away changes. All hunks will automatically be selected. {{{ |
|
Line 64: | Line 80: |
=== 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. |
|
Line 81: | Line 125: |
=== See also === AtticExtension |
== See also == * AtticExtension * [[/Talk|Talk]] page |
Shelve Extension
This extension is not distributed with Mercurial.
Author: TK Soh (<teekaysoh AT gmail DOT com>)
Current maintainer: Oleg Oshmyan (<chortos AT inbox DOT lv>)
Repository: https://bitbucket.org/astiob/hgshelve
1. 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.
2. Compatibility with Mercurial
Mercurial |
Shelve Extension |
2.7.x - |
62eece7dd02f or later |
2.2.x - 2.6.x |
|
1.9.x - 2.1.x |
|
1.6.x - 1.8.x |
|
1.5.x |
|
1.4.x |
|
1.3.x |
|
1.1.x - 1.2.x |
|
< 1.1.x |
The source repository has tags denoting the last changesets compatible with particular versions of Mercurial.
3. 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
4. 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.
4.1. 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.
4.2. 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
5. See also
Talk page