git
7 years agorerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved
Junio C Hamano [Sat, 19 Aug 2017 18:43:39 +0000 (11:43 -0700)] 
rerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved

These two configuration variables are described in the documentation
to take an expiry period expressed in the number of days:

    gc.rerereResolved::
    Records of conflicted merge you resolved earlier are
    kept for this many days when 'git rerere gc' is run.
    The default is 60 days.

    gc.rerereUnresolved::
    Records of conflicted merge you have not resolved are
    kept for this many days when 'git rerere gc' is run.
    The default is 15 days.

There is no strong reason not to allow a more general "approxidate"
expiry specification, e.g. "5.days.ago", or "never".

Rename the config_get_expiry() helper introduced in the previous
step to git_config_get_expiry_in_days() and move it to a more
generic place, config.c, and use date.c::parse_expiry_date() to do
so.  Give it an ability to allow the caller to tell among three
cases (i.e. there is no "gc.rerereResolved" config, there is and it
is correctly parsed into the *expiry variable, and there was an
error in parsing the given value).  The current caller can work
correctly without using the return value, though.

In the future, we may find other variables that only allow an
integer that specifies "this many days" or other unit of time, and
when it happens we may need to drop "_days" suffix from the name of
the function and instead pass the "scale" value as another parameter.

But this will do for now.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agorerere: represent time duration in timestamp_t internally
Junio C Hamano [Sat, 19 Aug 2017 18:16:01 +0000 (11:16 -0700)] 
rerere: represent time duration in timestamp_t internally

The two configuration variables, gc.rerereResolved and
gc.rerereUnresolved, are measured in days and are passed as such
into the prune_one() helper function, which worked in time_t to see
if an entry in the rerere database is past its expiry.

Instead, have the caller turn the number of days into the expiry
timestamp.  Further, use timestamp_t instead of time_t.  This will
make it possible to extend the way the configuration variable is
spelled by using date.c::parse_expiry_date() that gives the expiry
timestamp in timestamp_t.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agot4200: parameterize "rerere gc" custom expiry test
Junio C Hamano [Tue, 22 Aug 2017 21:25:09 +0000 (14:25 -0700)] 
t4200: parameterize "rerere gc" custom expiry test

The test creates a rerere database entry that is two days old, and
tries to expire with three different custom expiry configuration
(keep ones less than 5 days old, keep ones used less than 5 days
ago, and expire everything right now).

We'll be introducing a different way to spell the same "5 days" and
"right now" parameter in a later step; parameterize the test to make
it easier to test the new spelling when it happens.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agot4200: gather "rerere gc" together
Junio C Hamano [Tue, 22 Aug 2017 21:20:24 +0000 (14:20 -0700)] 
t4200: gather "rerere gc" together

Move the "rerere gc with custom expiry" test up, so that it is close
to the existing basic "rerere gc" tests.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agot4200: make "rerere gc" test more robust
Junio C Hamano [Tue, 22 Aug 2017 21:14:03 +0000 (14:14 -0700)] 
t4200: make "rerere gc" test more robust

The test blindly trusted that there may be _some_ entries left in
the rerere database, and used them by updating their timestamps to
see if the gc threshold variables are honoured correctly.  This
won't work if there is no entry in the database when the test
begins.

Instead, clear the rerere database, and populate it with a few known
entries (which are bogus, but for the purpose of testing "garbage
collection", it does not matter---we want to make sure we collect
old cruft, even if the files are corrupt rerere database entries),
and use them for the expiry test.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agot4200: give us a clean slate after "rerere gc" tests
Junio C Hamano [Tue, 22 Aug 2017 20:49:02 +0000 (13:49 -0700)] 
t4200: give us a clean slate after "rerere gc" tests

