##// END OF EJS Templates
py3kcompat: added a "compatibility layer" for py3k...
py3kcompat: added a "compatibility layer" for py3k This patch adds some ugly constructs. The first of them is bytesformatter, a function that formats strings like when '%' is called. The main motivation for this function is py3k's strange behavior: >>> 'foo %s' % b'bar' "foo b'bar'" >>> b'foo %s' % b'bar' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for %: 'bytes' and 'bytes' >>> b'foo %s' % 'bar' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for %: 'bytes' and 'str' In other words, if we can't format bytes with bytes, and recall that all mercurial strings will be converted by a fixer, then things will break badly if we don't take a similar approach. The other addition with this patch is that the os.environ dictionary is monkeypatched to have bytes items. Hopefully this won't be needed in the future, as python 3.2 might get a os.environb dictionary that holds bytes items.

File last commit:

r11269:5f01fd60 default
r11748:37a70a78 default
Show More
sample.hgrc
133 lines | 2.5 KiB | text/plain | TextLexer
### --- User interface
[ui]
### show changed files and be a bit more verbose if True
# verbose = True
### username data to appear in comits
### it usually takes the form: Joe User <joe.user@host.com>
# username = Joe User <j.user@example.com>
### --- Extensions
[extensions]
### each extension has its own 'extension_name=path' line
### the default python library path is used when path is left blank
### the hgext dir is used when 'hgext.extension_name=' is written
### acl - Access control lists
### hg help acl
# hgext.acl =
### bisect - binary search changesets to detect bugs
### hg help bisect
# hgext.hbisect =
### bugzilla - update bugzilla bugs when changesets mention them
### hg help bugzilla
# hgext.bugzilla =
### extdiff - Use external diff application instead of builtin one
# hgext.extdiff =
### gpg - GPG checks and signing
### hg help gpg
# hgext.gpg =
### graphlog - ASCII graph log
### hg help glog
# hgext.graphlog =
### hgk - GUI repository browser
### hg help view
# hgext.hgk =
### mq - Mercurial patch queues
### hg help mq
# hgext.mq =
### notify - Template driven e-mail notifications
### hg help notify
# hgext.notify =
### patchbomb - send changesets as a series of patch emails
### hg help email
# hgext.patchbomb =
### churn - create a graph showing who changed the most lines
### hg help churn
# hgext.churn = /home/user/hg/hg/contrib/churn.py
### eol - automatic management of line endings
# hgext.eol =
### --- hgk additional configuration
[hgk]
### set executable path
# path = /home/user/hg/hg/contrib/hgk
### --- Hook to Mercurial actions - See hgrc man page for avaliable hooks
[hooks]
### Example notify hooks (load hgext.notify extension before use)
# incoming.notify = python:hgext.notify.hook
# changegroup.notify = python:hgext.notify.hook
### Email configuration for the notify and patchbomb extensions
[email]
### Your email address
# from = user@example.com
### Method to send email - smtp or /usr/sbin/sendmail or other program name
# method = smtp
### smtp server to send email to
[smtp]
# host = mail
# port = 25
# tls = false
# username = user
# password = blivet
# local_hostname = myhost
### --- Email notification hook for server
[notify]
### multiple sources can be specified as a whitespace or comma separated list
# sources = serve push pull bundle
### set this to False when you're ready for mail to start sending
# test = True
### path to config file with names of subscribers
# config = /path/to/subscription/file