Mercurial > hg
view tests/test-sparse-fsmonitor.t @ 33388:0823f0983eaa
convert: transcode CVS log messages by specified encoding (issue5597)
Converting from CVS to Mercurial assumes that CVS log messages in "cvs
rlog" output are encoded in UTF-8 (or basic Latin-1). But cvs itself
is usually unaware of encoding of log messages, in practice.
Therefore, if there are commits, of which log message is encoded in
other than UTF-8, log message of corresponded revisions in the
converted repository will be broken.
To avoid such broken log messages, this patch transcodes CVS log
messages by encoding specified via "convert.cvsps.logencoding"
configuration.
This patch accepts multiple encoding for convenience, because
"multiple encoding mixed in a repository" easily occurs. For example,
UTF-8 (recent POSIX), cp932 (Windows), and EUC-JP (legacy POSIX) are
well known encoding for Japanese.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Tue, 11 Jul 2017 02:10:04 +0900 |
parents | abd7dedbaa36 |
children |
line wrap: on
line source
This test doesn't yet work due to the way fsmonitor is integrated with test runner $ exit 80 test sparse interaction with other extensions $ hg init myrepo $ cd myrepo $ cat > .hg/hgrc <<EOF > [extensions] > sparse= > strip= > EOF Test fsmonitor integration (if available) TODO: make fully isolated integration test a'la https://github.com/facebook/watchman/blob/master/tests/integration/WatchmanInstance.py (this one is using the systemwide watchman instance) $ touch .watchmanconfig $ echo "ignoredir1/" >> .hgignore $ hg commit -Am ignoredir1 adding .hgignore $ echo "ignoredir2/" >> .hgignore $ hg commit -m ignoredir2 $ hg sparse --reset $ hg sparse -I ignoredir1 -I ignoredir2 -I dir1 $ mkdir ignoredir1 ignoredir2 dir1 $ touch ignoredir1/file ignoredir2/file dir1/file Run status twice to compensate for a condition in fsmonitor where it will check ignored files the second time it runs, regardless of previous state (ask @sid0) $ hg status --config extensions.fsmonitor= ? dir1/file $ hg status --config extensions.fsmonitor= ? dir1/file Test that fsmonitor ignore hash check updates when .hgignore changes $ hg up -q ".^" $ hg status --config extensions.fsmonitor= ? dir1/file ? ignoredir2/file