Mercurial > hg
view tests/test-status-color @ 9954:d6a307719ccb stable
fix bug in prepush logic involving merge changesets
When creating new branches and merging them into existing ones, you would
sometimes be able to push some changesets (the existing branches) without using
--force, even when that creates a new head on the remote.
A test which triggers the error has been added.
author | Sune Foldager <cryo@cyanite.org> |
---|---|
date | Mon, 30 Nov 2009 14:58:52 +0100 |
parents | 7b3d837ca60e |
children | 51421ab573de |
line wrap: on
line source
#!/bin/sh echo "[extensions]" >> $HGRCPATH echo "color=" >> $HGRCPATH hg init repo1 cd repo1 mkdir a b a/1 b/1 b/2 touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2 echo "hg status in repo root:" hg status --color=always echo "hg status . in repo root:" hg status --color=always . for dir in a b a/1 b/1 b/2; do echo "hg status in $dir:" hg status --color=always --cwd "$dir" echo "hg status . in $dir:" hg status --color=always --cwd "$dir" . echo "hg status .. in $dir:" hg status --color=always --cwd "$dir" .. done cd .. hg init repo2 cd repo2 touch modified removed deleted ignored echo "^ignored$" > .hgignore hg ci -A -m 'initial checkin' -d "1000000 0" touch modified added unknown ignored hg add added hg remove removed rm deleted echo "hg status:" hg status --color=always echo "hg status modified added removed deleted unknown never-existed ignored:" hg status --color=always modified added removed deleted unknown never-existed ignored hg copy modified copied echo "hg status -C:" hg status --color=always -C echo "hg status -A:" hg status --color=always -A echo "^ignoreddir$" > .hgignore mkdir ignoreddir touch ignoreddir/file echo "hg status ignoreddir/file:" hg status --color=always ignoreddir/file echo "hg status -i ignoreddir/file:" hg status --color=always -i ignoreddir/file cd .. # check 'status -q' and some combinations hg init repo3 cd repo3 touch modified removed deleted ignored echo "^ignored$" > .hgignore hg commit -A -m 'initial checkin' touch added unknown ignored hg add added echo "test" >> modified hg remove removed rm deleted hg copy modified copied echo "% test unknown color" hg --config color.status.modified=periwinkle status --color=always # Run status with 2 different flags. # Check if result is the same or different. # If result is not as expected, raise error assert() { hg status --color=always $1 > ../a hg status --color=always $2 > ../b out=`diff ../a ../b` if [ $? -ne 0 ]; then out=1 else out=0 fi if [ $3 -eq 0 ]; then df="same" else df="different" fi if [ $out -ne $3 ]; then echo "Error on $1 and $2, should be $df." fi } # assert flag1 flag2 [0-same | 1-different] assert "-q" "-mard" 0 assert "-A" "-marduicC" 0 assert "-qA" "-mardcC" 0 assert "-qAui" "-A" 0 assert "-qAu" "-marducC" 0 assert "-qAi" "-mardicC" 0 assert "-qu" "-u" 0 assert "-q" "-u" 1 assert "-m" "-a" 1 assert "-r" "-d" 1