Mercurial > hg
view tests/test-archive @ 6297:fed1a9c22076
dirstate.remove: during merges, remember the previous file state
We encode the previous state as a negative file size (AFAICS, previous
versions of hg always have size == 0 when state == 'r').
We save the state of 'm'erged and dirty files, because they're the
two states that indicate that a file has to be committed on a merge
to correctly record per-file history.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Tue, 18 Mar 2008 04:07:39 -0300 |
parents | 0750e4ba9d3d |
children | 118720f857b9 |
line wrap: on
line source
#!/bin/sh mkdir test cd test hg init echo foo>foo hg commit -Am 1 -d '1 0' echo bar>bar hg commit -Am 2 -d '2 0' mkdir baz echo bletch>baz/bletch hg commit -Am 3 -d '1000000000 0' echo "[web]" >> .hg/hgrc echo "name = test-archive" >> .hg/hgrc echo "allow_archive = gz bz2, zip" >> .hg/hgrc hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log cat hg.pid >> $DAEMON_PIDS TIP=`hg id -v | cut -f1 -d' '` QTIP=`hg id -q` cat > getarchive.py <<EOF import os, sys, urllib2 node, archive = sys.argv[1:] f = urllib2.urlopen('http://127.0.0.1:%s/?cmd=archive;node=%s;type=%s' % (os.environ['HGPORT'], node, archive)) sys.stdout.write(f.read()) EOF http_proxy= python getarchive.py "$TIP" gz | gunzip | tar tf - | sed "s/$QTIP/TIP/" http_proxy= python getarchive.py "$TIP" bz2 | bunzip2 | tar tf - | sed "s/$QTIP/TIP/" http_proxy= python getarchive.py "$TIP" zip > archive.zip unzip -t archive.zip | sed "s/$QTIP/TIP/" hg archive -t tar test.tar tar tf test.tar hg archive -t tbz2 -X baz test.tar.bz2 bunzip2 -dc test.tar.bz2 | tar tf - hg archive -t tgz -p %b-%h test-%h.tar.gz gzip -dc test-$QTIP.tar.gz | tar tf - | sed "s/$QTIP/TIP/" cat > md5comp.py <<EOF import md5, sys f1, f2 = sys.argv[1:3] h1 = md5.md5(file(f1, 'rb').read()).hexdigest() h2 = md5.md5(file(f2, 'rb').read()).hexdigest() print h1 == h2 or "md5 differ: " + repr((h1, h2)) EOF # archive name is stored in the archive, so create similar # archives and rename them afterwards. hg archive -t tgz tip.tar.gz mv tip.tar.gz tip1.tar.gz sleep 1 hg archive -t tgz tip.tar.gz mv tip.tar.gz tip2.tar.gz python md5comp.py tip1.tar.gz tip2.tar.gz hg archive -t zip -p /illegal test.zip hg archive -t zip -p very/../bad test.zip hg archive --config ui.archivemeta=false -t zip -r 2 test.zip unzip -t test.zip hg archive -t tar - | tar tf - | sed "s/$QTIP/TIP/" hg archive -r 0 -t tar rev-%r.tar if [ -f rev-0.tar ]; then echo 'rev-0.tar created' fi hg archive -t bogus test.bogus echo % server errors cat errors.log echo '% empty repo' hg init ../empty cd ../empty hg archive ../test-empty exit 0