Use UTF-8 encoding for commit messages in vim

Set vim's default and assumed encodings for saving and loading commit
messages to "utf-8".

Since our vimrc contains no other encoding settings, the outcome is
expected to be "encoding=ACP termencoding=ACP fileencoding=utf-8".  Where
ACP is the multibyte codepage that's native to the user's system (for
example, "ascii" on an English system and "cp932" on a Japanese).
`encoding' gets its value from vim, `termencoding' implicitly from
`encoding' and `fileencoding' becomes the only available value in our
setting of `fileencodings'.

The value of ACP for `termencoding' needs to be retained because that's
the only encoding that current versions of vim support for displaying
characters native to the user's system[1].  On the other hand,
`fileencoding' needs to be "utf-8" because that's the expected encoding
for git's "COMMIT_EDITMSG" file.

This patch follows the discussion in the [2] link.

[1] http://groups.google.com/group/vim_dev/msg/3dd77f3014a60e43
[2] http://groups.google.com/group/msysgit/msg/55c582fb1b279d08
vimrc: Set UTF-8 as vim's default encoding for commit messages

We avoid setting `encoding' and `termencoding', and opt to only setting
`fileencodings' because it's understood that vim sets the former two to
the user's system's "ANSI" and "OEM" code pages (setting either both if
they differ or only `encoding' if they're the same) [1].  The setting of
"OEM" is particularly significant as it is required for native characters
to be correctly displayed on the user's console [2].

We set "utf-8" as the only value of `fileencodings', there by making it
the default encoding used to save new commit messages to COMMIT_EDITMSG.
This is consistent with what git expects in an environment where the
user has not altered the value of `i18n.commitencoding'.

When loading an existing message, for operations such as 'commit --amend'
and 'rebase -i', our setting for `fileencodings' means that vim will first
attempt to load it as UTF-8 and then fallback to the encoding set by
`encoding' if unable to do so.  This encoding is expected to be "ANSI",
as mentioned above, and this side-effect is of benefit if the user does
have an altered value of `i18n.commitencoding'.  (Here, we're assuming
users not set this, if at all, to anything other than that of "ANSI"
because that is thought to be the most natural for their location.)

Users SHOULD unset `i18n.commitencoding' after this is released.  However,
failing to do so may not show any visible regressions.  (See tests for
case #2 at [3].)

This patch follows the discussion in the [4] link.

[1] http://groups.google.com/group/msysgit/msg/be6218f1cbf5e747
[2] http://groups.google.com/group/vim_dev/msg/3dd77f3014a60e43
[3] http://groups.google.com/group/msysgit/msg/508cca8b57f00546
[4] http://groups.google.com/group/msysgit/msg/55c582fb1b279d08
Add recodetree script to convert non-ASCII file names to UTF-8

Add a script that allows to check a repository for non-ASCII file names,
and to convert the HEAD commit or the entire history from the current
system encoding to UTF-8.

Signed-off-by: Karsten Blees <blees@dcon.de>
mingw-w64: Parse the SF RSS feed for the latest release, follow redirects

Instead of hard-coding the file name, get the most recent mingw-w64
release from the RSS feed of file releases. Also, make curl follow
redirects to SourceForge mirrors.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
mingw-w64: Update zlib to version 1.2.6, misc. minor improvements

Use the canonical zlib URL. Adjust our custom patch for version 1.2.6. Do
not hard-code the version number in gitignore.

Use "-o" with curl instead of redirecting stdout to avoid the output file
being created in case of errors.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Merge branch 'kb/recodetree' of git://github.com/kblees/msysgit into devel
Merge remote-tracking branch 'origin/an/vim-utf-8' into devel
applied utf-8 patches
Updated msys-1.0.dll to MSYS-g7ebac74

Signed-off-by: Karsten Blees <blees@dcon.de>
Updated less.exe to less-444

Signed-off-by: Karsten Blees <blees@dcon.de>
Update less settings for UTF-8

Assume less input is always utf-8 encoded. Also remove the alias
overriding the standard less settings.

Signed-off-by: Karsten Blees <blees@dcon.de>
Supersede the older 'an/vim-utf-8' for this newer version

This merge supercedes an older version of 'an/vim-utf-8' (6017a8db...)
which was under github/msysgit and was merged into 'devel' in favour
of a newer version under github/atnak (ee24d5bd...).

This merge was created using `git merge -s ours <older_version>'.

The discussion pertaining to this merge follows:

On Wed, 08 Feb 2012 10:28:36 +0900
Atsushi Nakagawa <at...@chejz.com> wrote:
> Oops, I just noticed that the version of "an/vim-utf-8" that was merged
> is an older version in msysgit/msysgit[1] which I couldn't work out how
> to push over.
>
> The last version that I pushed was to atnak/msysgit[2] and this list[3].
> The only delta (aside from the commit message) is an addition of
> "git-rebase-todo" to the file name pattern (for `rebase -i').
>
> [...]
>
> [1] https://github.com/msysgit/msysgit/tree/an/vim-utf-8
> [2] https://github.com/atnak/msysgit/commits/an/vim-utf-8
> [3] http://groups.google.com/group/msysgit/browse_thread/thread/ab5ad659831b0fe0
mingw-w64: Allow offline installation of 64-Bit toolchain

If the user does not have a direct internet connection lets tell him
what to download and where.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
git-cheetah: Compile and use 64bit shell extension in the installer

On Windows 64bit the explorer is a 64bit process. Thus a 32bit dll can
not be loaded. To support the context menu plugin on 64bit windows we
compile a seperate 64bit dll of cheetah and register it in case the
installer is run on 64bit.

The fact that there are two architectures is now not visible in the
installer anymore since it automatically chooses the right dll.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Merge remote-tracking branch 'atnak/an/vim-utf-8' into devel
Add a README.md file (so that our GitHub repository has something to show)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
clarify context menu entry choice between cheetah and registry

Many users seem to get confused when asked to decide between
"Context menu entries" and "git-cheetah shell extension".

Since they want the context menu entries many will choose the registry
based ones since it explicitely talks about the context menu.

Lets talk about the same thing "context menu" and distinguish them by
calling them advanced and simple. To help existing users to recognize
these option from the previous installers mention the methods
(cheetah/registry) in brackets.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Fix path to file(1)'s magic file

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Let the net installer optionally bundle profile.d/*.sh files

This makes it convenient to come up with custom installers for development
environments requiring more than just msysGit.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Fix net installer's profile.d copying

It helps to look in the right place.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>