tests/test-bookmarks
author Brodie Rao <brodie@bitheap.org>
Fri, 27 Aug 2010 22:36:35 -0400
branchstable
changeset 12083 ebfc46929f3e
parent 11704 18c47562d331
permissions -rwxr-xr-x
help: refer to user configuration file more consistently Currently, a number of commands and help topics mention the user hgrc file in different ways. Among these are following: 1. .hgrc - "please specify your commit editor/username in your .hgrc file", bookmarks, color, hgk, pager, hg help environment 2. $HOME/.hgrc - hg help paths, hgrc(5), hg(1) 3. ~/.hgrc - hgrc(5) In addition to being inconsistent, none of these make sense on Windows. This patch replaces the above with a more general term of "[your] configuration file".

#!/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