contrib/win32/mercurial.ini
author Matt Harbison <matt_harbison@yahoo.com>
Thu, 24 Oct 2024 22:47:31 -0400
changeset 52127 fd200f5bcaea
parent 49173 90f7d8276e26
permissions -rw-r--r--
wireprototypes: make `baseprotocolhandler` methods abstract The documentation says it's an abstract base class, so let's enforce it. The `typing.Protocol` class is already an ABC, but it only prevents instantiation if there are abstract attrs that are missing. For example, from `hg debugshell`: >>> from mercurial import wireprototypes >>> x = wireprototypes.baseprotocolhandler() Traceback (most recent call last): File "<console>", line 1, in <module> TypeError: Can't instantiate abstract class baseprotocolhandler with abstract method name >>> class fake(wireprototypes.baseprotocolhandler): ... pass ... >>> x = fake() Traceback (most recent call last): File "<console>", line 1, in <module> TypeError: Can't instantiate abstract class fake with abstract method name That's great, but it doesn't protect against calling non-abstract methods at runtime, rather it depends on the protocol type hint being added to method signatures or class attrs, and then running a type checker to notice when an instance is assigned that doesn't conform to the protocol. We don't widely use type hints yet, and do have a lot of class hierarchy in the repository area, which could lead to surprises like this: >>> class fake(wireprototypes.baseprotocolhandler): ... @property ... def name(self) -> bytes: ... return b'name' ... >>> z = fake() >>> z.client() >>> print(z.client()) None Oops. That was supposed to return `bytes`. So not only is a bad/unexpected value returned, but it's one that violates the type hints (since the base client() method will be annotated to return bytes). With this change, we get: >>> from mercurial import wireprototypes >>> class fake(wireprototypes.baseprotocolhandler): ... @property ... def name(self) -> bytes: ... return b'name' ... >>> x = fake() Traceback (most recent call last): File "<console>", line 1, in <module> TypeError: Can't instantiate abstract class fake with abstract methods addcapabilities, checkperm, client, getargs, getpayload, getprotocaps, mayberedirectstdio So this looks like a reasonable safety harness to me, and lets us catch problems by running the standard tests while the type hints are being added, and pytype is improved. We should probably do this for all Protocol class methods that don't supply a method implementation.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
     1
; System-wide Mercurial config file.
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
     2
;
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
     3
; !!!  Do Not Edit This File !!!
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
     4
;
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
     5
; This file will be replaced by the installer on every upgrade.
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
     6
; Editing this file can cause strange side effects on Vista.
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
     7
;
49173
90f7d8276e26 contrib: migrate off of a couple of bitbucket URLs
Matt Harbison <matt_harbison@yahoo.com>
parents: 43623
diff changeset
     8
; https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/135
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
     9
;
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    10
; To change settings you see in this file, override (or enable) them in
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    11
; your user Mercurial.ini file, where USERNAME is your Windows user name:
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    12
;
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    13
; XP or older    - C:\Documents and Settings\USERNAME\Mercurial.ini
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    14
; Vista or later - C:\Users\USERNAME\Mercurial.ini
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    15
4749
778bab992732 Convert default mercurial.ini file to Windows line endings
Lee Cantey <lcantey@gmail.com>
parents: 3432
diff changeset
    16
5142
2ffe3e2a1ac2 merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4749 5081
diff changeset
    17
[ui]
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    18
; editor used to enter commit logs, etc.  Most text editors will work.
43623
94eac340d212 packaging: stage files and dynamically generate WiX installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 42541
diff changeset
    19
; editor = notepad
7662
8aa338cd0df3 Update mercurial.ini file packaged in win32 installer
Pascal Quantin <pascal.quantin@wavecom.com>
parents: 5142
diff changeset
    20
; show changed files and be a bit more verbose if True
8aa338cd0df3 Update mercurial.ini file packaged in win32 installer
Pascal Quantin <pascal.quantin@wavecom.com>
parents: 5142
diff changeset
    21
; verbose = True
31126
1b065fa21b00 config: update the Windows example config file
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29665
diff changeset
    22
; colorize commands output
1b065fa21b00 config: update the Windows example config file
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29665
diff changeset
    23
; color = auto
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    24
 
7662
8aa338cd0df3 Update mercurial.ini file packaged in win32 installer
Pascal Quantin <pascal.quantin@wavecom.com>
parents: 5142
diff changeset
    25
; username data to appear in commits
8aa338cd0df3 Update mercurial.ini file packaged in win32 installer
Pascal Quantin <pascal.quantin@wavecom.com>
parents: 5142
diff changeset
    26
; it usually takes the form: Joe User <joe.user@host.com>
8aa338cd0df3 Update mercurial.ini file packaged in win32 installer
Pascal Quantin <pascal.quantin@wavecom.com>
parents: 5142
diff changeset
    27
