#!/bin/sh echo "[extensions]" >> $HGRCPATH echo "bookmarks=" >> $HGRCPATH hg init echo % no bookmarks hg bookmarks echo % bookmark rev -1 hg bookmark X echo % list bookmarks hg bookmarks echo % list bookmarks with color hg --config extensions.color= --config color.mode=ansi \ bookmarks --color=always echo a > a hg add a hg commit -m 0 echo % bookmark X moved to rev 0 hg bookmarks echo % look up bookmark hg log -r X echo % second bookmark for rev 0 hg bookmark X2 echo % bookmark rev -1 again hg bookmark -r null Y echo % list bookmarks hg bookmarks echo b > b hg add b hg commit -m 1 echo % bookmarks X and X2 moved to rev 1, Y at rev -1 hg bookmarks echo % bookmark rev 0 again hg bookmark -r 0 Z echo c > c hg add c hg commit -m 2 echo % bookmarks X and X2 moved to rev 2, Y at rev -1, Z at rev 0 hg bookmarks echo % rename nonexistent bookmark hg bookmark -m A B echo % rename to existent bookmark hg bookmark -m X Y echo % force rename to existent bookmark hg bookmark -f -m X Y echo % list bookmarks hg bookmark echo % rename without new name hg bookmark -m Y echo % delete without name hg bookmark -d echo % delete nonexistent bookmark hg bookmark -d A echo % bookmark name with spaces should be stripped hg bookmark ' x y ' echo % list bookmarks hg bookmarks echo % look up stripped bookmark name hg log -r '"x y"' echo % reject bookmark name with newline hg bookmark ' ' echo % bookmark with existing name hg bookmark Z echo % force bookmark with existing name hg bookmark -f Z echo % list bookmarks hg bookmark echo % revision but no bookmark name hg bookmark -r . echo % bookmark name with whitespace only hg bookmark ' ' true