hg fold#

fold multiple revisions into a single one#

hg fold [OPTION]... [-r] REV...

Aliases: squash

This command is provided by the evolve extension.

With --from, folds all the revisions linearly between the given revisions and the parent of the working directory.

With --exact, folds only the specified revisions while ignoring the parent of the working directory. In this case, the given revisions must form a linear unbroken chain.

Some examples:

  • Fold the current revision with its parent:

    hg fold --from .^
    
  • Fold all draft revisions with working directory parent:

    hg fold --from 'draft()'
    

    See `hg help phases` for more about draft revisions and `hg help revsets` for more about the draft() keyword

  • Fold revisions between 3 and 6 with the working directory parent:

    hg fold --from 3::6
    
  • Fold revisions 3 and 4:

    hg fold "3 + 4" --exact
    
  • Only fold revisions linearly between foo and @:

    hg fold foo::@ --exact
    

Options

-r

--rev REV [+]

revision to fold

--exact

only fold specified revisions

--from

fold revisions linearly to working copy parent

-n

--note TEXT

store a note on fold

-m

--message TEXT

use text as commit message

-l

--logfile FILE

read commit message from file

-d

--date DATE

record the specified date as commit date

-u

--user USER

record the specified user as committer

-D

--current-date

record the current date as commit date

-U

--current-user

record the current user as committer

--mq

operate on patch repository

Options marked [+] can be repeated.