# HG changeset patch # User Vadim Gelfer # Date 1152658376 25200 # Node ID e3258cc3ed633e72d5aadd2d11db69e1cca0e678 # Parent edb66cb05deda698131442f1a750d48795e8120f# Parent 0a30407fff72a689f15715fbd51ed8f725d4fa63 merge with crew. diff -r 0a30407fff72 -r e3258cc3ed63 mercurial/hg.py --- a/mercurial/hg.py Tue Jul 11 13:47:51 2006 -0700 +++ b/mercurial/hg.py Tue Jul 11 15:52:56 2006 -0700 @@ -58,11 +58,14 @@ } def repository(ui, path=None, create=0): - if not path: path = '' - scheme = path - if scheme: - scheme = scheme.split(":", 1)[0] - ctor = schemes.get(scheme) or schemes['file'] + scheme = None + if path: + c = path.find(':') + if c > 0: + scheme = schemes.get(path[:c]) + else: + path = '' + ctor = scheme or schemes['file'] if create: try: return ctor(ui, path, create) diff -r 0a30407fff72 -r e3258cc3ed63 tests/test-diff-ignore-whitespace --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-diff-ignore-whitespace Tue Jul 11 15:52:56 2006 -0700 @@ -0,0 +1,84 @@ +#!/bin/sh + +# GNU diff is the reference for all of these results. + +hgdiff() { + hg diff "$@" | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/" +} + +test_added_blank_lines() { + printf '\nhello world\n\ngoodbye world\n\n' >foo + + echo '>>> two diffs showing three added lines <<<' + hgdiff + hgdiff -b + + echo '>>> no diffs <<<' + hgdiff -B + hgdiff -Bb +} + +test_added_horizontal_space_first_on_a_line() { + printf '\t hello world\ngoodbye world\n' >foo + + echo '>>> four diffs showing added space first on the first line <<<' + hgdiff + hgdiff -b + hgdiff -B + hgdiff -Bb +} + +test_added_horizontal_space_last_on_a_line() { + printf 'hello world\t \ngoodbye world\n' >foo + + echo '>>> two diffs showing space appended to the first line <<<' + hgdiff + hgdiff -B + + echo '>>> no diffs <<<' + hgdiff -b + hgdiff -Bb +} + +test_added_horizontal_space_in_the_middle_of_a_word() { + printf 'hello world\ngood bye world\n' >foo + + echo '>>> four diffs showing space inserted into "goodbye" <<<' + hgdiff + hgdiff -B + hgdiff -b + hgdiff -Bb +} + +test_increased_horizontal_whitespace_amount() { + printf 'hello world\ngoodbye\t\t \tworld\n' >foo + + echo '>>> two diffs showing changed whitespace amount in the last line <<<' + hgdiff + hgdiff -B + + echo '>>> no diffs <<<' + hgdiff -b + hgdiff -Bb +} + +test_added_blank_line_with_horizontal_whitespace() { + printf 'hello world\n \t\ngoodbye world\n' >foo + + echo '>>> four diffs showing added blank line w/horizontal space <<<' + hgdiff + hgdiff -B + hgdiff -b + hgdiff -Bb +} + +hg init +printf 'hello world\ngoodbye world\n' >foo +hg ci -Amfoo -ufoo -d '0 0' + +test_added_blank_lines +test_added_horizontal_space_first_on_a_line +test_added_horizontal_space_last_on_a_line +test_added_horizontal_space_in_the_middle_of_a_word +test_increased_horizontal_whitespace_amount +test_added_blank_line_with_horizontal_whitespace diff -r 0a30407fff72 -r e3258cc3ed63 tests/test-diff-ignore-whitespace.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-diff-ignore-whitespace.out Tue Jul 11 15:52:56 2006 -0700 @@ -0,0 +1,140 @@ +adding foo +>>> two diffs showing three added lines <<< +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,5 @@ hello world ++ + hello world ++ + goodbye world ++ +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,5 @@ hello world ++ + hello world ++ + goodbye world ++ +>>> no diffs <<< +>>> four diffs showing added space first on the first line <<< +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world +-hello world ++ hello world + goodbye world +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world +-hello world ++ hello world + goodbye world +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world +-hello world ++ hello world + goodbye world +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world +-hello world ++ hello world + goodbye world +>>> two diffs showing space appended to the first line <<< +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world +-hello world ++hello world + goodbye world +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world +-hello world ++hello world + goodbye world +>>> no diffs <<< +>>> four diffs showing space inserted into "goodbye" <<< +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world + hello world +-goodbye world ++good bye world +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world + hello world +-goodbye world ++good bye world +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world + hello world +-goodbye world ++good bye world +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world + hello world +-goodbye world ++good bye world +>>> two diffs showing changed whitespace amount in the last line <<< +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world + hello world +-goodbye world ++goodbye world +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,2 @@ hello world + hello world +-goodbye world ++goodbye world +>>> no diffs <<< +>>> four diffs showing added blank line w/horizontal space <<< +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,3 @@ hello world + hello world ++ + goodbye world +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,3 @@ hello world + hello world ++ + goodbye world +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,3 @@ hello world + hello world ++ + goodbye world +diff -r 540c40a65b78 foo +--- a/foo ++++ b/foo +@@ -1,2 +1,3 @@ hello world + hello world ++ + goodbye world