tags: introduce _readtaghist function
The existing _readtags function has been modified a little and renamed
_readtaghist. A new _readtaghist function has been added, which is a wrappger
around _readtaghist. Its output is the same as the old _readtaghist.
The purpose of this change is to make it possible to automatically merge tag
files. In order to do so we will need to get the line numbers for each of the
tag-node pairs on the first merge parent.
This is not used yet, but will be used on a follow up patch that will introduce
an automatic tag merge algorithm.
I performed some tests to compare the effect of this change. I used timeit to
run the test-tags.t test a 9 times with and without this patch. The results
were:
- without this patch: 3 loops, best of 3: 8.55 sec per loop
- with this patch: 3 loops, best of 3: 8.49 sec per loop
The the test was on average was slightly faster with this patch (although the
difference was probably not statistically significant).
### --- 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