The "multiple identical conflicts" test counts the number of entries
in the rerere database after trying a handful of mergy operations
and recording their resolutions, but without initializing the rerere
database to a known state, allowing the state left by previous tests
to trigger a false failure.  Make it robust by cleaning the database
before it starts.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoGit 2.14.1 v2.14.1
Junio C Hamano [Fri, 4 Aug 2017 19:41:48 +0000 (12:41 -0700)] 
Git 2.14.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge tag 'v2.13.5' into maint
Junio C Hamano [Fri, 4 Aug 2017 19:40:37 +0000 (12:40 -0700)] 
Merge tag 'v2.13.5' into maint

7 years agoGit 2.14 v2.14.0
Junio C Hamano [Fri, 4 Aug 2017 16:31:12 +0000 (09:31 -0700)] 
Git 2.14

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'ah/patch-id-doc'
Junio C Hamano [Fri, 4 Aug 2017 16:29:15 +0000 (09:29 -0700)] 
Merge branch 'ah/patch-id-doc'

Docfix.

* ah/patch-id-doc:
  doc: remove unsupported parameter from patch-id

7 years agoMerge branch 'as/diff-options-grammofix'
Junio C Hamano [Fri, 4 Aug 2017 16:29:14 +0000 (09:29 -0700)] 
Merge branch 'as/diff-options-grammofix'

A grammofix.

* as/diff-options-grammofix:
  diff-options doc: grammar fix

7 years agoMerge tag 'l10n-2.14.0-rnd2' of git://github.com/git-l10n/git-po
Junio C Hamano [Wed, 2 Aug 2017 17:52:33 +0000 (10:52 -0700)] 
Merge tag 'l10n-2.14.0-rnd2' of git://github.com/git-l10n/git-po

l10n for Git 2.14.0 round 2

* tag 'l10n-2.14.0-rnd2' of git://github.com/git-l10n/git-po:
  l10n: zh_CN: review for git v2.14.0 l10n
  l10n: ko.po: Update Korean translation
  l10n: zh_CN: for git v2.14.0 l10n round 2
  l10n: de.po: various fixes in German translation
  l10n: ru.po: update Russian translation
  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: de.po: update German translation
  l10n: vi.po (3213t): Updated 9 new strings
  l10n: Update Catalan translation
  l10n: bg.po: Updated Bulgarian translation (3213t)

7 years agol10n: zh_CN: review for git v2.14.0 l10n
Jiang Xin [Wed, 2 Aug 2017 00:02:37 +0000 (08:02 +0800)] 
l10n: zh_CN: review for git v2.14.0 l10n

Reviewed-by: 依云 <lilydjwg@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
7 years agoGit 2.13.5 v2.13.5
Junio C Hamano [Tue, 1 Aug 2017 19:30:00 +0000 (12:30 -0700)] 
Git 2.13.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge tag 'v2.12.4' into maint
Junio C Hamano [Tue, 1 Aug 2017 19:27:31 +0000 (12:27 -0700)] 
Merge tag 'v2.12.4' into maint

7 years agoSync with v2.13.4
Junio C Hamano [Tue, 1 Aug 2017 18:46:51 +0000 (11:46 -0700)] 
Sync with v2.13.4

7 years agoGit 2.13.4 v2.13.4
Junio C Hamano [Tue, 1 Aug 2017 18:45:17 +0000 (11:45 -0700)] 
Git 2.13.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agol10n: ko.po: Update Korean translation
Changwoo Ryu [Tue, 1 Aug 2017 03:32:00 +0000 (12:32 +0900)] 
l10n: ko.po: Update Korean translation

Signed-off-by: Changwoo Ryu <cwryu@debian.org>
7 years agol10n: zh_CN: for git v2.14.0 l10n round 2
Jiang Xin [Sun, 11 Jun 2017 03:28:31 +0000 (11:28 +0800)] 
l10n: zh_CN: for git v2.14.0 l10n round 2

Translate new l10n messages for git 2.14.0, and update translations on
"stash".

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
7 years agoSync with maint
Junio C Hamano [Mon, 31 Jul 2017 20:52:53 +0000 (13:52 -0700)] 
Sync with maint

