mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
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.
This commit is contained in:
parent
575c7bca7d
commit
20bba72bdf
@ -379,7 +379,9 @@ def record(ui, repo, *pats, **opts):
|
||||
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 @@ def dorecord(ui, repo, commitfunc, *pats, **opts):
|
||||
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)
|
||||
|
@ -297,9 +297,20 @@ y
|
||||
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
|
||||
|
@ -24,6 +24,8 @@ interactively select changes to commit
|
||||
|
||||
? - 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 @@ new mode 100644
|
||||
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 @@ examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -3,3 +3,4 @@
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user