Junio C Hamano [Wed, 4 Sep 2013 19:35:34 +0000 (12:35 -0700)]
Merge branch 'nd/gc-lock-against-each-other'
* nd/gc-lock-against-each-other:
gc: reject if another gc is running, unless --force is given
Junio C Hamano [Wed, 4 Sep 2013 19:33:57 +0000 (12:33 -0700)]
Merge branch 'ap/remote-hg-tilde-is-home-directory'
* ap/remote-hg-tilde-is-home-directory:
remote-hg: fix path when cloning with tilde expansion
Junio C Hamano [Wed, 4 Sep 2013 19:32:15 +0000 (12:32 -0700)]
Merge branch 'mm/no-shell-escape-in-die-message'
Fixes a minor bug in "git rebase -i" (there could be others, as the
root cause is pretty generic) where the code feeds a random, data
dependeant string to 'echo' and expects it to come out literally.
* mm/no-shell-escape-in-die-message:
die_with_status: use "printf '%s\n'", not "echo"
Junio C Hamano [Wed, 4 Sep 2013 19:32:11 +0000 (12:32 -0700)]
Merge branch 'tr/fd-gotcha-fixes'
Finishing touches to an earlier fix already in 'master'.
* tr/fd-gotcha-fixes:
t0070: test that git_mkstemps correctly checks return value of open()
Junio C Hamano [Wed, 4 Sep 2013 19:30:21 +0000 (12:30 -0700)]
Merge branch 'bc/unuse-packfile'
Handle memory pressure and file descriptor pressure separately when
deciding to release pack windows to honor resource limits.
* bc/unuse-packfile:
Don't close pack fd when free'ing pack windows
sha1_file: introduce close_one_pack() to close packs on fd pressure
Junio C Hamano [Wed, 4 Sep 2013 19:28:15 +0000 (12:28 -0700)]
Merge branch 'da/darwin'
* da/darwin:
OS X: Fix redeclaration of die warning
Makefile: Fix APPLE_COMMON_CRYPTO with BLK_SHA1
imap-send: use Apple's Security framework for base64 encoding
Junio C Hamano [Wed, 4 Sep 2013 19:28:12 +0000 (12:28 -0700)]
Merge branch 'nd/sq-quote-buf'
Code simplification as a preparatory step to something larger.
* nd/sq-quote-buf:
quote: remove sq_quote_print()
tar-tree: remove dependency on sq_quote_print()
for-each-ref, quote: convert *_quote_print -> *_quote_buf
Junio C Hamano [Wed, 4 Sep 2013 19:26:54 +0000 (12:26 -0700)]
Merge branch 'rr/feed-real-path-to-editor'
* rr/feed-real-path-to-editor:
editor: use canonicalized absolute path
Junio C Hamano [Wed, 4 Sep 2013 19:23:35 +0000 (12:23 -0700)]
Merge branch 'jk/fast-import-empty-ls'
* jk/fast-import-empty-ls:
fast-import: allow moving the root tree
fast-import: allow ls or filecopy of the root tree
fast-import: set valid mode on root tree in "ls"
t9300: document fast-import empty path issues
Junio C Hamano [Wed, 4 Sep 2013 19:23:33 +0000 (12:23 -0700)]
Merge branch 'km/svn-1.8-serf-only'
Subversion 1.8.0 that was recently released breaks older subversion
clients coming over http/https in various ways.
* km/svn-1.8-serf-only:
Git.pm: revert _temp_cache use of temp_is_locked
git-svn: allow git-svn fetching to work using serf
Git.pm: add new temp_is_locked function
Junio C Hamano [Wed, 4 Sep 2013 19:23:24 +0000 (12:23 -0700)]
Merge branch 'jc/check-x-z'
"git check-ignore -z" applied the NUL termination to both its input
(with --stdin) and its output, but "git check-attr -z" ignored the
option on the output side.
This is potentially a backward incompatible fix. Let's see if
anybody screams before deciding if we want to do anything to help
existing users (there may be none).
* jc/check-x-z:
check-attr -z: a single -z should apply to both input and output
check-ignore -z: a single -z should apply to both input and output
check-attr: the name of the character is NUL, not NULL
check-ignore: the name of the character is NUL, not NULL
Junio C Hamano [Tue, 3 Sep 2013 20:58:16 +0000 (13:58 -0700)]
Merge branch 'maint'
* maint:
fix shell syntax error in template
l10n: fr.po: hotfix for commit
6b388fc
Junio C Hamano [Tue, 3 Sep 2013 20:58:03 +0000 (13:58 -0700)]
Merge git://github.com/git-l10n/git-po into maint
* git://github.com/git-l10n/git-po:
l10n: fr.po: hotfix for commit
6b388fc
Junio C Hamano [Tue, 3 Sep 2013 20:54:32 +0000 (13:54 -0700)]
Merge branch 'maint-1.8.3' into maint
* maint-1.8.3:
fix shell syntax error in template
Junio C Hamano [Tue, 3 Sep 2013 20:54:26 +0000 (13:54 -0700)]
Merge branch 'maint-1.8.2' into maint-1.8.3
* maint-1.8.2:
fix shell syntax error in template
Junio C Hamano [Fri, 30 Aug 2013 17:16:16 +0000 (10:16 -0700)]
Start the post-1.8.4 cycle
It is tentatively called 1.8.5, but it should be an easy matter of
renaming the release-notes file and RelNotes symlink to later call
it 1.9 near the end of the cycle if we wanted to.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 30 Aug 2013 17:10:55 +0000 (10:10 -0700)]
Merge branch 'bc/completion-for-bash-3.0'
Some people still use rather old versions of bash, which cannot
grok some constructs like 'printf -v varname' the prompt and
completion code started to use recently.
* bc/completion-for-bash-3.0:
contrib/git-prompt.sh: handle missing 'printf -v' more gracefully
t9902-completion.sh: old Bash still does not support array+=('') notation
git-completion.bash: use correct Bash/Zsh array length syntax
Junio C Hamano [Fri, 30 Aug 2013 17:10:51 +0000 (10:10 -0700)]
Merge branch 'sp/doc-smart-http'
* sp/doc-smart-http:
Document the HTTP transport protocols
Junio C Hamano [Fri, 30 Aug 2013 17:08:26 +0000 (10:08 -0700)]
Merge branch 'mm/war-on-whatchanged'
* mm/war-on-whatchanged:
whatchanged: document its historical nature
core-tutorial: trim the section on Inspecting Changes
Junio C Hamano [Fri, 30 Aug 2013 17:08:23 +0000 (10:08 -0700)]
Merge branch 'rt/doc-merge-file-diff3'
* rt/doc-merge-file-diff3:
Documentation/git-merge-file: document option "--diff3"
Junio C Hamano [Fri, 30 Aug 2013 17:08:19 +0000 (10:08 -0700)]
Merge branch 'mb/docs-favor-en-us'
Declare that the official grammar & spelling of the source of this
project is en_US, but strongly discourage patches only to "fix"
existing en_UK strings to avoid unnecessary churns.
* mb/docs-favor-en-us:
Provide some linguistic guidance for the documentation.
Junio C Hamano [Fri, 30 Aug 2013 17:08:12 +0000 (10:08 -0700)]
Merge branch 'rj/doc-rev-parse'
* rj/doc-rev-parse:
rev-parse(1): logically group options
rev-parse: remove restrictions on some options
Junio C Hamano [Fri, 30 Aug 2013 17:06:52 +0000 (10:06 -0700)]
Merge branch 'hv/config-from-blob'
Portability fix.
* hv/config-from-blob:
config: do not use C function names as struct members
Junio C Hamano [Fri, 30 Aug 2013 17:05:55 +0000 (10:05 -0700)]
Merge branch 'nd/fetch-pack-shallow-fix'
The recent "short-cut clone connectivity check" topic broke a
shallow repository when a fetch operation tries to auto-follow tags.
* nd/fetch-pack-shallow-fix:
fetch-pack: do not remove .git/shallow file when --depth is not specified
Thorsten Glaser [Fri, 30 Aug 2013 10:40:30 +0000 (12:40 +0200)]
fix shell syntax error in template
An if clause must not be empty; add a "colon" command.
Signed-off-by: Thorsten Glaser <t.glaser@tarent.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sebastien Helleu [Sun, 25 Aug 2013 09:45:13 +0000 (11:45 +0200)]
l10n: fr.po: hotfix for commit
6b388fc
Fix many typos and add some new translations (1277/2080 messages
translated).
Closes git-l10n/git-po/pull/63.
Signed-off-by: Sebastien Helleu <flashcode@flashtux.org>
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Jeff King [Mon, 26 Aug 2013 21:57:18 +0000 (17:57 -0400)]
config: do not use C function names as struct members
According to C99, section 7.1.4:
Any function declared in a header may be additionally
implemented as a function-like macro defined in the
header.
Therefore calling our struct member function pointer "fgetc"
may run afoul of unwanted macro expansion when we call:
char c = cf->fgetc(cf);
This turned out to be a problem on uclibc, which defines
fgetc as a macro and causes compilation failure.
The standard suggests fixing this in a few ways:
1. Using extra parentheses to inhibit the function-like
macro expansion. E.g., "(cf->fgetc)(cf)". This is
undesirable as it's ugly, and each call site needs to
remember to use it (and on systems without the macro,
forgetting will compile just fine).
2. Using #undef (because a conforming implementation must
also be providing fgetc as a function). This is
undesirable because presumably the implementation was
using the macro for a performance benefit, and we are
dropping that optimization.
Instead, we can simply use non-colliding names.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy [Mon, 26 Aug 2013 02:17:26 +0000 (09:17 +0700)]
fetch-pack: do not remove .git/shallow file when --depth is not specified
fetch_pack() can remove .git/shallow file when a shallow repository
becomes a full one again. This behavior is triggered incorrectly when
tags are also fetched because fetch_pack() will be called twice. At
the first fetch_pack() call:
- shallow_lock is set up
- alternate_shallow_file points to shallow_lock.filename, which is
"shallow.lock"
- commit_lock_file is called, which sets shallow_lock.filename to "".
alternate_shallow_file also becomes "" because it points to the
same memory.
At the second call, setup_alternate_shallow() is not called and
alternate_shallow_file remains "". It's mistaken as unshallow case and
.git/shallow is removed. The end result is a broken repository.
Fix this by always initializing alternate_shallow_file when
fetch_pack() is called. As an extra measure, check if args->depth > 0
before commit/rollback shallow file.
Reported-by: Kacper Kornet <kornet@camk.edu.pl>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 23 Aug 2013 18:49:46 +0000 (11:49 -0700)]
Git 1.8.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Thu, 22 Aug 2013 01:39:03 +0000 (18:39 -0700)]
contrib/git-prompt.sh: handle missing 'printf -v' more gracefully
Old Bash (3.0) which is distributed with RHEL 4.X and other ancient
platforms that are still in wide use, do not have a printf that
supports -v. Neither does Zsh (which is already handled in the code).
As suggested by Junio, let's test whether printf supports the -v
option and store the result. Then later, we can use it to
determine whether 'printf -v' can be used, or whether printf
must be called in a subshell.
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Wed, 21 Aug 2013 20:49:32 +0000 (13:49 -0700)]
t9902-completion.sh: old Bash still does not support array+=('') notation
Old Bash (3.0) which is distributed with RHEL 4.X and other ancient
platforms that are still in wide use, does not understand the
array+=() notation. Let's use an explicit assignment to the new array
element which works everywhere, like:
array[${#array[@]}+1]=''
The right-hand side '' is not strictly necessary, but in this case
I think it is more clear.
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Wed, 21 Aug 2013 20:49:31 +0000 (13:49 -0700)]
git-completion.bash: use correct Bash/Zsh array length syntax
The syntax for retrieving the number of elements in an array is:
${#name[@]}
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 21 Aug 2013 22:30:04 +0000 (15:30 -0700)]
Typofix draft release notes to 1.8.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Shawn O. Pearce [Wed, 21 Aug 2013 13:45:13 +0000 (20:45 +0700)]
Document the HTTP transport protocols
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Revised-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 19 Aug 2013 17:34:14 +0000 (10:34 -0700)]
Git 1.8.4-rc4
As we had to revert two topics at the last minute, let's have
another (hopefully short) round of rc to make sure the final release
will be sound.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 14 Aug 2013 17:57:24 +0000 (10:57 -0700)]
Revert "Add new @ shortcut for HEAD"
This reverts commit
cdfd94837b27c220f70f032b596ea993d195488f, as it
does not just apply to "@" (and forms with modifiers like @{u}
applied to it), but also affects e.g. "refs/heads/@/foo", which it
shouldn't.
The basic idea of giving a short-hand might be good, and the topic
can be retried later, but let's revert to avoid affecting existing
use cases for now for the upcoming release.
Junio C Hamano [Wed, 14 Aug 2013 16:53:43 +0000 (09:53 -0700)]
Revert "git stash: avoid data loss when "git stash save" kills a directory"
This reverts commit
a73653130edd6a8977106d45a8092c09040f9132, as it
has been reported that "ls-files --killed" is too time-consuming in
a deep directory with too many untracked crufts (e.g. $HOME/.git
tracking only a few files).
We'd need to revisit it later but "ls-files --killed" needs to be
optimized before it happens.
Junio C Hamano [Tue, 13 Aug 2013 18:10:18 +0000 (11:10 -0700)]
Git 1.8.4-rc3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 13 Aug 2013 17:50:01 +0000 (10:50 -0700)]
Merge git://github.com/git-l10n/git-po
* git://github.com/git-l10n/git-po:
l10n: Add reference for french translation team
l10n: fr.po: 821/2112 messages translated
Junio C Hamano [Tue, 13 Aug 2013 17:49:33 +0000 (10:49 -0700)]
Merge branch 'sb/mailmap-updates'
* sb/mailmap-updates:
.mailmap: Combine more (name, email) to individual persons
.mailmap: update long-lost friends with multiple defunct addresses
Stefan Beller [Mon, 12 Aug 2013 08:12:09 +0000 (10:12 +0200)]
.mailmap: Combine more (name, email) to individual persons
Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 12 Aug 2013 07:58:11 +0000 (00:58 -0700)]
.mailmap: update long-lost friends with multiple defunct addresses
A handful of past contributors are recorded with multiple e-mail
addresses, all of which are undeliverable. With a lot of help from
Jonathan, we located all of them except for one person, and a pair
of addresses we suspect belong to a single person but we are not
certain.
Update the found ones with their currently preferred address, and
use the last known address to consolidate contributions by the lost
one.
Helped-by: Stefan Beller <stefanbeller@googlemail.com>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Tue, 13 Aug 2013 13:32:19 +0000 (15:32 +0200)]
git-remote-mediawiki: ignore generated git-mw
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 9 Aug 2013 20:01:48 +0000 (13:01 -0700)]
whatchanged: document its historical nature
Encourage new users to use 'log' instead. These days, these
commands are unified and just have different defaults.
'git log' only allowed you to view the log messages and no diffs
when it was added in early June 2005. It was only in early April
2006 that the command learned to take diff options. Because of
this, power users tended to use 'whatchanged' that already existed
since mid May 2005 and supported diff options.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 9 Aug 2013 17:28:53 +0000 (10:28 -0700)]
core-tutorial: trim the section on Inspecting Changes
Back when the core tutorial was written, `log` and `whatchanged`
were scripted Porcelains. In the "Inspecting Changes" section that
talks about the plumbing commands in the diff family, it made sense
to use `log` and `whatchanged` as good examples of the use of these
plumbing commands, and because even these scripted Porcelains were
novelty (there wasn't the new end-user tutorial written), it made
some sense to illustrate uses of the `git log` (and `git
whatchanged`) scripted Porcelain commands.
But we no longer have scripted `log` and `whatchanged` to serve as
examples, and this document is not where the end users learn what
`git log` command is about. Stop at briefly mentioning the
possibility of combining rev-list with diff-tree to build your own
log, and leave the end-user documentation of `log` to the new
tutorial and the user manual.
Also resurrect the last version of `git-log`, `git-whatchanged`, and
`git-show` to serve as examples to contrib/examples/ directory.
While at it, remove 'whatchanged' from a list of sample commands
that are affected by GIT_FLUSH environment variable. This is not
meant to be an exhaustive list but as a list of typical ones, and an
old command that is kept primarily for backward compatibility does
not belong to it.
Helped-by: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jean-Noel Avila [Fri, 9 Aug 2013 22:30:55 +0000 (00:30 +0200)]
l10n: Add reference for french translation team
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
Jean-Noel Avila [Mon, 1 Jul 2013 20:19:04 +0000 (22:19 +0200)]
l10n: fr.po: 821/2112 messages translated
Trying to focus on most useful phrases.
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
Junio C Hamano [Fri, 9 Aug 2013 22:49:55 +0000 (15:49 -0700)]
Merge branch 'maint'
* maint:
parse-options: fix clang opterror() -Wunused-value warning
Antoine Pelisse [Fri, 9 Aug 2013 17:13:07 +0000 (19:13 +0200)]
remote-hg: fix path when cloning with tilde expansion
The current code fixes the path to make it absolute when cloning, but
doesn't consider tilde expansion, so that scenario fails throwing an
exception because /home/myuser/~/my/repository doesn't exists:
$ git clone hg::~/my/repository && cd repository && git fetch
Expand the tilde when checking if the path is absolute, so that we don't
fix a path that doesn't need to be.
Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 9 Aug 2013 21:31:28 +0000 (14:31 -0700)]
Merge branch 'master' of git://github.com/git-l10n/git-po
* 'master' of git://github.com/git-l10n/git-po:
l10n: de.po: translate 5 messages
l10n: de.po: translate 99 new messages
l10n: de.po: switch from pure German to German+English
l10n: de.po: Fix a typo
l10n: Update Swedish translation (2135t0f0u)
l10n: zh_CN.po: translate 5 messages (2135t0f0u)
l10n: vi.po(2135t): v1.8.4 round 2
l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)
Junio C Hamano [Fri, 9 Aug 2013 21:30:41 +0000 (14:30 -0700)]
Merge branch 'jk/submodule-subdirectory-ok'
* jk/submodule-subdirectory-ok:
t/t7407: fix two typos in submodule tests
Junio C Hamano [Fri, 9 Aug 2013 21:30:13 +0000 (14:30 -0700)]
Merge branch 'sb/mailmap-updates'
* sb/mailmap-updates:
.mailmap: fixup entries
Stefan Beller [Fri, 9 Aug 2013 18:18:24 +0000 (20:18 +0200)]
.mailmap: fixup entries
This patch adds no new names, but fixes the mistakes I made in the previous
commits. (
94b410bba8,
f4f49e225,
c07a6bc57, 2013-07-12, .mailmap: Map
email addresses to names).
These mistakes are double white spaces between name and surname,
different capitalization in email address, or just the email address set
as name.
Also I forgot to include James Knight to the mailmap file.
Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ralf Thielow [Fri, 9 Aug 2013 18:09:32 +0000 (20:09 +0200)]
Documentation/git-merge-file: document option "--diff3"
The option "--diff3" was added to "git merge-file" in
e0af48e
(xdiff-merge: optionally show conflicts in "diff3 -m" style)
but it was never documented in "Documentation/git-merge-file.txt".
Add documentation for this option.
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Phil Hord [Fri, 9 Aug 2013 20:12:54 +0000 (16:12 -0400)]
t/t7407: fix two typos in submodule tests
In t/t7407-submodule-foreach.sh there is a typo in one of the
path names given for a test step. The correct path is
nested1/nested2/.git, but nested1/nested1/nested2/.git is
given instead. The typo is hidden because this line also
accidentally omits the && chain operator. The omitted chain
also means the return values of all the previous commands in
this test are also being ignored.
Fix the path and add the chain operator so the entire test
sequence can be properly validated.
Signed-off-by: Phil Hord <hordp@cisco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Eric Sunshine [Fri, 9 Aug 2013 09:06:17 +0000 (05:06 -0400)]
parse-options: fix clang opterror() -Wunused-value warning
a469a1019352b8ef (silence some -Wuninitialized false positives;
2012-12-15) triggered "unused value" warnings when the return value of
opterror() and several other error-related functions was not used.
5ded807f7c0be10e (fix clang -Wunused-value warnings for error functions;
2013-01-16) applied a fix by adding #if !defined(__clang__) in cache.h
and git-compat-util.h, but misspelled it as #if !defined(clang) in
parse-options.h. Fix this.
This mistake went unnoticed because existing callers of opterror()
utilize its return value.
1158826394e162c5 (parse-options: add
OPT_CMDMODE(); 2013-07-30), however, adds a new invocation of opterror()
which ignores the return value, thus triggering the "unused value"
warning.
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy [Thu, 8 Aug 2013 11:05:38 +0000 (18:05 +0700)]
gc: reject if another gc is running, unless --force is given
This may happen when `git gc --auto` is run automatically, then the
user, to avoid wait time, switches to a new terminal, keeps working
and `git gc --auto` is started again because the first gc instance has
not clean up the repository.
This patch tries to avoid multiple gc running, especially in --auto
mode. In the worst case, gc may be delayed 12 hours if a daemon reuses
the pid stored in gc.pid.
kill(pid, 0) support is added to MinGW port so it should work on
Windows too.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ralf Thielow [Tue, 6 Aug 2013 17:54:29 +0000 (19:54 +0200)]
l10n: de.po: translate 5 messages
Translate 5 new messages came from git.pot update in
b8ecf23
(l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)).
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Ralf Thielow [Fri, 26 Jul 2013 15:48:46 +0000 (17:48 +0200)]
l10n: de.po: translate 99 new messages
Translate 99 new messages came from git.pot update in
28b3cff (l10n: git.pot: v1.8.4 round 1 (99 new, 46 removed)).
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Junio C Hamano [Thu, 8 Aug 2013 20:58:34 +0000 (13:58 -0700)]
Git 1.8.4-rc2
This is with mostly minor documentation and test updates, nothing
spectacular except for removal of funky lstat(2) emulation on Cygwin.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ralf Thielow [Wed, 29 May 2013 16:03:39 +0000 (18:03 +0200)]
l10n: de.po: switch from pure German to German+English
This switches the translation from pure German to German+English.
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Wieland Hoffmann [Wed, 5 Jun 2013 20:59:44 +0000 (22:59 +0200)]
l10n: de.po: Fix a typo
Signed-off-by: Wieland Hoffmann <themineo@gmail.com>
Matthieu Moy [Wed, 7 Aug 2013 09:26:05 +0000 (11:26 +0200)]
die_with_status: use "printf '%s\n'", not "echo"
Some implementations of 'echo' (e.g. dash's built-in) interpret
backslash sequences in their arguments.
This triggered at least one bug: the error message of "rebase -i" was
turning \t in commit messages into actual tabulations. There may be
others.
Using "printf '%s\n'" instead avoids this bad behavior, and is the form
used by the "say" function.
Noticed-by: David Kastrup <dak@gnu.org>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Dale R. Worley [Sat, 3 Aug 2013 00:27:23 +0000 (20:27 -0400)]
t0070: test that git_mkstemps correctly checks return value of open()
Signed-off-by: Dale R. Worley <worley@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Peter Krefting [Tue, 6 Aug 2013 11:41:48 +0000 (12:41 +0100)]
l10n: Update Swedish translation (2135t0f0u)
Fix some incorrect translations in existing messages while at it.
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Jiang Xin [Tue, 6 Aug 2013 06:49:18 +0000 (14:49 +0800)]
l10n: zh_CN.po: translate 5 messages (2135t0f0u)
Translate 5 new messages came from git.pot update in
b8ecf23
(l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)).
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Tran Ngoc Quan [Tue, 6 Aug 2013 07:34:48 +0000 (14:34 +0700)]
l10n: vi.po(2135t): v1.8.4 round 2
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
Jiang Xin [Tue, 6 Aug 2013 06:13:23 +0000 (14:13 +0800)]
l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)
Generate po/git.pot from
v1.8.4-rc1-21-gfb56570 for git v1.8.4
l10n round 2.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Junio C Hamano [Mon, 5 Aug 2013 20:00:20 +0000 (13:00 -0700)]
Sync with maint to grab trivial doc fixes
* maint:
fix typo in documentation of git-svn
Documentation/rev-list-options: add missing word in --*-parents
log doc: the argument to --encoding is not optional
Brian Gernhardt [Mon, 5 Aug 2013 15:59:23 +0000 (11:59 -0400)]
OS X: Fix redeclaration of die warning
compat/apple-common-crypto.h uses die() in one of its macros, but was
included in git-compat-util.h before the definition of die.
Fix by simply moving the relevant block after the die/error/warning
declarations.
Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brian Gernhardt [Mon, 5 Aug 2013 15:59:22 +0000 (11:59 -0400)]
Makefile: Fix APPLE_COMMON_CRYPTO with BLK_SHA1
It used to be that APPLE_COMMON_CRYPTO did nothing when BLK_SHA1 was
set. But APPLE_COMMON_CRYPTO is now used for more than just SHA1 (see
3ef2bca) so make sure that the appropriate libraries are always set.
Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 5 Aug 2013 17:44:39 +0000 (10:44 -0700)]
Merge branch 'es/blame-L-breakage'
* es/blame-L-breakage:
t8001, t8002: fix "blame -L :literal" test on NetBSD
René Scharfe [Mon, 5 Aug 2013 15:21:17 +0000 (17:21 +0200)]
t8001, t8002: fix "blame -L :literal" test on NetBSD
Sub-test 42 of t8001 and t8002 ("blame -L :literal") fails on NetBSD
with the following verbose output:
git annotate -L:main hello.c
Author F (expected 4, attributed 3) bad
Author G (expected 1, attributed 1) good
This is not caused by different behaviour of git blame or annotate on
that platform, but by different test input, in turn caused by a sed
command that forgets to add a newline on NetBSD. Here's the diff of the
commit that adds "goodbye" to hello.c, for Linux:
@@ -1,4 +1,5 @@
int main(int argc, const char *argv[])
{
puts("hello");
+ puts("goodbye");
}
We see that it adds an extra TAB, but that's not a problem. Here's the
same on NetBSD:
@@ -1,4 +1,4 @@
int main(int argc, const char *argv[])
{
puts("hello");
-}
+ puts("goodbye");}
It also adds an extra TAB, but it is missing the newline character
after the semicolon.
The following patch gets rid of the extra TAB at the beginning, but
more importantly adds the missing newline at the end in a (hopefully)
portable way, mentioned in http://sed.sourceforge.net/sedfaq4.html.
The diff becomes this, on both Linux and NetBSD:
@@ -1,4 +1,5 @@
int main(int argc, const char *argv[])
{
puts("hello");
+ puts("goodbye");
}
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 5 Aug 2013 17:38:23 +0000 (10:38 -0700)]
Merge git://github.com/git-l10n/git-po
* git://github.com/git-l10n/git-po:
l10n: zh_CN.po: translate 99 messages (2133t0f0u)
l10n: vi.po (2133t)
l10n: git.pot: v1.8.4 round 1 (99 new, 46 removed)
Junio C Hamano [Mon, 5 Aug 2013 17:11:14 +0000 (10:11 -0700)]
Merge branch 'sb/mailmap-updates'
* sb/mailmap-updates:
.mailmap: Multiple addresses of Michael S. Tsirkin
Junio C Hamano [Mon, 5 Aug 2013 17:11:10 +0000 (10:11 -0700)]
Merge branch 'dn/test-reject-utf-16'
* dn/test-reject-utf-16:
t3900: test rejecting log message with NULs correctly
Add missing test file for UTF-16.
Junio C Hamano [Mon, 5 Aug 2013 17:11:04 +0000 (10:11 -0700)]
Merge branch 'bc/commit-invalid-utf8'
* bc/commit-invalid-utf8:
commit: typofix for xxFFF[EF] check
Junio C Hamano [Mon, 5 Aug 2013 16:52:28 +0000 (09:52 -0700)]
commit: typofix for xxFFF[EF] check
We wanted to catch all codepoints that ends with FFFE and FFFF,
not with 0FFFE and 0FFFF.
Noticed and corrected by Peter Krefting.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 5 Aug 2013 16:47:11 +0000 (09:47 -0700)]
t3900: test rejecting log message with NULs correctly
It is not like that our longer term desire is to someday start
accept log messages with NULs in them, so it is wrong to mark a test
that demonstrates "git commit" that correctly fails given such an
input as "expect-failure". "git commit" should fail today, and it
should fail the same way in the future given a message with NUL in it.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brian M. Carlson [Sat, 3 Aug 2013 17:26:31 +0000 (17:26 +0000)]
Add missing test file for UTF-16.
The test file that the UTF-16 rejection test looks for is missing, but this went
unnoticed because the test is expected to fail anyway; as a consequence, the
test fails because the file containing the commit message is missing, and not
because the test file contains a NUL byte. Fix this by including a sample text
file containing a commit message encoded in UTF-16.
Signed-off-by: Brian M. Carlson <sandals@crustytoothpaste.net>
Tested-by: Duy Nguyen <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felix Gruber [Sat, 3 Aug 2013 14:37:15 +0000 (16:37 +0200)]
fix typo in documentation of git-svn
Signed-off-by: Felix Gruber <felgru@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Torstein Hegge [Fri, 2 Aug 2013 18:40:07 +0000 (20:40 +0200)]
Documentation/rev-list-options: add missing word in --*-parents
A commit has "parent commits" or "parents", not "commits".
Signed-off-by: Torstein Hegge <hegge@resisty.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefan Beller [Sat, 3 Aug 2013 11:54:03 +0000 (13:54 +0200)]
.mailmap: Multiple addresses of Michael S. Tsirkin
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Fri, 2 Aug 2013 22:16:40 +0000 (15:16 -0700)]
log doc: the argument to --encoding is not optional
$ git log --encoding
fatal: Option '--encoding' requires a value
$ git rev-list --encoding
fatal: Option '--encoding' requires a value
The argument to --encoding has always been mandatory. Unfortunately
manpages like git-rev-list(1), git-log(1), and git-show(1) have
described the option's syntax as "--encoding[=<encoding>]" since it
was first documented. Clarify by removing the extra brackets.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jiang Xin [Fri, 26 Jul 2013 06:00:02 +0000 (14:00 +0800)]
l10n: zh_CN.po: translate 99 messages (2133t0f0u)
Translate 99 new messages came from git.pot update in
28b3cff
(l10n: git.pot: v1.8.4 round 1 (99 new, 46 removed)).
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Junio C Hamano [Fri, 2 Aug 2013 18:01:00 +0000 (11:01 -0700)]
Merge branch 'rj/cygwin-clarify-use-of-cheating-lstat'
Cygwin port added a "not quite correct but a lot faster and good
enough for many lstat() calls that are only used to see if the
working tree entity matches the index entry" lstat() emulation some
time ago, and it started biting us in places. This removes it and
uses the standard lstat() that comes with Cygwin.
Recent topic that uses lstat on packed-refs file is broken when
this cheating lstat is used, and this is a simplest fix that is
also the cleanest direction to go in the long run.
* rj/cygwin-clarify-use-of-cheating-lstat:
cygwin: Remove the Win32 l/stat() implementation
Junio C Hamano [Fri, 2 Aug 2013 16:32:48 +0000 (09:32 -0700)]
Merge branch 'jk/cat-file-batch-optim'
* jk/cat-file-batch-optim:
Revert "cat-file: split --batch input lines on whitespace"
Junio C Hamano [Fri, 2 Aug 2013 16:29:30 +0000 (09:29 -0700)]
Revert "cat-file: split --batch input lines on whitespace"
This reverts commit
c334b87b30c1464a1ab563fe1fb8de5eaf0e5bac; the
update assumed that people only used the command to read from
"rev-list --objects" output, whose lines begin with a 40-hex object
name followed by a whitespace, but it turns out that scripts feed
random extended SHA-1 expressions (e.g. "HEAD:$pathname") in which
a whitespace has to be kept.
Brandon Casey [Wed, 31 Jul 2013 19:51:37 +0000 (12:51 -0700)]
Don't close pack fd when free'ing pack windows
Now that close_one_pack() has been introduced to handle file
descriptor pressure, it is not strictly necessary to close the
pack file descriptor in unuse_one_window() when we're under memory
pressure.
Jeff King provided a justification for leaving the pack file open:
If you close packfile descriptors, you can run into racy situations
where somebody else is repacking and deleting packs, and they go away
while you are trying to access them. If you keep a descriptor open,
you're fine; they last to the end of the process. If you don't, then
they disappear from under you.
For normal object access, this isn't that big a deal; we just rescan
the packs and retry. But if you are packing yourself (e.g., because
you are a pack-objects started by upload-pack for a clone or fetch),
it's much harder to recover (and we print some warnings).
Let's do so (or uh, not do so).
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brandon Casey [Fri, 2 Aug 2013 05:36:33 +0000 (22:36 -0700)]
sha1_file: introduce close_one_pack() to close packs on fd pressure
When the number of open packs exceeds pack_max_fds, unuse_one_window()
is called repeatedly to attempt to release the least-recently-used
pack windows, which, as a side-effect, will also close a pack file
after closing its last open window. If a pack file has been opened,
but no windows have been allocated into it, it will never be selected
by unuse_one_window() and hence its file descriptor will not be
closed. When this happens, git may exceed the number of file
descriptors permitted by the system.
This latter situation can occur in show-ref or receive-pack during ref
advertisement. During ref advertisement, receive-pack will iterate
over every ref in the repository and advertise it to the client after
ensuring that the ref exists in the local repository. If the ref is
located inside a pack, then the pack is opened to ensure that it
exists, but since the object is not actually read from the pack, no
mmap windows are allocated. When the number of open packs exceeds
pack_max_fds, unuse_one_window() will not be able to find any windows to
free and will not be able to close any packs. Once the per-process
file descriptor limit is exceeded, receive-pack will produce a warning,
not an error, for each pack it cannot open, and will then most likely
fail with an error to spawn rev-list or index-pack like:
error: cannot create standard input pipe for rev-list: Too many open files
error: Could not run 'git rev-list'
This may also occur during upload-pack when refs are packed (in the
packed-refs file) and the number of packs that must be opened to
verify that these packed refs exist exceeds the file descriptor
limit. If the refs are loose, then upload-pack will read each ref
from the object database (if the object is in a pack, allocating one
or more mmap windows for it) in order to peel tags and advertise the
underlying object. But when the refs are packed and peeled,
upload-pack will use the peeled sha1 in the packed-refs file and
will not need to read from the pack files, so no mmap windows will
be allocated and just like with receive-pack, unuse_one_window()
will never select these opened packs to close.
When we have file descriptor pressure, we just need to find an open
pack to close. We can leave the existing mmap windows open. If
additional windows need to be mapped into the pack file, it will be
reopened when necessary. If the pack file has been rewritten in the
mean time, open_packed_git_1() should notice when it compares the file
size or the pack's sha1 checksum to what was previously read from the
pack index, and reject it.
Let's introduce a new function close_one_pack() designed specifically
for this purpose to search for and close the least-recently-used pack,
where LRU is defined as (in order of preference):
* pack with oldest mtime and no allocated mmap windows
* pack with the least-recently-used windows, i.e. the pack
with the oldest most-recently-used window, where none of
the windows are in use
* pack with the least-recently-used windows
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Marc Branchaud [Thu, 1 Aug 2013 18:49:54 +0000 (14:49 -0400)]
Provide some linguistic guidance for the documentation.
This will hopefully avoid questions over which spelling and grammar should
be used. Translators are of course free to create localizations for
specific English dialects.
Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 1 Aug 2013 19:01:53 +0000 (12:01 -0700)]
Git 1.8.4-rc1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 1 Aug 2013 18:58:32 +0000 (11:58 -0700)]
Merge branch 'ob/typofixes'
* ob/typofixes:
many small typofixes
Junio C Hamano [Thu, 1 Aug 2013 18:57:25 +0000 (11:57 -0700)]
Merge branch 'ms/subtree-install-fix'
* ms/subtree-install-fix:
contrib/subtree: Fix make install target
Junio C Hamano [Thu, 1 Aug 2013 18:57:25 +0000 (11:57 -0700)]
Merge branch 'jc/rm-submodule-error-message'
Consolidate two messages phrased subtly differently without a good
reason.
* jc/rm-submodule-error-message:
builtin/rm.c: consolidate error reporting for removing submodules
Junio C Hamano [Thu, 1 Aug 2013 18:52:43 +0000 (11:52 -0700)]
Merge branch 'lf/echo-n-is-not-portable'
* lf/echo-n-is-not-portable:
Avoid using `echo -n` anywhere
Junio C Hamano [Thu, 1 Aug 2013 18:52:40 +0000 (11:52 -0700)]
Merge branch 'ma/hg-to-git'
* ma/hg-to-git:
hg-to-git: --allow-empty-message in git commit
Junio C Hamano [Thu, 1 Aug 2013 18:52:37 +0000 (11:52 -0700)]
Merge branch 'jx/clean-interactive'
* jx/clean-interactive:
git-clean: implement partial matching for selection
Documentation/git-clean: fix description for range
Thomas Rast [Wed, 31 Jul 2013 20:23:31 +0000 (22:23 +0200)]
Rename advice.object_name_warning to objectNameWarning
We spell config variables in camelCase instead of with_underscores.
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 31 Jul 2013 19:38:29 +0000 (12:38 -0700)]
Merge branch 'rr/rebase-autostash'
* rr/rebase-autostash:
git-rebase: fix typo