* maint:
  Preparation for 2.13.4 continues

7 years agoPreparation for 2.13.4 continues
Junio C Hamano [Mon, 31 Jul 2017 20:52:40 +0000 (13:52 -0700)] 
Preparation for 2.13.4 continues

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'ks/doc-fixes' into maint
Junio C Hamano [Mon, 31 Jul 2017 20:51:06 +0000 (13:51 -0700)] 
Merge branch 'ks/doc-fixes' into maint

Doc clean-up.

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

7 years agoMerge branch 'jk/test-copy-bytes-fix' into maint
Junio C Hamano [Mon, 31 Jul 2017 20:51:05 +0000 (13:51 -0700)] 
Merge branch 'jk/test-copy-bytes-fix' into maint

A test fix.

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

7 years agoMerge branch 'pw/unquote-path-in-git-pm' into maint
Junio C Hamano [Mon, 31 Jul 2017 20:51:05 +0000 (13:51 -0700)] 
Merge branch 'pw/unquote-path-in-git-pm' into maint

Code refactoring.

* pw/unquote-path-in-git-pm:
  t9700: add tests for Git::unquote_path()
  Git::unquote_path(): throw an exception on bad path
  Git::unquote_path(): handle '\a'
  add -i: move unquote_path() to Git.pm

7 years agoMerge branch 'jk/gc-pre-detach-under-hook' into maint
Junio C Hamano [Mon, 31 Jul 2017 20:51:05 +0000 (13:51 -0700)] 
Merge branch 'jk/gc-pre-detach-under-hook' into maint

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

7 years agoMerge branch 'jn/hooks-pre-rebase-sample-fix' into maint
Junio C Hamano [Mon, 31 Jul 2017 20:51:05 +0000 (13:51 -0700)] 
Merge branch 'jn/hooks-pre-rebase-sample-fix' into maint

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

7 years agoMerge branch 'rs/progress-overall-throughput-at-the-end' into maint
Junio C Hamano [Mon, 31 Jul 2017 20:51:04 +0000 (13:51 -0700)] 
Merge branch 'rs/progress-overall-throughput-at-the-end' into maint

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

7 years agoMerge branch 'tb/push-to-cygwin-unc-path' into maint
Junio C Hamano [Mon, 31 Jul 2017 20:51:04 +0000 (13:51 -0700)] 
Merge branch 'tb/push-to-cygwin-unc-path' into maint

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

7 years agoMerge branch 'rs/apply-avoid-over-reading' into maint
Junio C Hamano [Mon, 31 Jul 2017 20:51:04 +0000 (13:51 -0700)] 
Merge branch 'rs/apply-avoid-over-reading' into maint

Code cleanup.

* rs/apply-avoid-over-reading:
  apply: use strcmp(3) for comparing strings in gitdiff_verify_name()
  apply: use starts_with() in gitdiff_verify_name()

7 years agoMerge branch 'js/blame-lib'
Junio C Hamano [Mon, 31 Jul 2017 20:05:15 +0000 (13:05 -0700)] 
Merge branch 'js/blame-lib'

A hotfix to a topic already in 'master'.

* js/blame-lib:
  blame: fix memory corruption scrambling revision name in error message

7 years agodiff-options doc: grammar fix
Anthony Sottile [Mon, 31 Jul 2017 14:00:31 +0000 (07:00 -0700)] 
diff-options doc: grammar fix

Signed-off-by: Anthony Sottile <asottile@umich.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoGit 2.12.4 v2.12.4
Junio C Hamano [Sun, 30 Jul 2017 22:06:06 +0000 (15:06 -0700)] 
Git 2.12.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge tag 'v2.11.3' into maint-2.12
Junio C Hamano [Sun, 30 Jul 2017 22:04:22 +0000 (15:04 -0700)] 
Merge tag 'v2.11.3' into maint-2.12

Git 2.11.3

