Differences between revisions 19 and 20
Revision 19 as of 2013-06-01 17:44:13
Size: 3604
Editor: cpe-071-077-042-241
Comment: Add link to documentation about configuration file
Revision 20 as of 2013-08-26 09:50:20
Size: 249
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma section-numbers 2
= Histedit Extension =
'''This extension is distributed with Mercurial 2.3 and later.'''

''Author: Augie Fackler''

Repository: https://bitbucket.org/durin42/histedit/

Works with: Mercurial 1.3 and beyond (tests are run against versions seen [[https://bitbucket.org/durin42/histedit/src/tip/Makefile#cl-23|in the Makefile]].)

In core since version 2.3

<<TableOfContents>>

== Overview ==
History editing plugin for Mercurial, heavily inspired by {{{git rebase --interactive}}}.

It allows selecting ('''pick'''), combining ('''fold'''), rejecting ('''drop''') or modifying ('''edit''') already commited changesets.

== Configuration ==
In versions of Mercurial after 2.3, enable the extension by adding the following lines to your [[http://www.selenic.com/mercurial/hgrc.5.html|configuration file]]:

{{{
[extensions]
histedit =
}}}
For older versions, you need to grab the extension source and then configure your [[http://www.selenic.com/mercurial/hgrc.5.html|configuration file]] to enable the extension by adding following lines:

{{{
[extensions]
histedit = ~/path/to/histedit/hg_histedit.py
}}}
== Usage Scenario ==
The extension adds the {{{histedit}}} command, which takes a {{{revision}}} argument. All changesets from that revision and onwards are selected for history reordering and modification. They are presented as an ordered list with a changeset revision preceded by an action keyword for each line ({{{action revision-id}}}).

If you were to run {{{hg histedit c561b4e977df}}} for a repo with the history graph

{{{
@ 3[tip] 7c2fd3b9020c 2009-04-27 18:04 -0500 durin42
| Add delta
|
o 2 030b686bedc4 2009-04-27 18:04 -0500 durin42
| Add gamma
|
o 1 c561b4e977df 2009-04-27 18:04 -0500 durin42
| Add beta
|
o 0 d8d2fcd0e319 2009-04-27 18:04 -0500 durin42
     Add alpha
}}}
an editor would open containing the following text:

{{{
pick c561b4e977df Add beta
pick 030b686bedc4 Add gamma
pick 7c2fd3b9020c Add delta

# Edit history between c561b4e977df and 7c2fd3b9020c
#
# Commands:
# p, pick = use commit
# e, edit = use commit, but stop for amending
# f, fold = use commit, but fold into previous commit
# d, drop = remove commit from history
#
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
}}}
History rewriting works by reordering changesets so that they reflect a new ordering in the history graph, or by changing the desired action to take on each changeset. The possible actions are one of {{{pick}}}, {{{fold}}}, {{{edit}}} and {{{drop}}}:

 pick:: Simply accepts the changeset as is. This is the default action.
 fold:: Combines a changeset with the previous changeset in the list and opens an editor to edit the commit message.
 edit:: Drops to the command prompt, allowing to edit files freely to commit some changes as a separate commit. When done, any remaining uncommitted changes will be committed as well. When done, run {{{hg histedit --continue}}} to finish this step or {{{hg histedit --abort}}} to abandon the new changes and keep the previous state.
 drop:: Removes the changeset from history.

When changes lead to conflicts then the user is dropped to the command prompt and has the very same options as when the {{{edit}}} action is selected. To accept new changes the {{{hg histedit --continue}}} command is used and to drop them the {{{hg histedit --abort}}} one.

See http://bitbucket.org/durin42/histedit/src/tip/README for a more detailed explanation.

----
CategoryExtensionsByOthers
Santa Maria-born and raised Jennifer Matthews is hooked on [[http://bestgamess.com/groups/terrific-travel-tips-1679286743/|Costa Blanca weather June,]] gadgets, rock collecting. And lastly she's captivated by having fun with her fantastic friends.

Santa Maria-born and raised Jennifer Matthews is hooked on Costa Blanca weather June, gadgets, rock collecting. And lastly she's captivated by having fun with her fantastic friends.

HisteditExtension (last edited 2021-02-01 14:07:53 by muxator)