view tests/test-audit-path.t @ 15904:7d28d6a67dd3

rebase: write series file without removed mq patches Rebase will remove empty changesets and will also completely remove the mq patch file for rebased empty patches. Starting with b28004513977 (1.9) it would preserve guards by writing the old series file back. That would however also reintroduce removed patch files in the series file and the inconsistency would make qpop + qpush fail. This patch backs out most of b28004513977 and makes sure guards are preserved without reintroducing removed patches.
author Mads Kiilerich <mads@kiilerich.com>
date Tue, 17 Jan 2012 02:55:55 +0100
parents 117f9190c1ba
children 4f795f5fbb0b
line wrap: on
line source

  $ "$TESTDIR/hghave" symlink || exit 80

  $ hg init

should fail

  $ hg add .hg/00changelog.i
  abort: path contains illegal component: .hg/00changelog.i (glob)
  [255]

  $ mkdir a
  $ echo a > a/a
  $ hg ci -Ama
  adding a/a
  $ ln -s a b
  $ echo b > a/b

should fail

  $ hg add b/b
  abort: path 'b/b' traverses symbolic link 'b' (glob)
  [255]

should succeed

  $ hg add b

should still fail - maybe

  $ hg add b/b
  abort: path 'b/b' traverses symbolic link 'b' (glob)
  [255]

unbundle tampered bundle

  $ hg init target
  $ cd target
  $ hg unbundle $TESTDIR/bundles/tampered.hg
  adding changesets
  adding manifests
  adding file changes
  added 5 changesets with 6 changes to 6 files (+4 heads)
  (run 'hg heads' to see heads, 'hg merge' to merge)

attack .hg/test

  $ hg manifest -r0
  .hg/test
  $ hg update -Cr0
  abort: path contains illegal component: .hg/test
  [255]

attack foo/.hg/test

  $ hg manifest -r1
  foo/.hg/test
  $ hg update -Cr1
  abort: path 'foo/.hg/test' is inside nested repo 'foo'
  [255]

attack back/test where back symlinks to ..

  $ hg manifest -r2
  back
  back/test
  $ hg update -Cr2
  abort: path 'back/test' traverses symbolic link 'back'
  [255]

attack ../test

  $ hg manifest -r3
  ../test
  $ hg update -Cr3
  abort: path contains illegal component: ../test
  [255]

attack /tmp/test

  $ hg manifest -r4
  /tmp/test
  $ hg update -Cr4
  abort: *: $TESTTMP/target//tmp/test (glob)
  [255]