gitweb.git
git-contacts: also recognise "Reported-by:"Eric Blake Fri, 21 Jul 2017 14:15:30 +0000 (09:15 -0500)

git-contacts: also recognise "Reported-by:"

It's nice to cc someone that reported a bug, in order to let them
know that a fix is being considered, and possibly even get their
help in reviewing/testing the patch.

Signed-off-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'master' of https://github.com/ralfth... Jiang Xin Thu, 27 Jul 2017 15:12:11 +0000 (23:12 +0800)

Merge branch 'master' of https://github.com/ralfth/git-po-de

* 'master' of https://github.com/ralfth/git-po-de:
l10n: de.po: update German translation

Merge branch 'fr_l10n_v2.14.0rnd2' of git://github... Jiang Xin Thu, 27 Jul 2017 15:10:13 +0000 (23:10 +0800)

Merge branch 'fr_l10n_v2.14.0rnd2' of git://github.com/jnavila/git

* 'fr_l10n_v2.14.0rnd2' of git://github.com/jnavila/git:
l10n: fr.po v2.14.0 rnd 2
l10n: fr.po Fix some french typos
l10n: fr.po Fix typo
l10n: fr.po Fix some translations

l10n: fr.po v2.14.0 rnd 2Jean-Noel Avila Wed, 26 Jul 2017 13:48:29 +0000 (15:48 +0200)

l10n: fr.po v2.14.0 rnd 2

Signed-off-by: Jean-Noel Avila <jean-noel.avila@scantech.fr>

l10n: fr.po Fix some french typosSylvestre Ledru Thu, 22 Jun 2017 09:22:47 +0000 (11:22 +0200)

l10n: fr.po Fix some french typos

Signed-off-by: Sylvestre Ledru <sylvestre@debian.org>

l10n: fr.po Fix typoLouis Thu, 6 Jul 2017 20:21:14 +0000 (22:21 +0200)

l10n: fr.po Fix typo

Signed-off-by: Louis <spalax@gresille.org>

l10n: fr.po Fix some translationsHugues Peccatte Wed, 17 May 2017 20:26:19 +0000 (22:26 +0200)

l10n: fr.po Fix some translations

Signed-off-by: Hugues Peccatte <hugues.peccatte@aareon.fr>
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>

contrib/rerere-train: optionally overwrite existing... Raman Gupta Wed, 26 Jul 2017 19:08:38 +0000 (15:08 -0400)

contrib/rerere-train: optionally overwrite existing resolutions

Provide the user an option to overwrite existing resolutions using an
`--overwrite` flag. This might be used, for example, if the user knows
that they already have an entry in their rerere cache for a conflict,
but wish to drop it and retrain based on the merge commit(s) passed to
the rerere-train script.

Signed-off-by: Raman Gupta <rocketraman@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t8008: rely on rev-parse'd HEAD instead of sha1 valueStefan Beller Wed, 26 Jul 2017 19:06:31 +0000 (12:06 -0700)

t8008: rely on rev-parse'd HEAD instead of sha1 value

Remove hard coded sha1 values, obtain the values using
'git rev-parse HEAD' which should be future proof regardless
of the hash function used.

Additionally future-proof the test by hard coding the
abbreviation length of the hash.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sub-process: refactor handshake to common functionJonathan Tan Wed, 26 Jul 2017 18:17:29 +0000 (11:17 -0700)

sub-process: refactor handshake to common function

Refactor, into a common function, the version and capability negotiation
done when invoking a long-running process as a clean or smudge filter.
This will be useful for other Git code that needs to interact similarly
with a long-running process.

As you can see in the change to t0021, this commit changes the error
message reported when the long-running process does not introduce itself
with the expected "server"-terminated line. Originally, the error
message reports that the filter "does not support filter protocol
version 2", differentiating between the old single-file filter protocol
and the new multi-file filter protocol - I have updated it to something
more generic and useful.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: migrate sub-process docs to headerJonathan Tan Wed, 26 Jul 2017 18:17:28 +0000 (11:17 -0700)

Documentation: migrate sub-process docs to header

Move the documentation for the sub-process API from a separate txt file
to its header file.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ls/filter-process-delayed' into jt/subpro... Junio C Hamano Wed, 26 Jul 2017 19:56:19 +0000 (12:56 -0700)

Merge branch 'ls/filter-process-delayed' into jt/subprocess-handshake

* ls/filter-process-delayed:
convert: add "status=delayed" to filter process protocol
convert: refactor capabilities negotiation
convert: move multiple file filter error handling to separate function
convert: put the flags field before the flag itself for consistent style
t0021: write "OUT <size>" only on success
t0021: make debug log file name configurable
t0021: keep filter log files on comparison

fsck: cleanup unused variableJonathan Tan Wed, 26 Jul 2017 01:34:56 +0000 (18:34 -0700)

fsck: cleanup unused variable

Remove the unused variable "heads" from cmd_fsck().

