tests/test-update-issue1456.t
author Yuya Nishihara <yuya@tcha.org>
Mon, 16 Mar 2015 16:17:06 +0900
changeset 25765 5e1b0739611c
parent 22046 7a9cbb315d84
child 45840 527ce85c2e60
permissions -rw-r--r--
revset: use integer representation of wdir() in revset This is the simplest way to handle wdir() revision in revset. None didn't work well because revset heavily depends on integer operations such as min(), max(), sorted(), x:y, etc. One downside is that we cannot do "wctx.rev() in set" because wctx.rev() is still None. We could wrap the result set by wdirproxyset that translates None to wdirrev, but it seems overengineered at this point. result = getset(repo, subset, tree) if 'wdir' in funcsused(tree): result = wdirproxyset(result) Test cases need the '(all() + wdir()) &' hack because we have yet to fix the bootstrapping issue of null and wdir.

#require execbit

  $ rm -rf a
  $ hg init a
  $ cd a

  $ echo foo > foo
  $ hg ci -qAm0
  $ echo toremove > toremove
  $ echo todelete > todelete
  $ chmod +x foo toremove todelete
  $ hg ci -qAm1

Test that local removed/deleted, remote removed works with flags
  $ hg rm toremove
  $ rm todelete
  $ hg co -q 0

  $ echo dirty > foo
  $ hg up -c
  abort: uncommitted changes
  [255]
  $ hg up -q
  $ cat foo
  dirty
  $ hg st -A
  M foo
  C todelete
  C toremove

Validate update of standalone execute bit change:

  $ hg up -C 0
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
  $ chmod -x foo
  $ hg ci -m removeexec
  nothing changed
  [1]
  $ hg up -C 0
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg up
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg st

  $ cd ..