; username = Joe User <j.user@example.com>
8aa338cd0df3 Update mercurial.ini file packaged in win32 installer
Pascal Quantin <pascal.quantin@wavecom.com>
parents: 5142
diff changeset
    28
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    29
; In order to push/pull over ssh you must specify an ssh tool
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    30
;ssh = "C:\Progra~1\TortoiseSVN\bin\TortoisePlink.exe" -ssh -2
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    31
;ssh = C:\cygwin\bin\ssh
4749
778bab992732 Convert default mercurial.ini file to Windows line endings
Lee Cantey <lcantey@gmail.com>
parents: 3432
diff changeset
    32
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    33
;
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    34
; For more information about mercurial extensions, start here
29665
a98a913745b6 win32: update wiki link in mercurial.ini
Anton Shestakov <av6@dwimlabs.net>
parents: 29162
diff changeset
    35
; https://www.mercurial-scm.org/wiki/UsingExtensions
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    36
;
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    37
; Extensions shipped with Mercurial
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    38
;
4749
778bab992732 Convert default mercurial.ini file to Windows line endings
Lee Cantey <lcantey@gmail.com>
parents: 3432
diff changeset
    39
[extensions]
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    40
;acl =
19512
f84036df71ad win32: update Inno Setup installer script and extensions list
Pascal Quantin <pascal.quantin@gmail.com>
parents: 17278
diff changeset
    41
;blackbox =
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    42
;bugzilla =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    43
;children =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    44
;churn =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    45
;convert =
11269
5f01fd602542 win32text: mark this extension as deprecated
Martin Geisler <mg@aragost.com>
parents: 10474
diff changeset
    46
;eol =
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    47
;extdiff =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    48
;fetch =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    49
;gpg =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    50
;hgk =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    51
;highlight = 
17278
ef5d70655143 win32: update Inno Setup installer extensions list
Pascal Quantin <pascal.quantin@gmail.com>
parents: 16242
diff changeset
    52
;histedit =
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    53
;interhg =
17278
ef5d70655143 win32: update Inno Setup installer extensions list
Pascal Quantin <pascal.quantin@gmail.com>
parents: 16242
diff changeset
    54
;largefiles =
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    55
;keyword =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    56
;mq =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    57
;notify =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    58
;pager =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    59
;patchbomb =
10474
601a9d67825a Add progress extension to win32 default config file
Pascal Quantin <pascal.quantin@gmail.com>
parents: 9322
diff changeset
    60
;progress =
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    61
;purge =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    62
;rebase =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    63
;record =
17278
ef5d70655143 win32: update Inno Setup installer extensions list
Pascal Quantin <pascal.quantin@gmail.com>
parents: 16242
diff changeset
    64
;relink =
ef5d70655143 win32: update Inno Setup installer extensions list
Pascal Quantin <pascal.quantin@gmail.com>
parents: 16242
diff changeset
    65
;schemes =
ef5d70655143 win32: update Inno Setup installer extensions list
Pascal Quantin <pascal.quantin@gmail.com>
parents: 16242
diff changeset
    66
;share =
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    67
;transplant =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    68
;win32mbcs =
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    69
;zeroconf =
4749
778bab992732 Convert default mercurial.ini file to Windows line endings
Lee Cantey <lcantey@gmail.com>
parents: 3432
diff changeset
    70
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    71
;
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    72
; Define external diff commands
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    73
;
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    74
[extdiff]
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    75
;cmd.bc3diff = C:\Program Files\Beyond Compare 3\BCompare.exe
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    76
;cmd.vdiff = C:\Progra~1\TortoiseSVN\bin\TortoiseMerge.exe
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    77
;cmd.vimdiff = gvim.exe
16242
55174ab81973 extdiff: escape filenames with vim/DirDiff and make quoting work with Windows
Thomas Arendsen Hein <thomas@intevation.de>
parents: 14159
diff changeset
    78
;opts.vimdiff = -f "+next" "+execute 'DirDiff' fnameescape(argv(0)) fnameescape(argv(1))"
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    79
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    80
7663
b0a0eb28a933 Package hgk Tcl/Tk script in win32 installer
Pascal Quantin <pascal.quantin@wavecom.com>
parents: 7662
diff changeset
    81
[hgk]
b0a0eb28a933 Package hgk Tcl/Tk script in win32 installer
Pascal Quantin <pascal.quantin@wavecom.com>
parents: 7662
diff changeset
    82
; Replace the following with your path to hgk, uncomment it and 
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    83
; install ActiveTcl (or another win32 port like tclkit)
7663
b0a0eb28a933 Package hgk Tcl/Tk script in win32 installer
Pascal Quantin <pascal.quantin@wavecom.com>
parents: 7662
diff changeset
    84
; path="C:\Program Files\Mercurial\Contrib\hgk.tcl"
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    85
; vdiff=vdiff
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    86
 
4749
778bab992732 Convert default mercurial.ini file to Windows line endings
Lee Cantey <lcantey@gmail.com>
parents: 3432
diff changeset
    87
9322
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    88
;
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    89
; The git extended diff format can represent binary files, file
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    90
; permission changes, and rename information that the normal patch format
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    91
; cannot describe.  However it is also not compatible with tools which
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    92
; expect normal patches. so enable git patches at your own risk.
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    93
;
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    94
[diff]
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    95
;git = false
81900431589f mercurial.ini: provide more useful info
Steve Borho <steve@borho.org>
parents: 7663
diff changeset
    96
;nodates = false
7662
8aa338cd0df3 Update mercurial.ini file packaged in win32 installer
Pascal Quantin <pascal.quantin@wavecom.com>
parents: 5142
diff changeset
    97