diff --git a/TODO b/TODO --- a/TODO +++ b/TODO @@ -15,8 +15,8 @@ Core: - directory foo.d or foo.i with existing file foo (use some quoting?) - get various options from hgrc (e.g. history always -v, tip always -q) - better push support (hack exists) -- hg over ssh:// and https:// -- commit mailinglist/trigger/hooks +- hg over ssh:// and https:// and rsync:// +- hooks for new changesets getting pulled/imported etc. - make showing removed files (in history etc.) faster. Commands: @@ -26,8 +26,6 @@ Commands: - select to pull a subset of the heads - commands.py: number of args too much magic (e.g. in patch()) - automatic pull fallback to old-http:// -- hg pull http://example.com doesn't say that no repo was found -- hg annotate -u and hgweb annotate with long $EMAIL - hg pull default in a subdir doesn't work, if it is a relative path - optionally only show merges (two parents or parent != changeset-1, etc.) diff --git a/hgeditor b/hgeditor --- a/hgeditor +++ b/hgeditor @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # This is an example of using HGEDITOR to automate the signing of # commits and so on. diff --git a/hgmerge b/hgmerge --- a/hgmerge +++ b/hgmerge @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # hgmerge - default merge helper for Mercurial # diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -137,7 +137,7 @@ def show_changeset(ui, repo, rev=0, chan if ui.verbose: ui.status("description:\n") ui.status(description) - ui.status("\n") + ui.status("\n\n") else: ui.status("summary: %s\n" % description.splitlines()[0]) ui.status("\n") @@ -295,7 +295,9 @@ def clone(ui, source, dest = None, **opt d = dircleanup(dest) link = 0 - if not source.startswith("http://"): + if not (source.startswith("http://") or + source.startswith("hg://") or + source.startswith("old-http://")): d1 = os.stat(dest).st_dev d2 = os.stat(source).st_dev if d1 == d2: link = 1 diff --git a/tests/fish-merge b/tests/fish-merge --- a/tests/fish-merge +++ b/tests/fish-merge @@ -1,3 +1,5 @@ +#!/bin/sh + set -e set -x diff --git a/tests/run-tests b/tests/run-tests --- a/tests/run-tests +++ b/tests/run-tests @@ -1,6 +1,4 @@ -#!/bin/bash - -set -e +#!/bin/sh -e export LANG=C export LC_CTYPE="C" @@ -47,7 +45,7 @@ function run_one rm -f $1.err export TZ=GMT D=`mktemp -d` - if [ "$D" == "" ] ; then + if [ "$D" = "" ] ; then echo mktemp failed! fi @@ -77,7 +75,7 @@ function run_one } TESTS=$@ -if [ "$TESTS" == "" ] ; then +if [ "$TESTS" = "" ] ; then TESTS=`ls test-* | grep -Ev "\.|~"` fi diff --git a/tests/test-bad-pull b/tests/test-bad-pull --- a/tests/test-bad-pull +++ b/tests/test-bad-pull @@ -1,4 +1,4 @@ -#!/bin/bash -x +#!/bin/sh -x hg clone http://localhost:20059/ copy echo $? @@ -18,6 +18,7 @@ run() EOF python dumb.py 2>/dev/null & +sleep 2 hg clone http://localhost:20059/foo copy2 echo $? diff --git a/tests/test-bad-pull.out b/tests/test-bad-pull.out --- a/tests/test-bad-pull.out +++ b/tests/test-bad-pull.out @@ -10,6 +10,7 @@ 255 ls: copy: No such file or directory + cat + python dumb.py ++ sleep 2 + hg clone http://localhost:20059/foo copy2 requesting all changes adding changesets diff --git a/tests/test-basic b/tests/test-basic --- a/tests/test-basic +++ b/tests/test-basic @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh set -x mkdir t @@ -10,4 +10,4 @@ hg commit -t "test" -u test -d "0 0" hg history hg manifest hg cat a -hg verify \ No newline at end of file +hg verify diff --git a/tests/test-conflict b/tests/test-conflict --- a/tests/test-conflict +++ b/tests/test-conflict @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh set -x hg init diff --git a/tests/test-copy b/tests/test-copy --- a/tests/test-copy +++ b/tests/test-copy @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh set -x hg init diff --git a/tests/test-help b/tests/test-help --- a/tests/test-help +++ b/tests/test-help @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh set -x diff --git a/tests/test-pull b/tests/test-pull --- a/tests/test-pull +++ b/tests/test-pull @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh mkdir test cd test diff --git a/tests/test-rawcommit1.out b/tests/test-rawcommit1.out --- a/tests/test-rawcommit1.out +++ b/tests/test-rawcommit1.out @@ -28,6 +28,7 @@ files+: c description: 2 + + rm b + hg -d rawcommit -p 2 -d '0 0' -u user -t3 b + hg -d manifest 3 @@ -45,6 +46,7 @@ files-: b description: 3 + + echo this is a22 + hg -d rawcommit -p 3 -d '0 0' -u user -t4 a + hg -d manifest 4 @@ -62,6 +64,7 @@ files: a description: 4 + + echo this is c22 + hg -d rawcommit -p 1 -d '0 0' -u user -t5 c + hg -d manifest 5 @@ -79,6 +82,7 @@ files: a description: 4 + + hg -d rawcommit -p 4 -p 5 -d '0 0' -u user -t6 + hg -d manifest 6 d6e3c4976c13feb1728cd3ac851abaf7256a5c23 644 a @@ -94,6 +98,7 @@ date: Thu Jan 1 00:00:00 1970 description: 6 + + hg -d rawcommit -p 6 -d '0 0' -u user -t7 + hg -d manifest 7 d6e3c4976c13feb1728cd3ac851abaf7256a5c23 644 a @@ -109,3 +114,4 @@ date: Thu Jan 1 00:00:00 1970 description: 7 + diff --git a/tests/test-simple-update b/tests/test-simple-update --- a/tests/test-simple-update +++ b/tests/test-simple-update @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh set -ex diff --git a/tests/test-tags b/tests/test-tags --- a/tests/test-tags +++ b/tests/test-tags @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh set -x mkdir t diff --git a/tests/test-undo b/tests/test-undo --- a/tests/test-undo +++ b/tests/test-undo @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh set -x mkdir t diff --git a/tests/test-up-local-change b/tests/test-up-local-change --- a/tests/test-up-local-change +++ b/tests/test-up-local-change @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh export HGMERGE=true diff --git a/tests/test-up-local-change.out b/tests/test-up-local-change.out --- a/tests/test-up-local-change.out +++ b/tests/test-up-local-change.out @@ -54,6 +54,7 @@ files: a b description: 2 + changeset: 0:c19d34741b0a4ced8e4ba74bb834597d5193851e manifest: 0:a0c8bcbbb45c63b90b70ad007bf38961f64f2af0 user: test @@ -62,6 +63,7 @@ files: a description: 1 + + hg diff + sed 's/\(\(---\|+++\).*\)\t.*/\1/' diff -r 1e71731e6fbb a