This variable was made unused in commit c3271a0 ("fsck: do not fallback
"git fsck <bogus>" to "git fsck"", 2017-01-17).

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: de.po: update German translationRalf Thielow Fri, 21 Jul 2017 16:59:08 +0000 (18:59 +0200)

l10n: de.po: update German translation

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>

doc: add missing values "none" and "default" for diff... Andreas Heiduk Tue, 25 Jul 2017 20:53:15 +0000 (22:53 +0200)

doc: add missing values "none" and "default" for diff.wsErrorHighlight

The values have eluded documentation so far. While at it streamline
the wording by grouping relevant parts together.

Signed-off-by: Andreas Heiduk <asheiduk@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'js/msgfmt-on-windows' of ../git-gui into... Junio C Hamano Tue, 25 Jul 2017 20:42:41 +0000 (13:42 -0700)

Merge branch 'js/msgfmt-on-windows' of ../git-gui into js/git-gui-msgfmt-on-windows

* 'js/msgfmt-on-windows' of ../git-gui:
git-gui (MinGW): make use of MSys2's msgfmt
git gui: allow for a long recentrepo list
git gui: de-dup selected repo from recentrepo history
git gui: cope with duplicates in _get_recentrepo
git-gui: remove duplicate entries from .gitconfig's gui.recentrepo

git-gui (MinGW): make use of MSys2's msgfmtJohannes Schindelin Tue, 25 Jul 2017 08:35:57 +0000 (10:35 +0200)

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 in Git for Windows' SDK (symptom: the Continuous
Testing tasks timing out).

Two reasons to use real msgfmt.exe instead.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fmt-merge-msg: fix coding styleDimitrios Christidis Tue, 25 Jul 2017 13:06:06 +0000 (15:06 +0200)

fmt-merge-msg: fix coding style

Align argument list and place opening brace on its own line.

Signed-off-by: Dimitrios Christidis <dimitrios@christidis.me>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'master' of https://github.com/Softcatala... Jiang Xin Tue, 25 Jul 2017 16:13:54 +0000 (00:13 +0800)

Merge branch 'master' of https://github.com/Softcatala/git-po

* 'master' of https://github.com/Softcatala/git-po:
l10n: Update Catalan translation

Merge branch 'master' of git://github.com/alshopov... Jiang Xin Tue, 25 Jul 2017 16:13:05 +0000 (00:13 +0800)

Merge branch 'master' of git://github.com/alshopov/git-po

* 'master' of git://github.com/alshopov/git-po:
l10n: bg.po: Updated Bulgarian translation (3213t)

l10n: vi.po (3213t): Updated 9 new stringsTran Ngoc Quan Tue, 25 Jul 2017 00:09:13 +0000 (07:09 +0700)

l10n: vi.po (3213t): Updated 9 new strings

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>

Git 2.14-rc1 v2.14.0-rc1Junio C Hamano Mon, 24 Jul 2017 21:50:35 +0000 (14:50 -0700)

Git 2.14-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>

refs: use skip_prefix() in ref_is_hidden()Christian Couder Sat, 22 Jul 2017 04:39:12 +0000 (06:39 +0200)

refs: use skip_prefix() in ref_is_hidden()

This is shorter, makes the logic a bit easier to follow, and is
perhaps a bit faster too.

The logic is to make the final decision only when "subject" is there,
its early part matches "match", and the match is at the slash
boundary (or the whole thing).

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

blame: fix memory corruption scrambling revision name... SZEDER Gábor Mon, 24 Jul 2017 21:15:50 +0000 (23:15 +0200)

blame: fix memory corruption scrambling revision name in error message

When attempting to blame a non-existing path, git should show an error
message like this:

$ git blame e83c51633 -- nonexisting-file
fatal: no such path nonexisting-file in e83c51633

Since the recent commit 835c49f7d (blame: rework methods that
determine 'final' commit, 2017-05-24) the revision name is either
missing or some scrambled characters are shown instead. The reason is
that the revision name must be duplicated, because it is invalidated
when the pending objects array is cleared in the meantime, but this
commit dropped the duplication.

Restore the duplication of the revision name in the affected functions
(find_single_final() and find_single_initial()).

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge https://github.com/git-l10n/git-poJunio C Hamano Mon, 24 Jul 2017 21:01:08 +0000 (14:01 -0700)

Merge https://github.com/git-l10n/git-po

* https://github.com/git-l10n/git-po:
l10n: git.pot: v2.14.0 round 2 (9 new, 2 removed)
l10n: sv.po: Update Swedish translation (3206t0f0u)
l10n: ko.po: Update Korean translation
l10n: Update Catalan translation
l10n: bg.po: Updated Bulgarian translation (3206t)
l10n: vi.po(3206t): Update Vietnamese translation
l10n: git.pot: v2.14.0 round 1 (34 new, 23 removed)
l10n: ru.po: update Russian translation
l10n: Fixes to Catalan translation

l10n: Update Catalan translationJordi Mas Mon, 24 Jul 2017 16:29:29 +0000 (18:29 +0200)

l10n: Update Catalan translation

Signed-off-by: Jordi Mas <jmas@softcatala.org>

l10n: bg.po: Updated Bulgarian translation (3213t)Alexander Shopov Mon, 24 Jul 2017 15:27:43 +0000 (17:27 +0200)

