debian/control
author Anton Shestakov <av6@dwimlabs.net>
Thu, 25 Jul 2019 18:37:16 +0800
changeset 4821 d8e36e60aea0
parent 4685 5ca2da538689
child 4909 56a8fbdd6090
permissions -rw-r--r--
rewind: add --keep flag that "doesn't modify working directory" The actual logic is more complicated than the flag description, but it's sufficiently similar to other --keep flags in action. Unlike strip (or prune), rewind always needs to modify the working directory to commit new revisions that "revive" old ones [1], see _revive_revision() (and rewriteutil.rewrite()). Because of that we don't prevent rewind from modifying wdir, but instead use hg.updaterepo() to update to the old changeset after the "revival" process is complete. Then we rebuild the dirstate based on the commit that rewind would update to without --keep. Since dirstate.rebuild() doesn't restore status of some files (added, removed, also copies and renames), we rely on cmdutil.revert(). It's a fairly crude solution and needs to be removed when implementing the missing copy tracing between oldctx and newctx (which are related only by obsolescence). [1] IOW this means that --keep doesn't allow rewinding if wdir is dirty (unlike e.g. strip).

Source: mercurial-evolve
Section: vcs
Priority: optional
Maintainer: Logilab <contact@logilab.fr>
Uploaders:
 Julien Cristau <julien.cristau@logilab.fr>,
 Pierre-Yves David <pierre-yves.david@logilab.fr>,
Standards-Version: 3.9.3
Build-Depends:
 mercurial (>= 4.5),
 python,
 debhelper (>= 8),
 python-sphinx (>= 1.0.8),
 imagemagick,
 librsvg2-bin,
 wget,
X-Python-Version: >= 2.7
Homepage: https://www.mercurial-scm.org/doc/evolution/

Package: mercurial-evolve
Architecture: all
Depends:
 ${python:Depends},
 ${misc:Depends},
 mercurial (>= 4.5),
Description: evolve extension for Mercurial
 This package provides the experimental "evolve" extension for the Mercurial
 DVCS.
 .
 This extension provides several commands to mutate history and deal with issues
 it may raise.