Commit Graph

58497 Commits

Author SHA1 Message Date
Junio C Hamano
29b09c518c Merge branch 'jk/doc-diff-parallel'
Update to doc-diff.

* jk/doc-diff-parallel:
  doc-diff: use single-colon rule in rendering Makefile
2020-03-02 15:07:17 -08:00
Junio C Hamano
2d2118b814 The seventh batch for 2.26
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-25 11:18:32 -08:00
Junio C Hamano
325eb66830 Merge branch 'es/doc-mentoring'
Doc for new contributors.

* es/doc-mentoring:
  MyFirstContribution: rephrase contact info
  MyFirstContribution: add avenues for getting help
2020-02-25 11:18:32 -08:00
Junio C Hamano
87f17d790d Merge branch 'es/bright-colors'
The basic 7 colors learned the brighter counterparts
(e.g. "brightred").

* es/bright-colors:
  color.c: alias RGB colors 8-15 to aixterm colors
  color.c: support bright aixterm colors
  color.c: refactor color_output arguments
2020-02-25 11:18:32 -08:00
Junio C Hamano
d0038f4b31 Merge branch 'bw/remote-rename-update-config'
"git remote rename X Y" needs to adjust configuration variables
(e.g. branch.<name>.remote) whose value used to be X to Y.
branch.<name>.pushRemote is now also updated.

* bw/remote-rename-update-config:
  remote rename/remove: gently handle remote.pushDefault config
  config: provide access to the current line number
  remote rename/remove: handle branch.<name>.pushRemote config values
  remote: clean-up config callback
  remote: clean-up by returning early to avoid one indentation
  pull --rebase/remote rename: document and honor single-letter abbreviations rebase types
2020-02-25 11:18:32 -08:00
Jeff King
2607d39da3 doc-diff: use single-colon rule in rendering Makefile
When rendering the troff manpages to text via "man", we create an ad-hoc
Makefile and feed it to "make". The purpose here is two-fold:

  - reuse results from a prior interrupted render of the same tree

  - use make's -j option to build in parallel

But the second part doesn't seem to work (at least with my version of
GNU make, 4.2.1). It just runs one render at a time.

We use a double-colon "all" rule for each file, like:

  all:: foo
  foo:
    ...actual render recipe...
  all:: bar
  bar:
    ...actual render recipe...
  ...and so on...

And it's this double-colon that seems to inhibit the parallelism. We can
just switch to a regular single-colon rule. Even though we do have
multiple rules for "all" here, we don't have any recipe to execute for
"all" (we only care about triggering its dependencies), so the
distinction is irrelevant.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-18 13:53:30 -08:00
Junio C Hamano
51ebf55b93 The sixth batch for 2.26
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-17 13:22:19 -08:00
Junio C Hamano
f97741f6e9 Merge branch 'es/outside-repo-errmsg-hints'
Error message clarification.

* es/outside-repo-errmsg-hints:
  prefix_path: show gitdir when arg is outside repo
2020-02-17 13:22:19 -08:00
Junio C Hamano
123538444f Merge branch 'jk/doc-credential-helper'
Docfix.

* jk/doc-credential-helper:
  doc: move credential helper info into gitcredentials(7)
2020-02-17 13:22:19 -08:00
Junio C Hamano
e154451a2f Merge branch 'js/mingw-open-in-gdb'
Dev support.

* js/mingw-open-in-gdb:
  mingw: add a helper function to attach GDB to the current process
2020-02-17 13:22:18 -08:00
Junio C Hamano
fc25a19265 Merge branch 'js/test-unc-fetch'
Test updates.

* js/test-unc-fetch:
  t5580: test cloning without file://, test fetching via UNC paths
2020-02-17 13:22:18 -08:00
Junio C Hamano
6365058605 Merge branch 'js/test-avoid-pipe'
Test clean-up.

* js/test-avoid-pipe:
  t9001, t9116: avoid pipes
2020-02-17 13:22:18 -08:00
Junio C Hamano
966b69f02f Merge branch 'js/test-write-junit-xml-fix'
Testfix.