7 years agoMerge branch 'jk/lib-proto-disable-cleanup' into maint-2.12
Junio C Hamano [Sun, 30 Jul 2017 22:03:21 +0000 (15:03 -0700)] 
Merge branch 'jk/lib-proto-disable-cleanup' into maint-2.12

7 years agoGit 2.11.3 v2.11.3
Junio C Hamano [Sun, 30 Jul 2017 22:02:37 +0000 (15:02 -0700)] 
Git 2.11.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge tag 'v2.10.4' into maint-2.11
Junio C Hamano [Sun, 30 Jul 2017 22:01:31 +0000 (15:01 -0700)] 
Merge tag 'v2.10.4' into maint-2.11

Git 2.10.4

7 years agoGit 2.10.4 v2.10.4
Junio C Hamano [Sun, 30 Jul 2017 22:00:04 +0000 (15:00 -0700)] 
Git 2.10.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge tag 'v2.9.5' into maint-2.10
Junio C Hamano [Sun, 30 Jul 2017 21:57:33 +0000 (14:57 -0700)] 
Merge tag 'v2.9.5' into maint-2.10

Git 2.9.5

7 years agoGit 2.9.5 v2.9.5
Junio C Hamano [Sun, 30 Jul 2017 21:53:25 +0000 (14:53 -0700)] 
Git 2.9.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge tag 'v2.8.6' into maint-2.9
Junio C Hamano [Sun, 30 Jul 2017 21:52:14 +0000 (14:52 -0700)] 
Merge tag 'v2.8.6' into maint-2.9

Git 2.8.6

7 years agoGit 2.8.6 v2.8.6
Junio C Hamano [Sun, 30 Jul 2017 21:49:08 +0000 (14:49 -0700)] 
Git 2.8.6

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge tag 'v2.7.6' into maint-2.8
Junio C Hamano [Sun, 30 Jul 2017 21:46:43 +0000 (14:46 -0700)] 
Merge tag 'v2.7.6' into maint-2.8

Git 2.7.6

7 years agoGit 2.7.6 v2.7.6
Junio C Hamano [Sun, 30 Jul 2017 21:45:13 +0000 (14:45 -0700)] 
Git 2.7.6

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agol10n: de.po: various fixes in German translation
Hartmut Henkel [Thu, 27 Jul 2017 17:24:09 +0000 (19:24 +0200)] 
l10n: de.po: various fixes in German translation

Signed-off-by: Hartmut Henkel <henkel@vh-s.de>
Helped-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Matthias Rüster <matthias.ruester@gmail.com>
7 years agoMerge branch 'russian-l10n' of https://github.com/DJm00n/git-po-ru
Jiang Xin [Sun, 30 Jul 2017 14:47:47 +0000 (22:47 +0800)] 
Merge branch 'russian-l10n' of https://github.com/DJm00n/git-po-ru

* 'russian-l10n' of https://github.com/DJm00n/git-po-ru:
  l10n: ru.po: update Russian translation

7 years agol10n: ru.po: update Russian translation
Dimitriy Ryazantcev [Sun, 30 Jul 2017 09:35:40 +0000 (12:35 +0300)] 
l10n: ru.po: update Russian translation

Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
7 years agoMerge branch 'jk/ssh-funny-url' into maint-2.7
Junio C Hamano [Fri, 28 Jul 2017 23:11:54 +0000 (16:11 -0700)] 
Merge branch 'jk/ssh-funny-url' into maint-2.7

7 years agoconnect: reject paths that look like command line options
Jeff King [Fri, 28 Jul 2017 19:28:55 +0000 (15:28 -0400)] 
connect: reject paths that look like command line options

If we get a repo path like "-repo.git", we may try to invoke
"git-upload-pack -repo.git". This is going to fail, since
upload-pack will interpret it as a set of bogus options. But
let's reject this before we even run the sub-program, since
we would not want to allow any mischief with repo names that
actually are real command-line options.

