tests/test-archive-symlinks.t
author Durham Goode <durham@fb.com>
Mon, 04 Jan 2016 16:14:04 -0800
changeset 27622 0bc71f45d362
parent 25472 4d2b9b304ad0
child 29844 c4d03b6d9576
permissions -rw-r--r--
cmdutil: pass node instead of ctx to diffordiffstat 93bcc73df8d5 changed showpatch to use ctx's more, but it accidentally passed prev as a context and node as a binary string, when both should be passed as binary strings (since diffordiffstat tries to resolve them via repo[X]). This affected hggit since the existing ctx belongs to the git overlay, but the resolved context (from the repo[X] resolution) should belong to the main repo. This broke a test because it tried to look in the git repo for data that didn't exist. This feels like a deeper issue in hggit somewhere, but the fix is here trivial and obviously more correct

#require symlink

  $ origdir=`pwd`

  $ hg init repo
  $ cd repo
  $ ln -s nothing dangling

avoid tar warnings about old timestamp

  $ hg ci -d '2000-01-01 00:00:00 +0000' -qAm 'add symlink'

  $ hg archive -t files ../archive
  $ hg archive -t tar -p tar ../archive.tar
  $ hg archive -t zip -p zip ../archive.zip

files

  $ cd "$origdir"
  $ cd archive
  $ readlink.py dangling
  dangling -> nothing

tar

  $ cd "$origdir"
  $ tar xf archive.tar
  $ cd tar
  $ readlink.py dangling
  dangling -> nothing

zip

  $ cd "$origdir"
  $ unzip archive.zip > /dev/null 2>&1
  $ cd zip
  $ readlink.py dangling
  dangling -> nothing

  $ cd ..