Mercurial > hg
view tests/test-origbackup-conflict.t @ 35010:b81ad5b78a81
obsfate: makes successorsetverb takes the markers as argument
Right now, successorsetverb only needs successors to compute the verb. But we
will want use additional information (effect-flags and operation) in the near
future to compute a better verb.
Add the markers parameter now so extensions (like Evolve) could wrap the
function and start experimenting around better obsfate verbs.
As successorsetverb now takes both successorset and markers parameters, rename
it to obsfateverb, successorsetandmarkersverb was too long.
Differential Revision: https://phab.mercurial-scm.org/D1191
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Thu, 19 Oct 2017 12:35:47 +0200 |
parents | 4c322b95a6ab |
children | ad671b4cb9fc |
line wrap: on
line source
Set up repo $ cat << EOF >> $HGRCPATH > [ui] > origbackuppath=.hg/origbackups > [merge] > checkunknown=warn > EOF $ hg init repo $ cd repo $ echo base > base $ hg add base $ hg commit -m "base" Make a dir named b that contains a file $ mkdir -p b $ echo c1 > b/c $ hg add b/c $ hg commit -m "c1" $ hg bookmark c1 Peform an update that causes b/c to be backed up $ hg up -q 0 $ mkdir -p b $ echo c2 > b/c $ hg up --verbose c1 resolving manifests b/c: replacing untracked file getting b/c creating directory: $TESTTMP/repo/.hg/origbackups/b (glob) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (activating bookmark c1) $ test -f .hg/origbackups/b/c Make a file named b $ hg up -q 0 $ echo b1 > b $ hg add b $ hg commit -m b1 created new head $ hg bookmark b1 Perform an update that causes b to be backed up - it should replace the backup b dir $ hg up -q 0 $ echo b2 > b $ hg up --verbose b1 resolving manifests b: replacing untracked file getting b removing conflicting directory: $TESTTMP/repo/.hg/origbackups/b (glob) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (activating bookmark b1) $ test -f .hg/origbackups/b Perform an update the causes b/c to be backed up again - it should replace the backup b file $ hg up -q 0 $ mkdir b $ echo c3 > b/c $ hg up --verbose c1 resolving manifests b/c: replacing untracked file getting b/c creating directory: $TESTTMP/repo/.hg/origbackups/b (glob) removing conflicting file: $TESTTMP/repo/.hg/origbackups/b (glob) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (activating bookmark c1) $ test -d .hg/origbackups/b Cause a symlink to be backed up that points to a valid location from the backup dir $ hg up -q 0 $ mkdir ../sym-link-target #if symlink $ ln -s ../../../sym-link-target b #else $ touch b #endif $ hg up b1 b: replacing untracked file 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (activating bookmark b1) #if symlink $ readlink.py .hg/origbackups/b .hg/origbackups/b -> ../../../sym-link-target #endif Perform an update that causes b/c to be backed up again - it should not go into the target dir $ hg up -q 0 $ mkdir b $ echo c4 > b/c $ hg up --verbose c1 resolving manifests b/c: replacing untracked file getting b/c creating directory: $TESTTMP/repo/.hg/origbackups/b (glob) removing conflicting file: $TESTTMP/repo/.hg/origbackups/b (glob) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (activating bookmark c1) $ cat .hg/origbackups/b/c c4 $ ls ../sym-link-target Incorrectly configure origbackuppath to be under a file $ echo data > .hg/badorigbackups $ hg up -q 0 $ mkdir b $ echo c5 > b/c $ hg up --verbose c1 --config ui.origbackuppath=.hg/badorigbackups resolving manifests b/c: replacing untracked file getting b/c creating directory: $TESTTMP/repo/.hg/badorigbackups/b (glob) abort: The system cannot find the path specified: '$TESTTMP/repo/.hg/badorigbackups/b' (glob) (windows !) abort: Not a directory: '$TESTTMP/repo/.hg/badorigbackups/b' (no-windows !) [255] $ cat .hg/badorigbackups data