foozy@708: #!/bin/bash foozy@708: foozy@708: #$ name: init foozy@708: foozy@708: hg init main foozy@708: cd main foozy@708: echo 'This is a boring feature.' > myfile foozy@708: hg commit -A -m 'We have reached an important milestone!' foozy@708: foozy@708: #$ name: tag foozy@708: foozy@708: hg tag v1.0 foozy@708: hg tip foozy@708: hg tags foozy@708: foozy@708: #$ name: main foozy@708: foozy@708: cd ../main foozy@708: echo 'This is exciting and new!' >> myfile foozy@708: hg commit -m 'Add a new feature' foozy@708: cat myfile foozy@708: foozy@708: #$ name: update foozy@708: foozy@708: cd .. foozy@708: hg clone -U main main-old foozy@708: cd main-old foozy@708: hg update v1.0 foozy@708: cat myfile foozy@708: foozy@708: #$ name: clone foozy@708: foozy@708: cd .. foozy@708: hg clone -rv1.0 main stable foozy@708: foozy@708: #$ name: stable foozy@708: foozy@708: hg clone stable stable-fix foozy@708: cd stable-fix foozy@708: echo 'This is a fix to a boring feature.' > myfile foozy@708: hg commit -m 'Fix a bug' foozy@708: #$ ignore: /tmp/branching.* foozy@708: hg push foozy@708: foozy@708: #$ name: foozy@708: foozy@708: export HGMERGE=$(mktemp) foozy@708: echo '#!/bin/sh' > $HGMERGE foozy@708: echo 'echo "This is a fix to a boring feature." > "$1"' >> $HGMERGE foozy@708: echo 'echo "This is exciting and new!" >> "$1"' >> $HGMERGE foozy@708: chmod 700 $HGMERGE foozy@708: foozy@708: #$ name: merge foozy@708: foozy@708: cd ../main foozy@708: hg pull ../stable foozy@708: hg merge foozy@708: hg commit -m 'Bring in bugfix from stable branch' foozy@708: cat myfile foozy@708: foozy@708: #$ name: foozy@708: foozy@708: rm $HGMERGE