<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/submodule-config.c, branch v2.16.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.16.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.16.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2017-08-27T05:55:08Z</updated>
<entry>
<title>Merge branch 'bw/submodule-config-cleanup'</title>
<updated>2017-08-27T05:55:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-08-27T05:55:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=614ea03a71e6b5281d7fce9f073c091772145047'/>
<id>urn:sha1:614ea03a71e6b5281d7fce9f073c091772145047</id>
<content type='text'>
Code clean-up to avoid mixing values read from the .gitmodules file
and values read from the .git/config file.

* bw/submodule-config-cleanup:
  submodule: remove gitmodules_config
  unpack-trees: improve loading of .gitmodules
  submodule-config: lazy-load a repository's .gitmodules file
  submodule-config: move submodule-config functions to submodule-config.c
  submodule-config: remove support for overlaying repository config
  diff: stop allowing diff to have submodules configured in .git/config
  submodule: remove submodule_config callback routine
  unpack-trees: don't respect submodule.update
  submodule: don't rely on overlayed config when setting diffopts
  fetch: don't overlay config with submodule-config
  submodule--helper: don't overlay config in update-clone
  submodule--helper: don't overlay config in remote_submodule_branch
  add, reset: ensure submodules can be added or reset
  submodule: don't use submodule_from_name
  t7411: check configuration parsing errors
</content>
</entry>
<entry>
<title>Merge branch 'ma/parse-maybe-bool'</title>
<updated>2017-08-22T17:29:03Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-08-22T17:29:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bdfcdefd2f0587873436c950dd7a0798d313eb34'/>
<id>urn:sha1:bdfcdefd2f0587873436c950dd7a0798d313eb34</id>
<content type='text'>
Code clean-up.

* ma/parse-maybe-bool:
  parse_decoration_style: drop unused argument `var`
  treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool
  config: make git_{config,parse}_maybe_bool equivalent
  config: introduce git_parse_maybe_bool_text
  t5334: document that git push --signed=1 does not work
  Doc/git-{push,send-pack}: correct --sign= to --signed=
</content>
</entry>
<entry>
<title>Merge branch 'bw/grep-recurse-submodules'</title>
<updated>2017-08-22T17:29:01Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-08-22T17:29:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5aa0b6c506c1f1336d0e713bf8225509e9ebb9f5'/>
<id>urn:sha1:5aa0b6c506c1f1336d0e713bf8225509e9ebb9f5</id>
<content type='text'>
"git grep --recurse-submodules" has been reworked to give a more
consistent output across submodule boundary (and do its thing
without having to fork a separate process).

* bw/grep-recurse-submodules:
  grep: recurse in-process using 'struct repository'
  submodule: merge repo_read_gitmodules and gitmodules_config
  submodule: check for unmerged .gitmodules outside of config parsing
  submodule: check for unstaged .gitmodules outside of config parsing
  submodule: remove fetch.recursesubmodules from submodule-config parsing
  submodule: remove submodule.fetchjobs from submodule-config parsing
  config: add config_from_gitmodules
  cache.h: add GITMODULES_FILE macro
  repository: have the_repository use the_index
  repo_read_index: don't discard the index
</content>
</entry>
<entry>
<title>Merge branch 'sb/hashmap-cleanup'</title>
<updated>2017-08-11T20:27:01Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-08-11T20:27:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=55c965f3a27b3a36f84c56b6eba8ac5c95ff558a'/>
<id>urn:sha1:55c965f3a27b3a36f84c56b6eba8ac5c95ff558a</id>
<content type='text'>
Many uses of comparision callback function the hashmap API uses
cast the callback function type when registering it to
hashmap_init(), which defeats the compile time type checking when
the callback interface changes (e.g. gaining more parameters).
The callback implementations have been updated to take "void *"
pointers and cast them to the type they expect instead.

* sb/hashmap-cleanup:
  t/helper/test-hashmap: use custom data instead of duplicate cmp functions
  name-hash.c: drop hashmap_cmp_fn cast
  submodule-config.c: drop hashmap_cmp_fn cast
  remote.c: drop hashmap_cmp_fn cast
  patch-ids.c: drop hashmap_cmp_fn cast
  convert/sub-process: drop cast to hashmap_cmp_fn
  config.c: drop hashmap_cmp_fn cast
  builtin/describe: drop hashmap_cmp_fn cast
  builtin/difftool.c: drop hashmap_cmp_fn cast
  attr.c: drop hashmap_cmp_fn cast
</content>
</entry>
<entry>
<title>Merge branch 'bc/object-id'</title>
<updated>2017-08-11T20:26:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-08-11T20:26:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=df422678a800ffb1db8f3f146e2786f1cbf0059b'/>
<id>urn:sha1:df422678a800ffb1db8f3f146e2786f1cbf0059b</id>
<content type='text'>
Conversion from uchar[20] to struct object_id continues.