You can still ask for such a path via git-daemon, but there's no
security problem there, because git-daemon enters the repo itself
and then passes "."  on the command line.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoconnect: reject dashed arguments for proxy commands
Jeff King [Fri, 28 Jul 2017 19:26:50 +0000 (15:26 -0400)] 
connect: reject dashed arguments for proxy commands

If you have a GIT_PROXY_COMMAND configured, we will run it
with the host/port on the command-line. If a URL contains a
mischievous host like "--foo", we don't know how the proxy
command may handle it. It's likely to break, but it may also
do something dangerous and unwanted (technically it could
even do something useful, but that seems unlikely).

We should err on the side of caution and reject this before
we even run the command.

The hostname check matches the one we do in a similar
circumstance for ssh. The port check is not present for ssh,
but there it's not necessary because the syntax is "-p
<port>", and there's no ambiguity on the parsing side.

It's not clear whether you can actually get a negative port
to the proxy here or not. Doing:

  git fetch git://remote:-1234/repo.git

keeps the "-1234" as part of the hostname, with the default
port of 9418. But it's a good idea to keep this check close
to the point of running the command to make it clear that
there's no way to circumvent it (and at worst it serves as a
belt-and-suspenders check).

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoconnect: factor out "looks like command line option" check
Jeff King [Fri, 28 Jul 2017 19:25:45 +0000 (15:25 -0400)] 
connect: factor out "looks like command line option" check

We reject hostnames that start with a dash because they may
be confused for command-line options. Let's factor out that
notion into a helper function, as we'll use it in more
places. And while it's simple now, it's not clear if some
systems might need more complex logic to handle all cases.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agot5813: add test for hostname starting with dash
Jeff King [Fri, 28 Jul 2017 19:23:32 +0000 (15:23 -0400)] 
t5813: add test for hostname starting with dash

Per the explanation in the previous patch, this should be
(and is) rejected.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoconnect: reject ssh hostname that begins with a dash
Junio C Hamano [Wed, 26 Jul 2017 17:24:20 +0000 (10:24 -0700)] 
connect: reject ssh hostname that begins with a dash

When commands like "git fetch" talk with ssh://$rest_of_URL/, the
code splits $rest_of_URL into components like host, port, etc., and
then spawns the underlying "ssh" program by formulating argv[] array
that has:

 - the path to ssh command taken from GIT_SSH_COMMAND, etc.

 - dashed options like '-batch' (for Tortoise), '-p <port>' as
   needed.

 - ssh_host, which is supposed to be the hostname parsed out of
   $rest_of_URL.

 - then the command to be run on the other side, e.g. git
   upload-pack.

If the ssh_host ends up getting '-<anything>', the argv[] that is
used to spawn the command becomes something like:

    { "ssh", "-p", "22", "-<anything>", "command", "to", "run", NULL }

which obviously is bogus, but depending on the actual value of
"<anything>", will make "ssh" parse and use it as an option.

Prevent this by forbidding ssh_host that begins with a "-".

Noticed-by: Joern Schneeweisz of Recurity Labs
Reported-by: Brian at GitLab
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agot/lib-proto-disable: restore protocol.allow after config tests
Jeff King [Fri, 28 Jul 2017 21:47:48 +0000 (17:47 -0400)] 
t/lib-proto-disable: restore protocol.allow after config tests

The tests for protocol.allow actually set that variable in
the on-disk config, run a series of tests, and then never
clean up after themselves. This means that whatever tests we
run after have protocol.allow=never, which may influence
their results.

In most cases we either exit after running these tests, or
do another round of test_proto(). In the latter case, this happens to
work because:

  1. Tests of the GIT_ALLOW_PROTOCOL environment variable
     override the config.

  2. Tests of the specific config "protocol.foo.allow"
     override the protocol.allow config.

  3. The next round of protocol.allow tests start off by
     setting the config to a known value.

