view tests/test-debugbuilddag @ 11337:0f3c8a47960e

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.
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
date Thu, 10 Jun 2010 11:49:48 +0200
parents
children fc360de66217
line wrap: on
line source

#! /bin/sh

echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH



echo ---- overwritten and appended files

rm -rf repo
hg init repo
cd repo
hg debugbuilddag '+2:f +3:p2 @temp <f+4 @default /p2 +2' -q -oa
echo -- dag
hg debugdag -t -b
echo -- glog
hg glog --template '{rev}: {desc} [{branches}] @ {date}\n'
echo -- glog of
hg glog --template '{rev}: {desc} [{branches}]\n' of
echo -- glog af
hg glog --template '{rev}: {desc} [{branches}]\n' af
echo -- tags
hg tags -v
echo -- cat of
hg cat of
echo -- cat af
hg cat af
cd ..

echo ---- new and mergeable files

rm -rf repo
hg init repo
cd repo
hg debugbuilddag '+2:f +3:p2 @temp <f+4 @default /p2 +2' -q -mn
echo -- dag
hg debugdag -t -b
echo -- glog
hg glog --template '{rev}: {desc} [{branches}] @ {date}\n'
echo -- glog mf
hg glog --template '{rev}: {desc} [{branches}]\n' mf

echo -- man r4
hg manifest -r4
echo -- cat r4 mf
hg cat -r4 mf
echo -- man r8
hg manifest -r8
echo -- cat r8 mf
hg cat -r8 mf
echo -- man
hg manifest
echo -- cat mf
hg cat mf
cd ..

echo ---- command

rm -rf repo
hg init repo
cd repo
hg debugbuilddag '+2 !"touch X" +2' -q -o
echo -- dag
hg debugdag -t -b
echo -- glog
hg glog --template '{rev}: {desc} [{branches}]\n'
echo -- glog X
hg glog --template '{rev}: {desc} [{branches}]\n' X
cd ..