##// END OF EJS Templates
localrepo: omit ".hgsubstate" also from "added" files...
localrepo: omit ".hgsubstate" also from "added" files Before this patch, "localrepository.commit()" omits ".hgsubstate" from "modified" (changes[0]) and "removed" (changes[2]) file list before checking subrepositories, but leaves one in "added" (changes[1]) as it is. Then, "localrepository.commit()" adds ".hgsubstate" into "modified" or "removed" list forcibly, according to subrepository statuses. If "added" contains ".hgsubstate", the committed context will contain two ".hgsubstate" in its "files": one from "added" (not omitted one), and another from "modified" or "removed" (newly added one). How many times ".hgsubstate" appears in "files" changes node hash, even though revision content is same, because node hash calculation uses the specified "files" directly (without duplication check or so). This means that node hash of committed revision changes according to existence of ".hgsubstate" in "added" at "localrepository.commit()". ".hgsubstate" is treated as "added", not only in accidental cases, but also in the case of "qpush" for the patch adding ".hgsubstate". This patch omits ".hgsubstate" also from "added" files before checking subrepositories. This patch also omits ".hgsubstate" exclusion in "qnew"/"qrefresh" introduced by changeset d666da075b91, because this patch makes them meaningless. "hg parents --template '{files}\n'" newly added to "test-mq-subrepo.t" enhances checking unexpected multiple appearances of ".hgsubstate" in "files" of created/refreshed MQ revisions.

File last commit:

r20144:3dcc6708 stable
r20827:ca5dd216 default
Show More
sample.hgrc
128 lines | 2.4 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 =
### hgk - GUI repository browser
### hg help view
# hgext.hgk =
### strip - Remove changesets and their descendents from history
### hg help strip
# hgext.strip =
### 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