changeset 15395:d2bd51fdd4b7 stable

merge with i18n
author Wagner Bruna <wbruna@softwareexpress.com.br>
date Mon, 31 Oct 2011 11:24:37 -0200
parents 87248de09135 (diff) 84980b00fbcb (current diff)
children afa8e62bebb8
files
diffstat 55 files changed, 305 insertions(+), 298 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Mon Oct 31 20:58:49 2011 +0900
+++ b/Makefile	Mon Oct 31 11:24:37 2011 -0200
@@ -18,7 +18,7 @@
 	@echo '  install-home - install with setup.py install --home=HOME ($(HOME))'
 	@echo '  local        - build for inplace usage'
 	@echo '  tests        - run all tests in the automatic test suite'
-	@echo '  test-foo     - run only specified tests (e.g. test-merge1)'
+	@echo '  test-foo     - run only specified tests (e.g. test-merge1.t)'
 	@echo '  dist         - run all tests and create a source tarball in dist/'
 	@echo '  clean        - remove files created by other targets'
 	@echo '                 (except installed files or dist source tarball)'
--- a/contrib/check-code.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/contrib/check-code.py	Mon Oct 31 11:24:37 2011 -0200
@@ -45,30 +45,30 @@
   [
     (r'(pushd|popd)', "don't use 'pushd' or 'popd', use 'cd'"),
     (r'\W\$?\(\([^\)\n]*\)\)', "don't use (()) or $(()), use 'expr'"),
-    (r'(^|\n)function', "don't use 'function', use old style"),
+    (r'^function', "don't use 'function', use old style"),
     (r'grep.*-q', "don't use 'grep -q', redirect to /dev/null"),
     (r'echo.*\\n', "don't use 'echo \\n', use printf"),
     (r'echo -n', "don't use 'echo -n', use printf"),
-    (r'(^|\n)diff.*-\w*N', "don't use 'diff -N'"),
-    (r'(^| )wc[^|\n]*$', "filter wc output"),
+    (r'^diff.*-\w*N', "don't use 'diff -N'"),
+    (r'(^| )wc[^|]*$\n(?!.*\(re\))', "filter wc output"),
     (r'head -c', "don't use 'head -c', use 'dd'"),
     (r'ls.*-\w*R', "don't use 'ls -R', use 'find'"),
     (r'printf.*\\\d\d\d', "don't use 'printf \NNN', use Python"),
     (r'printf.*\\x', "don't use printf \\x, use Python"),
     (r'\$\(.*\)', "don't use $(expr), use `expr`"),
     (r'rm -rf \*', "don't use naked rm -rf, target a directory"),
-    (r'(^|\|\s*)grep (-\w\s+)*[^|\n]*[(|]\w',
+    (r'(^|\|\s*)grep (-\w\s+)*[^|]*[(|]\w',
      "use egrep for extended grep syntax"),
     (r'/bin/', "don't use explicit paths for tools"),
     (r'\$PWD', "don't use $PWD, use `pwd`"),
     (r'[^\n]\Z', "no trailing newline"),
     (r'export.*=', "don't export and assign at once"),
-    ('(^|\n)([^"\'\n]|("[^"\n]*")|(\'[^\'\n]*\'))*\\^', "^ must be quoted"),
-    (r'(^|\n)source\b', "don't use 'source', use '.'"),
+    (r'^([^"\'\n]|("[^"\n]*")|(\'[^\'\n]*\'))*\\^', "^ must be quoted"),
+    (r'^source\b', "don't use 'source', use '.'"),
     (r'touch -d', "don't use 'touch -d', use 'touch -t' instead"),
     (r'ls +[^|\n-]+ +-', "options to 'ls' must come before filenames"),
     (r'[^>\n]>\s*\$HGRCPATH', "don't overwrite $HGRCPATH, append to it"),
-    (r'stop\(\)', "don't use 'stop' as a shell function name"),
+    (r'^stop\(\)', "don't use 'stop' as a shell function name"),
     (r'(\[|\btest\b).*-e ', "don't use 'test -e', use 'test -f'"),
   ],
   # warnings
@@ -80,11 +80,11 @@
     (r"<<(\S+)((.|\n)*?\n\1)", rephere),
 ]
 
