Mercurial > hg
view tests/test-newercgi.t @ 50004:3c34a224c232
locking: take the `wlock` for the full `hg add` duration
Otherwise, there is a race condition window between the time we resolve the
file to add with the matcher and the time we lock the repo and modify the
dirstate.
For example, the working copy might have been updated away, or purged, and the
matched files would no longer be correct.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 13 Dec 2022 04:21:27 +0100 |
parents | a2bb0ec3b4d4 |
children | d5cd1fd690f3 |
line wrap: on
line source
#require no-msys # MSYS will translate web paths as if they were file paths This is a rudimentary test of the CGI files as of d74fc8dec2b4. $ hg init test $ cat >hgweb.cgi <<HGWEB > #!$PYTHON > # > # An example CGI script to use hgweb, edit as necessary > > import cgitb > cgitb.enable() > > from mercurial import demandimport; demandimport.enable() > from mercurial.hgweb import hgweb > from mercurial.hgweb import wsgicgi > > application = hgweb(b"test", b"Empty test repository") > wsgicgi.launch(application) > HGWEB $ chmod 755 hgweb.cgi $ cat >hgweb.config <<HGWEBDIRCONF > [paths] > test = test > HGWEBDIRCONF $ cat >hgwebdir.cgi <<HGWEBDIR > #!$PYTHON > # > # An example CGI script to export multiple hgweb repos, edit as necessary > > import cgitb > cgitb.enable() > > from mercurial import demandimport; demandimport.enable() > from mercurial.hgweb import hgwebdir > from mercurial.hgweb import wsgicgi > > application = hgwebdir(b"hgweb.config") > wsgicgi.launch(application) > 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]