tests/test-narrow-update.t
author Raphaël Gomès <rgomes@octobus.net>
Tue, 05 Apr 2022 17:11:36 +0200
branchstable
changeset 49006 5bd6bcd31dd1
parent 42153 351cbda889db
child 49251 ccd76e292be5
permissions -rw-r--r--
relnotes: add notes for 6.1.1 This also fixes the header for 6.1 from 6.1rc0


  $ . "$TESTDIR/narrow-library.sh"

create full repo

  $ hg init master
  $ cd master
  $ echo init > init
  $ hg ci -Aqm 'initial'

  $ mkdir inside
  $ echo inside > inside/f1
  $ mkdir outside
  $ echo outside > outside/f1
  $ hg ci -Aqm 'add inside and outside'

  $ echo modified > inside/f1
  $ hg ci -qm 'modify inside'

  $ echo modified > outside/f1
  $ hg ci -qm 'modify outside'

  $ cd ..

  $ hg clone --narrow ssh://user@dummy/master narrow --include inside
  requesting all changes
  adding changesets
  adding manifests
  adding file changes
  added 4 changesets with 2 changes to 1 files
  new changesets *:* (glob)
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ cd narrow
  $ hg debugindex -c
     rev linkrev nodeid       p1           p2
       0       0 9958b1af2add 000000000000 000000000000
       1       1 2db4ce2a3bfe 9958b1af2add 000000000000
       2       2 0980ee31a742 2db4ce2a3bfe 000000000000
       3       3 4410145019b7 0980ee31a742 000000000000

  $ hg update -q 0

Can update to revision with changes inside

  $ hg update -q 'desc("add inside and outside")'
  $ hg update -q 'desc("modify inside")'
  $ find *
  inside
  inside/f1
  $ cat inside/f1
  modified

Can update to revision with changes outside

  $ hg update -q 'desc("modify outside")'
  $ find *
  inside
  inside/f1
  $ cat inside/f1
  modified

Can update with a deleted file inside

  $ hg rm inside/f1
  $ hg update -q 'desc("modify inside")'
  $ hg update -q 'desc("modify outside")'
  $ hg update -q 'desc("initial")'
  $ hg update -q 'desc("modify inside")'

Can update with a moved file inside

  $ hg mv inside/f1 inside/f2
  $ hg update -q 'desc("modify outside")'
  $ hg update -q 'desc("add inside and outside")'
  $ hg update -q 'desc("modify inside")'