view tests/test-clone-cgi.t @ 15571:809788118aa2 stable

largefiles: write .hg/largefiles/ files atomically Before, it was possible to create a .hg/largefiles/hash file with truncated content, i.e., content where SHA-1(content) != hash This breaks the fundamental invariant in largefiles that the file content for files in .hg/largefiles hash to the filename.
author Martin Geisler <mg@aragost.com>
date Thu, 24 Nov 2011 18:12:13 +0100
parents aa3f726a2bdb
children 8b84d040d9f9
line wrap: on
line source

This is a test of the wire protocol over CGI-based hgweb.
initialize repository

  $ hg init test
  $ cd test
  $ echo a > a
  $ hg ci -Ama
  adding a
  $ cd ..
  $ cat >hgweb.cgi <<HGWEB
  > #
  > # 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("test", "Empty test repository")
  > wsgicgi.launch(application)
  > HGWEB
  $ chmod 755 hgweb.cgi

try hgweb request

  $ . "$TESTDIR/cgienv"
  $ QUERY_STRING="cmd=changegroup&roots=0000000000000000000000000000000000000000"; export QUERY_STRING
  $ python hgweb.cgi >page1 2>&1
  $ python "$TESTDIR/md5sum.py" page1
  1f424bb22ec05c3c6bc866b6e67efe43  page1