##// END OF EJS Templates
stdio: raise StdioError if something goes wrong in ui.flush...
stdio: raise StdioError if something goes wrong in ui.flush The prior code used to ignore all errors, which was intended to deal with a decade-old problem with writing to broken pipes on Windows. However, that code inadvertantly went a lot further, making it impossible to detect *all* I/O errors on stdio ... but only sometimes. What actually happened was that if Mercurial wrote less than a stdio buffer's worth of output (the overwhelmingly common case for most commands), any error that occurred would get swallowed here. But if the buffering strategy changed, an unhandled IOError could be raised from any number of other locations. Because we now have a top-level StdioError handler, and ui._write and ui._write_err (and now flush!) will raise that exception, we have one rational place to detect and handle these errors.

File last commit:

r31010:09ec648c default
r31963:1bfb9a63 default
Show More
test-basic.t
70 lines | 1.4 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: unify test-basic
r11742 Create a repository:
Matt Mackall
config: make repo optional again
r20608 $ hg config
defaults.backout=-d "0 0"
defaults.commit=-d "0 0"
defaults.shelve=--date "0 0"
defaults.tag=-d "0 0"
Pierre-Yves David
devel: rename 'all' to 'all-warnings' (BC)...
r25290 devel.all-warnings=true
Matt Harbison
run-tests: set a default largefiles usercache in the default hgrc file...
r23388 largefiles.usercache=$TESTTMP/.cache/largefiles (glob)
Matt Mackall
config: make repo optional again
r20608 ui.slash=True
ui.interactive=False
FUJIWARA Katsunori
filemerge: use 'basic' as the default of '[ui] mergemarkers' for safety...
r21918 ui.mergemarkers=detailed
Yuya Nishihara
ui: separate option to show prompt echo, enabled only in tests (issue4417)...
r23053 ui.promptecho=True
Jun Wu
runtests: set web.address to localhost...
r31009 web.address=localhost
Jun Wu
runtests: always set web.ipv6...
r31010 web\.ipv6=(?:True|False) (re)
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init t
Matt Mackall
tests: unify test-basic
r11742 $ cd t
Make a changeset:
$ echo a > a
$ hg add a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m test
Matt Mackall
tests: unify test-basic
r11742
This command is ancient:
$ hg history
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 0:acb14030fe0a
Matt Mackall
tests: unify test-basic
r11742 tag: tip
user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Matt Mackall
tests: unify test-basic
r11742 summary: test
Mark Drago
commands.update() now works properly with a revision of 0...
r13568 Verify that updating to revision 0 via commands.update() works properly
$ cat <<EOF > update_to_rev0.py
> from mercurial import ui, hg, commands
Yuya Nishihara
ui: factor out ui.load() to create a ui without loading configs (API)...
r30559 > myui = ui.ui.load()
Mark Drago
commands.update() now works properly with a revision of 0...
r13568 > repo = hg.repository(myui, path='.')
> commands.update(myui, repo, rev=0)
> EOF
$ hg up null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ python ./update_to_rev0.py
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg identify -n
0
Mads Kiilerich
check-code: fix check for trailing whitespace on empty lines...
r17346
Mark Drago
commands.update() now works properly with a revision of 0...
r13568
Matt Mackall
tests: unify test-basic
r11742 Poke around at hashes:
$ hg manifest --debug
b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a
$ hg cat a
a
Verify should succeed:
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 1 changesets, 1 total revisions
At the end...
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..