view contrib/win32/mercurial.ini @ 45095:8e04607023e5

procutil: ensure that procutil.std{out,err}.write() writes all bytes Python 3 offers different kind of streams and it’s not guaranteed for all of them that calling write() writes all bytes. When Python is started in unbuffered mode, sys.std{out,err}.buffer are instances of io.FileIO, whose write() can write less bytes for platform-specific reasons (e.g. Linux has a 0x7ffff000 bytes maximum and could write less if interrupted by a signal; when writing to Windows consoles, it’s limited to 32767 bytes to avoid the "not enough space" error). This can lead to silent loss of data, both when using sys.std{out,err}.buffer (which may in fact not be a buffered stream) and when using the text streams sys.std{out,err} (I’ve created a CPython bug report for that: https://bugs.python.org/issue41221). Python may fix the problem at some point. For now, we implement our own wrapper for procutil.std{out,err} that calls the raw stream’s write() method until all bytes have been written. We don’t use sys.std{out,err} for larger writes, so I think it’s not worth the effort to patch them.
author Manuel Jacob <me@manueljacob.de>
date Fri, 10 Jul 2020 12:27:58 +0200
parents 94eac340d212
children 90f7d8276e26
line wrap: on
line source

; System-wide Mercurial config file.
;
; !!!  Do Not Edit This File !!!
;
; This file will be replaced by the installer on every upgrade.
; Editing this file can cause strange side effects on Vista.
;
; http://bitbucket.org/tortoisehg/stable/issue/135
;
; To change settings you see in this file, override (or enable) them in
; your user Mercurial.ini file, where USERNAME is your Windows user name:
;
; XP or older    - C:\Documents and Settings\USERNAME\Mercurial.ini
; Vista or later - C:\Users\USERNAME\Mercurial.ini


[ui]
; editor used to enter commit logs, etc.  Most text editors will work.
; editor = notepad
; show changed files and be a bit more verbose if True
; verbose = True
; colorize commands output
; color = auto
 
; username data to appear in commits
; it usually takes the form: Joe User <joe.user@host.com>
; username = Joe User <j.user@example.com>

; In order to push/pull over ssh you must specify an ssh tool
;ssh = "C:\Progra~1\TortoiseSVN\bin\TortoisePlink.exe" -ssh -2
;ssh = C:\cygwin\bin\ssh

;
; For more information about mercurial extensions, start here
; https://www.mercurial-scm.org/wiki/UsingExtensions
;
; Extensions shipped with Mercurial
;
[extensions]
;acl =
;blackbox =
;bugzilla =
;children =
;churn =
;convert =
;eol =
;extdiff =
;fetch =
;gpg =
;hgk =
;highlight = 
;histedit =
;interhg =
;largefiles =
;keyword =
;mq =
;notify =
;pager =
;patchbomb =
;progress =
;purge =
;rebase =
;record =
;relink =
;schemes =
;share =
;transplant =
;win32mbcs =
;zeroconf =

;
; Define external diff commands
;
[extdiff]
;cmd.bc3diff = C:\Program Files\Beyond Compare 3\BCompare.exe
;cmd.vdiff = C:\Progra~1\TortoiseSVN\bin\TortoiseMerge.exe
;cmd.vimdiff = gvim.exe
;opts.vimdiff = -f "+next" "+execute 'DirDiff' fnameescape(argv(0)) fnameescape(argv(1))"


[hgk]
; Replace the following with your path to hgk, uncomment it and 
; install ActiveTcl (or another win32 port like tclkit)
; path="C:\Program Files\Mercurial\Contrib\hgk.tcl"
; vdiff=vdiff
 

;
; The git extended diff format can represent binary files, file
; permission changes, and rename information that the normal patch format
; cannot describe.  However it is also not compatible with tools which
; expect normal patches. so enable git patches at your own risk.
;
[diff]
;git = false
;nodates = false