However, it's a land-mine waiting to trap somebody adding
new tests to one of the t581x test scripts. Let's make sure
we clean up after ourselves.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agodoc: remove unsupported parameter from patch-id
Andreas Heiduk [Thu, 27 Jul 2017 22:46:16 +0000 (00:46 +0200)] 
doc: remove unsupported parameter from patch-id

The patch is read from standard input and not from a parameter.

Signed-off-by: Andreas Heiduk <asheiduk@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'master' of https://github.com/ralfth/git-po-de
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

7 years agoMerge branch 'fr_l10n_v2.14.0rnd2' of git://github.com/jnavila/git
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

7 years agol10n: fr.po v2.14.0 rnd 2
Jean-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>
7 years agol10n: fr.po Fix some french typos
Sylvestre 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>
7 years agol10n: fr.po Fix typo
Louis [Thu, 6 Jul 2017 20:21:14 +0000 (22:21 +0200)] 
l10n: fr.po Fix typo

Signed-off-by: Louis <spalax@gresille.org>
7 years agol10n: fr.po Fix some translations
Hugues 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>
7 years agol10n: de.po: update German translation
Ralf 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>
7 years agoMerge branch 'master' of https://github.com/Softcatala/git-po
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

7 years agoMerge branch 'master' of git://github.com/alshopov/git-po
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)

7 years agol10n: vi.po (3213t): Updated 9 new strings
Tran 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>
7 years agoGit 2.14-rc1 v2.14.0-rc1
Junio 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>
7 years agoblame: fix memory corruption scrambling revision name in error message
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>
7 years agoMerge https://github.com/git-l10n/git-po
Junio 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

7 years agol10n: Update Catalan translation
Jordi Mas [Mon, 24 Jul 2017 16:29:29 +0000 (18:29 +0200)] 
l10n: Update Catalan translation

Signed-off-by: Jordi Mas <jmas@softcatala.org>
7 years agol10n: 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>
7 years agol10n: 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>
7 years agoMerge branch 'master' of git://github.com/git-l10n/git-po
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

7 years agoMerge branch 'master' of git://github.com/nafmo/git-l10n-sv
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)

7 years agoSync with maint
Junio C Hamano [Fri, 21 Jul 2017 22:13:25 +0000 (15:13 -0700)] 
Sync with maint

* maint:
  fixes from 'master' for 2.13.4

7 years agofixes from 'master' for 2.13.4
Junio 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>
7 years agoMerge branch 'ew/fd-cloexec-fix' into maint
Junio 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

7 years agoMerge branch 'ks/fix-rebase-doc-picture' into maint
Junio 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

7 years agoMerge branch 'js/alias-case-sensitivity' into maint
Junio 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

7 years agoMerge branch 'bb/unicode-10.0' into maint
Junio 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

7 years agoHopefully the final last-minute fix before -rc1
Junio 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>
7 years agoMerge 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

7 years agoMerge 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

7 years agoMerge 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

7 years agoconfig.mak.uname: set FREAD_READS_DIRECTORIES for cygwin
Ramsay 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>
7 years agoA few more topics while waiting for the po/PRItime resolution
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>
7 years agoMerge 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

7 years agoMerge 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

7 years agoMerge 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

7 years agoMerge 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()

7 years agoMerge 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

7 years agol10n: 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>
7 years agoRelNotes: mention "sha1dc: optionally use sha1collisiondetection as a submodule"
Æ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>
7 years agoRelNotes: mention "log: make --regexp-ignore-case work with --perl-regexp"
Æ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>
7 years agoRelNotes: mention "log: add -P as a synonym for --perl-regexp"
Æ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>
7 years agoMakefile: help gettext tools to cope with our custom PRItime format
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>
7 years agol10n: ko.po: Update Korean translation
Changwoo 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>
7 years agodoc: 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>
7 years agoA few more topics before 2.14-rc1
Junio 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>
7 years agoMerge 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

7 years agoMerge 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

7 years agoMerge branch 'rs/progress-overall-throughput-at-the-end'
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