l10n: bg.po: Updated Bulgarian translation (3213t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>

l10n: git.pot: v2.14.0 round 2 (9 new, 2 removed)Jiang Xin Mon, 24 Jul 2017 14:00:44 +0000 (22:00 +0800)

l10n: git.pot: v2.14.0 round 2 (9 new, 2 removed)

Generate po/git.pot from v2.14.0-rc0-40-g5eada8987e for git v2.14.0 l10n round 2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>

Merge branch 'master' of git://github.com/git-l10n... Jiang Xin Mon, 24 Jul 2017 13:53:47 +0000 (21:53 +0800)

Merge branch 'master' of git://github.com/git-l10n/git-po

* 'master' of git://github.com/git-l10n/git-po:
l10n: sv.po: Update Swedish translation (3206t0f0u)
l10n: ko.po: Update Korean translation
l10n: Update Catalan translation
l10n: bg.po: Updated Bulgarian translation (3206t)
l10n: vi.po(3206t): Update Vietnamese translation
l10n: git.pot: v2.14.0 round 1 (34 new, 23 removed)
l10n: ru.po: update Russian translation
l10n: Fixes to Catalan translation

Merge branch 'master' of git://github.com/nafmo/git... Jiang Xin Fri, 21 Jul 2017 22:19:21 +0000 (06:19 +0800)

Merge branch 'master' of git://github.com/nafmo/git-l10n-sv

* 'master' of git://github.com/nafmo/git-l10n-sv:
l10n: sv.po: Update Swedish translation (3206t0f0u)

Sync with maintJunio C Hamano Fri, 21 Jul 2017 22:13:25 +0000 (15:13 -0700)

Sync with maint

* maint:
fixes from 'master' for 2.13.4

fixes from 'master' for 2.13.4Junio C Hamano Fri, 21 Jul 2017 22:06:09 +0000 (15:06 -0700)

fixes from 'master' for 2.13.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ew/fd-cloexec-fix' into maintJunio C Hamano Fri, 21 Jul 2017 22:03:40 +0000 (15:03 -0700)

Merge branch 'ew/fd-cloexec-fix' into maint

Portability/fallback fix.

* ew/fd-cloexec-fix:
set FD_CLOEXEC properly when O_CLOEXEC is not supported

Merge branch 'ks/fix-rebase-doc-picture' into maintJunio C Hamano Fri, 21 Jul 2017 22:03:39 +0000 (15:03 -0700)

Merge branch 'ks/fix-rebase-doc-picture' into maint

Doc update.

* ks/fix-rebase-doc-picture:
doc: correct a mistake in an illustration

Merge branch 'js/alias-case-sensitivity' into maintJunio C Hamano Fri, 21 Jul 2017 22:03:38 +0000 (15:03 -0700)

Merge branch 'js/alias-case-sensitivity' into maint

A recent update broke an alias that contained an uppercase letter.

* js/alias-case-sensitivity:
alias: compare alias name *case-insensitively*
t1300: demonstrate that CamelCased aliases regressed

Merge branch 'bb/unicode-10.0' into maintJunio C Hamano Fri, 21 Jul 2017 22:03:38 +0000 (15:03 -0700)

Merge branch 'bb/unicode-10.0' into maint

Update the character width tables.

* bb/unicode-10.0:
unicode: update the width tables to Unicode 10

Hopefully the final last-minute fix before -rc1Junio C Hamano Fri, 21 Jul 2017 22:02:51 +0000 (15:02 -0700)

Hopefully the final last-minute fix before -rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ks/doc-fixes'Junio C Hamano Fri, 21 Jul 2017 21:57:37 +0000 (14:57 -0700)

Merge branch 'ks/doc-fixes'

Doc clean-up.

* ks/doc-fixes:
doc: reformat the paragraph containing the 'cut-line'
doc: camelCase the i18n config variables to improve readability

Merge branch 'rj/cygwin-fread-reads-directories'Junio C Hamano Fri, 21 Jul 2017 21:57:37 +0000 (14:57 -0700)

Merge branch 'rj/cygwin-fread-reads-directories'

It turns out that Cygwin also needs the fopen() wrapper that
returns failure when a directory is opened for reading.

* rj/cygwin-fread-reads-directories:
config.mak.uname: set FREAD_READS_DIRECTORIES for cygwin

Merge branch 'jc/po-pritime-fix'Junio C Hamano Fri, 21 Jul 2017 21:57:36 +0000 (14:57 -0700)

Merge branch 'jc/po-pritime-fix'

We started using "%" PRItime, imitating "%" PRIuMAX and friends, as
a way to format the internal timestamp value, but this does not
play well with gettext(1) i18n framework, and causes "make pot"
that is run by the l10n coordinator to create a broken po/git.pot
file. This is a possible workaround for that problem.

* jc/po-pritime-fix:
Makefile: help gettext tools to cope with our custom PRItime format

run_processes_parallel: change confusing task_cb conventionJohannes Schindelin Wed, 19 Jul 2017 14:56:19 +0000 (16:56 +0200)

run_processes_parallel: change confusing task_cb convention

By declaring the task_cb parameter of type `void **`, the signature of
the get_next_task method suggests that the "task-specific cookie" can be
defined in that method, and the signatures of the start_failure and of
the task_finished methods declare that parameter of type `void *`,
suggesting that those methods are mere users of said cookie.

That convention makes a total lot of sense, because the tasks are pretty
much dead when one of the latter two methods is called: there would be
little use to reset that cookie at that point because nobody would be
able to see the change afterwards.

However, this is not what the code actually does. For all three methods,
it passes the *address* of pp->children[i].data.

As reasoned above, this behavior makes no sense. So let's change the
implementation to adhere to the convention suggested by the signatures.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Acked-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

config.mak.uname: set FREAD_READS_DIRECTORIES for cygwinRamsay Jones Fri, 21 Jul 2017 18:43:17 +0000 (19:43 +0100)

config.mak.uname: set FREAD_READS_DIRECTORIES for cygwin

Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

A few more topics while waiting for the po/PRItime... Junio C Hamano Thu, 20 Jul 2017 23:31:56 +0000 (16:31 -0700)

A few more topics while waiting for the po/PRItime resolution

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'mt/p4-parse-G-output'Junio C Hamano Thu, 20 Jul 2017 23:30:00 +0000 (16:30 -0700)

Merge branch 'mt/p4-parse-G-output'

Use "p4 -G" to make "p4 changes" output more Python-friendly
to parse.

* mt/p4-parse-G-output:
git-p4: filter for {'code':'info'} in p4CmdList
git-p4: parse marshal output "p4 -G" in p4 changes
git-p4: git-p4 tests with p4 triggers

Merge branch 'ew/fd-cloexec-fix'Junio C Hamano Thu, 20 Jul 2017 23:30:00 +0000 (16:30 -0700)

Merge branch 'ew/fd-cloexec-fix'

Portability/fallback fix.

* ew/fd-cloexec-fix:
set FD_CLOEXEC properly when O_CLOEXEC is not supported

Merge branch 'jk/build-with-asan'Junio C Hamano Thu, 20 Jul 2017 23:29:59 +0000 (16:29 -0700)

Merge branch 'jk/build-with-asan'

A recent update made it easier to use "-fsanitize=" option while
compiling but supported only one sanitize option. Allow more than
one to be combined, joined with a comma, like "make SANITIZE=foo,bar".

* jk/build-with-asan:
Makefile: allow combining UBSan with other sanitizers

Merge branch 'jk/test-copy-bytes-fix'Junio C Hamano Thu, 20 Jul 2017 23:29:59 +0000 (16:29 -0700)

Merge branch 'jk/test-copy-bytes-fix'

A test fix.

* jk/test-copy-bytes-fix:
t: handle EOF in test_copy_bytes()

Merge branch 'js/alias-case-sensitivity'Junio C Hamano Thu, 20 Jul 2017 23:29:59 +0000 (16:29 -0700)

Merge branch 'js/alias-case-sensitivity'

A recent update broke an alias that contained an uppercase letter.

* js/alias-case-sensitivity:
alias: compare alias name *case-insensitively*
t1300: demonstrate that CamelCased aliases regressed

t: lib-gpg: flush gpg agent on startupSantiago Torres Thu, 20 Jul 2017 21:05:52 +0000 (17:05 -0400)

t: lib-gpg: flush gpg agent on startup

When running gpg-relevant tests, a gpg-daemon is spawned for each
GNUPGHOME used. This daemon may stay running after the test and cache
file descriptors for the trash directories, even after the trash
directory is removed. This leads to ENOENT errors when attempting to
create files if tests are run multiple times.

Add a cleanup script to force flushing the gpg-agent for that GNUPGHOME
(if any) before setting up the GPG relevant-environment.

Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Santiago Torres <santiago@nyu.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

object: remove "used" field from struct objectJonathan Tan Thu, 20 Jul 2017 00:21:44 +0000 (17:21 -0700)

object: remove "used" field from struct object

The "used" field in struct object is only used by builtin/fsck. Remove
that field and modify builtin/fsck to use a flag instead.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fsck: remove redundant parse_tree() invocationJonathan Tan Tue, 18 Jul 2017 22:28:48 +0000 (15:28 -0700)

fsck: remove redundant parse_tree() invocation

If obj->type == OBJ_TREE, an invocation of fsck_walk() will invoke
parse_tree() and return quickly if that returns nonzero, so it is of no
use for traverse_one_object() to invoke parse_tree() in this situation
before invoking fsck_walk(). Remove that code.

The behavior of traverse_one_object() is changed slightly in that it now
returns -1 instead of 1 in the case that parse_tree() fails, but this is
not an issue because its only caller (traverse_reachable) does not care
about the value as long as it is nonzero.

This code was introduced in commit 271b8d2 ("builtin-fsck: move away
from object-refs to fsck_walk", 2008-02-25). The same issue existed in
that commit.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

pack-objects: remove unnecessary NULL checkRené Scharfe Thu, 20 Jul 2017 20:32:56 +0000 (22:32 +0200)

pack-objects: remove unnecessary NULL check

If done_pbase_paths is NULL then done_pbase_paths_num must be zero and
done_pbase_path_pos() returns -1 without accessing the array, so the
check is not necessary.

If the invariant was violated then the check would make sure we keep
on going and allocate the necessary amount of memory in the next
ALLOC_GROW call. That sounds nice, but all array entries except for
one would contain garbage data.

If the invariant was violated without the check we'd get a segfault in
done_pbase_path_pos(), i.e. an observable crash, alerting us of the
presence of a bug.

Currently there is no such bug: Only the functions check_pbase_path()
and cleanup_preferred_base() change pointer and counter, and both make
sure to keep them in sync. Get rid of the check anyway to allow us to
see if later changes introduce such a defect, and to simplify the code.

Detected by Coverity Scan.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: sv.po: Update Swedish translation (3206t0f0u)Peter Krefting Thu, 20 Jul 2017 21:00:16 +0000 (23:00 +0200)

l10n: sv.po: Update Swedish translation (3206t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>

http.c: http.sslcert and http.sslkey are both pathnamesJunio C Hamano Thu, 20 Jul 2017 20:30:52 +0000 (13:30 -0700)

http.c: http.sslcert and http.sslkey are both pathnames

Back when the modern http_options() codepath was created to parse
various http.* options at 29508e1e ("Isolate shared HTTP request
functionality", 2005-11-18), and then later was corrected for
interation between the multiple configuration files in 7059cd99
("http_init(): Fix config file parsing", 2009-03-09), we parsed
configuration variables like http.sslkey, http.sslcert as plain
vanilla strings, because git_config_pathname() that understands
"~[username]/" prefix did not exist. Later, we converted some of
them (namely, http.sslCAPath and http.sslCAInfo) to use the
function, and added variables like http.cookeyFile http.pinnedpubkey
to use the function from the beginning. Because of that, these
variables all understand "~[username]/" prefix.

Make the remaining two variables, http.sslcert and http.sslkey, also
aware of the convention, as they are both clearly pathnames to
files.

Noticed-by: Victor Toni <victor.toni@gmail.com>
Helped-by: Charles Bailey <cbailey32@bloomberg.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

RelNotes: mention "sha1dc: optionally use sha1collision... Ævar Arnfjörð Bjarmason Thu, 20 Jul 2017 14:19:24 +0000 (14:19 +0000)

RelNotes: mention "sha1dc: optionally use sha1collisiondetection as a submodule"

To note that merely cloning git.git without --recurse-submodules
doesn't get you a full copy of the code anymore. See
5f6482d642 ("RelNotes: mention "log: make --regexp-ignore-case work
with --perl-regexp"", 2017-07-20).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

RelNotes: mention "log: make --regexp-ignore-case work... Ævar Arnfjörð Bjarmason Thu, 20 Jul 2017 14:19:23 +0000 (14:19 +0000)

RelNotes: mention "log: make --regexp-ignore-case work with --perl-regexp"

To inform users that they can use --regexp-ignore-case now, and that
existing scripts which relied on that + PCRE may be buggy. See
9e3cbc59d5 ("log: make --regexp-ignore-case work with --perl-regexp",
2017-05-20).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

RelNotes: mention "log: add -P as a synonym for --perl... Ævar Arnfjörð Bjarmason Thu, 20 Jul 2017 14:19:22 +0000 (14:19 +0000)

RelNotes: mention "log: add -P as a synonym for --perl-regexp"

To inform users that they can use the short form now. See
7531a2dd87 ("log: add -P as a synonym for --perl-regexp", 2017-05-25).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: help gettext tools to cope with our custom... Junio C Hamano Thu, 20 Jul 2017 18:57:01 +0000 (11:57 -0700)

Makefile: help gettext tools to cope with our custom PRItime format

We started using our own timestamp_t type and PRItime format
specifier to go along with it, so that we can later change the
underlying type and output format more easily, but this does not
play well with gettext tools.

Because gettext tools need to keep the *.po file portable across
platforms, they have to special-case the format specifiers like
PRIuMAX that are known types in inttypes.h, instead of letting CPP
handle strings like

"%" PRIuMAX " seconds ago"

as an ordinary string concatenation. They fundamentally cannot do
the same for our own custom type/format.

Given that po/git.pot needs to be generated only once every release
and by only one person, i.e. the l10n coordinator, let's update the
Makefile rule to generate po/git.pot so that gettext tools are run
on a munged set of sources in which all mentions of PRItime are
replaced with PRIuMAX, which is what we happen to use right now.

This way, developers do not have to care that PRItime does not play
well with gettext, and translators do not have to care that we use
our own PRItime.

The credit for the idea to munge the source files goes to Dscho.
Possible bugs are mine.

Helped-by: Jiang Xin <worldhello.net@gmail.com>
Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: ko.po: Update Korean translationChangwoo Ryu Wed, 19 Jul 2017 08:15:28 +0000 (17:15 +0900)

l10n: ko.po: Update Korean translation

Signed-off-by: Changwoo Ryu <cwryu@debian.org>

doc: reformat the paragraph containing the 'cut-line'Kaartic Sivaraam Tue, 18 Jul 2017 14:34:27 +0000 (20:04 +0530)

doc: reformat the paragraph containing the 'cut-line'

The paragraph that describes the 'scissors' cleanup mode of
'commit' had the 'cut-line' in the middle of a sentence. This
made it possible for the line to get wrapped on smaler windows.
This shouldn't be the case as it makes it hard for the user to
understand the structure of the cut-line.

Reformat the pragraph to make the 'cut-line' stand on a line of
it's own thus distinguishing it from the rest of the paragraph.
This further prevents it from getting wrapped to some extent.

Signed-off-by: Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

A few more topics before 2.14-rc1Junio C Hamano Tue, 18 Jul 2017 19:52:49 +0000 (12:52 -0700)

A few more topics before 2.14-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jk/gc-pre-detach-under-hook'Junio C Hamano Tue, 18 Jul 2017 19:48:10 +0000 (12:48 -0700)

Merge branch 'jk/gc-pre-detach-under-hook'

We run an early part of "git gc" that deals with refs before
daemonising (and not under lock) even when running a background
auto-gc, which caused multiple gc processes attempting to run the
early part at the same time. This is now prevented by running the
early part also under the GC lock.

* jk/gc-pre-detach-under-hook:
gc: run pre-detach operations under lock

Merge branch 'jn/hooks-pre-rebase-sample-fix'Junio C Hamano Tue, 18 Jul 2017 19:48:10 +0000 (12:48 -0700)

Merge branch 'jn/hooks-pre-rebase-sample-fix'

Code clean-up, that makes us in sync with Debian by one patch.

* jn/hooks-pre-rebase-sample-fix:
pre-rebase hook: capture documentation in a <<here document

Merge branch 'rs/progress-overall-throughput-at-the... Junio C Hamano Tue, 18 Jul 2017 19:48:09 +0000 (12:48 -0700)

Merge branch 'rs/progress-overall-throughput-at-the-end'

The progress meter did not give a useful output when we haven't had
0.5 seconds to measure the throughput during the interval. Instead
show the overall throughput rate at the end, which is a much more
useful number.

* rs/progress-overall-throughput-at-the-end:
progress: show overall rate in last update

Merge branch 'tb/push-to-cygwin-unc-path'Junio C Hamano Tue, 18 Jul 2017 19:48:09 +0000 (12:48 -0700)

Merge branch 'tb/push-to-cygwin-unc-path'

On Cygwin, similar to Windows, "git push //server/share/repository"
ought to mean a repository on a network share that can be accessed
locally, but this did not work correctly due to stripping the double
slashes at the beginning.

This may need to be heavily tested before it gets unleashed to the
wild, as the change is at a fairly low-level code and would affect
not just the code to decide if the push destination is local. There
may be unexpected fallouts in the path normalization.

* tb/push-to-cygwin-unc-path:
cygwin: allow pushing to UNC paths

clean.c: use designated initializerJunio C Hamano Fri, 14 Jul 2017 15:38:09 +0000 (08:38 -0700)

clean.c: use designated initializer

This is another test balloon to see if we get complaints from people
whose compilers do not support designated initializer for arrays.

The use of the feature is not all that interesting for cases like
the one this patch touches, where the initialized elements of the
array is dense, but it would be nice if we can use the feature to
initialize an array that has elements initialized to interesting
values only sparsely.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: skip unreadable subdirectoriesHielke Christian Braun Tue, 18 Jul 2017 08:41:54 +0000 (10:41 +0200)

gitweb: skip unreadable subdirectories

gitweb terminates and shows no project list, if it can not access a
sub-directory in the project root directory while looking for projects
to show.

Work it around by skipping unreadable directories.

Signed-off-by: Hielke Christian Braun <hcb@unco.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: Update Catalan translationJordi Mas Tue, 18 Jul 2017 19:06:06 +0000 (21:06 +0200)

l10n: Update Catalan translation

Signed-off-by: Jordi Mas <jmas@softcatala.org>

doc: camelCase the i18n config variables to improve... Kaartic Sivaraam Mon, 17 Jul 2017 15:39:00 +0000 (21:09 +0530)

doc: camelCase the i18n config variables to improve readability

The i18n config variable used weren't readable as they were in
the crude form of how git stores/uses it's config variables.

Improve it's readability by replacing them with camelCased versions
of config variables as it doesn't have any impact on it's usage.

Signed-off-by: Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

commit: check for empty message before the check for... Kaartic Sivaraam Mon, 17 Jul 2017 15:36:15 +0000 (21:06 +0530)

commit: check for empty message before the check for untouched template

The check for whether the template given to 'git commit' is untouched
is done before the empty message check. This results in a wrong error
message being displayed in the following case. When the user removes
everything in template completely to abort the commit he is shown the
"template untouched" error which is wrong. He should be shown the
"empty message" error.

Do the empty message check before checking for an untouched template
thus fixing this issue.

Signed-off-by: Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rebase: make resolve message clearer for inexperienced... William Duclot Sun, 16 Jul 2017 19:42:20 +0000 (21:42 +0200)

rebase: make resolve message clearer for inexperienced users

The git UI can be improved by addressing the error messages to those
they help: inexperienced and casual git users. To this intent, it is
helpful to make sure the terms used in those messages can be understood
by this segment of users, and that they guide them to resolve the
problem.

In particular, failure to apply a patch during a git rebase is a common
problem that can be very destabilizing for the inexperienced user. It is
important to lead them toward the resolution of the conflict (which is a
3-steps process, thus complex) and reassure them that they can escape a
situation they can't handle with "--abort". This commit answer those two
points by detailling the resolution process and by avoiding cryptic git
linguo.

Signed-off-by: William Duclot <william.duclot@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

dir: support platforms that require aligned readsRené Scharfe Sun, 16 Jul 2017 12:17:37 +0000 (14:17 +0200)

dir: support platforms that require aligned reads

The untracked cache is stored on disk by concatenating its memory
structures without any padding. Consequently some of the structs are
not aligned at a particular boundary when the whole extension is read
back in one go. That's only OK on platforms without strict alignment
requirements, or for byte-aligned data like strings or hash values.

Decode struct ondisk_untracked_cache carefully from the extension
blob by using explicit pointer arithmetic with offsets, avoiding
alignment issues. Use char pointers for passing stat_data objects to
stat_data_from_disk(), and use memcpy(3) in that function to get the
contents into a properly aligned struct, then perform the byte-order
adjustment in place there.

Found with Clang's UBSan.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t: handle EOF in test_copy_bytes()Jeff King Sun, 16 Jul 2017 10:45:32 +0000 (06:45 -0400)

t: handle EOF in test_copy_bytes()

The test_copy_bytes() function claims to read up to N bytes,
or until it gets EOF. But we never handle EOF in our loop,
and a short input will cause perl to go into an infinite
loop of read() getting zero bytes.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

ls-files: don't try to prune an empty indexRené Scharfe Sun, 16 Jul 2017 11:16:01 +0000 (13:16 +0200)

ls-files: don't try to prune an empty index

Exit early when asked to prune an index that contains no entries to
begin with. This avoids pointer arithmetic on istate->cache, which is
possibly NULL in that case.

Found with Clang's UBSan.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

apply: use COPY_ARRAY and MOVE_ARRAY in update_image()René Scharfe Sat, 15 Jul 2017 20:20:54 +0000 (22:20 +0200)

apply: use COPY_ARRAY and MOVE_ARRAY in update_image()

Simplify the code by using the helper macros COPY_ARRAY and MOVE_ARRAY,
which also makes them more robust in the case we copy or move no lines,
as they allow using NULL points in that case, while memcpy(3) and
memmove(3) don't.

Found with Clang's UBSan.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

use MOVE_ARRAYRené Scharfe Sat, 15 Jul 2017 20:00:45 +0000 (22:00 +0200)

use MOVE_ARRAY

Simplify the code for moving members inside of an array and make it more
robust by using the helper macro MOVE_ARRAY. It calculates the size
based on the specified number of elements for us and supports NULL
pointers when that number is zero. Raw memmove(3) calls with NULL can
cause the compiler to (over-eagerly) optimize out later NULL checks.

This patch was generated with contrib/coccinelle/array.cocci and spatch
(Coccinelle).

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

add MOVE_ARRAYRené Scharfe Sat, 15 Jul 2017 19:36:20 +0000 (21:36 +0200)

add MOVE_ARRAY

Similar to COPY_ARRAY (introduced in 60566cbb58), add a safe and
convenient helper for moving potentially overlapping ranges of array
entries. It infers the element size, multiplies automatically and
safely to get the size in bytes, does a basic type safety check by
comparing element sizes and unlike memmove(3) it supports NULL
pointers iff 0 elements are to be moved.

Also add a semantic patch to demonstrate the helper's intended usage.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bswap: convert get_be16, get_be32 and put_be32 to inlin... René Scharfe Sat, 15 Jul 2017 19:22:50 +0000 (21:22 +0200)

bswap: convert get_be16, get_be32 and put_be32 to inline functions

Simplify the implementation and allow callers to use expressions with
side-effects by turning the macros get_be16, get_be32 and put_be32 into
inline functions.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bswap: convert to unsigned before shifting in get_be32René Scharfe Sat, 15 Jul 2017 19:11:14 +0000 (21:11 +0200)

bswap: convert to unsigned before shifting in get_be32

The pointer p is dereferenced and we get an unsigned char. Before
shifting it's automatically promoted to int. Left-shifting a signed
32-bit value bigger than 127 by 24 places is undefined. Explicitly
convert to a 32-bit unsigned type to avoid undefined behaviour if
the highest bit is set.

Found with Clang's UBSan.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

set FD_CLOEXEC properly when O_CLOEXEC is not supportedEric Wong Sat, 15 Jul 2017 18:55:40 +0000 (18:55 +0000)

set FD_CLOEXEC properly when O_CLOEXEC is not supported

FD_CLOEXEC only applies to the file descriptor, so it needs to be
manipuluated via F_GETFD/F_SETFD. F_GETFL/F_SETFL are for file
description flags.

Verified via strace with o_cloexec set to zero.

Signed-off-by: Eric Wong <e@80x24.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

receive-pack: don't access hash of NULL object_id pointerRené Scharfe Sat, 15 Jul 2017 18:33:54 +0000 (20:33 +0200)

receive-pack: don't access hash of NULL object_id pointer

We set old_oid to NULL if we found out that it's a corrupt reference.
In that case don't try to access the hash member and pass NULL to
ref_transaction_delete() instead.

Found with Clang's UBSan.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

notes: don't access hash of NULL object_id pointerRené Scharfe Sat, 15 Jul 2017 18:15:26 +0000 (20:15 +0200)

notes: don't access hash of NULL object_id pointer

Check if note is NULL, as we already do for different purposes a few
lines above, and pass a NULL pointer to prepare_note_data() in that
case instead of trying to access the hash member.

Found with Clang's UBSan.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Acked-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: allow combining UBSan with other sanitizersRené Scharfe Sat, 15 Jul 2017 17:18:56 +0000 (19:18 +0200)

Makefile: allow combining UBSan with other sanitizers

Multiple sanitizers can be specified as a comma-separated list. Set
the flag NO_UNALIGNED_LOADS even if UndefinedBehaviorSanitizer is not
the only sanitizer to build with.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

tree-diff: don't access hash of NULL object_id pointerRené Scharfe Sat, 15 Jul 2017 17:18:51 +0000 (19:18 +0200)

tree-diff: don't access hash of NULL object_id pointer

The object_id pointers can be NULL for invalid entries. Don't try to
dereference them and pass NULL along to fill_tree_descriptor() instead,
which handles them just fine.

Found with Clang's UBSan.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

alias: compare alias name *case-insensitively*Johannes Schindelin Fri, 14 Jul 2017 08:39:38 +0000 (10:39 +0200)

alias: compare alias name *case-insensitively*

It is totally legitimate to add CamelCased aliases, but due to the way
config keys are compared, the case does not matter.

Therefore, we must compare the alias name insensitively to the config
keys.

This fixes a regression introduced by a9bcf6586d1 (alias: use
the early config machinery to expand aliases, 2017-06-14).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t1300: demonstrate that CamelCased aliases regressedJohannes Schindelin Fri, 14 Jul 2017 08:39:29 +0000 (10:39 +0200)

t1300: demonstrate that CamelCased aliases regressed

It is totally legitimate to add CamelCased aliases, but due to the way
config keys are compared, the case does not matter.

Except that now it does: the alias name is expected to be all
lower-case. This is a regression introduced by a9bcf6586d1 (alias: use
the early config machinery to expand aliases, 2017-06-14).

Noticed by Alejandro Pauly, diagnosed by Kevin Willford.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sha1_name: convert uses of 40 to GIT_SHA1_HEXSZbrian m. carlson Thu, 13 Jul 2017 23:49:30 +0000 (23:49 +0000)

sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ

There are several uses of the constant 40 in find_unique_abbrev_r.
Convert them to GIT_SHA1_HEXSZ.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sha1_name: convert GET_SHA1* flags to GET_OID*brian m. carlson Thu, 13 Jul 2017 23:49:29 +0000 (23:49 +0000)

sha1_name: convert GET_SHA1* flags to GET_OID*

Convert the flags for get_oid_with_context and friends to use "OID"
instead of "SHA1" in their names.

This transform was made by running the following one-liner on the
affected files:

perl -pi -e 's/GET_SHA1/GET_OID/g'

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sha1_name: convert get_sha1* to get_oid*brian m. carlson Thu, 13 Jul 2017 23:49:28 +0000 (23:49 +0000)

sha1_name: convert get_sha1* to get_oid*

Now that all the callers of get_sha1 directly or indirectly use struct
object_id, rename the functions starting with get_sha1 to start with
get_oid. Convert the internals in sha1_name.c to use struct object_id
as well, and eliminate explicit length checks where possible. Convert a
use of 40 in get_oid_basic to GIT_SHA1_HEXSZ.

Outside of sha1_name.c and cache.h, this transition was made with the
following semantic patch:

@@
expression E1, E2;
@@
- get_sha1(E1, E2.hash)
+ get_oid(E1, &E2)

@@
expression E1, E2;
@@
- get_sha1(E1, E2->hash)
+ get_oid(E1, E2)

@@
expression E1, E2;
@@
- get_sha1_committish(E1, E2.hash)
+ get_oid_committish(E1, &E2)

@@
expression E1, E2;
@@
- get_sha1_committish(E1, E2->hash)
+ get_oid_committish(E1, E2)

@@
expression E1, E2;
@@
- get_sha1_treeish(E1, E2.hash)
+ get_oid_treeish(E1, &E2)

@@
expression E1, E2;
@@
- get_sha1_treeish(E1, E2->hash)
+ get_oid_treeish(E1, E2)

@@
expression E1, E2;
@@
- get_sha1_commit(E1, E2.hash)
+ get_oid_commit(E1, &E2)

@@
expression E1, E2;
@@
- get_sha1_commit(E1, E2->hash)
+ get_oid_commit(E1, E2)

@@
expression E1, E2;
@@
- get_sha1_tree(E1, E2.hash)
+ get_oid_tree(E1, &E2)

@@
expression E1, E2;
@@
- get_sha1_tree(E1, E2->hash)
+ get_oid_tree(E1, E2)

@@
expression E1, E2;
@@
- get_sha1_blob(E1, E2.hash)
+ get_oid_blob(E1, &E2)

@@
expression E1, E2;
@@
- get_sha1_blob(E1, E2->hash)
+ get_oid_blob(E1, E2)

@@
expression E1, E2, E3, E4;
@@
- get_sha1_with_context(E1, E2, E3.hash, E4)
+ get_oid_with_context(E1, E2, &E3, E4)

@@
expression E1, E2, E3, E4;
@@
- get_sha1_with_context(E1, E2, E3->hash, E4)
+ get_oid_with_context(E1, E2, E3, E4)

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Convert remaining callers of get_sha1 to get_oid.brian m. carlson Thu, 13 Jul 2017 23:49:27 +0000 (23:49 +0000)

Convert remaining callers of get_sha1 to get_oid.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/unpack-file: convert to struct object_idbrian m. carlson Thu, 13 Jul 2017 23:49:25 +0000 (23:49 +0000)

builtin/unpack-file: convert to struct object_id

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bisect: convert bisect_checkout to struct object_idbrian m. carlson Thu, 13 Jul 2017 23:49:24 +0000 (23:49 +0000)

bisect: convert bisect_checkout to struct object_id

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/update_ref: convert to struct object_idbrian m. carlson Thu, 13 Jul 2017 23:49:23 +0000 (23:49 +0000)

builtin/update_ref: convert to struct object_id

Convert the uses of unsigned char * to struct object_id.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

sequencer: convert to struct object_idbrian m. carlson Thu, 13 Jul 2017 23:49:22 +0000 (23:49 +0000)

sequencer: convert to struct object_id

Convert the remaining instances of unsigned char * to struct object_id.
This removes several calls to get_sha1.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remote: convert struct push_cas to struct object_idbrian m. carlson Thu, 13 Jul 2017 23:49:21 +0000 (23:49 +0000)

remote: convert struct push_cas to struct object_id

This gets rid of one use of get_sha1.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

submodule: convert submodule config lookup to use object_idbrian m. carlson Thu, 13 Jul 2017 23:49:20 +0000 (23:49 +0000)

submodule: convert submodule config lookup to use object_id

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/merge-tree: convert remaining caller of get_sha... brian m. carlson Thu, 13 Jul 2017 23:49:19 +0000 (23:49 +0000)

builtin/merge-tree: convert remaining caller of get_sha1 to object_id

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/fsck: convert remaining caller of get_sha1... brian m. carlson Thu, 13 Jul 2017 23:49:18 +0000 (23:49 +0000)

builtin/fsck: convert remaining caller of get_sha1 to object_id

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: bg.po: Updated Bulgarian translation (3206t)Alexander Shopov Wed, 5 Jul 2017 08:17:59 +0000 (11:17 +0300)

l10n: bg.po: Updated Bulgarian translation (3206t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>

l10n: vi.po(3206t): Update Vietnamese translationTran Ngoc Quan Sat, 15 Jul 2017 06:53:33 +0000 (13:53 +0700)

l10n: vi.po(3206t): Update Vietnamese translation

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>