Patchwork D3901: histedit: add history-editing-backup config option

login
register
mail settings
Submitter phabricator
Date July 19, 2018, 12:29 p.m.
Message ID <4922bd06c08904e52db2d40257f20c11@localhost.localdomain>
Download mbox | patch
Permalink /patch/32915/
State Not Applicable
Headers show

Comments

phabricator - July 19, 2018, 12:29 p.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGc2586a6e5884: histedit: add history-editing-backup config option (authored by khanchi97, committed by ).

CHANGED PRIOR TO COMMIT
  https://phab.mercurial-scm.org/D3901?vs=9625&id=9632#toc

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D3901?vs=9625&id=9632

REVISION DETAIL
  https://phab.mercurial-scm.org/D3901

AFFECTED FILES
  hgext/histedit.py
  mercurial/configitems.py
  tests/test-histedit-no-backup.t

CHANGE DETAILS




To: khanchi97, durin42, #hg-reviewers
Cc: pulkit, yuja, mercurial-devel

Patch

diff --git a/tests/test-histedit-no-backup.t b/tests/test-histedit-no-backup.t
--- a/tests/test-histedit-no-backup.t
+++ b/tests/test-histedit-no-backup.t
@@ -93,3 +93,41 @@ 
   o  0   36b4bdd91f5b   1970-01-01 00:00 +0000   test
        one
   
+==========================================
+Test history-editing-backup config option|
+==========================================
+Test when `history-editing-backup` config option is enabled:
+  $ hg histedit -r '36b4bdd91f5b' --commands - << EOF
+  > pick 36b4bdd91f5b 0 one
+  > pick 6153eb23e623 1 two
+  > roll 80d23dfa866d 2 three
+  > edit 7d5187087c79 3 four
+  > EOF
+  merging file
+  Editing (7d5187087c79), you may commit or record as needed now.
+  (hg histedit --continue to resume)
+  [1]
+  $ hg histedit --abort
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  saved backup bundle to $TESTTMP/foo/.hg/strip-backup/1d8f701c7b35-cf7be322-backup.hg
+  saved backup bundle to $TESTTMP/foo/.hg/strip-backup/5c0056670bce-b54b65d0-backup.hg
+
+Test when `history-editing-backup` config option is not enabled
+Enable config option:
+  $ cat >>$HGRCPATH <<EOF
+  > [ui]
+  > history-editing-backup=False
+  > EOF
+
+  $ hg histedit -r '36b4bdd91f5b' --commands - << EOF
+  > pick 36b4bdd91f5b 0 one
+  > pick 6153eb23e623 1 two
+  > roll 80d23dfa866d 2 three
+  > edit 7d5187087c79 3 four
+  > EOF
+  merging file
+  Editing (7d5187087c79), you may commit or record as needed now.
+  (hg histedit --continue to resume)
+  [1]
+  $ hg histedit --abort
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
diff --git a/mercurial/configitems.py b/mercurial/configitems.py
--- a/mercurial/configitems.py
+++ b/mercurial/configitems.py
@@ -1093,6 +1093,9 @@ 
 coreconfigitem('ui', 'graphnodetemplate',
     default=None,
 )
+coreconfigitem('ui', 'history-editing-backup',
+    default=True,
+)
 coreconfigitem('ui', 'interactive',
     default=None,
 )
diff --git a/hgext/histedit.py b/hgext/histedit.py
--- a/hgext/histedit.py
+++ b/hgext/histedit.py
@@ -1111,7 +1111,9 @@ 
     fm.startitem()
     goal = _getgoal(opts)
     revs = opts.get('rev', [])
-    nobackup = opts.get('no_backup')
+    # experimental config: ui.history-editing-backup
+    nobackup = (opts.get('no_backup') or
+                not ui.configbool('ui', 'history-editing-backup'))
     rules = opts.get('commands', '')
     state.keep = opts.get('keep', False)