tests/test-execute-bit.t
author Angel Ezquerra <angel.ezquerra@gmail.com>
Thu, 13 Dec 2012 23:37:53 +0100
changeset 18109 9e3910db4e78
parent 12190 9231c629ec10
child 18334 44bda93df90e
permissions -rw-r--r--
subrepo: append subrepo path to subrepo error messages This change appends the subrepo path to subrepo errors. That is, when there is an error performing an operation a subrepo, rather than displaying a message such as: pushing subrepo MYSUBREPO to PATH searching for changes abort: push creates new remote head HEADHASH! hint: did you forget to merge? use push -f to force mercurial will show: pushing subrepo MYSUBREPO to PATH searching for changes abort: push creates new remote head HEADHASH! (in subrepo MYSUBREPO) hint: did you forget to merge? use push -f to force The rationale for this change is that the current error messages make it hard for TortoiseHg (and similar tools) to tell the user which subrepo caused the push failure. The "(in subrepo MYSUBREPO)" message has been added to those subrepo methods were it made sense (by using a decorator). We avoid appending "(in subrepo XXX)" multiple times when subrepos are nexted by throwing a "SubrepoAbort" exception after the extra message is appended. The decorator will then "ignore" (i.e. just re-raise) the exception and never add the message again. A small drawback of this method is that part of the exception trace is lost when the exception is catched and re-raised by the annotatesubrepoerror decorator. Also, because the state() function already printed the subrepo path when it threw an error, that error has been changed to avoid duplicating the subrepo path in the error message. Note that I have also updated several subrepo related tests to reflect these changes.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12190
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
     1
  $ "$TESTDIR/hghave" execbit || exit 80
5490
bf2bb53e5d2b See if execute bit is honoured when we go back in time
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     2
12190
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
     3
  $ hg init
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
     4
  $ echo a > a
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
     5
  $ hg ci -Am'not executable'
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
     6
  adding a
5495
363ba35f55bd test-execute-bit: skip if execute-bit is not supported
Patrick Mezard <pmezard@gmail.com>
parents: 5490
diff changeset
     7
12190
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
     8
  $ chmod +x a
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
     9
  $ hg ci -m'executable'
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    10
  $ hg id
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    11
  79abf14474dc tip
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    12
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    13
Make sure we notice the change of mode if the cached size == -1:
5490
bf2bb53e5d2b See if execute bit is honoured when we go back in time
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    14
12190
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    15
  $ hg rm a
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    16
  $ hg revert -r 0 a
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    17
  $ hg debugstate
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    18
  n   0         -1 unset               a
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    19
  $ hg status
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    20
  M a
5490
bf2bb53e5d2b See if execute bit is honoured when we go back in time
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    21
12190
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    22
  $ hg up 0
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    23
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    24
  $ hg id
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    25
  d69afc33ff8a
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    26
  $ test -x a && echo executable -- bad || echo not executable -- good
9231c629ec10 tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents: 6158
diff changeset
    27
  not executable -- good
6158
23ffe82615d8 repo.status: also compare flags for files in the lookup list.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5495
diff changeset
    28