tests/test-debugbackupbundle.t
author Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
Mon, 07 Feb 2022 00:33:22 -0500
changeset 48737 a6efb9180764
parent 44546 20d74eebe56c
permissions -rw-r--r--
sparse: rework debugsparse's interface hg debugsparse supports arguments like --include, similar to `hg tracked --addinclude` or `hg log --include`. But in `hg debugsparse`, the pattern is not an argument of the flag, instead the patterns are the anonymous command line arguments. Not only is this surprising, it makes it impossible to use --include and --exclude in the same invocation, or --reset --exclude. So I propose making debugsparse making --include, --exclude take an argument, and rejecting anonymous command line arguments, as well as allowing mixing several of these flags in one invocations. Differential Revision: https://phab.mercurial-scm.org/D12155

  $ cat >> $HGRCPATH << EOF
  > [extensions]
  > strip=
  > EOF

Setup repo

  $ hg init repo
  $ cd repo

Test backups list and recover

  $ hg debugbackupbundle
  no backup changesets found

  $ mkcommit() {
  >    echo "$1" > "$1"
  >    hg add "$1"
  >    hg ci -l $1
  > }
  $ mkcommit a
  $ mkcommit b
  $ hg strip .
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/d2ae7f538514-2953539b-backup.hg
  $ hg debugbackupbundle
  Recover changesets using: hg debugbackupbundle --recover <changeset hash>
  
  Available backup changesets:
  * (glob)
  d2ae7f538514 b

  $ hg debugbackupbundle --recover d2ae7f538514
  Unbundling d2ae7f538514
  adding changesets
  adding manifests
  adding file changes
  added 1 changesets with 1 changes to 1 files
  new changesets d2ae7f538514 (1 drafts)