largefiles: use 'default' instead of 'default-push' when pulling (issue3584)
This only applies to downloading largefiles, and only when no source for the
pull is explicitly provided. The repository itself was properly being pulled
via 'default' previously.
Using --all-largefiles is not necessary on a bare pull to test this (this
existing test is merely a convenience), but it is required to test pulling on
the rebase path.
Note that the errors generated in the --rebase case are because the repo
specified doesn't have the largefiles in its cache (though they are in the user
cache), so the errors are misleading. Specifying --all-largefiles when cloning
to 'b' fixes this, but instead of errors, it reports caching only 5 largefiles
instead of the 9 that come up missing. Likely this is because the largefile
download procedure tries to download missing files for each rev, and some of the
files have standins in more than one rev that gets pulled.
$ "$TESTDIR/hghave" no-msys || exit 80 # MSYS will translate web paths as if they were file paths
This tests if CGI files from before d0db3462d568 still work.
$ hg init test
$ cat >hgweb.cgi <<HGWEB
> #!/usr/bin/env python
> #
> # An example CGI script to use hgweb, edit as necessary
>
> import cgitb, os, sys
> cgitb.enable()
>
> # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install
> from mercurial import hgweb
>
> h = hgweb.hgweb("test", "Empty test repository")
> h.run()
> HGWEB
$ chmod 755 hgweb.cgi
$ cat >hgweb.config <<HGWEBDIRCONF
> [paths]
> test = test
> HGWEBDIRCONF
$ cat >hgwebdir.cgi <<HGWEBDIR
> #!/usr/bin/env python
> #
> # An example CGI script to export multiple hgweb repos, edit as necessary
>
> import cgitb, sys
> cgitb.enable()
>
> # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install
> from mercurial import hgweb
>
> # The config file looks like this. You can have paths to individual
> # repos, collections of repos in a directory tree, or both.
> #
> # [paths]
> # virtual/path = /real/path
> # virtual/path = /real/path
> #
> # [collections]
> # /prefix/to/strip/off = /root/of/tree/full/of/repos
> #
> # collections example: say directory tree /foo contains repos /foo/bar,
> # /foo/quux/baz. Give this config section:
> # [collections]
> # /foo = /foo
> # Then repos will list as bar and quux/baz.
>
> # Alternatively you can pass a list of ('virtual/path', '/real/path') tuples
> # or use a dictionary with entries like 'virtual/path': '/real/path'
>
> h = hgweb.hgwebdir("hgweb.config")
> h.run()
> HGWEBDIR
$ chmod 755 hgwebdir.cgi
$ . "$TESTDIR/cgienv"
$ python hgweb.cgi > page1
$ python hgwebdir.cgi > page2
$ PATH_INFO="/test/"
$ PATH_TRANSLATED="/var/something/test.cgi"
$ REQUEST_URI="/test/test/"
$ SCRIPT_URI="http://hg.omnifarious.org/test/test/"
$ SCRIPT_URL="/test/test/"
$ python hgwebdir.cgi > page3
$ grep -i error page1 page2 page3
[1]