* js/test-write-junit-xml-fix:
  tests: fix --write-junit-xml with subshells
2020-02-17 13:22:18 -08:00
Junio C Hamano
d880c3de23 Merge branch 'jk/mailinfo-cleanup'
Code clean-up.

* jk/mailinfo-cleanup:
  mailinfo: factor out some repeated header handling
  mailinfo: be more liberal with header whitespace
  mailinfo: simplify parsing of header values
  mailinfo: treat header values as C strings
2020-02-17 13:22:17 -08:00
Junio C Hamano
5d55554b1d Merge branch 'mr/show-config-scope'
"git config" learned to show in which "scope", in addition to in
which file, each config setting comes from.

* mr/show-config-scope:
  config: add '--show-scope' to print the scope of a config value
  submodule-config: add subomdule config scope
  config: teach git_config_source to remember its scope
  config: preserve scope in do_git_config_sequence
  config: clarify meaning of command line scoping
  config: split repo scope to local and worktree
  config: make scope_name non-static and rename it
  t1300: create custom config file without special characters
  t1300: fix over-indented HERE-DOCs
  config: fix typo in variable name
2020-02-17 13:22:17 -08:00
Junio C Hamano
9f3f38769d Merge branch 'rs/strbuf-insertstr'
Code clean-up.

* rs/strbuf-insertstr:
  mailinfo: don't insert header prefix for handle_content_type()
  strbuf: add and use strbuf_insertstr()
2020-02-17 13:22:17 -08:00
Junio C Hamano
cbecc168d4 Merge branch 'rs/parse-options-concat-dup'
Code clean-up.

* rs/parse-options-concat-dup:
  parse-options: simplify parse_options_dup()
  parse-options: const parse_options_concat() parameters
  parse-options: factor out parse_options_count()
  parse-options: use COPY_ARRAY in parse_options_concat()
2020-02-17 13:22:17 -08:00
Junio C Hamano
5af345a438 Merge branch 'bc/hash-independent-tests-part-8'
Preparation for SHA-256 migration continues.

* bc/hash-independent-tests-part-8: (21 commits)
  t6024: update for SHA-256
  t6006: make hash size independent
  t6000: abstract away SHA-1-specific constants
  t5703: make test work with SHA-256
  t5607: make hash size independent
  t5318: update for SHA-256
  t5515: make test hash independent
  t5321: make test hash independent
  t5313: make test hash independent
  t5309: make test hash independent
  t5302: make hash size independent
  t4060: make test work with SHA-256
  t4211: add test cases for SHA-256
  t4211: move SHA-1-specific test cases into a directory
  t4013: make test hash independent
  t3311: make test work with SHA-256
  t3310: make test work with SHA-256
  t3309: make test work with SHA-256
  t3308: make test work with SHA-256
  t3206: make hash size independent
  ...
2020-02-17 13:22:16 -08:00
Junio C Hamano
0460c109c3 Merge branch 'rs/name-rev-memsave'
Memory footprint and performance of "git name-rev" has been
improved.

* rs/name-rev-memsave:
  name-rev: sort tip names before applying
  name-rev: release unused name strings
  name-rev: generate name strings only if they are better
  name-rev: pre-size buffer in get_parent_name()
  name-rev: factor out get_parent_name()
  name-rev: put struct rev_name into commit slab
  name-rev: don't _peek() in create_or_update_name()
  name-rev: don't leak path copy in name_ref()
  name-rev: respect const qualifier
  name-rev: remove unused typedef
  name-rev: rewrite create_or_update_name()