-uprefix = r"(^|\n)  \$\s*"
-uprefixc = r"(^|\n)  > "
+uprefix = r"^  \$ "
+uprefixc = r"^  > "
 utestpats = [
   [
-    (r'(^|\n)(\S|  $ ).*(\S[ \t]+|^[ \t]+)\n', "trailing whitespace on non-output"),
+    (r'^(\S|  $ ).*(\S[ \t]+|^[ \t]+)\n', "trailing whitespace on non-output"),
     (uprefix + r'.*\|\s*sed', "use regex test output patterns instead of sed"),
     (uprefix + r'(true|exit 0)', "explicit zero exit unnecessary"),
     (uprefix + r'.*\$\?', "explicit exit code checks unnecessary"),
@@ -99,10 +99,10 @@
 
 for i in [0, 1]:
     for p, m in testpats[i]:
-        if p.startswith(r'(^|\n)'):
-            p = uprefix + p[6:]
+        if p.startswith(r'^'):
+            p = uprefix + p[1:]
         else:
-            p = uprefix + p
+            p = uprefix + ".*" + p
         utestpats[i].append((p, m))
 
 utestfilters = [
@@ -123,10 +123,10 @@
     (r'\w,\w', "missing whitespace after ,"),
     (r'\w[+/*\-<>]\w', "missing whitespace in expression"),
     (r'^\s+\w+=\w+[^,)\n]$', "missing whitespace in assignment"),
-    (r'(?m)(\s+)try:\n((?:\n|\1\s.*\n)+?)\1except.*?:\n'
+    (r'(\s+)try:\n((?:\n|\1\s.*\n)+?)\1except.*?:\n'
      r'((?:\n|\1\s.*\n)+?)\1finally:', 'no try/except/finally in Py2.4'),
     (r'.{85}', "line too long"),
-    (r'(?m) x+[xo][\'"]\n\s+[\'"]x', 'string join across lines with no space'),
+    (r' x+[xo][\'"]\n\s+[\'"]x', 'string join across lines with no space'),
     (r'[^\n]\Z', "no trailing newline"),
     (r'(\S[ \t]+|^[ \t]+)\n', "trailing whitespace"),
 #    (r'^\s+[^_ \n][^_. \n]+_[^_\n]+\s*=', "don't use underbars in identifiers"),
@@ -344,9 +344,18 @@
         prelines = None
         errors = []
         for p, msg in pats:
+            # fix-up regexes for multiline searches
+            po = p
+            # \s doesn't match \n
+            p = re.sub(r'(?<!\\)\\s', r'[ \\t]', p)
+            # [^...] doesn't match newline
+            p = re.sub(r'(?<!\\)\[\^', r'[^\\n', p)
+
+            #print po, '=>', p
+
             pos = 0
             n = 0
-            for m in re.finditer(p, post):
+            for m in re.finditer(p, post, re.MULTILINE):
                 if prelines is None:
                     prelines = pre.splitlines()
                     postlines = post.splitlines(True)
--- a/contrib/shrink-revlog.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/contrib/shrink-revlog.py	Mon Oct 31 11:24:37 2011 -0200
@@ -172,7 +172,7 @@
             raise util.Abort(_('--revlog option must specify the revlog index '
                                'file (*.i), not %s') % opts.get('revlog'))
 
-        indexfn = util.realpath(fn)
+        indexfn = os.path.realpath(fn)
         store = repo.sjoin('')
         if not indexfn.startswith(store):
             raise util.Abort(_('--revlog option must specify a revlog in %s, '
--- a/hgext/convert/darcs.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/hgext/convert/darcs.py	Mon Oct 31 11:24:37 2011 -0200
@@ -45,7 +45,7 @@
         if ElementTree is None:
             raise util.Abort(_("Python ElementTree module is not available"))
 
-        self.path = util.realpath(path)
+        self.path = os.path.realpath(path)
 
         self.lastrev = None
         self.changes = {}
--- a/hgext/convert/gnuarch.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/hgext/convert/gnuarch.py	Mon Oct 31 11:24:37 2011 -0200
@@ -46,7 +46,7 @@
 
         commandline.__init__(self, ui, self.execmd)
 
-        self.path = util.realpath(path)
+        self.path = os.path.realpath(path)
         self.tmppath = None
 
         self.treeversion = None
--- a/hgext/convert/subversion.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/hgext/convert/subversion.py	Mon Oct 31 11:24:37 2011 -0200
@@ -976,7 +976,7 @@
         self.wc = None
         self.cwd = os.getcwd()
 
-        path = util.realpath(path)
+        path = os.path.realpath(path)
 
         created = False
         if os.path.isfile(os.path.join(path, '.svn', 'entries')):
--- a/hgext/keyword.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/hgext/keyword.py	Mon Oct 31 11:24:37 2011 -0200
@@ -86,7 +86,7 @@
 from mercurial import scmutil
 from mercurial.hgweb import webcommands
 from mercurial.i18n import _
-import re, shutil, tempfile
+import os, re, shutil, tempfile
 
 commands.optionalrepo += ' kwdemo'
 
@@ -647,7 +647,7 @@
             source = repo.dirstate.copied(dest)
             if 'l' in wctx.flags(source):
                 source = scmutil.canonpath(repo.root, cwd,
-                                           util.realpath(source))
+                                           os.path.realpath(source))
             return kwt.match(source)
 
         candidates = [f for f in repo.dirstate.copies() if
--- a/hgext/largefiles/lfcommands.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/hgext/largefiles/lfcommands.py	Mon Oct 31 11:24:37 2011 -0200
@@ -227,7 +227,7 @@
                 if 'l' in fctx.flags():
                     if renamedlfile:
                         raise util.Abort(
-                            _('Renamed/copied largefile %s becomes symlink')
+                            _('renamed/copied largefile %s becomes symlink')
                             % f)
                     islfile = False
             if islfile:
@@ -245,7 +245,7 @@
 
                 # largefile was modified, update standins
                 fullpath = rdst.wjoin(f)
-                lfutil.createdir(os.path.dirname(fullpath))
+                util.makedirs(os.path.dirname(fullpath))
                 m = util.sha1('')
                 m.update(ctx[f].data())
                 hash = m.hexdigest()
--- a/hgext/largefiles/lfutil.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/hgext/largefiles/lfutil.py	Mon Oct 31 11:24:37 2011 -0200
@@ -196,10 +196,6 @@
 def instore(repo, hash):
     return os.path.exists(storepath(repo, hash))
 
-def createdir(dir):
-    if not os.path.exists(dir):
-        os.makedirs(dir)
-
 def storepath(repo, hash):
     return repo.join(os.path.join(longname, hash))
 
@@ -223,7 +219,7 @@
     copytostoreabsolute(repo, repo.wjoin(file), hash)
 
 def copytostoreabsolute(repo, file, hash):
-    createdir(os.path.dirname(storepath(repo, hash)))
+    util.makedirs(os.path.dirname(storepath(repo, hash)))
     if inusercache(repo.ui, hash):
         link(usercachepath(repo.ui, hash), storepath(repo, hash))
     else:
@@ -232,7 +228,7 @@
         linktousercache(repo, hash)
 
 def linktousercache(repo, hash):
-    createdir(os.path.dirname(usercachepath(repo.ui, hash)))
+    util.makedirs(os.path.dirname(usercachepath(repo.ui, hash)))
     link(storepath(repo, hash), usercachepath(repo.ui, hash))
 
 def getstandinmatcher(repo, pats=[], opts={}):
--- a/hgext/largefiles/localstore.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/hgext/largefiles/localstore.py	Mon Oct 31 11:24:37 2011 -0200
@@ -27,7 +27,7 @@
         self.remote = remote
 
     def put(self, source, hash):
-        lfutil.createdir(os.path.dirname(lfutil.storepath(self.remote, hash)))
+        util.makedirs(os.path.dirname(lfutil.storepath(self.remote, hash)))
         if lfutil.instore(self.remote, hash):
             return
         lfutil.link(lfutil.storepath(self.repo, hash),
--- a/hgext/largefiles/overrides.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/hgext/largefiles/overrides.py	Mon Oct 31 11:24:37 2011 -0200
@@ -87,7 +87,7 @@
 
         if exact or not exists:
             abovemin = (lfsize and
-                        os.path.getsize(repo.wjoin(f)) >= lfsize * 1024 * 1024)
+                        os.lstat(repo.wjoin(f)).st_size >= lfsize * 1024 * 1024)
             if large or abovemin or (lfmatcher and lfmatcher(f)):
                 lfnames.append(f)
                 if ui.verbose or not exact:
@@ -817,3 +817,8 @@
             lfdirstate.add(file)
     lfdirstate.write()
     return result
+
+def override_transplant(orig, ui, repo, *revs, **opts):
+    result = orig(ui, repo, *revs, **opts)
+    lfcommands.updatelfiles(repo.ui, repo)
+    return result
--- a/hgext/largefiles/reposetup.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/hgext/largefiles/reposetup.py	Mon Oct 31 11:24:37 2011 -0200
@@ -405,7 +405,5 @@
             repo.requirements.add('largefiles')
             repo._writerequirements()
 
-    checkrequireslfiles(ui, repo)
-
     ui.setconfig('hooks', 'changegroup.lfiles', checkrequireslfiles)
     ui.setconfig('hooks', 'commit.lfiles', checkrequireslfiles)
--- a/hgext/largefiles/uisetup.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/hgext/largefiles/uisetup.py	Mon Oct 31 11:24:37 2011 -0200
@@ -132,3 +132,6 @@
         if name == 'rebase':
             extensions.wrapcommand(getattr(module, 'cmdtable'), 'rebase',
                 overrides.override_rebase)
+        if name == 'transplant':
+            extensions.wrapcommand(getattr(module, 'cmdtable'), 'transplant',
+                overrides.override_transplant)
--- a/i18n/it.po	Mon Oct 31 20:58:49 2011 +0900
+++ b/i18n/it.po	Mon Oct 31 11:24:37 2011 -0200
@@ -6199,7 +6199,7 @@
 
 msgid "HG: Enter commit message.  Lines beginning with 'HG:' are removed."
 msgstr ""
-"HG: Inserisci il messaggio di commit. Le linee che iniziano HG: con 'HG:' "
+"HG: Inserisci il messaggio di commit. Le linee che iniziano con 'HG:' "
 "vengono rimosse."
 
 msgid "HG: Leave message empty to abort commit."
--- a/mercurial/commands.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/commands.py	Mon Oct 31 11:24:37 2011 -0200
@@ -344,7 +344,7 @@
         raise util.Abort(_('no working directory: please specify a revision'))
     node = ctx.node()
     dest = cmdutil.makefilename(repo, dest, node)
-    if util.realpath(dest) == repo.root:
+    if os.path.realpath(dest) == repo.root:
         raise util.Abort(_('repository root cannot be destination'))
 
     kind = opts.get('type') or archival.guesskind(dest) or 'files'
@@ -4756,15 +4756,14 @@
                     # only need parent manifest in this unlikely case,
                     # so do not read by default
                     pmf = repo[parent].manifest()
-                if abs in pmf:
-                    if mfentry:
-                        # if version of file is same in parent and target
-                        # manifests, do nothing
-                        if (pmf[abs] != mfentry or
-                            pmf.flags(abs) != mf.flags(abs)):
-                            handle(revert, False)
-                    else:
-                        handle(remove, False)
+                if abs in pmf and mfentry:
+                    # if version of file is same in parent and target
+                    # manifests, do nothing
+                    if (pmf[abs] != mfentry or
+                        pmf.flags(abs) != mf.flags(abs)):
+                        handle(revert, False)
+                else:
+                    handle(remove, False)
 
         if not opts.get('dry_run'):
             def checkout(f):
--- a/mercurial/hg.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/hg.py	Mon Oct 31 11:24:37 2011 -0200
@@ -130,7 +130,7 @@
 
     sharedpath = srcrepo.sharedpath # if our source is already sharing
 
-    root = util.realpath(dest)
+    root = os.path.realpath(dest)
     roothg = os.path.join(root, '.hg')
 
     if os.path.exists(roothg):
@@ -301,7 +301,7 @@
 
         if copy:
             srcrepo.hook('preoutgoing', throw=True, source='clone')
-            hgdir = util.realpath(os.path.join(dest, ".hg"))
+            hgdir = os.path.realpath(os.path.join(dest, ".hg"))
             if not os.path.exists(dest):
                 os.mkdir(dest)
             else:
--- a/mercurial/localrepo.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/localrepo.py	Mon Oct 31 11:24:37 2011 -0200
@@ -28,7 +28,7 @@
 
     def __init__(self, baseui, path=None, create=False):
         repo.repository.__init__(self)
-        self.root = util.realpath(util.expandpath(path))
+        self.root = os.path.realpath(util.expandpath(path))
         self.path = os.path.join(self.root, ".hg")
         self.origroot = path
         self.auditor = scmutil.pathauditor(self.root, self._checknested)
@@ -79,7 +79,7 @@
 
         self.sharedpath = self.path
         try:
-            s = util.realpath(self.opener.read("sharedpath").rstrip('\n'))
+            s = os.path.realpath(self.opener.read("sharedpath").rstrip('\n'))
             if not os.path.exists(s):
                 raise error.RepoError(
                     _('.hg/sharedpath points to nonexistent directory %s') % s)
--- a/mercurial/repair.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/repair.py	Mon Oct 31 11:24:37 2011 -0200
@@ -11,8 +11,9 @@
 from mercurial.i18n import _
 import os
 
-def _bundle(repo, cg, node, suffix, compress=True):
+def _bundle(repo, bases, heads, node, suffix, compress=True):
     """create a bundle with the specified revisions as a backup"""
+    cg = repo.changegroupsubset(bases, heads, 'strip')
     backupdir = repo.join("strip-backup")
     if not os.path.isdir(backupdir):
         os.mkdir(backupdir)
@@ -82,9 +83,11 @@
             saveheads.add(r)
     saveheads = [cl.node(r) for r in saveheads]
 
-    # compute common nodes
-    savecommon = set(cl.node(p) for r in saverevs for p in cl.parentrevs(r)
-                     if p not in saverevs and p not in tostrip)
+    # compute base nodes
+    if saverevs:
+        descendants = set(cl.descendants(*saverevs))
+        saverevs.difference_update(descendants)
+    savebases = [cl.node(r) for r in saverevs]
 
     bm = repo._bookmarks
     updatebm = []
@@ -96,14 +99,12 @@
     # create a changegroup for all the branches we need to keep
     backupfile = None
     if backup == "all":
-        allnodes=[cl.node(r) for r in xrange(striprev, len(cl))]
-        cg = repo._changegroup(allnodes, 'strip')
-        backupfile = _bundle(repo, cg, node, 'backup')
+        backupfile = _bundle(repo, [node], cl.heads(), node, 'backup')
         repo.ui.status(_("saved backup bundle to %s\n") % backupfile)
-    if saveheads or savecommon:
+    if saveheads or savebases:
         # do not compress partial bundle if we remove it from disk later
-        cg = repo.getbundle('strip', common=savecommon, heads=saveheads)
-        chgrpfile = _bundle(repo, cg, node, 'temp', compress=keeppartialbundle)
+        chgrpfile = _bundle(repo, savebases, saveheads, node, 'temp',
+                            compress=keeppartialbundle)
 
     mfst = repo.manifest
 
@@ -127,7 +128,7 @@
             tr.abort()
             raise
 
-        if saveheads or savecommon:
+        if saveheads or savebases:
             ui.note(_("adding branch\n"))
             f = open(chgrpfile, "rb")
             gen = changegroup.readbundle(f, chgrpfile)
--- a/mercurial/simplemerge.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/simplemerge.py	Mon Oct 31 11:24:37 2011 -0200
@@ -430,7 +430,7 @@
     except util.Abort:
         return 1
 
-    local = util.realpath(local)
+    local = os.path.realpath(local)
     if not opts.get('print'):
         opener = scmutil.opener(os.path.dirname(local))
         out = opener(os.path.basename(local), "w", atomictemp=True)
--- a/mercurial/templates/coal/map	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/coal/map	Mon Oct 31 11:24:37 2011 -0200
@@ -199,7 +199,7 @@
     <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
     <td>{description}</td>
     <td>{contact|obfuscate}</td>
-    <td class="age">{lastchange|date}</td>
+    <td class="age">{lastchange|rfc822date}</td>
     <td class="indexlinks">{archives%indexarchiveentry}</td>
   </tr>\n'
 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
--- a/mercurial/templates/gitweb/changelogentry.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/gitweb/changelogentry.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -1,5 +1,5 @@
 <div>
-<a class="title" href="{url}rev/{node|short}{sessionvars%urlparameter}"><span class="age">{date|date}</span>{desc|strip|firstline|escape|nonempty}<span class="logtags"> {inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span></a>
+<a class="title" href="{url}rev/{node|short}{sessionvars%urlparameter}"><span class="age">{date|rfc822date}</span>{desc|strip|firstline|escape|nonempty}<span class="logtags"> {inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span></a>
 </div>
 <div class="title_text">
 <div class="log_link">
--- a/mercurial/templates/gitweb/changeset.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/gitweb/changeset.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -32,7 +32,7 @@
 <div class="title_text">
 <table cellspacing="0">
 <tr><td>author</td><td>{author|obfuscate}</td></tr>
-<tr><td></td><td class="date age">{date|date}</td></tr>
+<tr><td></td><td class="date age">{date|rfc822date}</td></tr>
 {branch%changesetbranch}
 <tr><td>changeset {rev}</td><td style="font-family:monospace">{node|short}</td></tr>
 {parent%changesetparent}
--- a/mercurial/templates/gitweb/fileannotate.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/gitweb/fileannotate.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -40,7 +40,7 @@
  <td>{author|obfuscate}</td></tr>
 <tr>
  <td></td>
- <td class="date age">{date|date}</td></tr>
+ <td class="date age">{date|rfc822date}</td></tr>
 {branch%filerevbranch}
 <tr>
  <td>changeset {rev}</td>
--- a/mercurial/templates/gitweb/filerevision.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/gitweb/filerevision.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -40,7 +40,7 @@
  <td>{author|obfuscate}</td></tr>
 <tr>
  <td></td>
- <td class="date age">{date|date}</td></tr>
+ <td class="date age">{date|rfc822date}</td></tr>
 {branch%filerevbranch}
 <tr>
  <td>changeset {rev}</td>
--- a/mercurial/templates/gitweb/map	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/gitweb/map	Mon Oct 31 11:24:37 2011 -0200
@@ -162,7 +162,7 @@
 tags = tags.tmpl
 tagentry = '
   <tr class="parity{parity}">
-    <td class="age"><i class="age">{date|date}</i></td>
+    <td class="age"><i class="age">{date|rfc822date}</i></td>
     <td><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}"><b>{tag|escape}</b></a></td>
     <td class="link">
       <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
@@ -173,7 +173,7 @@
 bookmarks = bookmarks.tmpl
 bookmarkentry = '
   <tr class="parity{parity}">
-    <td class="age"><i class="age">{date|date}</i></td>
+    <td class="age"><i class="age">{date|rfc822date}</i></td>
     <td><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}"><b>{bookmark|escape}</b></a></td>
     <td class="link">
       <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
@@ -184,7 +184,7 @@
 branches = branches.tmpl
 branchentry = '
   <tr class="parity{parity}">
-    <td class="age"><i class="age">{date|date}</i></td>
+    <td class="age"><i class="age">{date|rfc822date}</i></td>
     <td><a class="list" href="{url}shortlog/{node|short}{sessionvars%urlparameter}"><b>{node|short}</b></a></td>
     <td class="{status}">{branch|escape}</td>
     <td class="link">
@@ -228,7 +228,7 @@
 bookmarktag = '<span class="bookmarktag" title="{name}">{name}</span> '
 shortlogentry = '
   <tr class="parity{parity}">
-    <td class="age"><i class="age">{date|date}</i></td>
+    <td class="age"><i class="age">{date|rfc822date}</i></td>
     <td><i>{author|person}</i></td>
     <td>
       <a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">
@@ -243,7 +243,7 @@
   </tr>'
 filelogentry = '
   <tr class="parity{parity}">
-    <td class="age"><i class="age">{date|date}</i></td>
+    <td class="age"><i class="age">{date|rfc822date}</i></td>
     <td>
       <a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">
         <b>{desc|strip|firstline|escape|nonempty}</b>
@@ -262,7 +262,7 @@
     </td>
     <td>{description}</td>
     <td>{contact|obfuscate}</td>
-    <td class="age">{lastchange|date}</td>
+    <td class="age">{lastchange|rfc822date}</td>
     <td class="indexlinks">{archives%indexarchiveentry}</td>
     <td><div class="rss_logo"><a href="{url}rss-log">RSS</a> <a href="{url}atom-log">Atom</a></div></td>
   </tr>\n'
--- a/mercurial/templates/monoblue/changelogentry.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/monoblue/changelogentry.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -1,6 +1,6 @@
 <h3 class="changelog"><a class="title" href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}<span class="logtags"> {inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span></a></h3>
 <ul class="changelog-entry">
-    <li class="age">{date|date}</li>
+    <li class="age">{date|rfc822date}</li>
     <li>by <span class="name">{author|obfuscate}</span> <span class="revdate">[{date|rfc822date}] rev {rev}</span></li>
     <li class="description">{desc|strip|escape|addbreaks|nonempty}</li>
 </ul>
--- a/mercurial/templates/monoblue/changeset.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/monoblue/changeset.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -38,13 +38,13 @@
     <h2 class="no-link no-border">changeset</h2>
 
     <h3 class="changeset"><a href="{url}raw-rev/{node|short}">{desc|strip|escape|firstline|nonempty} <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span></a></h3>
-    <p class="changeset-age age">{date|date}</p>
+    <p class="changeset-age age">{date|rfc822date}</p>
 
     <dl class="overview">
         <dt>author</dt>
         <dd>{author|obfuscate}</dd>
         <dt>date</dt>
-        <dd>{date|date}</dd>
+        <dd>{date|rfc822date}</dd>
         {branch%changesetbranch}
         <dt>changeset {rev}</dt>
         <dd>{node|short}</dd>
--- a/mercurial/templates/monoblue/fileannotate.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/monoblue/fileannotate.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -40,13 +40,13 @@
 
     <h2 class="no-link no-border">{file|escape}@{node|short} (annotated)</h2>
     <h3 class="changeset">{file|escape}</h3>
-    <p class="changeset-age age">{date|date}</p>
+    <p class="changeset-age age">{date|rfc822date}</p>
 
     <dl class="overview">
         <dt>author</dt>
         <dd>{author|obfuscate}</dd>
         <dt>date</dt>
-        <dd>{date|date}</dd>
+        <dd>{date|rfc822date}</dd>
         {branch%filerevbranch}
         <dt>changeset {rev}</dt>
         <dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>
--- a/mercurial/templates/monoblue/filerevision.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/monoblue/filerevision.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -40,13 +40,13 @@
 
     <h2 class="no-link no-border">{file|escape}@{node|short}</h2>
     <h3 class="changeset">{file|escape}</h3>
-    <p class="changeset-age age">{date|date}</p>
+    <p class="changeset-age age">{date|rfc822date}</p>
 
     <dl class="overview">
         <dt>author</dt>
         <dd>{author|obfuscate}</dd>
         <dt>date</dt>
-        <dd>{date|date}</dd>
+        <dd>{date|rfc822date}</dd>
         {branch%filerevbranch}
         <dt>changeset {rev}</dt>
         <dd><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>
--- a/mercurial/templates/monoblue/map	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/monoblue/map	Mon Oct 31 11:24:37 2011 -0200
@@ -141,7 +141,7 @@
 tags = tags.tmpl
 tagentry = '
   <tr class="parity{parity}">
-    <td class="nowrap age">{date|date}</td>
+    <td class="nowrap age">{date|rfc822date}</td>
     <td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{tag|escape}</a></td>
     <td class="nowrap">
       <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
@@ -152,7 +152,7 @@
 bookmarks = bookmarks.tmpl
 bookmarkentry = '
   <tr class="parity{parity}">
-    <td class="nowrap date">{date|date}</td>
+    <td class="nowrap date">{date|rfc822date}</td>
     <td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{bookmark|escape}</a></td>
     <td class="nowrap">
       <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
@@ -163,7 +163,7 @@
 branches = branches.tmpl
 branchentry = '
   <tr class="parity{parity}">
-    <td class="nowrap age">{date|date}</td>
+    <td class="nowrap age">{date|rfc822date}</td>
     <td><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
     <td class="{status}">{branch|escape}</td>
     <td class="nowrap">
@@ -196,7 +196,7 @@
 bookmarktag = '<span class="bookmarktag" title="{name}">{name}</span> '
 shortlogentry = '
   <tr class="parity{parity}">
-    <td class="nowrap age">{date|date}</td>
+    <td class="nowrap age">{date|rfc822date}</td>
     <td>{author|person}</td>
     <td>
       <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
@@ -211,7 +211,7 @@
   </tr>'
 filelogentry = '
   <tr class="parity{parity}">
-    <td class="nowrap age">{date|date}</td>
+    <td class="nowrap age">{date|rfc822date}</td>
     <td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a></td>
     <td class="nowrap">
       <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a>&nbsp;|&nbsp;<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a>&nbsp;|&nbsp;<a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a>
@@ -224,7 +224,7 @@
     <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
     <td>{description}</td>
     <td>{contact|obfuscate}</td>
-    <td class="age">{lastchange|date}</td>
+    <td class="age">{lastchange|rfc822date}</td>
     <td class="indexlinks">{archives%indexarchiveentry}</td>
     <td>
       <div class="rss_logo">
--- a/mercurial/templates/paper/changeset.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/paper/changeset.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -49,7 +49,7 @@
 </tr>
 <tr>
  <th class="date">date</th>
- <td class="date age">{date|date}</td></tr>
+ <td class="date age">{date|rfc822date}</td></tr>
 <tr>
  <th class="author">parents</th>
  <td class="author">{parent%changesetparent}</td>
--- a/mercurial/templates/paper/fileannotate.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/paper/fileannotate.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -54,7 +54,7 @@
 </tr>
 <tr>
  <th class="date">date</th>
- <td class="date age">{date|date}</td>
+ <td class="date age">{date|rfc822date}</td>
 </tr>
 <tr>
  <th class="author">parents</th>
--- a/mercurial/templates/paper/filediff.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/paper/filediff.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -53,7 +53,7 @@
 </tr>
 <tr>
  <th>date</th>
- <td class="date age">{date|date}</td>
+ <td class="date age">{date|rfc822date}</td>
 </tr>
 <tr>
  <th>parents</th>
--- a/mercurial/templates/paper/filelogentry.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/paper/filelogentry.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -1,5 +1,5 @@
  <tr class="parity{parity}">
-  <td class="age">{date|date}</td>
+  <td class="age">{date|rfc822date}</td>
   <td class="author">{author|person}</td>
   <td class="description"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a>{inbranch%changelogbranchname}{branches%changelogbranchhead}{tags%changelogtag}{rename%filelogrename}</td>
  </tr>
--- a/mercurial/templates/paper/filerevision.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/paper/filerevision.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -52,7 +52,7 @@
 </tr>
 <tr>
  <th class="date">date</th>
- <td class="date age">{date|date}</td>
+ <td class="date age">{date|rfc822date}</td>
 </tr>
 <tr>
  <th class="author">parents</th>
--- a/mercurial/templates/paper/map	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/paper/map	Mon Oct 31 11:24:37 2011 -0200
@@ -198,7 +198,7 @@
     <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
     <td>{description}</td>
     <td>{contact|obfuscate}</td>
-    <td class="age">{lastchange|date}</td>
+    <td class="age">{lastchange|rfc822date}</td>
     <td class="indexlinks">{archives%indexarchiveentry}</td>
   </tr>\n'
 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
--- a/mercurial/templates/paper/shortlogentry.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/paper/shortlogentry.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -1,5 +1,5 @@
  <tr class="parity{parity}">
-  <td class="age">{date|date}</td>
+  <td class="age">{date|rfc822date}</td>
   <td class="author">{author|person}</td>
   <td class="description"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a>{inbranch%changelogbranchname}{branches%changelogbranchhead}{tags % '<span class="tag">{name|escape}</span> '}{bookmarks % '<span class="tag">{name|escape}</span> '}</td>
  </tr>
--- a/mercurial/templates/spartan/changelogentry.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/spartan/changelogentry.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -1,6 +1,6 @@
 <table class="logEntry parity{parity}">
  <tr>
-  <th><span class="age">{date|date}</span>:</th>
+  <th><span class="age">{date|rfc822date}</span>:</th>
   <th class="firstline">{desc|strip|firstline|escape|nonempty}</th>
  </tr>
  <tr>
@@ -16,7 +16,7 @@
  </tr>
  <tr>
   <th class="date">date:</th>
-  <td class="date">{date|date}</td>
+  <td class="date">{date|rfc822date}</td>
  </tr>
  <tr>
   <th class="files"><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>:</th>
--- a/mercurial/templates/spartan/changeset.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/spartan/changeset.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -31,7 +31,7 @@
 </tr>
 <tr>
  <th class="date">date:</th>
- <td class="date age">{date|date}</td>
+ <td class="date age">{date|rfc822date}</td>
 </tr>
 <tr>
  <th class="files">files:</th>
--- a/mercurial/templates/spartan/fileannotate.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/spartan/fileannotate.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -30,7 +30,7 @@
  <td>{author|obfuscate}</td></tr>
 <tr>
  <td class="metatag">date:</td>
- <td class="date age">{date|date}</td>
+ <td class="date age">{date|rfc822date}</td>
 </tr>
 <tr>
  <td class="metatag">permissions:</td>
--- a/mercurial/templates/spartan/filelogentry.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/spartan/filelogentry.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -1,6 +1,6 @@
 <table class="logEntry parity{parity}">
  <tr>
-  <th><span class="age">{date|date}</span>:</th>
+  <th><span class="age">{date|rfc822date}</span>:</th>
   <th class="firstline"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a></th>
  </tr>
  <tr>
@@ -18,7 +18,7 @@
  </tr>
  <tr>
   <th class="date">date:</th>
-  <td class="date">{date|date}</td>
+  <td class="date">{date|rfc822date}</td>
  </tr>
 </table>
 
--- a/mercurial/templates/spartan/filerevision.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/spartan/filerevision.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -30,7 +30,7 @@
  <td>{author|obfuscate}</td></tr>
 <tr>
  <td class="metatag">date:</td>
- <td class="date age">{date|date}</td></tr>
+ <td class="date age">{date|rfc822date}</td></tr>
 <tr>
  <td class="metatag">permissions:</td>
  <td>{permissions|permissions}</td></tr>
--- a/mercurial/templates/spartan/map	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/spartan/map	Mon Oct 31 11:24:37 2011 -0200
@@ -168,7 +168,7 @@
     <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
     <td>{description}</td>
     <td>{contact|obfuscate}</td>
-    <td class="age">{lastchange|date}</td>
+    <td class="age">{lastchange|rfc822date}</td>
     <td class="indexlinks">
       <a href="{url}rss-log">RSS</a>
       <a href="{url}atom-log">Atom</a>
--- a/mercurial/templates/spartan/shortlogentry.tmpl	Mon Oct 31 20:58:49 2011 +0900
+++ b/mercurial/templates/spartan/shortlogentry.tmpl	Mon Oct 31 11:24:37 2011 -0200
@@ -1,6 +1,6 @@
 <table class="slogEntry parity{parity}">
  <tr>
-  <td class="age">{date|date}</td>
+  <td class="age">{date|rfc822date}</td>
   <td class="author">{author|person}</td>
   <td class="node"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a></td>
  </tr>
--- a/tests/test-check-pyflakes.t	Mon Oct 31 20:58:49 2011 +0900
+++ b/tests/test-check-pyflakes.t	Mon Oct 31 11:24:37 2011 -0200
@@ -1,5 +1,5 @@
   $ "$TESTDIR/hghave" pyflakes || exit 80
-  $ cd $(dirname $TESTDIR)
+  $ cd `dirname $TESTDIR`
   $ pyflakes mercurial hgext 2>&1 | $TESTDIR/filterpyflakes.py
   hgext/inotify/linux/__init__.py:*: 'from _inotify import *' used; unable to detect undefined names (glob)
   
--- a/tests/test-hgrc.t	Mon Oct 31 20:58:49 2011 +0900
+++ b/tests/test-hgrc.t	Mon Oct 31 11:24:37 2011 -0200
@@ -3,13 +3,19 @@
   $ HGRCPATH=`pwd`/hgrc
   $ export HGRCPATH
 
+Use an alternate var for scribbling on hgrc to keep check-code from
+complaining about the important settings we may be overwriting:
+
+  $ HGRC=`pwd`/hgrc
+  $ export HGRC
+
 Basic syntax error
 
-  $ echo "invalid" > $HGRCPATH
+  $ echo "invalid" > $HGRC
   $ hg version
   hg: parse error at $TESTTMP/hgrc:1: invalid
   [255]
-  $ echo "" > $HGRCPATH
+  $ echo "" > $HGRC
 
 Issue1199: Can't use '%' in hgrc (eg url encoded username)
 
@@ -30,21 +36,21 @@
 
 issue1829: wrong indentation
 
-  $ echo '[foo]' > $HGRCPATH
-  $ echo '  x = y' >> $HGRCPATH
+  $ echo '[foo]' > $HGRC
+  $ echo '  x = y' >> $HGRC
   $ hg version
   hg: parse error at $TESTTMP/hgrc:2:   x = y
   [255]
 
   $ python -c "print '[foo]\nbar = a\n b\n c \n  de\n fg \nbaz = bif cb \n'" \
-  > > $HGRCPATH
+  > > $HGRC
   $ hg showconfig foo
   foo.bar=a\nb\nc\nde\nfg
   foo.baz=bif cb
 
   $ FAKEPATH=/path/to/nowhere
   $ export FAKEPATH
-  $ echo '%include $FAKEPATH/no-such-file' > $HGRCPATH
+  $ echo '%include $FAKEPATH/no-such-file' > $HGRC
   $ hg version
   Mercurial Distributed SCM (version *) (glob)
   (see http://mercurial.selenic.com for more information)
@@ -75,8 +81,8 @@
 
   $ FAKEUSER='John Doe'
   $ export FAKEUSER
-  $ echo '[ui]' > $HGRCPATH
-  $ echo 'username = $FAKEUSER' >> $HGRCPATH
+  $ echo '[ui]' > $HGRC
+  $ echo 'username = $FAKEUSER' >> $HGRC
 
   $ hg init usertest
   $ cd usertest
@@ -95,10 +101,10 @@
 
 showconfig with multiple arguments
 
-  $ echo "[alias]" > $HGRCPATH
-  $ echo "log = log -g" >> $HGRCPATH
-  $ echo "[defaults]" >> $HGRCPATH
-  $ echo "identify = -n" >> $HGRCPATH
+  $ echo "[alias]" > $HGRC
+  $ echo "log = log -g" >> $HGRC
+  $ echo "[defaults]" >> $HGRC
+  $ echo "identify = -n" >> $HGRC
   $ hg showconfig alias defaults
   alias.log=log -g
   defaults.identify=-n
@@ -113,19 +119,19 @@
 
   $ cd ..
   $ p=`pwd`
-  $ echo "[ui]" > $HGRCPATH
-  $ echo "debug=true" >> $HGRCPATH
-  $ echo "fallbackencoding=ASCII" >> $HGRCPATH
-  $ echo "quiet=true" >> $HGRCPATH
-  $ echo "slash=true" >> $HGRCPATH
-  $ echo "traceback=true" >> $HGRCPATH
-  $ echo "verbose=true" >> $HGRCPATH
-  $ echo "style=~/.hgstyle" >> $HGRCPATH
-  $ echo "logtemplate={node}" >> $HGRCPATH
-  $ echo "[defaults]" >> $HGRCPATH
-  $ echo "identify=-n" >> $HGRCPATH
-  $ echo "[alias]" >> $HGRCPATH
-  $ echo "log=log -g" >> $HGRCPATH
+  $ echo "[ui]" > $HGRC
+  $ echo "debug=true" >> $HGRC
+  $ echo "fallbackencoding=ASCII" >> $HGRC
+  $ echo "quiet=true" >> $HGRC
+  $ echo "slash=true" >> $HGRC
+  $ echo "traceback=true" >> $HGRC
+  $ echo "verbose=true" >> $HGRC
+  $ echo "style=~/.hgstyle" >> $HGRC
+  $ echo "logtemplate={node}" >> $HGRC
+  $ echo "[defaults]" >> $HGRC
+  $ echo "identify=-n" >> $HGRC
+  $ echo "[alias]" >> $HGRC
+  $ echo "log=log -g" >> $HGRC
 
 customized hgrc
 
@@ -158,8 +164,8 @@
   > def uisetup(ui):
   >     ui.write('plain: %r\n' % ui.plain())
   > EOF
-  $ echo "[extensions]" >> $HGRCPATH
-  $ echo "plain=./plain.py" >> $HGRCPATH
+  $ echo "[extensions]" >> $HGRC
+  $ echo "plain=./plain.py" >> $HGRC
   $ HGPLAINEXCEPT=; export HGPLAINEXCEPT
   $ hg showconfig --config ui.traceback=True --debug
   plain: True
--- a/tests/test-hgweb-commands.t	Mon Oct 31 20:58:49 2011 +0900
+++ b/tests/test-hgweb-commands.t	Mon Oct 31 11:24:37 2011 -0200
@@ -246,17 +246,17 @@
     <th class="description">description</th>
    </tr>
    <tr class="parity0">
-    <td class="age">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="age">Thu, 01 Jan 1970 00:00:00 +0000</td>
     <td class="author">test</td>
     <td class="description"><a href="/rev/1d22e65f027e">branch</a><span class="branchhead">stable</span> <span class="tag">tip</span> <span class="tag">something</span> </td>
    </tr>
    <tr class="parity1">
-    <td class="age">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="age">Thu, 01 Jan 1970 00:00:00 +0000</td>
     <td class="author">test</td>
     <td class="description"><a href="/rev/a4f92ed23982">Added tag 1.0 for changeset 2ef0ac749a14</a><span class="branchhead">default</span> </td>
    </tr>
    <tr class="parity0">
-    <td class="age">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="age">Thu, 01 Jan 1970 00:00:00 +0000</td>
     <td class="author">test</td>
     <td class="description"><a href="/rev/2ef0ac749a14">base</a><span class="tag">1.0</span> <span class="tag">anotherthing</span> </td>
    </tr>
@@ -339,7 +339,7 @@
   </tr>
   <tr>
    <th class="date">date</th>
-   <td class="date age">Thu Jan 01 00:00:00 1970 +0000</td></tr>
+   <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
   <tr>
    <th class="author">parents</th>
    <td class="author"></td>
@@ -476,7 +476,7 @@
     <th class="description">description</th>
    </tr>
    <tr class="parity0">
-    <td class="age">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="age">Thu, 01 Jan 1970 00:00:00 +0000</td>
     <td class="author">test</td>
     <td class="description"><a href="/rev/2ef0ac749a14">base</a><span class="tag">1.0</span> <span class="tag">anotherthing</span> </td>
    </tr>
@@ -586,7 +586,7 @@
   </tr>
   <tr>
    <th class="date">date</th>
-   <td class="date age">Thu Jan 01 00:00:00 1970 +0000</td>
+   <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
   </tr>
   <tr>
    <th class="author">parents</th>
@@ -701,7 +701,7 @@
   <table cellspacing="0">
   
   <tr class="parity0">
-  <td class="age"><i class="age">Thu Jan 01 00:00:00 1970 +0000</i></td>
+  <td class="age"><i class="age">Thu, 01 Jan 1970 00:00:00 +0000</i></td>
   <td><i>test</i></td>
   <td>
   <a class="list" href="/rev/1d22e65f027e?style=gitweb">
@@ -715,7 +715,7 @@
   </td>
   </tr>
   <tr class="parity1">
-  <td class="age"><i class="age">Thu Jan 01 00:00:00 1970 +0000</i></td>
+  <td class="age"><i class="age">Thu, 01 Jan 1970 00:00:00 +0000</i></td>
   <td><i>test</i></td>
   <td>
   <a class="list" href="/rev/a4f92ed23982?style=gitweb">
@@ -729,7 +729,7 @@
   </td>
   </tr>
   <tr class="parity0">
-  <td class="age"><i class="age">Thu Jan 01 00:00:00 1970 +0000</i></td>
+  <td class="age"><i class="age">Thu, 01 Jan 1970 00:00:00 +0000</i></td>
   <td><i>test</i></td>
   <td>
   <a class="list" href="/rev/2ef0ac749a14?style=gitweb">
@@ -749,7 +749,7 @@
   <table cellspacing="0">
   
   <tr class="parity0">
-  <td class="age"><i class="age">Thu Jan 01 00:00:00 1970 +0000</i></td>
+  <td class="age"><i class="age">Thu, 01 Jan 1970 00:00:00 +0000</i></td>
   <td><a class="list" href="/rev/2ef0ac749a14?style=gitweb"><b>1.0</b></a></td>
   <td class="link">
   <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
@@ -764,7 +764,7 @@
   <table cellspacing="0">
   
   <tr class="parity0">
-  <td class="age"><i class="age">Thu Jan 01 00:00:00 1970 +0000</i></td>
+  <td class="age"><i class="age">Thu, 01 Jan 1970 00:00:00 +0000</i></td>
   <td><a class="list" href="/rev/2ef0ac749a14?style=gitweb"><b>anotherthing</b></a></td>
   <td class="link">
   <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
@@ -773,7 +773,7 @@
   </td>
   </tr>
   <tr class="parity1">
-  <td class="age"><i class="age">Thu Jan 01 00:00:00 1970 +0000</i></td>
+  <td class="age"><i class="age">Thu, 01 Jan 1970 00:00:00 +0000</i></td>
   <td><a class="list" href="/rev/1d22e65f027e?style=gitweb"><b>something</b></a></td>
   <td class="link">
   <a href="/rev/1d22e65f027e?style=gitweb">changeset</a> |
@@ -788,7 +788,7 @@
   <table cellspacing="0">
   
   <tr class="parity0">
-  <td class="age"><i class="age">Thu Jan 01 00:00:00 1970 +0000</i></td>
+  <td class="age"><i class="age">Thu, 01 Jan 1970 00:00:00 +0000</i></td>
   <td><a class="list" href="/shortlog/1d22e65f027e?style=gitweb"><b>1d22e65f027e</b></a></td>
   <td class="">stable</td>
   <td class="link">
@@ -798,7 +798,7 @@
   </td>
   </tr>
   <tr class="parity1">
-  <td class="age"><i class="age">Thu Jan 01 00:00:00 1970 +0000</i></td>
+  <td class="age"><i class="age">Thu, 01 Jan 1970 00:00:00 +0000</i></td>
   <td><a class="list" href="/shortlog/a4f92ed23982?style=gitweb"><b>a4f92ed23982</b></a></td>
   <td class="">default</td>
   <td class="link">
--- a/tests/test-hgweb-diffs.t	Mon Oct 31 20:58:49 2011 +0900
+++ b/tests/test-hgweb-diffs.t	Mon Oct 31 11:24:37 2011 -0200
@@ -81,7 +81,7 @@
   </tr>
   <tr>
    <th class="date">date</th>
-   <td class="date age">Thu Jan 01 00:00:00 1970 +0000</td></tr>
+   <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
   <tr>
    <th class="author">parents</th>
    <td class="author"></td>
@@ -240,7 +240,7 @@
   </tr>
   <tr>
    <th>date</th>
-   <td class="date age">Thu Jan 01 00:00:00 1970 +0000</td>
+   <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
   </tr>
   <tr>
    <th>parents</th>
@@ -341,7 +341,7 @@
   </tr>
   <tr>
    <th class="date">date</th>
-   <td class="date age">Thu Jan 01 00:00:00 1970 +0000</td></tr>
+   <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
   <tr>
    <th class="author">parents</th>
    <td class="author"></td>
@@ -504,7 +504,7 @@
   </tr>
   <tr>
    <th>date</th>
-   <td class="date age">Thu Jan 01 00:00:00 1970 +0000</td>
+   <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
   </tr>
   <tr>
    <th>parents</th>
--- a/tests/test-hgweb-filelog.t	Mon Oct 31 20:58:49 2011 +0900
+++ b/tests/test-hgweb-filelog.t	Mon Oct 31 11:24:37 2011 -0200
@@ -179,12 +179,12 @@
     <th class="description">description</th>
    </tr>
    <tr class="parity0">
-    <td class="age">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="age">Thu, 01 Jan 1970 00:00:00 +0000</td>
     <td class="author">test</td>
     <td class="description"><a href="/rev/01de2d66a28d">second a</a></td>
    </tr>
    <tr class="parity1">
-    <td class="age">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="age">Thu, 01 Jan 1970 00:00:00 +0000</td>
     <td class="author">test</td>
     <td class="description"><a href="/rev/5ed941583260">first a</a></td>
    </tr>
@@ -280,12 +280,12 @@
     <th class="description">description</th>
    </tr>
    <tr class="parity0">
-    <td class="age">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="age">Thu, 01 Jan 1970 00:00:00 +0000</td>
     <td class="author">test</td>
     <td class="description"><a href="/rev/01de2d66a28d">second a</a></td>
    </tr>
    <tr class="parity1">
-    <td class="age">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="age">Thu, 01 Jan 1970 00:00:00 +0000</td>
     <td class="author">test</td>
     <td class="description"><a href="/rev/5ed941583260">first a</a></td>
    </tr>
@@ -381,7 +381,7 @@
     <th class="description">description</th>
    </tr>
    <tr class="parity0">
-    <td class="age">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="age">Thu, 01 Jan 1970 00:00:00 +0000</td>
     <td class="author">test</td>
     <td class="description"><a href="/rev/5ed941583260">first a</a></td>
    </tr>
@@ -477,7 +477,7 @@
     <th class="description">description</th>
    </tr>
    <tr class="parity0">
-    <td class="age">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="age">Thu, 01 Jan 1970 00:00:00 +0000</td>
     <td class="author">test</td>
     <td class="description"><a href="/rev/5ed941583260">first a</a></td>
    </tr>
@@ -604,7 +604,7 @@
   
   <table class="logEntry parity0">
    <tr>
-    <th><span class="age">Thu Jan 01 00:00:00 1970 +0000</span>:</th>
+    <th><span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span>:</th>
     <th class="firstline"><a href="/rev/b7682196df1c?style=spartan">change c</a></th>
    </tr>
    <tr>
@@ -622,14 +622,14 @@
    </tr>
    <tr>
     <th class="date">date:</th>
-    <td class="date">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="date">Thu, 01 Jan 1970 00:00:00 +0000</td>
    </tr>
   </table>
   
   
   <table class="logEntry parity1">
    <tr>
-    <th><span class="age">Thu Jan 01 00:00:00 1970 +0000</span>:</th>
+    <th><span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span>:</th>
     <th class="firstline"><a href="/rev/1a6696706df2?style=spartan">mv b</a></th>
    </tr>
    <tr>
@@ -655,7 +655,7 @@
    </tr>
    <tr>
     <th class="date">date:</th>
-    <td class="date">Thu Jan 01 00:00:00 1970 +0000</td>
+    <td class="date">Thu, 01 Jan 1970 00:00:00 +0000</td>
    </tr>
   </table>
   
--- a/tests/test-hgweb-removed.t	Mon Oct 31 20:58:49 2011 +0900
+++ b/tests/test-hgweb-removed.t	Mon Oct 31 11:24:37 2011 -0200
@@ -76,7 +76,7 @@
   </tr>
   <tr>
    <th class="date">date</th>
-   <td class="date age">Thu Jan 01 00:00:00 1970 +0000</td></tr>
+   <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
   <tr>
    <th class="author">parents</th>
    <td class="author"><a href="/rev/cb9a9f314b8b">cb9a9f314b8b</a> </td>
@@ -198,7 +198,7 @@
   </tr>
   <tr>
    <th>date</th>
-   <td class="date age">Thu Jan 01 00:00:00 1970 +0000</td>
+   <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
   </tr>
   <tr>
    <th>parents</th>
--- a/tests/test-hgwebdir-paths.py	Mon Oct 31 20:58:49 2011 +0900
+++ b/tests/test-hgwebdir-paths.py	Mon Oct 31 11:24:37 2011 -0200
@@ -1,11 +1,11 @@
 import os
-from mercurial import hg, ui, util
+from mercurial import hg, ui
 from mercurial.hgweb.hgwebdir_mod import hgwebdir
 
 os.mkdir('webdir')
 os.chdir('webdir')
 
-webdir = util.realpath('.')
+webdir = os.path.realpath('.')
 
 u = ui.ui()
 hg.repository(u, 'a', create=1)
--- a/tests/test-highlight.t	Mon Oct 31 20:58:49 2011 +0900
+++ b/tests/test-highlight.t	Mon Oct 31 11:24:37 2011 -0200
@@ -121,7 +121,7 @@
   </tr>
   <tr>
    <th class="date">date</th>
-   <td class="date age">Thu Jan 01 00:00:00 1970 +0000</td>
+   <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
   </tr>
   <tr>
    <th class="author">parents</th>
@@ -251,7 +251,7 @@
   </tr>
   <tr>
    <th class="date">date</th>
-   <td class="date age">Thu Jan 01 00:00:00 1970 +0000</td>
+   <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
   </tr>
   <tr>
    <th class="author">parents</th>
--- a/tests/test-largefiles.t	Mon Oct 31 20:58:49 2011 +0900
+++ b/tests/test-largefiles.t	Mon Oct 31 11:24:37 2011 -0200
@@ -3,6 +3,7 @@
   > largefiles=
   > purge=
   > rebase=
+  > transplant=
   > [largefiles]
   > minsize=2
   > patterns=glob:**.dat
@@ -258,48 +259,15 @@
   getting changed largefiles
   3 largefiles updated, 0 removed
   $ cd b
-  $ hg log
-  changeset:   7:daea875e9014
-  tag:         tip
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     add/edit more largefiles
-  
-  changeset:   6:4355d653f84f
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     edit files yet again
-  
-  changeset:   5:9d5af5072dbd
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     edit files again
-  
-  changeset:   4:74c02385b94c
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     move files
-  
-  changeset:   3:9e8fbc4bce62
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     copy files
-  
-  changeset:   2:51a0ae4d5864
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     remove files
-  
-  changeset:   1:ce8896473775
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     edit files
-  
-  changeset:   0:30d30fe6a5be
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     add files
-  
+  $ hg log --template '{rev}:{node|short}  {desc|firstline}\n'
+  7:daea875e9014  add/edit more largefiles
+  6:4355d653f84f  edit files yet again
+  5:9d5af5072dbd  edit files again
+  4:74c02385b94c  move files
+  3:9e8fbc4bce62  copy files
+  2:51a0ae4d5864  remove files
+  1:ce8896473775  edit files
+  0:30d30fe6a5be  add files
   $ cat normal3
   normal33
   $ cat sub/normal4
@@ -321,28 +289,11 @@
   getting changed largefiles
   2 largefiles updated, 0 removed
   $ cd c
-  $ hg log
-  changeset:   3:9e8fbc4bce62
-  tag:         tip
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     copy files
-  
-  changeset:   2:51a0ae4d5864
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     remove files
-  
-  changeset:   1:ce8896473775
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     edit files
-  
-  changeset:   0:30d30fe6a5be
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     add files
-  
+  $ hg log --template '{rev}:{node|short}  {desc|firstline}\n'
+  3:9e8fbc4bce62  copy files
+  2:51a0ae4d5864  remove files
+  1:ce8896473775  edit files
+  0:30d30fe6a5be  add files
   $ cat normal1
   normal22
   $ cat large1
@@ -399,58 +350,17 @@
   1 largefiles updated, 0 removed
   saved backup bundle to $TESTTMP/d/.hg/strip-backup/f574fb32bb45-backup.hg
   nothing to rebase
-  $ hg log
-  changeset:   9:598410d3eb9a
-  tag:         tip
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     modify normal file largefile in repo d
-  
-  changeset:   8:a381d2c8c80e
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     modify normal file and largefile in repo b
-  
-  changeset:   7:daea875e9014
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     add/edit more largefiles
-  
-  changeset:   6:4355d653f84f
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     edit files yet again
-  
-  changeset:   5:9d5af5072dbd
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     edit files again
-  
-  changeset:   4:74c02385b94c
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     move files
-  
-  changeset:   3:9e8fbc4bce62
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     copy files
-  
-  changeset:   2:51a0ae4d5864
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     remove files
-  
-  changeset:   1:ce8896473775
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     edit files
-  
-  changeset:   0:30d30fe6a5be
-  user:        test
-  date:        Thu Jan 01 00:00:00 1970 +0000
-  summary:     add files
-  
+  $ hg log --template '{rev}:{node|short}  {desc|firstline}\n'
+  9:598410d3eb9a  modify normal file largefile in repo d
+  8:a381d2c8c80e  modify normal file and largefile in repo b
+  7:daea875e9014  add/edit more largefiles
+  6:4355d653f84f  edit files yet again
+  5:9d5af5072dbd  edit files again
+  4:74c02385b94c  move files
+  3:9e8fbc4bce62  copy files
+  2:51a0ae4d5864  remove files
+  1:ce8896473775  edit files
+  0:30d30fe6a5be  add files
   $ cat normal3
   normal3-modified
   $ cat sub/normal4
@@ -678,7 +588,7 @@
   reverting .hglf/sub2/large6
   $ hg status
 
-"verify --large" actaully verifies largefiles
+"verify --large" actually verifies largefiles
 
   $ hg verify --large
   checking changesets
@@ -732,6 +642,58 @@
   large6-modified
   $ cat sub2/large7
   large7
+
+Test that a normal file and a largefile with the same name and path cannot
+coexist.
+
+  $ rm sub2/large7
+  $ echo "largeasnormal" > sub2/large7
+  $ hg add sub2/large7
+  sub2/large7 already a largefile
+
+Test that transplanting a largefile change works correctly.
+
+  $ cd ..
+  $ hg clone -r 8 d g
+  adding changesets
+  adding manifests
+  adding file changes
+  added 9 changesets with 26 changes to 10 files
+  updating to branch default
+  5 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  getting changed largefiles
+  3 largefiles updated, 0 removed
+  $ cd g
+  $ hg transplant -s ../d 598410d3eb9a 
+  searching for changes
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 2 changes to 2 files
+  getting changed largefiles
+  1 largefiles updated, 0 removed
+  $ hg log --template '{rev}:{node|short}  {desc|firstline}\n'
+  9:598410d3eb9a  modify normal file largefile in repo d
+  8:a381d2c8c80e  modify normal file and largefile in repo b
+  7:daea875e9014  add/edit more largefiles
+  6:4355d653f84f  edit files yet again
+  5:9d5af5072dbd  edit files again
+  4:74c02385b94c  move files
+  3:9e8fbc4bce62  copy files
+  2:51a0ae4d5864  remove files
+  1:ce8896473775  edit files
+  0:30d30fe6a5be  add files
+  $ cat normal3
+  normal3-modified
+  $ cat sub/normal4
+  normal4-modified
+  $ cat sub/large4
+  large4-modified
+  $ cat sub2/large6
+  large6-modified
+  $ cat sub2/large7
+  large7
   $ cd ..
 
 vanilla clients not locked out from largefiles servers on vanilla repos
@@ -742,8 +704,9 @@
   $ hg add f1
   $ hg com -m "m1"
   $ cd ..
-  $ hg serve -R r1 -d -p 8001 --pid-file serve.pid
-  $ hg --config extensions.largefiles=! clone http://localhost:8001 r2
+  $ hg serve -R r1 -d -p $HGPORT --pid-file hg.pid
+  $ cat hg.pid >> $DAEMON_PIDS
+  $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT r2
   requesting all changes
   adding changesets
   adding manifests
@@ -751,11 +714,11 @@
   added 1 changesets with 1 changes to 1 files
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ kill $(cat serve.pid)
 
 largefiles clients still work with vanilla servers
-  $ hg --config extensions.largefiles=! serve -R r1 -d -p 8001 --pid-file serve.pid
-  $ hg clone http://localhost:8001 r3
+  $ hg --config extensions.largefiles=! serve -R r1 -d -p $HGPORT1 --pid-file hg.pid
+  $ cat hg.pid >> $DAEMON_PIDS
+  $ hg clone http://localhost:$HGPORT1 r3
   requesting all changes
   adding changesets
   adding manifests
@@ -763,7 +726,6 @@
   added 1 changesets with 1 changes to 1 files
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ kill $(cat serve.pid)
 
 vanilla clients locked out from largefiles http repos
   $ mkdir r4
@@ -773,15 +735,18 @@
   $ hg add --large f1
   $ hg com -m "m1"
   $ cd ..
-  $ hg serve -R r4 -d -p 8001 --pid-file serve.pid
-  $ hg --config extensions.largefiles=! clone http://localhost:8001 r5
+  $ hg serve -R r4 -d -p $HGPORT2 --pid-file hg.pid
+  $ cat hg.pid >> $DAEMON_PIDS
+  $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT2 r5
   abort: remote error:
   
   This repository uses the largefiles extension.
   
   Please enable it in your Mercurial config file.
   [255]
-  $ kill $(cat serve.pid)
+
+used all HGPORTs, kill all daemons
+  $ "$TESTDIR/killdaemons.py"
 
 vanilla clients locked out from largefiles ssh repos
   $ hg --config extensions.largefiles=! clone -e "python $TESTDIR/dummyssh" ssh://user@dummy/r4 r5
@@ -812,14 +777,14 @@
   $ echo c2 > f2
   $ hg add --large f2
   $ hg com -m "m2"
-  $ hg --config extensions.largefiles=! -R ../r6 serve -d -p 8001 --pid-file ../serve.pid
-  $ hg push http://localhost:8001
-  pushing to http://localhost:8001/
+  $ hg --config extensions.largefiles=! -R ../r6 serve -d -p $HGPORT --pid-file ../hg.pid
+  $ cat ../hg.pid >> $DAEMON_PIDS
+  $ hg push http://localhost:$HGPORT
+  pushing to http://localhost:$HGPORT/
   searching for changes
-  abort: http://localhost:8001/ does not appear to be a largefile store
+  abort: http://localhost:$HGPORT/ does not appear to be a largefile store
   [255]
   $ cd ..
-  $ kill $(cat serve.pid)
 
   $ cd ..
 
@@ -840,7 +805,7 @@
   $ mkdir bob
   $ HOME="`pwd`/bob"
   $ cd bob
-  $ hg clone ../alice/pubrepo pubrepo
+  $ hg clone --pull ../alice/pubrepo pubrepo
   requesting all changes
   adding changesets
   adding manifests
@@ -852,3 +817,26 @@
   1 largefiles updated, 0 removed
   $ cd ..
   $ HOME="$ORIGHOME"
+
+Symlink to a large largefile should behave the same as a symlink to a normal file
+  $ hg init largesymlink
+  $ cd largesymlink
+  $ dd if=/dev/zero bs=1k count=10k of=largefile 2>/dev/null
+  $ hg add --large largefile
+  $ hg commit -m "commit a large file"
+  $ ln -s largefile largelink
+  $ hg add largelink
+  $ hg commit -m "commit a large symlink"
+  $ rm -f largelink
+  $ hg up >/dev/null
+  $ test -f largelink
+  [1]
+  $ test -L largelink
+  [1]
+  $ rm -f largelink # make next part of the test independent of the previous
+  $ hg up -C >/dev/null
+  $ test -f largelink
+  $ test -L largelink
+  $ cd ..
+
+
--- a/tests/test-progress.t	Mon Oct 31 20:58:49 2011 +0900
+++ b/tests/test-progress.t	Mon Oct 31 11:24:37 2011 -0200
@@ -35,6 +35,7 @@
   > }
   > EOF
 
+  $ cp $HGRCPATH $HGRCPATH.orig
   $ echo "[extensions]" >> $HGRCPATH
   $ echo "progress=" >> $HGRCPATH
   $ echo "loop=`pwd`/loop.py" >> $HGRCPATH
@@ -162,7 +163,8 @@
   >     time.time = mocktime(int(os.environ.get('MOCKTIME', '11')))
   > EOF
 
-  $ echo "[extensions]" > $HGRCPATH
+  $ cp $HGRCPATH.orig $HGRCPATH
+  $ echo "[extensions]" >> $HGRCPATH
   $ echo "mocktime=`pwd`/mocktime.py" >> $HGRCPATH
   $ echo "progress=" >> $HGRCPATH
   $ echo "loop=`pwd`/loop.py" >> $HGRCPATH
--- a/tests/test-subrepo-svn.t	Mon Oct 31 20:58:49 2011 +0900
+++ b/tests/test-subrepo-svn.t	Mon Oct 31 11:24:37 2011 -0200
@@ -496,7 +496,7 @@
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ echo "obstruct =        [svn]       $SVNREPO/externals" >> .hgsub
   $ svn co -r5 --quiet "$SVNREPO"/externals obstruct
-  $ hg commit -m 'Start making obstructed wc'
+  $ hg commit -m 'Start making obstructed working copy'
   committing subrepository obstruct
   $ hg book other
   $ hg co -r 'p1(tip)'