D3968: amend: support "history-editing-backup" config option
khanchi97 (Sushil khanchi)
phabricator at mercurial-scm.org
Fri Jul 20 20:05:09 UTC 2018
khanchi97 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Now, amend is in the list of those history editing commands
which support `history-editing-backup` config option.
If you don't want to store any backup then just use this config.
[ui]
hisotry-editing-backup = False
Current status of list of history editing commands which support
this config:
1. histedit
2. rebase
3. amend
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D3968
AFFECTED FILES
hgext/amend.py
mercurial/cmdutil.py
tests/test-amend.t
CHANGE DETAILS
diff --git a/tests/test-amend.t b/tests/test-amend.t
--- a/tests/test-amend.t
+++ b/tests/test-amend.t
@@ -331,3 +331,37 @@
? missing_content2_content2-untracked
? missing_content2_content3-untracked
? missing_missing_content3-untracked
+
+==========================================
+Test history-editing-backup config option|
+==========================================
+ $ hg init $TESTTMP/repo4
+ $ cd $TESTTMP/repo4
+ $ echo a>a
+ $ hg ci -Aqma
+ $ echo oops>b
+ $ hg ci -Aqm "b"
+ $ echo partiallyfixed > b
+
+#if obsstore-off
+ $ hg amend
+ saved backup bundle to $TESTTMP/repo4/.hg/strip-backup/95e899acf2ce-f11cb050-amend.hg
+When history-editing-backup config option is set:
+ $ cat << EOF >> $HGRCPATH
+ > [ui]
+ > history-editing-backup = False
+ > EOF
+ $ echo fixed > b
+ $ hg amend
+
+#else
+ $ hg amend
+When history-editing-backup config option is set:
+ $ cat << EOF >> $HGRCPATH
+ > [ui]
+ > history-editing-backup = False
+ > EOF
+ $ echo fixed > b
+ $ hg amend
+
+#endif
diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -2556,8 +2556,10 @@
obsmetadata = None
if opts.get('note'):
obsmetadata = {'note': encoding.fromlocal(opts['note'])}
+ backup = opts.get('backup')
scmutil.cleanupnodes(repo, mapping, 'amend', metadata=obsmetadata,
- fixphase=True, targetphase=commitphase)
+ fixphase=True, targetphase=commitphase,
+ backup=backup)
# Fixing the dirstate because localrepo.commitctx does not update
# it. This is rather convenient because we did not need to update
diff --git a/hgext/amend.py b/hgext/amend.py
--- a/hgext/amend.py
+++ b/hgext/amend.py
@@ -54,4 +54,6 @@
if not opts.get('logfile'):
opts['message'] = opts.get('message') or repo['.'].description()
opts['amend'] = True
+ backup = ui.configbool('ui', 'history-editing-backup')
+ opts['backup'] = backup
return commands._docommit(ui, repo, *pats, **pycompat.strkwargs(opts))
To: khanchi97, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list