2020-02-17 13:22:16 -08:00
Junio C Hamano
e68e29171c Git 2.25.1
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4fA2sf7nIh/HeOzvsLXohpav5ssFAl5KGK8ACgkQsLXohpav
 5stvtw/9EKgXGq3wNoe4TIc0dK7sNlPmwjtZXfypUHrnqTNEd2xs1YBTY9/4FHHS
 ICNamltA9/r5SbkbpGWk++ZK0I2HTTNe0R/xlErljalCpi3IqdvofAYRoUKyA9rj
 JC6bdWJ2Nr+O4IIjdJ2pdvrcNtNmGQWL/WDEtcZuNciJW9mn2aRARp8L0aJM1jvH
 +7NVX3jgZKlls1T1aqvoaXL/5ObR7HSsw139dnvmgnLkcJNCnqOuw0LlqxjEO5Vd
 Njp5XVJ2uQb3pwjxOV1TQmYyORJB8r4pUYLXpk4GVL3wrvX6VKAzV/OOVBEWS2tP
 H/jTYxtRJ+5oZDwndJfxl6dco7vAAIxzvw+kppbsddifyDdfRr6BVm3+3hO6xBg3
 15+Hhq91/5ylqetcjLVZdFaiNv63RPp6ymcH3JWA5zrlSdKXsjnLBS0Iw5FmQLsM
 Qbhh88nHgaISKBqgkUHtDhkgc5saig7Fhzn7Y5nXVrIsYNczcyiX9LxvkLXk4RDJ
 QbmtTmdQOr8AKjV3YcdbQJrHP7zIfGsBDkhEYwYEylWi9PMZI9UV4ZpgAl0wPMkP
 5foEpyUyWp/7kivBwv4oHgURpscrT+Go6Jofa3jJ2F7QCrCwhWQfjvF/n5lvuVxU
 iAMYQjQnUjUQYJ/CKOoZJOcYnqqUVqX3sWt2/cLfRbRSIc9AbA0=
 =1q5b
 -----END PGP SIGNATURE-----

Sync with 2.25.1
2020-02-16 20:41:40 -08:00
Junio C Hamano
c522f061d5 Git 2.25.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-16 20:37:38 -08:00
Emily Shaffer
e0020b2f82 prefix_path: show gitdir when arg is outside repo
When developing a script, it can be painful to understand why Git thinks
something is outside the current repo, if the current repo isn't what
the user thinks it is. Since this can be tricky to diagnose, especially
in cases like submodules or nested worktrees, let's give the user a hint
about which repository is offended about that path.

Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
Acked-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-16 15:32:59 -08:00
Jeff King
cc4f2eb828 doc: move credential helper info into gitcredentials(7)
The details of how credential helpers can be called or implemented were
originally covered in Documentation/technical/. Those are topics that
end users might care about (and we even referenced them in the
credentials manpage), but those docs typically don't ship as part of the
end user documentation, making them less useful.

This situation got slightly worse recently in f3b9055624 (credential:
move doc to credential.h, 2019-11-17), where we moved them into the C
header file, making them even harder to find.

So let's move put this information into the gitcredentials(7)
documentation, which is meant to describe the overall concepts of our
credential handling. This was already pointing to the API docs for these
concepts, so we can just include it inline instead.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-14 14:43:16 -08:00
Junio C Hamano
bfdd66e72f Sync with maint 2020-02-14 12:54:41 -08:00
Junio C Hamano
7ae7e234c7 The fifth batch for 2.26
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-02-14 12:54:24 -08:00
Junio C Hamano
53c3be2c29 Merge branch 'tb/commit-graph-object-dir'
The code to compute the commit-graph has been taught to use a more
robust way to tell if two object directories refer to the same
thing.

* tb/commit-graph-object-dir:
  commit-graph.h: use odb in 'load_commit_graph_one_fd_st'
  commit-graph.c: remove path normalization, comparison
  commit-graph.h: store object directory in 'struct commit_graph'
  commit-graph.h: store an odb in 'struct write_commit_graph_context'
  t5318: don't pass non-object directory to '--object-dir'
2020-02-14 12:54:24 -08:00
Junio C Hamano
7b029ebaef Merge branch 'jk/index-pack-dupfix'
The index-pack code now diagnoses a bad input packstream that
records the same object twice when it is used as delta base; the
code used to declare a software bug when encountering such an
input, but it is an input error.

