# HG changeset patch # User Matt Mackall # Date 1299534406 21600 # Node ID f854b775c386d3cf708663c08ca927bc25486720 # Parent 970150ddaaf83f463f6c5698c40f7a16c0e5b255# Parent 7509e36eed3bfeb2e7f7d9d0f5697479cde76d82 merge with stable diff -r 7509e36eed3b -r f854b775c386 contrib/check-code.py --- a/contrib/check-code.py Mon Mar 07 15:46:28 2011 -0600 +++ b/contrib/check-code.py Mon Mar 07 15:46:46 2011 -0600 @@ -66,6 +66,7 @@ (r'^source\b', "don't use 'source', use '.'"), (r'touch -d', "don't use 'touch -d', use 'touch -t' instead"), (r'ls\s+[^|-]+\s+-', "options to 'ls' must come before filenames"), + (r'[^>]>\s*\$HGRCPATH', "don't overwrite $HGRCPATH, append to it"), ] testfilters = [ diff -r 7509e36eed3b -r f854b775c386 hgext/convert/subversion.py --- a/hgext/convert/subversion.py Mon Mar 07 15:46:28 2011 -0600 +++ b/hgext/convert/subversion.py Mon Mar 07 15:46:46 2011 -0600 @@ -259,6 +259,7 @@ except ValueError: raise util.Abort(_('svn: revision %s is not an integer') % rev) + self.trunkname = self.ui.config('convert', 'svn.trunk', 'trunk').strip('/') self.startrev = self.ui.config('convert', 'svn.startrev', default=0) try: self.startrev = int(self.startrev) @@ -761,9 +762,8 @@ author = author and self.recode(author) or '' try: branch = self.module.split("/")[-1] - trunkname = self.ui.config('convert', 'svn.trunk', 'trunk') - if branch == trunkname.strip('/'): - branch = '' + if branch == self.trunkname: + branch = None except IndexError: branch = None @@ -942,6 +942,7 @@ class svn_sink(converter_sink, commandline): commit_re = re.compile(r'Committed revision (\d+).', re.M) + uuid_re = re.compile(r'Repository UUID:\s*(\S+)', re.M) def prerun(self): if self.wc: @@ -962,8 +963,6 @@ def __init__(self, ui, path): - if svn is None: - raise MissingTool(_('Could not load Subversion python bindings')) converter_sink.__init__(self, ui, path) commandline.__init__(self, ui, 'svn') self.delete = [] @@ -1010,8 +1009,8 @@ fp.close() util.set_flags(hook, False, True) - xport = transport.SvnRaTransport(url=geturl(path)) - self.uuid = svn.ra.get_uuid(xport.ra) + output = self.run0('info') + self.uuid = self.uuid_re.search(output).group(1).strip() def wjoin(self, *names): return os.path.join(self.wc, *names) diff -r 7509e36eed3b -r f854b775c386 hgext/mq.py --- a/hgext/mq.py Mon Mar 07 15:46:28 2011 -0600 +++ b/hgext/mq.py Mon Mar 07 15:46:46 2011 -0600 @@ -1898,7 +1898,7 @@ With -g/--git, patches imported with --rev will use the git diff format. See the diffs help topic for information on why this is important for preserving rename/copy information and permission - changes. + changes. Use :hg:`qfinish` to remove changesets from mq control. To import a patch from standard input, pass - as the patch file. When importing from standard input, a patch name must be specified diff -r 7509e36eed3b -r f854b775c386 mercurial/ancestor.py --- a/mercurial/ancestor.py Mon Mar 07 15:46:28 2011 -0600 +++ b/mercurial/ancestor.py Mon Mar 07 15:46:46 2011 -0600 @@ -9,9 +9,10 @@ def ancestor(a, b, pfunc): """ - return a minimal-distance ancestor of nodes a and b, or None if there is no - such ancestor. Note that there can be several ancestors with the same - (minimal) distance, and the one returned is arbitrary. + Returns the common ancestor of a and b that is furthest from a + root (as measured by longest path) or None if no ancestor is + found. If there are multiple common ancestors at the same + distance, the first one found is returned. pfunc must return a list of parent vertices for a given vertex """ @@ -22,6 +23,7 @@ a, b = sorted([a, b]) # find depth from root of all ancestors + # depth is stored as a negative for heapq parentcache = {} visit = [a, b] depth = {} @@ -39,6 +41,7 @@ if p not in depth: visit.append(p) if visit[-1] == vertex: + # -(maximum distance of parents + 1) depth[vertex] = min([depth[p] for p in pl]) - 1 visit.pop() diff -r 7509e36eed3b -r f854b775c386 mercurial/hgweb/hgwebdir_mod.py --- a/mercurial/hgweb/hgwebdir_mod.py Mon Mar 07 15:46:28 2011 -0600 +++ b/mercurial/hgweb/hgwebdir_mod.py Mon Mar 07 15:46:46 2011 -0600 @@ -40,9 +40,10 @@ def urlrepos(prefix, roothead, paths): """yield url paths and filesystem paths from a list of repo paths - >>> list(urlrepos('hg', '/opt', ['/opt/r', '/opt/r/r', '/opt'])) + >>> conv = lambda seq: [(v, util.pconvert(p)) for v,p in seq] + >>> conv(urlrepos('hg', '/opt', ['/opt/r', '/opt/r/r', '/opt'])) [('hg/r', '/opt/r'), ('hg/r/r', '/opt/r/r'), ('hg', '/opt')] - >>> list(urlrepos('', '/opt', ['/opt/r', '/opt/r/r', '/opt'])) + >>> conv(urlrepos('', '/opt', ['/opt/r', '/opt/r/r', '/opt'])) [('r', '/opt/r'), ('r/r', '/opt/r/r'), ('', '/opt')] """ for path in paths: diff -r 7509e36eed3b -r f854b775c386 mercurial/httprepo.py --- a/mercurial/httprepo.py Mon Mar 07 15:46:28 2011 -0600 +++ b/mercurial/httprepo.py Mon Mar 07 15:46:46 2011 -0600 @@ -73,8 +73,7 @@ data = args.pop('data', None) headers = args.pop('headers', {}) self.ui.debug("sending %s command\n" % cmd) - q = {"cmd": cmd} - q.update(args) + q = [('cmd', cmd)] + sorted(args.items()) qs = '?%s' % urllib.urlencode(q) cu = "%s%s" % (self._url, qs) req = urllib2.Request(cu, data, headers) diff -r 7509e36eed3b -r f854b775c386 mercurial/statichttprepo.py --- a/mercurial/statichttprepo.py Mon Mar 07 15:46:28 2011 -0600 +++ b/mercurial/statichttprepo.py Mon Mar 07 15:46:46 2011 -0600 @@ -71,7 +71,7 @@ """return a function that opens files over http""" p = base def o(path, mode="r", atomictemp=None): - if 'a' in mode or 'w' in mode: + if mode not in ('r', 'rb'): raise IOError('Permission denied') f = "/".join((p, urllib.quote(path))) return httprangereader(f, urlopener) diff -r 7509e36eed3b -r f854b775c386 mercurial/subrepo.py --- a/mercurial/subrepo.py Mon Mar 07 15:46:28 2011 -0600 +++ b/mercurial/subrepo.py Mon Mar 07 15:46:46 2011 -0600 @@ -763,8 +763,10 @@ def _fetch(self, source, revision): if self._gitmissing(): - self._ui.status(_('cloning subrepo %s\n') % self._relpath) - self._gitnodir(['clone', self._abssource(source), self._abspath]) + source = self._abssource(source) + self._ui.status(_('cloning subrepo %s from %s\n') % + (self._relpath, source)) + self._gitnodir(['clone', source, self._abspath]) if self._githavelocally(revision): return self._ui.status(_('pulling subrepo %s\n') % self._relpath) diff -r 7509e36eed3b -r f854b775c386 tests/run-tests.py --- a/tests/run-tests.py Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/run-tests.py Mon Mar 07 15:46:46 2011 -0600 @@ -227,8 +227,8 @@ continue for line in f.readlines(): - line = line.strip() - if line and not line.startswith('#'): + line = line.split('#', 1)[0].strip() + if line: blacklist[line] = filename f.close() diff -r 7509e36eed3b -r f854b775c386 tests/test-convert-hg-startrev.t --- a/tests/test-convert-hg-startrev.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-convert-hg-startrev.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,5 +1,5 @@ - $ cat > $HGRCPATH <> $HGRCPATH < [extensions] > graphlog = > convert = diff -r 7509e36eed3b -r f854b775c386 tests/test-convert-svn-branches.t --- a/tests/test-convert-svn-branches.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-convert-svn-branches.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,7 +1,7 @@ $ "$TESTDIR/hghave" svn svn-bindings || exit 80 - $ cat > $HGRCPATH <> $HGRCPATH < [extensions] > convert = > graphlog = diff -r 7509e36eed3b -r f854b775c386 tests/test-convert-svn-encoding.t --- a/tests/test-convert-svn-encoding.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-convert-svn-encoding.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,7 +1,7 @@ $ "$TESTDIR/hghave" svn svn-bindings || exit 80 - $ cat > $HGRCPATH <> $HGRCPATH < [extensions] > convert = > graphlog = diff -r 7509e36eed3b -r f854b775c386 tests/test-convert-svn-move.t --- a/tests/test-convert-svn-move.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-convert-svn-move.t Mon Mar 07 15:46:46 2011 -0600 @@ -5,7 +5,7 @@ > { > tr '\\' / > } - $ cat > $HGRCPATH <> $HGRCPATH < [extensions] > convert = > graphlog = diff -r 7509e36eed3b -r f854b775c386 tests/test-convert-svn-sink.t --- a/tests/test-convert-svn-sink.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-convert-svn-sink.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,5 +1,5 @@ - $ "$TESTDIR/hghave" svn svn-bindings no-outer-repo || exit 80 + $ "$TESTDIR/hghave" svn no-outer-repo || exit 80 $ fixpath() > { @@ -22,7 +22,7 @@ > ) > } - $ cat > $HGRCPATH <> $HGRCPATH < [extensions] > convert = > graphlog = diff -r 7509e36eed3b -r f854b775c386 tests/test-convert-svn-source.t --- a/tests/test-convert-svn-source.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-convert-svn-source.t Mon Mar 07 15:46:46 2011 -0600 @@ -5,7 +5,7 @@ > { > tr '\\' / > } - $ cat > $HGRCPATH <> $HGRCPATH < [extensions] > convert = > graphlog = diff -r 7509e36eed3b -r f854b775c386 tests/test-convert-svn-startrev.t --- a/tests/test-convert-svn-startrev.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-convert-svn-startrev.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,7 +1,7 @@ $ "$TESTDIR/hghave" svn svn-bindings || exit 80 - $ cat > $HGRCPATH <> $HGRCPATH < [extensions] > convert = > graphlog = diff -r 7509e36eed3b -r f854b775c386 tests/test-convert-svn-tags.t --- a/tests/test-convert-svn-tags.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-convert-svn-tags.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,7 +1,7 @@ $ "$TESTDIR/hghave" svn svn-bindings || exit 80 - $ cat > $HGRCPATH <> $HGRCPATH < [extensions] > convert = > graphlog = diff -r 7509e36eed3b -r f854b775c386 tests/test-eol-add.t --- a/tests/test-eol-add.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-eol-add.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,6 +1,6 @@ Test adding .hgeol - $ cat > $HGRCPATH <> $HGRCPATH < [diff] > git = 1 > EOF diff -r 7509e36eed3b -r f854b775c386 tests/test-eol-clone.t --- a/tests/test-eol-clone.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-eol-clone.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,9 +1,6 @@ Testing cloning with the EOL extension - $ cat > $HGRCPATH < [diff] - > git = True - > + $ cat >> $HGRCPATH < [extensions] > eol = > diff -r 7509e36eed3b -r f854b775c386 tests/test-eol-hook.t --- a/tests/test-eol-hook.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-eol-hook.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,9 +1,5 @@ Test the EOL hook - $ cat > $HGRCPATH < [diff] - > git = True - > EOF $ hg init main $ cat > main/.hg/hgrc < [extensions] diff -r 7509e36eed3b -r f854b775c386 tests/test-eol-patch.t --- a/tests/test-eol-patch.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-eol-patch.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,6 +1,6 @@ Test EOL patching - $ cat > $HGRCPATH <> $HGRCPATH < [diff] > git = 1 > EOF diff -r 7509e36eed3b -r f854b775c386 tests/test-eol-tag.t --- a/tests/test-eol-tag.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-eol-tag.t Mon Mar 07 15:46:46 2011 -0600 @@ -2,10 +2,7 @@ Testing tagging with the EOL extension - $ cat > $HGRCPATH < [diff] - > git = True - > + $ cat >> $HGRCPATH < [extensions] > eol = > diff -r 7509e36eed3b -r f854b775c386 tests/test-eol-update.t --- a/tests/test-eol-update.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-eol-update.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,6 +1,6 @@ Test EOL update - $ cat > $HGRCPATH <> $HGRCPATH < [diff] > git = 1 > EOF diff -r 7509e36eed3b -r f854b775c386 tests/test-eol.t --- a/tests/test-eol.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-eol.t Mon Mar 07 15:46:46 2011 -0600 @@ -1,6 +1,6 @@ Test EOL extension - $ cat > $HGRCPATH <> $HGRCPATH < [diff] > git = True > EOF diff -r 7509e36eed3b -r f854b775c386 tests/test-http-proxy.t --- a/tests/test-http-proxy.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-http-proxy.t Mon Mar 07 15:46:46 2011 -0600 @@ -98,25 +98,25 @@ updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cat proxy.log - * - - [*] "GET http://localhost:$HGPORT/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - - (glob) + * - - [*] "GET http://localhost:$HGPORT/?cmd=between&pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=stream_out HTTP/1.1" - - (glob) - * - - [*] "GET http://localhost:$HGPORT/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - - (glob) + * - - [*] "GET http://localhost:$HGPORT/?cmd=between&pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=heads HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=listkeys&namespace=bookmarks HTTP/1.1" - - (glob) - * - - [*] "GET http://localhost:$HGPORT/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - - (glob) + * - - [*] "GET http://localhost:$HGPORT/?cmd=between&pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=heads HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=listkeys&namespace=bookmarks HTTP/1.1" - - (glob) - * - - [*] "GET http://localhost:$HGPORT/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - - (glob) + * - - [*] "GET http://localhost:$HGPORT/?cmd=between&pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=heads HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=listkeys&namespace=bookmarks HTTP/1.1" - - (glob) - * - - [*] "GET http://localhost:$HGPORT/?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" - - (glob) + * - - [*] "GET http://localhost:$HGPORT/?cmd=between&pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=heads HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" - - (glob) * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob) diff -r 7509e36eed3b -r f854b775c386 tests/test-rename-merge1.t --- a/tests/test-rename-merge1.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-rename-merge1.t Mon Mar 07 15:46:46 2011 -0600 @@ -131,27 +131,27 @@ $ hg init repo2089 $ cd repo2089 - $ echo 0 > A - $ hg -q ci -Am 0 + $ echo c0 > f1 + $ hg ci -Aqm0 - $ hg -q up -C null - $ echo 1 > A - $ hg -q ci -Am 1 + $ hg up null -q + $ echo c1 > f1 + $ hg ci -Aqm1 - $ hg -q up -C 0 + $ hg up 0 -q $ hg merge 1 -q --tool internal:local - $ echo 2 > A - $ hg -q ci -m 2 + $ echo c2 > f1 + $ hg ci -qm2 - $ hg -q up -C 1 - $ hg mv A a - $ hg -q ci -Am 3 + $ hg up 1 -q + $ hg mv f1 f2 + $ hg ci -Aqm3 - $ hg -q up -C 2 + $ hg up 2 -q $ hg merge 3 - merging A and a to a + merging f1 and f2 to f2 0 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) - $ cat a - 2 + $ cat f2 + c2 diff -r 7509e36eed3b -r f854b775c386 tests/test-serve --- a/tests/test-serve Mon Mar 07 15:46:28 2011 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -#!/bin/sh - -hgserve() -{ - hg serve -a localhost -d --pid-file=hg.pid -E errors.log -v $@ \ - | sed -e "s/:$HGPORT1\\([^0-9]\\)/:HGPORT1\1/g" \ - -e "s/:$HGPORT2\\([^0-9]\\)/:HGPORT2\1/g" \ - -e 's/http:\/\/[^/]*\//http:\/\/localhost\//' - cat hg.pid >> "$DAEMON_PIDS" - echo % errors - cat errors.log - sleep 1 - if [ "$KILLQUIETLY" = "Y" ]; then - kill `cat hg.pid` 2>/dev/null - else - kill `cat hg.pid` - fi - sleep 1 -} - -hg init test -cd test - -echo '[web]' > .hg/hgrc -echo 'accesslog = access.log' >> .hg/hgrc -echo "port = $HGPORT1" >> .hg/hgrc - -echo % Without -v -hg serve -a localhost -p $HGPORT -d --pid-file=hg.pid -E errors.log -cat hg.pid >> "$DAEMON_PIDS" -if [ -f access.log ]; then - echo 'access log created - .hg/hgrc respected' -fi -echo % errors -cat errors.log - -echo % With -v -hgserve - -echo % With -v and -p HGPORT2 -hgserve -p "$HGPORT2" - -echo '% With -v and -p daytime (should fail because low port)' -KILLQUIETLY=Y -hgserve -p daytime -KILLQUIETLY=N - -echo % With --prefix foo -hgserve --prefix foo - -echo % With --prefix /foo -hgserve --prefix /foo - -echo % With --prefix foo/ -hgserve --prefix foo/ - -echo % With --prefix /foo/ -hgserve --prefix /foo/ diff -r 7509e36eed3b -r f854b775c386 tests/test-serve.out --- a/tests/test-serve.out Mon Mar 07 15:46:28 2011 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -% Without -v -access log created - .hg/hgrc respected -% errors -% With -v -listening at http://localhost/ (bound to 127.0.0.1:HGPORT1) -% errors -% With -v and -p HGPORT2 -listening at http://localhost/ (bound to 127.0.0.1:HGPORT2) -% errors -% With -v and -p daytime (should fail because low port) -abort: cannot start server at 'localhost:13': Permission denied -abort: child process failed to start -% errors -% With --prefix foo -listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1) -% errors -% With --prefix /foo -listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1) -% errors -% With --prefix foo/ -listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1) -% errors -% With --prefix /foo/ -listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1) -% errors diff -r 7509e36eed3b -r f854b775c386 tests/test-serve.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-serve.t Mon Mar 07 15:46:46 2011 -0600 @@ -0,0 +1,82 @@ + + $ hgserve() + > { + > hg serve -a localhost -d --pid-file=hg.pid -E errors.log -v $@ \ + > | sed -e "s/:$HGPORT1\\([^0-9]\\)/:HGPORT1\1/g" \ + > -e "s/:$HGPORT2\\([^0-9]\\)/:HGPORT2\1/g" \ + > -e 's/http:\/\/[^/]*\//http:\/\/localhost\//' + > cat hg.pid >> "$DAEMON_PIDS" + > echo % errors + > cat errors.log + > sleep 1 + > if [ "$KILLQUIETLY" = "Y" ]; then + > kill `cat hg.pid` 2>/dev/null + > else + > kill `cat hg.pid` + > fi + > sleep 1 + > } + + $ hg init test + $ cd test + $ echo '[web]' > .hg/hgrc + $ echo 'accesslog = access.log' >> .hg/hgrc + $ echo "port = $HGPORT1" >> .hg/hgrc + +Without -v + + $ hg serve -a localhost -p $HGPORT -d --pid-file=hg.pid -E errors.log + $ cat hg.pid >> "$DAEMON_PIDS" + $ if [ -f access.log ]; then + $ echo 'access log created - .hg/hgrc respected' + access log created - .hg/hgrc respected + $ fi + +errors + + $ cat errors.log + +With -v + + $ hgserve + listening at http://localhost/ (bound to 127.0.0.1:HGPORT1) + % errors + +With -v and -p HGPORT2 + + $ hgserve -p "$HGPORT2" + listening at http://localhost/ (bound to 127.0.0.1:HGPORT2) + % errors + +With -v and -p daytime (should fail because low port) + + $ KILLQUIETLY=Y + $ hgserve -p daytime + abort: cannot start server at 'localhost:13': Permission denied + abort: child process failed to start + % errors + $ KILLQUIETLY=N + +With --prefix foo + + $ hgserve --prefix foo + listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1) + % errors + +With --prefix /foo + + $ hgserve --prefix /foo + listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1) + % errors + +With --prefix foo/ + + $ hgserve --prefix foo/ + listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1) + % errors + +With --prefix /foo/ + + $ hgserve --prefix /foo/ + listening at http://localhost/foo/ (bound to 127.0.0.1:HGPORT1) + % errors diff -r 7509e36eed3b -r f854b775c386 tests/test-subrepo-git.t --- a/tests/test-subrepo-git.t Mon Mar 07 15:46:28 2011 -0600 +++ b/tests/test-subrepo-git.t Mon Mar 07 15:46:46 2011 -0600 @@ -73,7 +73,7 @@ $ cd t $ hg clone . ../tc updating to branch default - cloning subrepo s + cloning subrepo s from $TESTTMP/gitroot 3 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd ../tc $ hg debugsub @@ -96,7 +96,7 @@ $ cd ../t $ hg clone . ../ta updating to branch default - cloning subrepo s + cloning subrepo s from $TESTTMP/gitroot 3 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd ../ta @@ -115,7 +115,7 @@ $ cd ../t $ hg clone . ../tb updating to branch default - cloning subrepo s + cloning subrepo s from $TESTTMP/gitroot 3 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd ../tb/s @@ -199,7 +199,7 @@ $ cd ../t $ hg clone . ../td updating to branch default - cloning subrepo s + cloning subrepo s from $TESTTMP/gitroot checking out detached HEAD in subrepo s check out a git branch if you intend to make changes 3 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -282,7 +282,7 @@ $ hg clone ../t inner updating to branch default - cloning subrepo s + cloning subrepo s from $TESTTMP/gitroot 3 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo inner = inner > .hgsub $ hg add .hgsub @@ -311,7 +311,7 @@ $ mkdir d $ hg clone t d/t updating to branch default - cloning subrepo s + cloning subrepo s from $TESTTMP/gitroot 3 files updated, 0 files merged, 0 files removed, 0 files unresolved Don't crash if the subrepo is missing