* bc/object-id:
  sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ
  sha1_name: convert GET_SHA1* flags to GET_OID*
  sha1_name: convert get_sha1* to get_oid*
  Convert remaining callers of get_sha1 to get_oid.
  builtin/unpack-file: convert to struct object_id
  bisect: convert bisect_checkout to struct object_id
  builtin/update_ref: convert to struct object_id
  sequencer: convert to struct object_id
  remote: convert struct push_cas to struct object_id
  submodule: convert submodule config lookup to use object_id
  builtin/merge-tree: convert remaining caller of get_sha1 to object_id
  builtin/fsck: convert remaining caller of get_sha1 to object_id
</content>
</entry>
<entry>
<title>treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool</title>
<updated>2017-08-07T20:29:22Z</updated>
<author>
<name>Martin Ågren</name>
<email>martin.agren@gmail.com</email>
</author>
<published>2017-08-07T18:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8957661378b073b49875059d6426614facb0d7f0'/>
<id>urn:sha1:8957661378b073b49875059d6426614facb0d7f0</id>
<content type='text'>
The only difference between these is that the former takes an argument
`name` which it ignores completely. Still, the callers are quite careful
to provide reasonable values for it.

Once in-flight topics have landed, we should be able to remove
git_config_maybe_bool. In the meantime, document it as deprecated in the
technical documentation. While at it, document git_parse_maybe_bool.

Signed-off-by: Martin Ågren &lt;martin.agren@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>submodule-config: lazy-load a repository's .gitmodules file</title>
<updated>2017-08-03T20:11:01Z</updated>
<author>
<name>Brandon Williams</name>
<email>bmwill@google.com</email>
</author>
<published>2017-08-03T18:19:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ff6f1f564c48def1f8e1852826bab58af5044b06'/>
<id>urn:sha1:ff6f1f564c48def1f8e1852826bab58af5044b06</id>
<content type='text'>
In order to use the submodule-config subsystem, callers first need to
initialize it by calling 'repo_read_gitmodules()' or
'gitmodules_config()' (which just redirects to
'repo_read_gitmodules()').  There are a couple of callers who need to
load an explicit revision of the repository's .gitmodules file (grep) or
need to modify the .gitmodules file so they would need to load it before
modify the file (checkout), but the majority of callers are simply
reading the .gitmodules file present in the working tree.  For the
common case it would be nice to avoid the boilerplate of initializing
the submodule-config system before using it, so instead let's perform
lazy-loading of the submodule-config system.

Remove the calls to reading the gitmodules file from ls-files to show
that lazy-loading the .gitmodules file works.

Signed-off-by: Brandon Williams &lt;bmwill@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>submodule-config: move submodule-config functions to submodule-config.c</title>
<updated>2017-08-03T20:11:01Z</updated>
<author>
<name>Brandon Williams</name>
<email>bmwill@google.com</email>
</author>
<published>2017-08-03T18:19:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1b796ace7b5566d7cd2ed2ee56d3e5b1f7605272'/>
<id>urn:sha1:1b796ace7b5566d7cd2ed2ee56d3e5b1f7605272</id>
<content type='text'>
Migrate the functions used to initialize the submodule-config to
submodule-config.c so that the callback routine used in the
initialization process can be static and prevent it from being used
outside of initializing the submodule-config through the main API.

Signed-off-by: Brandon Williams &lt;bmwill@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'bc/object-id' into bw/submodule-config-cleanup</title>
<updated>2017-08-02T21:34:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-08-02T21:34:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a46ddc992bbac524fb325875c5555dbae0c6355b'/>
<id>urn:sha1:a46ddc992bbac524fb325875c5555dbae0c6355b</id>
<content type='text'>
* bc/object-id:
  sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ
  sha1_name: convert GET_SHA1* flags to GET_OID*
  sha1_name: convert get_sha1* to get_oid*
  Convert remaining callers of get_sha1 to get_oid.
  builtin/unpack-file: convert to struct object_id
  bisect: convert bisect_checkout to struct object_id
  builtin/update_ref: convert to struct object_id
  sequencer: convert to struct object_id
  remote: convert struct push_cas to struct object_id
  submodule: convert submodule config lookup to use object_id
  builtin/merge-tree: convert remaining caller of get_sha1 to object_id
  builtin/fsck: convert remaining caller of get_sha1 to object_id
  tag: convert gpg_verify_tag to use struct object_id
  commit: convert lookup_commit_graft to struct object_id
</content>
</entry>
<entry>
<title>submodule: remove submodule.fetchjobs from submodule-config parsing</title>
<updated>2017-08-02T21:26:46Z</updated>
<author>
<name>Brandon Williams</name>
<email>bmwill@google.com</email>
</author>
<published>2017-08-02T19:49:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f20e7c1ea2459d9b8c12f8ed1f1546665841b643'/>
<id>urn:sha1:f20e7c1ea2459d9b8c12f8ed1f1546665841b643</id>
<content type='text'>
The '.gitmodules' file should only contain information pertinent to
configuring individual submodules (name to path mapping, URL where to
obtain the submodule, etc.) while other configuration like the number of
jobs to use when fetching submodules should be a part of the
repository's config.

Remove the 'submodule.fetchjobs' configuration option from the general
submodule-config parsing and instead rely on using the
'config_from_gitmodules()' in order to maintain backwards compatibility
with this config being placed in the '.gitmodules' file.

Signed-off-by: Brandon Williams &lt;bmwill@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