* jk/index-pack-dupfix:
  index-pack: downgrade twice-resolved REF_DELTA to die()
2020-02-14 12:54:24 -08:00
Junio C Hamano
aa21cc97bd Merge branch 'jk/alloc-cleanups'
Misc code clean-ups.

* jk/alloc-cleanups:
  tree-walk.c: break circular dependency with unpack-trees
  traverse_trees(): use stack array for name entries
  walker_fetch(): avoid raw array length computation
  normalize_path_copy(): document "dst" size expectations
2020-02-14 12:54:23 -08:00
Junio C Hamano
883326077a Merge branch 'jh/notes-fanout-fix'
The code to automatically shrink the fan-out in the notes tree had
an off-by-one bug, which has been killed.

* jh/notes-fanout-fix:
  notes.c: fix off-by-one error when decreasing notes fanout
  t3305: check notes fanout more carefully and robustly
2020-02-14 12:54:23 -08:00
Junio C Hamano
f2dcfcc21d Merge branch 'pk/status-of-uncloned-submodule'
The way "git submodule status" reports an initialized but not yet
populated submodule has not been reimplemented correctly when a
part of the "git submodule" command was rewritten in C, which has
been corrected.

* pk/status-of-uncloned-submodule:
  t7400: testcase for submodule status on unregistered inner git repos
  submodule: fix status of initialized but not cloned submodules
  t7400: add a testcase for submodule status on empty dirs
2020-02-14 12:54:23 -08:00
Junio C Hamano
78e67cda42 Merge branch 'mt/use-passed-repo-more-in-funcs'
Some codepaths were given a repository instance as a parameter to
work in the repository, but passed the_repository instance to its
callees, which has been cleaned up (somewhat).

* mt/use-passed-repo-more-in-funcs:
  sha1-file: allow check_object_signature() to handle any repo
  sha1-file: pass git_hash_algo to hash_object_file()
  sha1-file: pass git_hash_algo to write_object_file_prepare()
  streaming: allow open_istream() to handle any repo
  pack-check: use given repo's hash_algo at verify_packfile()
  cache-tree: use given repo's hash_algo at verify_one()
  diff: make diff_populate_filespec() honor its repo argument
2020-02-14 12:54:22 -08:00
Junio C Hamano
df04a31617 Merge branch 'jk/diff-honor-wserrhighlight-in-plumbing'
The diff-* plumbing family of subcommands now pay attention to the
diff.wsErrorHighlight configuration, which has been ignored before;
this allows "git add -p" to also show the whitespace problems to
the end user.

* jk/diff-honor-wserrhighlight-in-plumbing:
  diff: move diff.wsErrorHighlight to "basic" config
2020-02-14 12:54:22 -08:00
Junio C Hamano
433b8aac2e Merge branch 'ds/sparse-checkout-harden'
Some rough edges in the sparse-checkout feature, especially around
the cone mode, have been cleaned up.

* ds/sparse-checkout-harden:
  sparse-checkout: fix cone mode behavior mismatch
  sparse-checkout: improve docs around 'set' in cone mode
  sparse-checkout: escape all glob characters on write
  sparse-checkout: use C-style quotes in 'list' subcommand
  sparse-checkout: unquote C-style strings over --stdin
  sparse-checkout: write escaped patterns in cone mode
  sparse-checkout: properly match escaped characters
  sparse-checkout: warn on globs in cone patterns
  sparse-checkout: detect short patterns
  sparse-checkout: cone mode does not recognize "**"
  sparse-checkout: fix documentation typo for core.sparseCheckoutCone
  clone: fix --sparse option with URLs
  sparse-checkout: create leading directories
  t1091: improve here-docs
  t1091: use check_files to reduce boilerplate
2020-02-14 12:54:22 -08:00
Junio C Hamano
4a77434bc8 Merge branch 'ld/p4-cleanup-processes'
p4 updates.

