Commit Graph

54271 Commits

Author SHA1 Message Date
dscho
d8467171eb Merge pull request #83 from kblees/kb/gettext-encoding
gettext: always use UTF-8 on native Windows
2015-04-09 17:35:30 +02:00
Karsten Blees
d3b9944e10 gettext: always use UTF-8 on native Windows
Git on native Windows exclusively uses UTF-8 for console output (both with
mintty and native console windows). Gettext uses setlocale() to determine
the output encoding for translated text, however, MSVCRT's setlocale()
doesn't support UTF-8. As a result, translated text is encoded in system
encoding (GetAPC()), and non-ASCII chars are mangled in console output.

Use gettext's bind_textdomain_codeset() to force the encoding to UTF-8 on
native Windows.

Signed-off-by: Karsten Blees <blees@dcon.de>
2015-04-09 16:19:56 +01:00
Junio C Hamano
ecc46a1780 Merge tag 'l10n-2.4.0-rnd2' of git://github.com/git-l10n/git-po
git l10n 2.4.0-rnd2
2015-04-08 21:15:47 -07:00
Torsten Bögershausen
6b6c5f7a2f connect.c: ignore extra colon after hostname
Ignore an extra ':' at the end of the hostname in URL's like
"ssh://example.com:/path/to/repo"

The colon is meant to separate a port number from the hostname.
If the port is empty, the colon should be ignored, see RFC 3986.

It had been working for URLs with ssh:// scheme, but was unintentionally
broken in 86ceb3, "allow ssh://user@[2001:db8::1]/repo.git"

Reported-by: Reid Woodbury Jr. <reidw@rawsound.com>
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-08 21:00:53 -07:00
Jiang Xin
44cc742a8c Merge branch 'master' of git://github.com/alexhenrie/git-po
* 'master' of git://github.com/alexhenrie/git-po:
  l10n: ca.po: update translation
2015-04-09 08:21:39 +08:00
Jiang Xin
689664ae94 l10n: TEAMS: Change repository URL of zh_CN
Repository URL of zh_CN l10n for Git has been changed over 2 years,
update po/TEAMS for it.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2015-04-09 08:20:32 +08:00
Alex Henrie
c888305e1e l10n: ca.po: update translation
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2015-04-07 18:07:47 -06:00
Johannes Schindelin
ebc298daac squash! mingw: HOT FIX: work around environment issues -- again
cURL actually uses "cp" + GetACP():
https://github.com/bagder/curl/blob/aa5808b5/lib/easy.c#L157-L162
v2.3.5.windows.6
2015-04-07 14:48:32 +02:00
Johannes Schindelin
8d76720583 squash! mingw: HOT FIX: work around environment issues -- again
Add the following clarifier with the next merging rebase:

Note: cURL manages to set the variable CHARSET when nedmalloc is *not*
enabled, without causing an access violation. In that case, it sets it
successfully to the value "cp1252" (hence it is our choice, too, cURL may
need it, Git does not).
2015-04-07 14:28:53 +02:00
Johannes Schindelin
5ccd51f85e mingw: HOT FIX: work around environment issues -- again
This developer should really, really have known better. The fact that we
are changing the environment in ways for which the MSVCRT is not
prepared for is bad enough. But then this developer followed the request
to re-enable nedmalloc -- despite the prediction that it would cause an
access violation, predicting it in the same message as the request to
re-enable nedmalloc, no less!

To paper over the issue until the time when this developer finds the
time to re-design the Unicode environment handling from scratch, let's
hope that cURL is the only library we are using that *may* set an
environment variable using MSVCRT's putenv() after we fscked the
environment up.

Note: this commit can serve as no source of pride to anyone, certainly
not yours truly. It is necessary as a quick and pragmatic stop gap,
though, to prevent worse problems.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
v2.3.5.windows.5
2015-04-07 10:24:55 +01:00
Alexander Shopov
f88c11346c l10n: Updated Bulgarian translation of git (2305t,0f,0u)
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
2015-04-07 11:23:18 +03:00
Peter Krefting
9386878f69 l10n: sv.po: Update Swedish translation (2305t0f0u)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2015-04-07 08:45:20 +01:00
Johannes Schindelin
57900198bd git-gui (MinGW): make use of MSys2's msgfmt
When Git for Windows was still based on MSys1, we had no gettext, ergo
no msgfmt, either. Therefore, we introduced a small and simple Tcl
script to perform the same task.

