run only on case-insensitive filesystems $ "$TESTDIR/hghave" icasefs || exit 80 ################################ test for branch merging ################################ $ hg init repo1 $ cd repo1 create base revision $ echo base > base.txt $ hg add base.txt $ hg commit -m 'base' add same file in different case on both heads $ echo a > a.txt $ hg add a.txt $ hg commit -m 'add a.txt' $ hg update 0 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ echo A > A.TXT $ hg add A.TXT $ hg commit -m 'add A.TXT' created new head merge another, and fail with case-folding collision $ hg merge abort: case-folding collision between a.txt and A.TXT [255] check clean-ness of working directory $ hg status $ hg parents --template '{rev}\n' 2 $ cd .. ################################ test for linear updates ################################ $ hg init repo2 $ cd repo2 create base revision (rev:0) $ hg import --bypass --exact - < # HG changeset patch > # User null > # Date 1 0 > # Node ID e1bdf414b0ea9c831fd3a14e94a0a18e1410f98b > # Parent 0000000000000000000000000000000000000000 > add a > > diff --git a/a b/a > new file mode 100644 > --- /dev/null > +++ b/a > @@ -0,0 +1,3 @@ > +this is line 1 > +this is line 2 > +this is line 3 > EOF applying patch from stdin create rename revision (rev:1) $ hg import --bypass --exact - < # HG changeset patch > # User null > # Date 1 0 > # Node ID 9dca9f19bb91851bc693544b598b0740629edfad > # Parent e1bdf414b0ea9c831fd3a14e94a0a18e1410f98b > rename a to A > > diff --git a/a b/A > rename from a > rename to A > EOF applying patch from stdin update to base revision, and modify 'a' $ hg update 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo 'this is added line' >> a update to current tip linearly $ hg update 1 merging a and A to A 0 files updated, 1 files merged, 0 files removed, 0 files unresolved check status and contents of file $ hg status -A M A $ cat A this is line 1 this is line 2 this is line 3 this is added line