* ld/p4-cleanup-processes:
  git-p4: avoid leak of file handle when cloning
  git-p4: check for access to remote host earlier
  git-p4: cleanup better on error exit
  git-p4: create helper function importRevisions()
  git-p4: disable some pylint warnings, to get pylint output to something manageable
  git-p4: add P4CommandException to report errors talking to Perforce
  git-p4: make closeStreams() idempotent
2020-02-14 12:54:22 -08:00
Junio C Hamano
8fb3945037 Merge branch 'jt/connectivity-check-optim-in-partial-clone'
Unneeded connectivity check is now disabled in a partial clone when
fetching into it.

* jt/connectivity-check-optim-in-partial-clone:
  fetch: forgo full connectivity check if --filter
  connected: verify promisor-ness of partial clone
2020-02-14 12:54:21 -08:00
Junio C Hamano
09e48400a3 Merge branch 'jk/get-oid-error-message-i18n'
A low-level API function get_oid(), that accepts various ways to
name an object, used to issue end-user facing error messages
without l10n, which has been updated to be translatable.

* jk/get-oid-error-message-i18n:
  sha1-name: mark get_oid() error messages for translation
  t1506: drop space after redirection operator
  t1400: avoid "test" string comparisons
2020-02-14 12:54:21 -08:00
Junio C Hamano
4dbeecba27 Merge branch 'ag/edit-todo-drop-check'
Allow the rebase.missingCommitsCheck configuration to kick in when
"rebase --edit-todo" and "rebase --continue" restarts the procedure.

* ag/edit-todo-drop-check:
  rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
  sequencer: move check_todo_list_from_file() to rebase-interactive.c
2020-02-14 12:54:21 -08:00
Junio C Hamano
f7f43afb19 Merge branch 'dl/test-must-fail-fixes-2'
Test updates.

* dl/test-must-fail-fixes-2:
  t4124: only mark git command with test_must_fail
  t3507: use test_path_is_missing()
  t3507: fix indentation
  t3504: do check for conflict marker after failed cherry-pick
  t3419: stop losing return code of git command
  t3415: increase granularity of test_auto_{fixup,squash}()
  t3415: stop losing return codes of git commands
  t3310: extract common notes_merge_files_gone()
  t3030: use test_path_is_missing()
  t2018: replace "sha" with "oid"
  t2018: don't lose return code of git commands
  t2018: teach do_checkout() to accept `!` arg
  t2018: be more discerning when checking for expected exit codes
  t2018: improve style of if-statement
  t2018: add space between function name and ()
  t2018: remove trailing space from test description
2020-02-14 12:54:21 -08:00
Junio C Hamano
d8b8d59054 Merge branch 'ag/rebase-avoid-unneeded-checkout'
"git rebase -i" (and friends) used to unnecessarily check out the
tip of the branch to be rebased, which has been corrected.

* ag/rebase-avoid-unneeded-checkout:
  rebase -i: stop checking out the tip of the branch to rebase
2020-02-14 12:54:21 -08:00
Junio C Hamano
251187084d Merge branch 'js/rebase-i-with-colliding-hash'
"git rebase -i" identifies existing commits in its todo file with
their abbreviated object name, which could become ambigous as it
goes to create new commits, and has a mechanism to avoid ambiguity
in the main part of its execution.  A few other cases however were
not covered by the protection against ambiguity, which has been
corrected.

* js/rebase-i-with-colliding-hash:
  rebase -i: also avoid SHA-1 collisions with missingCommitsCheck
  rebase -i: re-fix short SHA-1 collision
  parse_insn_line(): improve error message when parsing failed
2020-02-14 12:54:20 -08:00
Junio C Hamano
c9a33e5e5d Merge branch 'kw/fsmonitor-watchman-racefix'
A new version of fsmonitor-watchman hook has been introduced, to
avoid races.

* kw/fsmonitor-watchman-racefix:
  fsmonitor: update documentation for hook version and watchman hooks
  fsmonitor: add fsmonitor hook scripts for version 2
  fsmonitor: handle version 2 of the hooks that will use opaque token
  fsmonitor: change last update timestamp on the index_state to opaque token
