--- a/.hgsigs Sat Mar 06 08:58:03 2010 +0000
+++ b/.hgsigs Sat Mar 06 10:02:45 2010 +0100
@@ -18,3 +18,4 @@
439d7ea6fe3aa4ab9ec274a68846779153789de9 0 iEYEABECAAYFAksVw0kACgkQywK+sNU5EO/oZwCfdfBEkgp38xq6wN2F4nj+SzofrJIAnjmxt04vaJSeOOeHylHvk6lzuQsw
296a0b14a68621f6990c54fdba0083f6f20935bf 0 iEYEABECAAYFAks+jCoACgkQywK+sNU5EO9J8wCeMUGF9E/gS2UBsqIz56WS4HMPRPUAoI5J95mwEIK8Clrl7qFRidNI6APq
4aa619c4c2c09907034d9824ebb1dd0e878206eb 0 iEYEABECAAYFAktm9IsACgkQywK+sNU5EO9XGgCgk4HclRQhexEtooPE5GcUCdB6M8EAn2ptOhMVbIoO+JncA+tNACPFXh0O
+ff2704a8ded37fbebd8b6eb5ec733731d725da8a 0 iEYEABECAAYFAkuRoSQACgkQywK+sNU5EO//3QCeJDc5r2uFyFCtAlpSA27DEE5rrxAAn2FSwTy9fhrB3QAdDQlwkEZcQzDh
--- a/.hgtags Sat Mar 06 08:58:03 2010 +0000
+++ b/.hgtags Sat Mar 06 10:02:45 2010 +0100
@@ -30,3 +30,4 @@
439d7ea6fe3aa4ab9ec274a68846779153789de9 1.4.1
296a0b14a68621f6990c54fdba0083f6f20935bf 1.4.2
4aa619c4c2c09907034d9824ebb1dd0e878206eb 1.4.3
+ff2704a8ded37fbebd8b6eb5ec733731d725da8a 1.5
--- a/contrib/win32/hgwebdir_wsgi.py Sat Mar 06 08:58:03 2010 +0000
+++ b/contrib/win32/hgwebdir_wsgi.py Sat Mar 06 10:02:45 2010 +0100
@@ -6,8 +6,9 @@
#
# Requirements:
# - Python 2.6
+# - PyWin32 build 214 or newer
+# - Mercurial installed from source (python setup.py install)
# - IIS 7
-# - PyWin32 build 214 or newer
#
# Earlier versions will in general work as well, but the PyWin32 version is
# necessary for win32traceutil to work correctly.
@@ -20,13 +21,13 @@
#
# - Run this script (i.e. python hgwebdir_wsgi.py) to get a shim dll. The
# shim is identical for all scripts, so you can just copy and rename one
-# from an earlier run instead.
+# from an earlier run, if you wish.
#
# - Setup an IIS application where your hgwebdir is to be served from.
-# Make sure it's assigned a 32-bit app pool.
+# On 64-bit systems, make sure it's assigned a 32-bit app pool.
#
# - In the application, setup a wildcard script handler mapping of type
-# IpsapiModule, with the shim dll as its executable. This file MUST reside
+# IpsapiModule with the shim dll as its executable. This file MUST reside
# in the same directory as the shim. Remove all other handlers, if you wish.
#
# - Make sure the ISAPI and CGI restrictions (configured globally on the
@@ -45,20 +46,19 @@
import sys
-# To stop serving pages in UTF-8, remove the two lines below
+# Adjust python path if this is not a system-wide install
+#sys.path.insert(0, r'c:\path\to\python\lib')
+
+# Enable tracing. Run 'python -m win32traceutil' to debug
+if hasattr(sys, 'isapidllhandle'):
+ import win32traceutil
+
+# To serve pages in local charset instead of UTF-8, remove the two lines below
import os
os.environ['HGENCODING'] = 'UTF-8'
-# Adjust python path if this is not a system-wide install
-#sys.path.insert(0, "/path/to/python/lib")
-
-
-# Enable tracing. Run 'python -m win32traceutil' to debug
-if hasattr(sys, 'isapidllhandle'):
- import win32traceutil
import isapi_wsgi
-
from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb.hgwebdir_mod import hgwebdir
--- a/hgext/fetch.py Sat Mar 06 08:58:03 2010 +0000
+++ b/hgext/fetch.py Sat Mar 06 10:02:45 2010 +0100
@@ -81,7 +81,6 @@
# Is this a simple fast-forward along the current branch?
newheads = repo.branchheads(branch)
- newheads = [head for head in newheads if len(repo[head].children()) == 0]
newchildren = repo.changelog.nodesbetween([parent], newheads)[2]
if len(newheads) == 1:
if newchildren[0] != parent:
--- a/hgext/mq.py Sat Mar 06 08:58:03 2010 +0000
+++ b/hgext/mq.py Sat Mar 06 10:02:45 2010 +0100
@@ -813,7 +813,7 @@
_reserved = ('series', 'status', 'guards')
def check_reserved_name(self, name):
if (name in self._reserved or name.startswith('.hg')
- or name.startswith('.mq')):
+ or name.startswith('.mq') or '#' in name or ':' in name):
raise util.Abort(_('"%s" cannot be used as the name of a patch')
% name)
@@ -1864,7 +1864,7 @@
qcommit to commit changes to this queue repository.
This command is deprecated. Without -c, it's implied by other relevant
- commands. With -c, use hg init -Q instead."""
+ commands. With -c, use hg init --mq instead."""
return qinit(ui, repo, create=opts['create_repo'])
def clone(ui, source, dest=None, **opts):
@@ -1934,7 +1934,7 @@
def commit(ui, repo, *pats, **opts):
"""commit changes in the queue repository (DEPRECATED)
- This command is deprecated; use hg -Q commit instead."""
+ This command is deprecated; use hg --mq commit instead."""
q = repo.mq
r = q.qrepo()
if not r:
@@ -2654,7 +2654,7 @@
return orig(r.ui, r, *args, **kwargs)
def uisetup(ui):
- mqopt = [('Q', 'mq', None, _("operate on patch repository"))]
+ mqopt = [('', 'mq', None, _("operate on patch repository"))]
extensions.wrapcommand(commands.table, 'import', mqimport)
--- a/i18n/ja.po Sat Mar 06 08:58:03 2010 +0000
+++ b/i18n/ja.po Sat Mar 06 10:02:45 2010 +0100
@@ -99,7 +99,7 @@
msgstr ""
"Project-Id-Version: Mercurial\n"
"Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2010-03-02 11:58+0900\n"
+"POT-Creation-Date: 2010-03-04 11:38+0900\n"
"PO-Revision-Date: 2009-11-16 21:24+0100\n"
"Last-Translator: Japanese translation team <mercurial-ja@googlegroups.com>\n"
"Language-Team: Japanese\n"
@@ -6511,6 +6511,16 @@
#, python-format
msgid ""
+"alias for: hg %s\n"
+"\n"
+"%s"
+msgstr ""
+"hg %s の別名\n"
+"\n"
+"%s"
+
+#, python-format
+msgid ""
"\n"
"use \"hg -v help %s\" to show verbose help\n"
msgstr ""
@@ -7951,8 +7961,8 @@
msgid "annotate the specified revision"
msgstr "当該リビジョン時点での由来情報を表示"
-msgid "follow copies and renames (DEPRECATED)"
-msgstr "複製/改名元ファイルの履歴も追跡(非推奨)"
+msgid "follow copies/renames and list the filename (DEPRECATED)"
+msgstr "複製/改名元ファイルの履歴追跡と、ファイル名の表示(非推奨)"
msgid "don't follow copies and renames"
msgstr "複製/改名元ファイル履歴の追跡を抑止"
@@ -8681,16 +8691,6 @@
msgstr "'%s' を別名に持つコマンドはありません\n"
#, python-format
-msgid ""
-"alias for: hg %s\n"
-"\n"
-"%s"
-msgstr ""
-"hg %s の別名\n"
-"\n"
-"%s"
-
-#, python-format
msgid "alias '%s' resolves to unknown command '%s'\n"
msgstr "'%s' が未知のコマンド '%s' の別名とみなされました\n"
--- a/i18n/pt_BR.po Sat Mar 06 08:58:03 2010 +0000
+++ b/i18n/pt_BR.po Sat Mar 06 10:02:45 2010 +0100
@@ -9007,8 +9007,8 @@
msgid "annotate the specified revision"
msgstr "faz um annotate da revisão especificada"
-msgid "follow copies and renames (DEPRECATED)"
-msgstr "segue cópias e renomeações (OBSOLETA)"
+msgid "follow copies/renames and list the filename (DEPRECATED)"
+msgstr "segue cópias e renomeações e lista o nome de arquivo (OBSOLETA)"
msgid "don't follow copies and renames"
msgstr "não segue cópias e renomeações"
--- a/i18n/sv.po Sat Mar 06 08:58:03 2010 +0000
+++ b/i18n/sv.po Sat Mar 06 10:02:45 2010 +0100
@@ -13,8 +13,8 @@
msgstr ""
"Project-Id-Version: Mercurial\n"
"Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2010-03-02 18:23+0100\n"
-"PO-Revision-Date: 2010-03-02 18:36+0100\n"
+"POT-Creation-Date: 2010-03-04 07:02+0100\n"
+"PO-Revision-Date: 2010-03-04 07:33+0100\n"
"Last-Translator: Jens Bäckman <jens.backman@gmail.com>\n"
"Language-Team: Swedish\n"
"MIME-Version: 1.0\n"
@@ -4779,46 +4779,67 @@
" non-zero exit status means the revision is bad.\n"
" "
msgstr ""
+"genomsökning av ändringar med halveringsmetoden\n"
+"\n"
+" Detta kommando hjälper till att hitta ändringar som skapar problem. För\n"
+" att använda, markera den tidigaste ändringen du vet har problemet som\n"
+" dålig, och markera sedan den senaste problemfria ändringen som bra.\n"
+" Bisect uppdaterar din arbetskatalog till en revision för testning (om\n"
+" inte -U/--noupdate anges). När du har testat, markera arbetskatalogen\n"
+" som bra eller dålig, och bisect kommer endera att uppdatera till en\n"
+" annan kandidat eller meddela att den dåliga revisionen har hittats.\n"
+"\n"
+" Som en genväg kan du också använda revisionsargumentet för att markera\n"
+" en revision som bra eller dålig utan att kontrollera den först.\n"
+"\n"
+" Om du tillhandahåller ett kommando, kommer det att användas för\n"
+" automatisk genomsökning. Dess returkod kommer att användas för att ange\n"
+" revisioner som bra eller dåliga: kod 0 betyder bra, 125 betyder att\n"
+" revisionen hoppas över, 127 (kommandot hittades inte) avbryter\n"
+" genomsökningen, och alla andra värden betyder att revisionen är dålig.\n"
+" "
msgid "The first good revision is:\n"
-msgstr ""
+msgstr "Den första bra revisionen är:\n"
msgid "The first bad revision is:\n"
-msgstr ""
+msgstr "Den första dåliga revisionen är:\n"
msgid "Due to skipped revisions, the first good revision could be any of:\n"
msgstr ""
+"Tack vare skippade revisioner, är den första bra revisionen någon av:\n"
msgid "Due to skipped revisions, the first bad revision could be any of:\n"
msgstr ""
+"Tack vare skippade revisioner, kan den första dåliga revisionen någon av:\n"
msgid "cannot bisect (no known good revisions)"
-msgstr ""
+msgstr "kan inte genomsöka (inga kända bra revisioner)"
msgid "cannot bisect (no known bad revisions)"
-msgstr ""
+msgstr "kan inte genomsöka (inga kända dåliga revisioner)"
msgid "(use of 'hg bisect <cmd>' is deprecated)\n"
-msgstr ""
+msgstr "(användning av 'hg bisect <kmd>' är föråldrat)\n"
msgid "incompatible arguments"
-msgstr ""
+msgstr "inkompatibla argument"
#, python-format
msgid "failed to execute %s"
-msgstr ""
+msgstr "misslyckades med att köra %s"
#, python-format
msgid "%s killed"
-msgstr ""
+msgstr "%s dödad"
#, python-format
msgid "Changeset %d:%s: %s\n"
-msgstr ""
+msgstr "Ändring %d:%s: %s\n"
#, python-format
msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
-msgstr ""
+msgstr "Testar ändring %d:%s (%d ändringar kvar, ~%d test)\n"
msgid ""
"set or show the current branch name\n"
@@ -5898,6 +5919,23 @@
" contain whitespace as multiple filenames.\n"
" "
msgstr ""
+"hitta filer som matchar givna mönster\n"
+"\n"
+" Visa filer som är under Mercurials kontroll i arbetskatalogen vars\n"
+" namn matchar givna mönster.\n"
+"\n"
+" Som standard söker det här kommandot i alla kataloger inuti\n"
+" arbetskatalogen. För att bara söka den aktuella katalogen och dess\n"
+" underkataloger, använd \"--include .\".\n"
+"\n"
+" Om inga mönster anges för matching, visar det här kommantod namnen på\n"
+" alla filer under Mercurials kontroll i arbetskatalogen.\n"
+"\n"
+" Om du vill skicka utmatningen från detta kommando till kommandot\n"
+" \"xargs\", använd flaggan -O till både detta kommando och \"xargs\".\n"
+" Detta undviker problemet med att \"xargs\" behandlar filnamn som\n"
+" innehåller blanktecken som multipla filnamn.\n"
+" "
msgid ""
"show revision history of entire repository or files\n"
@@ -5967,6 +6005,15 @@
" With --debug, print file revision hashes.\n"
" "
msgstr ""
+"visa den nuvarande eller angivna revisionen av projektmanifestet\n"
+"\n"
+" Visa en lista med versionshanterade filer för den angivna revisionen.\n"
+" Om ingen revision anges, används arbetskatalogens första föräldern,\n"
+" eller null-revisionen om ingen revision är uthämtad.\n"
+"\n"
+" Med -v visas filtillstånd, symlänkar och exekverbarhetsbitar.\n"
+" Med --debug visas filrevisionhashar.\n"
+" "
msgid ""
"merge working directory with another revision\n"
@@ -7075,8 +7122,8 @@
msgid "annotate the specified revision"
msgstr "annotera den specificerade revisionen"
-msgid "follow copies and renames (DEPRECATED)"
-msgstr "följ kopieringar och namnbyten (FÖRLEGAD)"
+msgid "follow copies/renames and list the filename (DEPRECATED)"
+msgstr "följ kopieringar/namnbyten och visa filnamnet (FÖRLEGAD)"
msgid "don't follow copies and renames"
msgstr "följ inte kopieringar och namnbyten"
@@ -7130,22 +7177,22 @@
msgstr "[FLAGGA]... [-r] REV"
msgid "reset bisect state"
-msgstr ""
+msgstr "återställ bisect-tillständ"
msgid "mark changeset good"
-msgstr ""
+msgstr "markera ändringen som bra"
msgid "mark changeset bad"
-msgstr ""
+msgstr "markera ändringen som dålig"
msgid "skip testing changeset"
-msgstr ""
+msgstr "hoppa över test av ändring"
msgid "use command to check changeset state"
-msgstr ""
+msgstr "använd kommando för att kontrollera ändringsstatus"
msgid "do not update to target"
-msgstr ""
+msgstr "uppdatera inte till målet"
msgid "[-gbsr] [-U] [-c CMD] [REV]"
msgstr "[-gbsr] [-U] [-c KMD] [REV]"
@@ -7923,7 +7970,7 @@
msgstr "Konfigurationsfiler"
msgid "Date Formats"
-msgstr ""
+msgstr "Datumformat"
msgid "File Name Patterns"
msgstr ""
@@ -8064,6 +8111,42 @@
"- ``{datetime} to {datetime}`` - a date range, inclusive\n"
"- ``-{days}`` - within a given number of days of today\n"
msgstr ""
+"Vissa kommandon tillåter att användare anger ett datum, bland dom:\n"
+"\n"
+"- backout, commit, import, tag: Ange arkiveringsdatum.\n"
+"- log, revert, update: Välj revision(er) med hjälp av datum.\n"
+"\n"
+"Många datumformat är giltiga. Här är några exempel:\n"
+"\n"
+"- ``Wed Dec 6 13:18:29 2006`` (lokal tidszon antas)\n"
+"- ``Dec 6 13:18 -0600`` (året antas, tidsoffset anges)\n"
+"- ``Dec 6 13:18 UTC`` (UTC och GMT är alias för +0000)\n"
+"- ``Dec 6`` (midnatt)\n"
+"- ``13:18`` (idag antas)\n"
+"- ``3:39`` (3:39 på natten antas)\n"
+"- ``3:39pm`` (15:39)\n"
+"- ``2006-12-06 13:18:29`` (ISO 8601-format)\n"
+"- ``2006-12-6 13:18``\n"
+"- ``2006-12-6``\n"
+"- ``12-6``\n"
+"- ``12/6``\n"
+"- ``12/6/6`` (Dec 6 2006)\n"
+"\n"
+"Till sist, så finns även Mercurial's interna format:\n"
+"\n"
+"- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)\n"
+"\n"
+"Detta är det interna representationsformatet för datum. unixtime är antalet\n"
+"sekunder sedan epoken(1970-01-01 00:00 UTC). offset är offseten till den\n"
+"lokala tidszonen, i sekunder väst om UTC (negativ om tidszonen är öst om\n"
+"UTC).\n"
+"\n"
+"Kommandot log accepterar också datumintervall:\n"
+"\n"
+"- ``<{datumtid}`` - på eller innan datum/tid\n"
+"- ``>{datumtid}`` - på eller efter datum/tid\n"
+"- ``{datumtid} to {datumtid}`` - ett datumintervall, inklusivt\n"
+"- ``-{dagar}`` - inom ett givet antal dagar från idag\n"
msgid ""
"Mercurial's default format for showing changes between two versions of\n"
@@ -8858,7 +8941,7 @@
msgstr "söker efter ändringar\n"
msgid "queries"
-msgstr "frågar"
+msgstr "frågor"
msgid "searching"
msgstr "söker"
--- a/mercurial/commands.py Sat Mar 06 08:58:03 2010 +0000
+++ b/mercurial/commands.py Sat Mar 06 10:02:45 2010 +0100
@@ -99,6 +99,11 @@
anyway, although the results will probably be neither useful
nor desirable.
"""
+ if opts.get('follow'):
+ # --follow is deprecated and now just an alias for -f/--file
+ # to mimic the behavior of Mercurial before version 1.5
+ opts['file'] = 1
+
datefunc = ui.quiet and util.shortdate or util.datestr
getdate = util.cachefunc(lambda x: datefunc(x[0].date()))
@@ -3422,7 +3427,8 @@
"^annotate|blame":
(annotate,
[('r', 'rev', '', _('annotate the specified revision')),
- ('', 'follow', None, _('follow copies and renames (DEPRECATED)')),
+ ('', 'follow', None,
+ _('follow copies/renames and list the filename (DEPRECATED)')),
('', 'no-follow', None, _("don't follow copies and renames")),
('a', 'text', None, _('treat all files as text')),
('u', 'user', None, _('list the author (long with -v)')),
--- a/mercurial/store.py Sat Mar 06 08:58:03 2010 +0000
+++ b/mercurial/store.py Sat Mar 06 10:02:45 2010 +0100
@@ -267,7 +267,9 @@
def add(self, fn):
if self.entries is None:
self._load()
- self.opener('fncache', 'ab').write(encodedir(fn) + '\n')
+ if fn not in self.entries:
+ self.opener('fncache', 'ab').write(encodedir(fn) + '\n')
+ self.entries.add(fn)
def __contains__(self, fn):
if self.entries is None:
@@ -290,9 +292,7 @@
self.fncache = fnc
def fncacheopener(path, mode='r', *args, **kw):
- if (mode not in ('r', 'rb')
- and path.startswith('data/')
- and path not in fnc):
+ if mode not in ('r', 'rb') and path.startswith('data/'):
fnc.add(path)
return op(hybridencode(path), mode, *args, **kw)
self.opener = fncacheopener
--- a/mercurial/templates/coal/map Sat Mar 06 08:58:03 2010 +0000
+++ b/mercurial/templates/coal/map Sat Mar 06 10:02:45 2010 +0100
@@ -152,7 +152,7 @@
changelogtag = '<span class="tag">{name|escape}</span> '
changesettag = '<span class="tag">{tag|escape}</span> '
changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
-changelogbranchname = '<span class="branchname">{name|escape}</span> '
+changelogbranchname = '<span class="branchname">{name|escape}</span> '
filediffparent = '
<tr>
--- a/mercurial/templates/monoblue/graph.tmpl Sat Mar 06 08:58:03 2010 +0000
+++ b/mercurial/templates/monoblue/graph.tmpl Sat Mar 06 10:02:45 2010 +0100
@@ -76,7 +76,7 @@
item = item.replace(/_PARITY/, 'parity' + parity);
item = item.replace(/_NODEID/, cur[0]);
item = item.replace(/_NODEID/, cur[0]);
- item = item.replace(/_DESC/, cur[3]);
+ item = item.replace(/_DESC/, cur[3]);
item = item.replace(/_USER/, cur[4]);
item = item.replace(/_DATE/, cur[5]);
@@ -99,7 +99,7 @@
tagspan += '</span>';
}
- item = item.replace(/_TAGS/, tagspan);
+ item = item.replace(/_TAGS/, tagspan);
return [bg, item];
}
--- a/mercurial/templates/monoblue/index.tmpl Sat Mar 06 08:58:03 2010 +0000
+++ b/mercurial/templates/monoblue/index.tmpl Sat Mar 06 10:02:45 2010 +0100
@@ -9,7 +9,7 @@
<ul class="page-nav">
</ul>
</div>
-
+
<table cellspacing="0">
<tr>
<td><a href="?sort={sort_name}">Name</a></td>
--- a/mercurial/templates/paper/map Sat Mar 06 08:58:03 2010 +0000
+++ b/mercurial/templates/paper/map Sat Mar 06 10:02:45 2010 +0100
@@ -152,7 +152,7 @@
changelogtag = '<span class="tag">{name|escape}</span> '
changesettag = '<span class="tag">{tag|escape}</span> '
changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
-changelogbranchname = '<span class="branchname">{name|escape}</span> '
+changelogbranchname = '<span class="branchname">{name|escape}</span> '
filediffparent = '
<tr>
--- a/mercurial/templates/static/style-coal.css Sat Mar 06 08:58:03 2010 +0000
+++ b/mercurial/templates/static/style-coal.css Sat Mar 06 10:02:45 2010 +0100
@@ -131,7 +131,7 @@
.branchname {
color: #000;
- font-size: 60%;
+ font-size: 60%;
font-weight: normal;
margin-left: .5em;
vertical-align: baseline;
--- a/mercurial/templates/static/style-paper.css Sat Mar 06 08:58:03 2010 +0000
+++ b/mercurial/templates/static/style-paper.css Sat Mar 06 10:02:45 2010 +0100
@@ -122,7 +122,7 @@
.branchname {
color: #000;
- font-size: 60%;
+ font-size: 60%;
font-weight: normal;
margin-left: .5em;
vertical-align: baseline;
--- a/tests/test-annotate.out Sat Mar 06 08:58:03 2010 +0000
+++ b/tests/test-annotate.out Sat Mar 06 10:02:45 2010 +0100
@@ -102,4 +102,4 @@
1:3: a
% generate ABA rename configuration
% annotate after ABA with follow
-8: foo
+foo: foo
--- a/tests/test-convert Sat Mar 06 08:58:03 2010 +0000
+++ b/tests/test-convert Sat Mar 06 10:02:45 2010 +0100
@@ -56,4 +56,10 @@
echo % convert with imaginary sink type
hg convert --dest-type foo a a-foo
+echo
+echo % "testing: convert must not produce duplicate entries in fncache"
+hg convert a b
+echo % "contents of fncache file:"
+cat b/.hg/store/fncache
+
true
--- a/tests/test-convert-baz.out Sat Mar 06 08:58:03 2010 +0000
+++ b/tests/test-convert-baz.out Sat Mar 06 10:02:45 2010 +0100
@@ -87,10 +87,10 @@
o 0 "initial import" files:
c4072c4b72e1cabace081888efa148ee80ca3cbb 644 a
-623942606de842342ac7b221ae9ccabc13b5d8c8 644 c
+0201ac32a3a8e86e303dff60366382a54b48a72e 644 c
1a4a864db0073705a11b1439f563bfa4b46d9246 644 e
-ab9089704d7c988687521e6adf018ebf767da7d6 644 f
-43b4308708a4b36340566684df2e2a074b12ceb0 644 @ test/a-link
-73773e3389ef7ec5a070519b74895d2eaa4ad5db 644 @ test/b
+09e0222742fc3f75777fa9d68a5d8af7294cb5e7 644 f
+c0067ba5ff0b7c9a3eb17270839d04614c435623 644 @ test/a-link
+375f4263d86feacdea7e3c27100abd1560f2a973 644 @ test/b
copies: c (src/a-link-2) test/a-link (src/a-link) test/b (src/b)
copies: f (e)
--- a/tests/test-convert.out Sat Mar 06 08:58:03 2010 +0000
+++ b/tests/test-convert.out Sat Mar 06 10:02:45 2010 +0100
@@ -273,3 +273,17 @@
abort: foo: invalid source repository type
% convert with imaginary sink type
abort: foo: invalid destination repository type
+
+% testing: convert must not produce duplicate entries in fncache
+initializing destination b repository
+scanning source...
+sorting...
+converting...
+4 a
+3 b
+2 c
+1 d
+0 e
+% contents of fncache file:
+data/a.i
+data/b.i
--- a/tests/test-fetch Sat Mar 06 08:58:03 2010 +0000
+++ b/tests/test-fetch Sat Mar 06 10:02:45 2010 +0100
@@ -197,6 +197,20 @@
HGMERGE=true hg --cwd i1726r2 fetch ../i1726r1 | sed 's/new changeset 3:[0-9a-zA-Z]* /new changeset 3 /'
hg --cwd i1726r2 heads default --template '{rev}\n'
+echo
+echo % test issue2047
+hg -q init i2047a
+cd i2047a
+echo a > a
+hg -q ci -Am a
+hg -q branch stable
+echo b > b
+hg -q ci -Am b
+cd ..
+hg -q clone -r 0 i2047a i2047b
+cd i2047b
+hg fetch ../i2047a
+
"$TESTDIR/killdaemons.py"
true
--- a/tests/test-fetch.out Sat Mar 06 08:58:03 2010 +0000
+++ b/tests/test-fetch.out Sat Mar 06 10:02:45 2010 +0100
@@ -207,3 +207,11 @@
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
new changeset 3 merges remote changes with local
3
+
+% test issue2047
+pulling from ../i2047a
+searching for changes
+adding changesets
+adding manifests
+adding file changes
+added 1 changesets with 1 changes to 1 files
--- a/tests/test-mq-qnew Sat Mar 06 08:58:03 2010 +0000
+++ b/tests/test-mq-qnew Sat Mar 06 10:02:45 2010 +0100
@@ -19,6 +19,9 @@
hg qnew status
hg qnew guards
hg qnew .hgignore
+ hg qnew .mqfoo
+ hg qnew 'foo#bar'
+ hg qnew 'foo:bar'
hg qinit -c
--- a/tests/test-mq-qnew.out Sat Mar 06 08:58:03 2010 +0000
+++ b/tests/test-mq-qnew.out Sat Mar 06 10:02:45 2010 +0100
@@ -5,6 +5,9 @@
abort: "status" cannot be used as the name of a patch
abort: "guards" cannot be used as the name of a patch
abort: ".hgignore" cannot be used as the name of a patch
+abort: ".mqfoo" cannot be used as the name of a patch
+abort: "foo#bar" cannot be used as the name of a patch
+abort: "foo:bar" cannot be used as the name of a patch
% qnew with uncommitted changes
uncommitted.patch
% qnew implies add
@@ -52,6 +55,9 @@
abort: "status" cannot be used as the name of a patch
abort: "guards" cannot be used as the name of a patch
abort: ".hgignore" cannot be used as the name of a patch
+abort: ".mqfoo" cannot be used as the name of a patch
+abort: "foo#bar" cannot be used as the name of a patch
+abort: "foo:bar" cannot be used as the name of a patch
% qnew with uncommitted changes
uncommitted.patch
% qnew implies add