view tests/test-merge8.t @ 44985:1ca0047fd7e1

absorb: preserve changesets which were already empty Most commands in Mercurial (commit, rebase, absorb itself) don’t create empty changesets or drop them if they become empty. If there’s a changeset that’s empty, it must be a deliberate choice of the user. At least it shouldn’t be absorb’s responsibility to prune them. The fact that changesets that became empty during absorb are pruned, is unaffected by this. This case was found while writing patches which make it possible to configure absorb and rebase to not drop empty changesets. Even without having such config set, I think it’s valuable to preserve changesets which were already empty.
author Manuel Jacob <me@manueljacob.de>
date Mon, 01 Jun 2020 20:57:14 +0200
parents eb586ed5d8ce
children
line wrap: on
line source

Test for changeset ba7c74081861
(update dirstate correctly for non-branchmerge updates)
  $ hg init a
  $ cd a
  $ echo a > a
  $ hg add a
  $ hg commit -m a
  $ cd ..
  $ hg clone a b
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ cd a
  $ hg mv a b
  $ hg commit -m move
  $ echo b >> b
  $ hg commit -m b
  $ cd ../b
  $ hg pull ../a
  pulling from ../a
  searching for changes
  adding changesets
  adding manifests
  adding file changes
  added 2 changesets with 2 changes to 1 files
  new changesets e3c9b40284e1:772b37f1ca37
  (run 'hg update' to get a working copy)
  $ hg update
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved

  $ cd ..