debugbuilddag: build a changelog dag from a concise description
Useful in tests to quickly build a complex DAG in an empty repo.
Handles local tags and named branches.
Options to, at each rev,
- create a new file,
- overwrite the same file,
- append to the same file,
- write to a specific line in a mergeable file.
Can run shell commands during DAG buildup.
#!/bin/sh
hg init test
cd test
echo b > b
hg ci -Am "b"
echo a > a
hg ci -Am "first a"
hg rm a
hg ci -m "del a"
echo b > a
hg ci -Am "second a"
hg rm a
hg ci -m "del2 a"
hg mv b c
hg ci -m "mv b"
echo c >> c
hg ci -m "change c"
hg log -p
hg serve -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log
cat hg.pid >> $DAEMON_PIDS
echo % tip - two revisions
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/log/tip/a')
echo % second version - two revisions
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/log/3/a')
echo % first deleted - one revision
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/log/2/a')
echo % first version - one revision
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/log/1/a')
echo % before addition - error
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/log/0/a')
echo % should show base link, use spartan because it shows it
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/log/tip/c?style=spartan')
echo % errors
cat errors.log