Gilles Moris <gilles.moris@free.fr> [Sun, 18 Oct 2009 14:35:36 +0200] rev 9615
setup: refactor the version string to a subset of tag+tagdist-hash+date
Here is an array summarizing the mercurial version string:
[A] [B] [C] [D]
[1] clone tag clean => tag
[2] clone hash clean => latesttag+latesttagdistance-hash
[3] clone tag dirty => tag+date
[4] clone hash dirty => latesttag+latesttagdistance-hash+date
[5] archive tag clean => tag
[6] archive hash clean => latesttag+latesttagdistance-hash
Column [A]: Mercurial built from an hg *archive* or hg *clone* working directory
Column [B]: revision built has a *tag* or else default to the SHA1 *hash*
Column [C]: working tree *clean* or *dirty*
Column [D]: Mercurial version string
Over the previous version:
- row [5] did return just the node hash, now it returns the tag
- prepend the latest tag and the distance to it to rows [2][4][6]
- append also the date to row [3]; previously, it was just the tag
- the version string is with an empty string to avoid possible TypeError
exceptions during string manipulations
- factorize the function to run hg commands; remove the error message as it is
no more specific to the function.
This scheme enables to have first part of the version strings that can be
compared, whether it has been built from a tagged or untagged revision.
The second part of the version adds a hash for untagged revisions and today's
date if the working tree has local modifications.
As the version string does not contain spaces or special characters, it should
not break script parsing the 'hg version' command and should be usable for use
in file names.
The new code also ensure that the version string has exactly the same version
string, whether it has been built from an archive or from a clone.
Gilles Moris <gilles.moris@free.fr> [Tue, 11 Aug 2009 09:04:02 +0200] rev 9614
archive: add branch and tag informations to the .hg_archival.txt file
Up to this changeset, only the repo (first node) and current node hash were
included. This adds also the named branch and tags.
So the additional lines to .hg_archival.txt are
branch: the named branch
tag: the global tags of this revision, one per line in case of multiple tags
latesttag: if the revision is untagged, the latest tag (most recent in
ancestors), again one per line if this ancestor has multiple tags.
latestagdistance: the longest distance (changesets) to this latest ancestor.
Martin Geisler <mg@lazybytes.net> [Tue, 20 Oct 2009 00:17:36 +0200] rev 9613
ui: only use "user@host" as username in noninteractive mode
We regularly see people on IRC ask how they can correct commits they
accidentally made without having configured a username. This change
will make Mercurial abort when a commit is made without a username.
If Mercurial is run without a TTY (from a cronjob or similar), a
username is constructed as usual. Schematically the changes are as
follows:
With ui.askusername=False:
old new
interactive user@host abort
noninteractive user@host user@host
With ui.askusername=True:
old new
interactive prompt prompt
noninteractive user@host user@host
Alexander Solovyov <piranha@piranha.org.ua> [Mon, 19 Oct 2009 23:27:20 +0300] rev 9612
fix patchbomb prompt when sending series of patches
Adrian Buehlmann <adrian@cadifra.com> [Fri, 16 Oct 2009 23:57:34 +0200] rev 9611
hg.clone: report branch name on update
Alexander Solovyov <piranha@piranha.org.ua> [Mon, 19 Oct 2009 22:19:28 +0300] rev 9610
make path expanding more consistent
This expands ~user and $FOO constructs in ui.ignore files, [defaults],
[paths], extension paths, and HGRCPATH files.
Henrik Stuart <hg@hstuart.dk> [Sat, 17 Oct 2009 15:40:34 +0200] rev 9609
tests: fix inadvertent use of existing test repository
David Soria Parra <dsp@php.net> [Mon, 19 Oct 2009 07:14:44 +0200] rev 9608
commands: clarify output for the commit summary
It is not clear what is meant with '2 modified, 3 unknown'. We clarify
this by writing '2 modified files, 3 unknown files' instead.
Martin Geisler <mg@lazybytes.net> [Mon, 19 Oct 2009 14:37:37 +0200] rev 9607
commands: do not split a translated string
Splitting the string after translation relies on the implicit
assumption that translators will always translate the English words
using single foreign words.
Also, when translating we want as much context as possible so I've
moved the string formatting into the translatable string.
Matt Mackall <mpm@selenic.com> [Mon, 19 Oct 2009 00:36:52 -0500] rev 9606
Remove parents from default help in favor of summary