2020-02-14 12:54:20 -08:00
Junio C Hamano
56ceb64eb0 Merge branch 'mt/threaded-grep-in-object-store'
Traditionally, we avoided threaded grep while searching in objects
(as opposed to files in the working tree) as accesses to the object
layer is not thread-safe.  This limitation is getting lifted.

* mt/threaded-grep-in-object-store:
  grep: use no. of cores as the default no. of threads
  grep: move driver pre-load out of critical section
  grep: re-enable threads in non-worktree case
  grep: protect packed_git [re-]initialization
  grep: allow submodule functions to run in parallel
  submodule-config: add skip_if_read option to repo_read_gitmodules()
  grep: replace grep_read_mutex by internal obj read lock
  object-store: allow threaded access to object reading
  replace-object: make replace operations thread-safe
  grep: fix racy calls in grep_objects()
  grep: fix race conditions at grep_submodule()
  grep: fix race conditions on userdiff calls
2020-02-14 12:54:20 -08:00
Junio C Hamano
0da63da794 Merge branch 'jn/promote-proto2-to-default'
The transport protocol version 2 becomes the default one.

* jn/promote-proto2-to-default:
  fetch: default to protocol version 2
  protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION
  test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate
  config doc: protocol.version is not experimental
  fetch test: use more robust test for filtered objects
2020-02-14 12:54:19 -08:00
Junio C Hamano
a14aebeac3 Merge branch 'jk/packfile-reuse-cleanup'
The way "git pack-objects" reuses objects stored in existing pack
to generate its result has been improved.

* jk/packfile-reuse-cleanup:
  pack-bitmap: don't rely on bitmap_git->reuse_objects
  pack-objects: add checks for duplicate objects
  pack-objects: improve partial packfile reuse
  builtin/pack-objects: introduce obj_is_packed()
  pack-objects: introduce pack.allowPackReuse
  csum-file: introduce hashfile_total()
  pack-bitmap: simplify bitmap_has_oid_in_uninteresting()
  pack-bitmap: uninteresting oid can be outside bitmapped packfile
  pack-bitmap: introduce bitmap_walk_contains()
  ewah/bitmap: introduce bitmap_word_alloc()
  packfile: expose get_delta_base()
  builtin/pack-objects: report reused packfile objects
2020-02-14 12:54:19 -08:00
Junio C Hamano
daef1b300b Merge branch 'hw/advice-add-nothing'
Two help messages given when "git add" notices the user gave it
nothing to add have been updated to use advise() API.

* hw/advice-add-nothing:
  add: change advice config variables used by the add API
  add: use advise function to display hints
2020-02-14 12:54:19 -08:00
Junio C Hamano
6141e0cc00 Merge branch 'js/convert-typofix' into maint
Typofix.

* js/convert-typofix:
  convert: fix typo
2020-02-14 12:42:34 -08:00
Junio C Hamano
4e52c1ae27 Merge branch 'js/ci-squelch-doc-warning' into maint
Squelch unhelpful warning message during documentation build.

* js/ci-squelch-doc-warning:
  ci: ignore rubygems warning in the "Documentation" job
2020-02-14 12:42:33 -08:00
Junio C Hamano
5cee4ffff8 Merge branch 'jb/multi-pack-index-docfix' into maint
Doc fix.

* jb/multi-pack-index-docfix:
  pack-format: correct multi-pack-index description
2020-02-14 12:42:33 -08:00
Junio C Hamano
b907ca76f0 Merge branch 'ma/diff-doc-clarify-regexp-example' into maint
Doc clarification.

* ma/diff-doc-clarify-regexp-example:
  diff-options.txt: avoid "regex" overload in example
2020-02-14 12:42:33 -08:00
Junio C Hamano
7137d6089b Merge branch 'ms/doc-bundle-format' into maint
Technical details of the bundle format has been documented.
I think this is in a good enough shape.

* ms/doc-bundle-format:
  doc: describe Git bundle format
2020-02-14 12:42:32 -08:00