[email protected] writes:
> From: Lars Schneider <[email protected]>
>
> Perforce keeps the encoding of a path as given by the originating OS.
> Git expects paths encoded as UTF-8. Add a config to tell git-p4 what
> encoding Perforce had used for the paths. This encoding is used to
> transcode the paths to UTF-8. As an example, Perforce on my Windows
> box uses “cp1252” to encode path names.
>
> Signed-off-by: Lars Schneider <[email protected]>
> ---
Thanks.
> +git-p4.pathEncoding::
> + Perforce keeps the encoding of a path as given by the originating OS.
> + Git expects paths encoded as UTF-8. Use this config to tell git-p4
> + what encoding Perforce had used for the paths. This encoding is used
> + to transcode the paths to UTF-8. As an example, Perforce on my Windows
> + box uses “cp1252” to encode path names.
> +
The log message is sort of personal statement, but "my Windows"
smells out of place here, as there is no clear writer in the
documentation. Perhaps rephrase it to:
For example, Perforce often uses "cp1252" to encode path names
on Windows box.
or something?
> diff --git a/t/t9822-git-p4-path-encoding.sh b/t/t9822-git-p4-path-encoding.sh
> new file mode 100755
> index 0000000..3a1779a
> --- /dev/null
> +++ b/t/t9822-git-p4-path-encoding.sh
> @@ -0,0 +1,65 @@
> +#!/bin/sh
> +
> +test_description='Clone repositories with non ASCII paths'
> +
> +. ./lib-git-p4.sh
> +
> +UTF8_ESCAPED="a-\303\244_o-\303\266_u-\303\274.txt"
> +ISO8859_ESCAPED="\141\55\344\137\157\55\366\137\165\55\374\56\164\170\164"
> +
> +# You can generate the ISO8859_ESCAPED with the following command:
Please don't. You don't want to encode ".txt" and other things that
are ASCII, which you didn't encode in the original UTF8_ESCAPED.
> +# printf "$UTF8_ESCAPED" | \
> +# iconv -f utf-8 -t iso8859-1 | \
> +# xxd -ps -u -c 1 | xargs bash -c 'for v; do echo "ibase=16; obase=8; $v" |
> bc; done' bash | \
> +# tr "\n" "\\"
Besides, you somehow came up with UTF8_ESCAPED with a procedure that
is not documented (and it does avoid hiding obvious things like
".txt" in the backslashes). I do not think it is necessary or even
a good idea to give a procedure that is not very portable (xxd?
bash?) and does not produce what we want to see, only for ISO8859.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html