tests/test-copy2.out
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Sat, 14 Aug 2010 01:30:54 +0200
branchstable
changeset 11892 2be70ca17311
parent 11152 e8d10d085f47
permissions -rw-r--r--
encoding: improve handling of buggy getpreferredencoding() on Mac OS X Prior to version 2.7, calling locale.getpreferredencoding() would always return 'mac-roman' on Mac OS X. Previously, this was handled by a call to locale.setlocale(). Unfortunately, Python 2.6.5 and older have a bug where isspace() would incorrectly report True for 0x85 and 0xa0 after such a call. In order to fix this, we replace the previous _encodingfixup mapping to an _encodingfixers mapping. Rather than mapping encodings to their replacement, it maps them to a function returning the replacement. This allows us to provide an simplified implementation of getpreferredencoding() which extracts the expected encoding and restores the locale. This fix is based on a patch originally submitted by Martijn Pieters as well as feedback from Brodie Rao.

# should fail - foo is not managed
foo: not copying - file is not managed
abort: no files to copy
? foo
# dry-run; print a warning that this is not a real copy; foo is added
foo has not been committed yet, so no copy data will be stored for bar.
A foo
# should print a warning that this is not a real copy; bar is added
foo has not been committed yet, so no copy data will be stored for bar.
A bar
# should print a warning that this is not a real copy; foo is added
bar has not been committed yet, so no copy data will be stored for foo.
A foo
# copy --after to a nonexistant target filename
foo: not recording copy - dummy does not exist
# dry-run; should show that foo is clean
C foo
# should show copy
A bar
  foo
# shouldn't show copy
# should match
   rev    offset  length   base linkrev nodeid       p1           p2
     0         0       5      0       0 2ed2a3912a0b 000000000000 000000000000
bar renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd
# should not be renamed
bar not renamed
# should show copy
M bar
  foo
# should show no parents for tip
   rev    offset  length   base linkrev nodeid       p1           p2
     0         0      69      0       1 7711d36246cc 000000000000 000000000000
     1        69       6      1       2 bdf70a2b8d03 7711d36246cc 000000000000
     2        75      81      1       3 b2558327ea8d 000000000000 000000000000
# should match
   rev    offset  length   base linkrev nodeid       p1           p2
     0         0       5      0       0 2ed2a3912a0b 000000000000 000000000000
     1         5       7      1       2 dd12c926cf16 2ed2a3912a0b 000000000000
bar renamed from foo:dd12c926cf165e3eb4cf87b084955cb617221c17
# should show no copies
# copy --after on an added file
A baz
  bar
# foo was clean:
C foo
# but it's considered modified after a copy --after --force
M foo
  bar