Mercurial > hg
view tests/test-rebase-brute-force.t @ 35998:dce43aaaf209
lfs: allow a pointer to be extracted from a context that removes the file
This is needed to let 'set:lfs()' and '{lfs_files}' work normally on removed
files.
Yuya suggested returning a null pointer for removed files, instead of the
pointer from the parent. The first attempt at this was to return None for a non
LFS file, and a (pointer, ctx) tuple to hold the pointer and context (or parent
pointer and context for a removed file). But this complicated the callers, even
the ones that didn't care about removed files.
Instead, let's use {} to represent a removed pointer. This has the added
convenience of being a useful representation in the template language, and only
affects the callers that care about removed files (and only slightly). Since
pointers are explicitly serialized with a call to a member function, there is no
danger of writing these to disk.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 27 Jan 2018 18:56:24 -0500 |
parents | 7f183c643eb6 |
children |
line wrap: on
line source
$ cat >> $HGRCPATH <<EOF > [extensions] > drawdag=$TESTDIR/drawdag.py > bruterebase=$TESTDIR/bruterebase.py > [experimental] > evolution.createmarkers=True > evolution.allowunstable=True > EOF $ init() { > N=`expr ${N:-0} + 1` > cd $TESTTMP && hg init repo$N && cd repo$N > hg debugdrawdag > } Source looks like "N" $ init <<'EOS' > C D > |\| > A B Z > EOS $ hg debugbruterebase 'all()-Z' Z A: A':Z B: B':Z AB: A':Z B':Z C: ABORT: cannot rebase 3:a35c07e8a2a4 without moving at least one of its parents AC: A':Z C':A'B BC: B':Z C':B'A ABC: A':Z B':Z C':A'B' D: D':Z AD: A':Z D':Z BD: B':Z D':B' ABD: A':Z B':Z D':B' CD: ABORT: cannot rebase 3:a35c07e8a2a4 without moving at least one of its parents ACD: A':Z C':A'B D':Z BCD: B':Z C':B'A D':B' ABCD: A':Z B':Z C':A'B' D':B' Moving backwards $ init <<'EOS' > C > |\ > A B > | > Z > EOS $ hg debugbruterebase 'all()-Z' Z B: B':Z A: BA: B':Z C: ABORT: cannot rebase 3:b8d7149b562b without moving at least one of its parents BC: B':Z C':B'A AC: BAC: B':Z C':B'A