view tests/test-merge-default @ 6297:fed1a9c22076

dirstate.remove: during merges, remember the previous file state We encode the previous state as a negative file size (AFAICS, previous versions of hg always have size == 0 when state == 'r'). We save the state of 'm'erged and dirty files, because they're the two states that indicate that a file has to be committed on a merge to correctly record per-file history.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Tue, 18 Mar 2008 04:07:39 -0300
parents 9cd6578750b9
children 50b6af595e0c
line wrap: on
line source

#!/bin/sh

hg init
echo a > a
hg commit -A -ma

echo a >> a
hg commit -mb

echo a >> a
hg commit -mc

hg up 1
echo a >> a
hg commit -md

hg up 1
echo a >> a
hg commit -me

hg up 1
echo % should fail because not at a head
hg merge

hg up
echo % should fail because \> 2 heads
hg merge

echo % should succeed
hg merge 2
hg commit -mm1

echo % should succeed - 2 heads
hg merge
hg commit -mm2

echo % should fail because at tip
hg merge

hg up 0
echo % should fail because 1 head
hg merge

true