However, with MSys2, we no longer need that because we have a proper
msgfmt executable. Plus, the po2msg.sh script somehow manages to hang
when run in parallel.

Two reasons to use real msgfmt.exe instead.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
v2.3.5.windows.4
2015-04-06 14:34:59 +01:00
Johannes Schindelin
0160e8e2a1 git-wrapper: interpret --cd=<directory> when configured via resources
This change accompanies the `--no-cd` option when configured via
resources. It is required to support `Git Bash Here`: when
right-clicking an icon in the Explorer to start a Bash, the working
directory is actually the directory that is displayed in the Explorer.
That means if the clicked icon actually refers to a directory, the
working directory would be its *parent* directory.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2015-04-06 12:53:27 +01:00
Johannes Schindelin
0defb66cf4 Avoid illegal filenames when building Documentation on NTFS
A '+' is not a valid part of a filename with Windows file systems (it is
reserved because the '+' operator meant file concatenation back in the
DOS days).

Let's just not use it.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2015-04-06 12:53:25 +01:00
Marc Branchaud
157c8e3ddf gitk: Rearrange window title to be more conventional
Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2015-04-06 14:38:17 +10:00
Peter Krefting
c47f86c56a gitk: sv.po: Update Swedish translation (305t0f0u)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2015-04-06 13:48:27 +10:00
Alex Henrie
0013251fe2 gitk: Fix bad English grammar "Matches none Commit Info"
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2015-04-06 13:44:46 +10:00
Ralf Thielow
ddc7d46d9e l10n: de.po: translate one message
Translate one message came from git.pot update in 6eebb35
(l10n: git.pot: v2.4.0 round 2 (1 update)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2015-04-05 19:10:29 +02:00
Kyle J. McKay
8d00662d7d diff-highlight: do not split multibyte characters
When the input is UTF-8 and Perl is operating on bytes instead of
characters, a diff that changes one multibyte character to another
that shares an initial byte sequence will result in a broken diff
display as the common byte sequence prefix will be separated from
the rest of the bytes in the multibyte character.

For example, if a single line contains only the unicode character
U+C9C4 (encoded as UTF-8 0xEC, 0xA7, 0x84) and that line is then
changed to the unicode character U+C9C0 (encoded as UTF-8 0xEC,
0xA7, 0x80), when operating on bytes diff-highlight will show only
the single byte change from 0x84 to 0x80 thus creating invalid UTF-8
and a broken diff display.

Fix this by putting Perl into character mode when splitting the line
and then back into byte mode after the split is finished.

The utf8::xxx functions require Perl 5.8 so we require that as well.

Also, since we are mucking with code in the split_line function, we
change a '*' quantifier to a '+' quantifier when matching the $COLOR
expression which has the side effect of speeding everything up while
eliminating useless '' elements in the returned array.

Reported-by: Yi EungJun <semtlenori@gmail.com>
Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-04 13:03:45 -07:00
Blair Holloway
34a0dbfc6b git-p4: fix filetype detection on files opened exclusively
If a Perforce server is configured to automatically set +l
(exclusive lock) on add of certain file types, git p4 submit will
fail during getP4OpenedType, as the regex doesn't expect the
trailing '*exclusive*' from p4 opened:

  //depot/file.png#1 - add default change (binary+l) *exclusive*

Signed-off-by: Blair Holloway <blair_holloway@playstation.sony.com>
Acked-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-04 12:43:20 -07:00
Luke Diamand
d077c2db8d git-p4: small fix for locked-file-move-test
The test for handling of failure when trying to move a file
that is locked by another client was not quite correct - it
failed early on because the target file in the move already
existed.

The test now fails because git-p4 does not properly detect
that p4 has rejected the move, and instead just crashes. At
present, git-p4 has no support for detecting that a file
has been locked and reporting it to the user, so this is
the expected outcome.

Signed-off-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-04 12:41:51 -07:00
Luke Diamand
2cce675a63 git-p4: fix small bug in locked test scripts
Test script t9816-git-p4-locked.sh test #4 tests for
adding a file that is locked by Perforce automatically.
This is currently not supported by git-p4 and so is
expected to fail.

However, a small typo meant it always failed, even with
a fixed git-p4. Fix the typo to resolve this.

Signed-off-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-04 12:41:41 -07:00
Jean-Noel Avila
fa54b52432 l10n: fr.po v2.4.0 round 2
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2015-04-04 18:04:56 +02:00
Johannes Schindelin
3b36eb3b22 squash! config.mak.uname: support MSys2
Make sure that the nedmalloc patch is applied before.
v2.3.5.windows.3
2015-04-03 20:03:51 +01:00
Johannes Schindelin
7d549c0382 fixup! mingw: uglify pthread_mutex_init definition to shut up warning 2015-04-03 20:01:19 +01:00
Johannes Schindelin
186a915275 mingw: allow compiling with MSys2's compiler
With MSys2's GCC, `ReadWriteBarrier` is already defined, and FORCEINLINE
unfortunately gets defined incorrectly.

Let's work around both problems, using the MSys2-specific
__MINGW64_VERSION_MAJOR constant to guard them.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2015-04-03 20:00:02 +01:00
Dimitriy Ryazantcev
9af95af05f l10n: ru: updated Russian translation
Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
2015-04-03 16:30:14 +03:00
Johannes Schindelin
df5092509f squash! git-wrapper: serve as git-gui.exe, too
To avoid confusion with builtins, we need to move the code block
handling gitk (and now git-gui, too) to intercept before git-gui is
mistaken for a builtin.

Unfortunately, git-gui is in libexec/git-core/ while gitk is in bin/,
therefore we need slightly more adjustments than just moving and
augmenting the gitk case.
2015-04-03 11:55:42 +01:00
Tran Ngoc Quan
a4acd09bd9 l10n: vi.po(2305t): Updated 1 new string
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2015-04-03 08:55:06 +07:00
Jiang Xin
44f518e68e l10n: zh_CN: for git v2.4.0 l10n round 2
Translate 1 update message (2305t0f0u) for git v2.4.0 l10n round 2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2015-04-03 08:39:57 +08:00
Jiang Xin
6eebb35ec0 l10n: git.pot: v2.4.0 round 2 (1 update)
Generate po/git.pot from v2.4.0-rc1 for git v2.4.0 l10n round 2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2015-04-03 08:16:53 +08:00
Jiang Xin
bfcfc7d273 Merge branch 'master' of git://github.com/git-l10n/git-po
* 'master' of git://github.com/git-l10n/git-po:
  l10n: de.po: translate 'symbolic link' as 'symbolische Verknüpfung'
  l10n: de.po: translate 99 new messages
  l10n: de.po: fix messages with abbreviated hashs
  l10n: de.po: add space before ellipsis
  l10n: vi.po: Updated Vietnamese translation
  l10n: zh_CN: translations for git v2.4.0-rc0
  l10n: fr.po v2.4.0-rc0 round 1
  l10n: ca.po: update translation
  l10n: ru: updated Russian translation
  l10n: sv.po: Update Swedish translation (2305t0f0u)
  l10n: git.pot: v2.4.0 round 1 (99 new, 92 removed)
  l10n: ru: added Russian translation
  l10n: de.po: fix negation for commit -a with paths
2015-04-03 08:13:24 +08:00
Thomas Schneider
fc792ca860 checkout: call a single commit "it" intead of "them"
When detached and checking out a branch again, git checkout warns
about commit(s) that might get lost.  It says "If you want to keep
them ..." even for only one commit.

Use Q_() to allow differentiating singular vs plural.

Signed-off-by: Thomas Schneider <thosch97@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-02 16:44:59 -07:00
Jeff King
2bf15a3330 merge: pass verbosity flag down to merge-recursive
This makes "git merge --quiet" really quiet when we call
into merge-recursive.

Note that we can't just pass our flag down as-is; the two
parts of the code use different scales. We center at "0" as
normal for git-merge (with "--quiet" giving a negative
value), but merge-recursive uses "2" as its center.  This
patch passes a negative value to merge-recursive rather than
"1", though, as otherwise the user would have to use "-qqq"
to squelch all messages (but the downside is that the user
cannot distinguish between levels 0-2 if without resorting
to the GIT_MERGE_VERBOSITY variable).

We may want to review and renormalize the message severities
in merge-recursive, but that does not have to happen now.
This is at least in improvement in the sense that we are
respecting "--quiet" at all.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-02 15:12:39 -07:00
Junio C Hamano
6ae0d97266 Git 2.4.0-rc1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.4.0-rc1
2015-04-02 12:46:06 -07:00
Junio C Hamano
3c6151dad3 Merge branch 'sb/atomic-push'
* sb/atomic-push:
  send-pack: unify error messages for unsupported capabilities
2015-04-02 12:34:43 -07:00
Jeff King
84ccad8dec init: don't set core.worktree when initializing /.git
If you create a git repository in the root directory with
"git init /", we erroneously write a core.worktree entry.
This isn't _wrong_, in the sense that it's OK to set
core.worktree when we don't need to. But it is unnecessarily
surprising if you later move the .git directory to another
path (which usually moves the relative working tree, but is
foiled if there is an explicit worktree set).

The problem is that we check whether core.worktree is
necessary by seeing if we can make the git_dir by
concatenating "/.git" onto the working tree. That would lead
to "//.git" in this instance, but we actually have "/.git"
(without the doubled slash).

We can fix this by special-casing the root directory. I also
split the logic out into its own function to make the
conditional a bit more readable (and used skip_prefix, which
I think makes it a little more obvious what is going on).

No tests, as we would need to be able to write to "/" to do
so. I did manually confirm that:

  sudo git init /
  cd /
  git rev-parse --show-toplevel
  git config core.worktree

still finds the top-level correctly (as "/"), and does not
set any core.worktree variable.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-02 12:29:15 -07:00
Junio C Hamano
afcb6ee30a push --signed: tighten what the receiving end can ask to sign
Instead of blindly trusting the receiving side to give us a sensible
nonce to sign, limit the length (max 256 bytes) and the alphabet
(alnum and a few selected punctuations, enough to encode in base64)
that can be used in nonce.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-02 11:05:18 -07:00
Ralf Thielow
c8b8f22aa9 send-pack: unify error messages for unsupported capabilities
If --signed is not supported, the error message names the remote
"receiving end". If --atomic is not supported, the error message
names the remote "server". Unify the naming to "receiving end"
as we're in the context of "push".

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-02 11:02:52 -07:00
Matthias Rüster
918de7523d l10n: de.po: translate 'symbolic link' as 'symbolische Verknüpfung'
The use of 'symbolische Verknüpfung' for 'symbolic link' is more common
than 'symbolischer Verweis'.

Signed-off-by: Matthias Rüster <matthias.ruester@gmail.com>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2015-04-02 18:35:33 +02:00
Ralf Thielow
668fa6c951 l10n: de.po: translate 99 new messages
Translate 99 messages came from git.pot update in c2ea120
(l10n: git.pot: v2.4.0 round 1 (99 new, 92 removed)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2015-04-02 18:35:28 +02:00
Ralf Thielow
1c8f034ddb l10n: de.po: fix messages with abbreviated hashs
The three dots in messages where the hash is abbreviated
were misinterpreted and are fixed with this commit.

Noticed-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2015-04-02 18:29:03 +02:00
Phillip Sz
c9f0dbf143 l10n: de.po: add space before ellipsis
Signed-off-by: Phillip Sz <phillip.szelat@gmail.com>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2015-04-02 18:29:03 +02:00
Johannes Schindelin
9a5c96c2ed squash! git-wrapper: support git.exe to be in a spaced dir
... and `gitk.exe`, too...
2015-04-02 16:37:51 +01:00
Johannes Schindelin
3c5faa8885 Merge branch 'git-gui-wrapper'
This commit needs to be moved into the 'git-wrapper' branch with the
next merging rebase.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
v2.3.5.windows.2
2015-04-02 11:29:07 +01:00
Johannes Schindelin
b351a65cbc git-wrapper: serve as git-gui.exe, too
To avoid that ugly Console window when calling \cmd\git.exe gui...

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2015-04-02 11:23:34 +01:00
Jeff King
2b8bd44aab howto: document more tools for recovery corruption
Long ago, I documented a corruption recovery I did and gave
some C code that I used to help find a flipped bit.  I had
to fix a similar case recently, and I ended up writing a few
more tools.  I hope nobody ever has to use these, but it
does not hurt to share them, just in case.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-01 22:44:03 -07:00
Junio C Hamano
1a51b52422 push-to-deploy: allow pushing into an unborn branch and updating it
Setting receive.denycurrentbranch to updateinstead and pushing into
the current branch, when the working tree and the index is truly
clean, is supposed to reset the working tree and the index to match
the tree of the pushed commit.  This did not work when pushing into
an unborn branch.

The code that drives push-to-checkout hook needs no change, as the
interface is defined so that hook can decide what to do when the
push is coming to an unborn branch and take an appropriate action
since the beginning.

Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-01 22:40:10 -07:00
Johannes Schindelin
fa34d4d1b3 fixup! config.mak.uname: support MSys2 v2.3.5.windows.1 2015-04-01 13:34:31 +01:00