Mercurial > hg-stable
changeset 11237:feb2a58fc592 stable
record: check that we are not committing a merge before patch selection
It might sound like a good idea to use record to filter changes when merging.
If someone attemps this, it's better to tell her "no" right ahead, before the
patch generation/line selection, so she does not spend time doing it just to
receive a red light after that (sometimes rather long) process.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Mon, 31 May 2010 17:13:15 +0900 |
parents | cfa6a726ef6d |
children | a5922547b5cc 99bc18d1ab0f |
files | hgext/record.py tests/test-record tests/test-record.out |
diffstat | 3 files changed, 34 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/record.py Mon May 31 13:43:03 2010 +0200 +++ b/hgext/record.py Mon May 31 17:13:15 2010 +0900 @@ -379,7 +379,9 @@ a - record all changes to all remaining files q - quit, recording no changes - ? - display help''' + ? - display help + + This command is not available when committing a merge.''' dorecord(ui, repo, commands.commit, *pats, **opts) @@ -422,6 +424,11 @@ left in place, so the user can continue his work. """ + merge = len(repo[None].parents()) > 1 + if merge: + raise util.Abort(_('cannot partially commit a merge ' + '(use hg commit instead)')) + changes = repo.status(match=match)[:3] diffopts = mdiff.diffopts(git=True, nodates=True) chunks = patch.diff(repo, changes=changes, opts=diffopts)
--- a/tests/test-record Mon May 31 13:43:03 2010 +0200 +++ b/tests/test-record Mon May 31 17:13:15 2010 +0900 @@ -297,9 +297,20 @@ EOF echo; hg tip --config diff.git=True -p +cd .. + +echo % abort early when a merge is in progress +hg up 4 +touch iwillmergethat +hg add iwillmergethat +hg branch thatbranch +hg ci -m'new head' +hg up default +hg merge thatbranch +echo; hg record -m'will abort' +hg up -C echo % with win32ext -cd .. echo '[extensions]' >> .hg/hgrc echo 'win32text = ' >> .hg/hgrc echo '[decode]' >> .hg/hgrc
--- a/tests/test-record.out Mon May 31 13:43:03 2010 +0200 +++ b/tests/test-record.out Mon May 31 17:13:15 2010 +0900 @@ -24,6 +24,8 @@ ? - display help + This command is not available when committing a merge. + options: -A --addremove mark new/missing files as added/removed before committing @@ -569,6 +571,16 @@ b +c +% abort early when a merge is in progress +1 files updated, 0 files merged, 5 files removed, 0 files unresolved +marked working directory as branch thatbranch +created new head +5 files updated, 0 files merged, 2 files removed, 0 files unresolved +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +(branch merge, don't forget to commit) + +abort: cannot partially commit a merge (use hg commit instead) +0 files updated, 0 files merged, 1 files removed, 0 files unresolved % with win32ext diff --git a/subdir/f1 b/subdir/f1 1 hunks, 1 lines changed @@ -578,8 +590,9 @@ c +d record this change to 'subdir/f1'? [Ynsfdaq?] -changeset: 25:5bacc1f6e9cf +changeset: 26:5bacc1f6e9cf tag: tip +parent: 24:1460f6e47966 user: test date: Thu Jan 01 00:00:23 1970 +0000 summary: w1