diff --git a/hgext/histedit.py b/hgext/histedit.py --- a/hgext/histedit.py +++ b/hgext/histedit.py @@ -143,6 +143,7 @@ try: except ImportError: import pickle import os +import sys from mercurial import cmdutil from mercurial import discovery @@ -515,7 +516,10 @@ def histedit(ui, repo, *parent, **opts): f.write(rules) f.close() else: - f = open(rules) + if rules == '-': + f = sys.stdin + else: + f = open(rules) rules = f.read() f.close() rules = [l for l in (r.strip() for r in rules.splitlines()) diff --git a/tests/test-histedit-fold.t b/tests/test-histedit-fold.t --- a/tests/test-histedit-fold.t +++ b/tests/test-histedit-fold.t @@ -49,14 +49,12 @@ log before edit o 0:cb9a9f314b8b a - $ EDITED="$TESTTMP/editedhistory" - $ cat > $EDITED <&1 < pick e860deea161a e > pick 652413bf663e f > fold 177f92b77385 c > pick 055a42cdd887 d > EOF - $ HGEDITOR="cat \"$EDITED\" > " hg histedit 177f92b77385 2>&1 | fixbundle 0 files updated, 0 files merged, 4 files removed, 0 files unresolved 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 0 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -67,9 +65,9 @@ log before edit log after edit $ hg logt --graph - @ 4:7e0a290363ed d + @ 4:9c277da72c9b d | - o 3:5e24935bad3d pick e860deea161a e + o 3:6de59d13424a f | o 2:ee283cb5f2d5 e | @@ -138,6 +136,7 @@ folded content is dropped during a merge o 0:0189ba417d34 1+2+3 + $ EDITED="$TESTTMP/editedhistory" $ cat > $EDITED < pick 617f94f13c0f 1 +4 > drop 888f9082bf99 2 +5