Commit Graph

47129 Commits

Author SHA1 Message Date
de950c5773 p3400: add perf tests for rebasing many changes
Rebasing onto many changes is interesting, but it's also
interesting to see what happens when rebasing many changes.

And while at it, let's also look at the impact of using a
split index.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-08 10:50:43 +09:00
f9d7abec2a split-index: add and use unshare_split_index()
When split-index is being used, we have two cache_entry arrays in
index_state->cache[] and index_state->split_index->base->cache[].

index_state->cache[] may share the same entries with base->cache[] so
we can quickly determine what entries are shared. This makes memory
management tricky, we can't free base->cache[] until we know
index_state->cache[] does not point to any of those entries.

unshare_split_index() is added for this purpose, to find shared
entries and either duplicate them in index_state->cache[], or discard
them. Either way it should be safe to free base->cache[] after
unshare_split_index().

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-08 10:50:20 +09:00
2e477d8d71 doc: replace a couple of broken gmane links
Replace a couple of broken links to gmane with links to other
archives. See commit 54471fdcc3 ("README: replace gmane link with
public-inbox", 2016-12-15) for prior art.

With this change there's still 4 references left in the code:

    $ git grep -E '(article|thread)\.gmane.org' -- |grep -v RelNotes|wc -l
    4

I couldn't find alternative links for those.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-08 10:29:30 +09:00
5a5221427c diff: recurse into nested submodules for inline diff
When fd47ae6a5b (diff: teach diff to display submodule difference with an
inline diff, 2016-08-31) was introduced, we did not think of recursing
into nested submodules.

When showing the inline diff for submodules, automatically recurse
into nested submodules as well with inline submodule diffs.

Signed-off-by: Stefan Beller <sbeller@google.com>
Acked-by: Jacob Keller <jacob.keller@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-08 09:44:54 +09:00
0d32c183b6 dir: convert fill_directory to take an index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:39 +09:00
2c1eb10454 dir: convert read_directory to take an index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:39 +09:00
0ef8e169aa dir: convert read_directory_recursive to take an index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:39 +09:00
207a06cea3 dir: convert open_cached_dir to take an index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:39 +09:00
a0bba65b10 dir: convert is_excluded to take an index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:39 +09:00
e799ed408e dir: convert prep_exclude to take an index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:39 +09:00
473e39307d dir: convert add_excludes to take an index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:39 +09:00
fba92be8f7 dir: convert is_excluded_from_list to take an index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:39 +09:00
2b70e88d36 dir: convert last_exclude_matching_from_list to take an index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:39 +09:00
9e58becab9 dir: convert dir_add* to take an index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:39 +09:00
98f2a687b9 dir: convert get_dtype to take index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:39 +09:00
ae520e3675 dir: convert directory_exists_in_index to take index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:38 +09:00
6f52b741a7 dir: convert read_skip_worktree_file_from_index to take an index
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:38 +09:00
12cd0bf9b0 dir: stop using the index compatibility macros
In order to make it clearer where the_index is being referenced, stop
using the index compatibility macros in dir.c.  This is to make it
easier to identify the functions which need to be convert to taking in a
'struct index_state' as a parameter.

The end goal would be to eliminate the need to reference global index
state in dir.c.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-06 19:15:38 +09:00
f5be008399 l10n: fr.po v2.13 rnd 2
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2017-05-06 12:12:54 +02:00
0efcb8b0be l10n: de.po: translate 4 new messages
Translate 4 new messages came from git.pot update in 28e1aaa48 (l10n:
git.pot: v2.13.0 round 2 (4 new, 7 removed)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Matthias Rüster <matthias.ruester@gmail.com>
2017-05-05 19:01:24 +02:00
5c16226833 l10n: de.po: update German translation
Translate 96 new messages came from git.pot update in dfc182b (l10n:
git.pot: v2.13.0 round 1 (96 new, 37 removed)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Matthias Rüster <matthias.ruester@gmail.com>
2017-05-05 19:01:16 +02:00
c5614772d6 l10n: de.po: lower case after semi-colon
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2017-05-05 11:16:39 +02:00
72dd4a8e40 l10n: vi.po(3195t): Update translation for v2.13.0 round 2
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2017-05-05 13:41:32 +07:00
95d6787973 Git 2.12.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.12.3
2017-05-05 13:33:22 +09:00
ebb1f6fe9d Merge branch 'maint-2.11' into maint 2017-05-05 13:31:40 +09:00
773e3a2e02 Git 2.11.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.11.2
2017-05-05 13:29:43 +09:00
a849d36cf2 Merge branch 'maint-2.10' into maint-2.11 2017-05-05 13:26:31 +09:00
840ed14198 Git 2.10.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.10.3
2017-05-05 13:24:10 +09:00
fc92b0878c Merge branch 'maint-2.9' into maint-2.10 2017-05-05 13:21:52 +09:00
d61226c111 Git 2.9.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.9.4
2017-05-05 13:19:10 +09:00
c93ab42b74 Merge branch 'maint-2.8' into maint-2.9 2017-05-05 13:13:48 +09:00
cd08873275 Git 2.8.5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.8.5
2017-05-05 13:08:54 +09:00
a8d93d19a2 Merge branch 'maint-2.7' into maint-2.8 2017-05-05 13:05:03 +09:00
c8dd1e3bb1 Git 2.7.5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.7.5
2017-05-05 13:03:40 +09:00
dc58c8554a Merge branch 'maint-2.6' into maint-2.7 2017-05-05 12:59:16 +09:00
70fcaef90b Git 2.6.7
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.6.7
2017-05-05 12:56:19 +09:00
ab37a18b60 Merge branch 'maint-2.5' into maint-2.6 2017-05-05 12:52:26 +09:00
ac33201285 Git 2.5.6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.5.6
2017-05-05 12:50:38 +09:00
531788af95 Merge branch 'maint-2.4' into maint-2.5 2017-05-05 12:46:53 +09:00
4000b40209 Git 2.4.12
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.4.12
2017-05-05 12:43:16 +09:00
5a4ffdf587 Merge branch 'jk/shell-no-repository-that-begins-with-dash' into maint-2.4
* jk/shell-no-repository-that-begins-with-dash:
  shell: disallow repo names beginning with dash
2017-05-05 12:17:55 +09:00
3ec804490a shell: disallow repo names beginning with dash
When a remote server uses git-shell, the client side will
connect to it like:

  ssh server "git-upload-pack 'foo.git'"

and we literally exec ("git-upload-pack", "foo.git"). In
early versions of upload-pack and receive-pack, we took a
repository argument and nothing else. But over time they
learned to accept dashed options. If the user passes a
repository name that starts with a dash, the results are
confusing at best (we complain of a bogus option instead of
a non-existent repository) and malicious at worst (the user
can start an interactive pager via "--help").

We could pass "--" to the sub-process to make sure the
user's argument is interpreted as a branch name. I.e.:

  git-upload-pack -- -foo.git

But adding "--" automatically would make us inconsistent
with a normal shell (i.e., when git-shell is not in use),
where "-foo.git" would still be an error. For that case, the
client would have to specify the "--", but they can't do so
reliably, as existing versions of git-shell do not allow
more than a single argument.

The simplest thing is to simply disallow "-" at the start of
the repo name argument. This hasn't worked either with or
without git-shell since version 1.0.0, and nobody has
complained.

Note that this patch just applies to do_generic_cmd(), which
runs upload-pack, receive-pack, and upload-archive. There
are two other types of commands that git-shell runs:

  - do_cvs_cmd(), but this already restricts the argument to
    be the literal string "server"

  - admin-provided commands in the git-shell-commands
    directory. We'll pass along arbitrary arguments there,
    so these commands could have similar problems. But these
    commands might actually understand dashed arguments, so
    we cannot just block them here. It's up to the writer of
    the commands to make sure they are safe. With great
    power comes great responsibility.

Reported-by: Timo Schmid <tschmid@ernw.de>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-05-05 12:07:27 +09:00
28e1aaa485 l10n: git.pot: v2.13.0 round 2 (4 new, 7 removed)
Generate po/git.pot from v2.13.0-rc2 for git v2.13.0 l10n round 2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2017-05-05 09:37:02 +08:00
694c76f5c1 Merge branch 'master' of git://github.com/git-l10n/git-po
* 'master' of git://github.com/git-l10n/git-po:
  l10n: zh_CN: for git v2.13.0 l10n round 1
  l10n: fr.po v2.13 round 1
  l10n: pt_PT: update Portuguese translation
  l10n: bg.po: Updated Bulgarian translation (3201t)
  l10n: vi.po(3198t): Updated Vietnamese translation for v2.13.0-rc0
  l10n: sv.po: Update Swedish translation (3199t0f0u)
  l10n: git.pot: v2.13.0 round 1 (96 new, 37 removed)
2017-05-05 09:35:22 +08:00
87cb7997f7 l10n: zh_CN: for git v2.13.0 l10n round 1
Translate 96 messages (3198t0f0u) for git v2.13.0-rc0.

Reviewed-by: 依云 <lilydjwg@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2017-05-05 09:32:08 +08:00
90117bda02 Merge branch 'fr_l10n_v2.13_rnd1' of git://github.com/jnavila/git
* 'fr_l10n_v2.13_rnd1' of git://github.com/jnavila/git:
  l10n: fr.po v2.13 round 1
2017-05-05 09:30:33 +08:00
4fa66c85f1 Git 2.13-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.13.0-rc2
2017-05-04 16:27:19 +09:00
7c7478f45a Merge branch 'rg/a-the-typo'
Typofix.

* rg/a-the-typo:
  fix minor typos
2017-05-04 16:26:47 +09:00
c8ddd2aa11 Merge branch 'sr/hooks-cwd-doc'
* sr/hooks-cwd-doc:
  githooks.txt: clarify push hooks are always executed in $GIT_DIR
2017-05-04 16:26:46 +09:00
9f3e2fe9f4 Merge branch 'rg/doc-submittingpatches-wordfix'
* rg/doc-submittingpatches-wordfix:
  doc: update SubmittingPatches
2017-05-04 16:26:46 +09:00