tests/test-diff-newlines.t
author Angel Ezquerra <angel.ezquerra@gmail.com>
Thu, 13 Dec 2012 23:37:53 +0100
changeset 18109 9e3910db4e78
parent 17742 405b6bd015df
child 22947 c63a09b6b337
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:
12143
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     1
  $ hg init
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     2
15522
cf0f3cb8a332 tests: don't use stdout redirection for test data
Mads Kiilerich <mads@kiilerich.com>
parents: 12942
diff changeset
     3
  $ python -c 'file("a", "wb").write("confuse str.splitlines\nembedded\rnewline\n")'
12143
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     4
  $ hg ci -Ama -d '1 0'
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     5
  adding a
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     6
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     7
  $ echo clean diff >> a
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     8
  $ hg ci -mb -d '2 0'
2248
b914f0557832 fix diffs containing embedded "\r".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     9
12143
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    10
  $ hg diff -r0 -r1
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    11
  diff -r 107ba6f817b5 -r 310ce7989cdc a
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    12
  --- a/a	Thu Jan 01 00:00:01 1970 +0000
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    13
  +++ b/a	Thu Jan 01 00:00:02 1970 +0000
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    14
  @@ -1,2 +1,3 @@
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    15
   confuse str.splitlines
17742
405b6bd015df run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents: 15522
diff changeset
    16
   embedded\r (no-eol) (esc)
405b6bd015df run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents: 15522
diff changeset
    17
  newline
12143
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    18
  +clean diff
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    19