Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-diff-ignore-whitespace @ 4188:dd0d9bd91e0a
dirstate.statwalk: explicitly test for ignored directories
This removes a hack where we appended '/' to a dirname so that:
- it would not appear on the "dc" dict
- it would always be matched by the match function
This was a contorted way of checking if the directory was matched by
some hgignore pattern, and it would still fail with some uses of
--include/--exclude patterns.
Things would still work fine if we removed the check altogether and
just appended things to "work" directly, but then we would end up
walking ignored directories too, which could be quite a bit of work.
This allows further simplification of the match function returned by
util._matcher, and fixes walking the working directory with a
--include pattern that matches only the end of a name.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sat, 10 Mar 2007 23:00:54 -0300 |
parents | 096f1c73cdc3 |
children | 372d93f03d3a |
line wrap: on
line source
#!/bin/sh # GNU diff is the reference for all of these results. hgdiff() { hg diff --nodates "$@" } 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