<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin, branch v2.32.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.32.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.32.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2021-06-01T22:34:27Z</updated>
<entry>
<title>Merge branch 'ab/fsck-api-cleanup'</title>
<updated>2021-06-01T22:34:27Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-06-01T22:34:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ed125c4f07ba69c53c9f4d74ff395a4bf7854ea7'/>
<id>urn:sha1:ed125c4f07ba69c53c9f4d74ff395a4bf7854ea7</id>
<content type='text'>
Last minute compilation fix.

* ab/fsck-api-cleanup:
  builtin/fsck.c: don't conflate "int" and "enum" in callback
</content>
</entry>
<entry>
<title>builtin/fsck.c: don't conflate "int" and "enum" in callback</title>
<updated>2021-06-01T20:59:15Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2021-06-01T00:05:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=28abf260a52b2fb79342d5010e921602e078149f'/>
<id>urn:sha1:28abf260a52b2fb79342d5010e921602e078149f</id>
<content type='text'>
Fix a warning on AIX's xlc compiler that's been emitted since my
a1aad71601a (fsck.h: use "enum object_type" instead of "int",
2021-03-28):

    "builtin/fsck.c", line 805.32: 1506-068 (W) Operation between
    types "int(*)(struct object*,enum object_type,void*,struct
    fsck_options*)" and "int(*)(struct object*,int,void*,struct
    fsck_options*)" is not allowed.

I.e. it complains about us assigning a function with a prototype "int"
where we're expecting "enum object_type".

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ab/pack-linkage-fix'</title>
<updated>2021-05-27T03:36:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-05-27T03:36:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5afd72a96f0a3f65a832fd1448d9de1c534aaa69'/>
<id>urn:sha1:5afd72a96f0a3f65a832fd1448d9de1c534aaa69</id>
<content type='text'>
"ld" on Solaris fails to link some test helpers, which has been
worked around by reshuffling the inline function definitions from a
header file to a source file that is the only user of them.

* ab/pack-linkage-fix:
  pack-objects: move static inline from a header to the sole consumer
</content>
</entry>
<entry>
<title>pack-objects: move static inline from a header to the sole consumer</title>
<updated>2021-05-27T03:14:41Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2021-05-27T00:52:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7d089fb9b73a0d7f9bf43a81f284fd4f499d4886'/>
<id>urn:sha1:7d089fb9b73a0d7f9bf43a81f284fd4f499d4886</id>
<content type='text'>
Move the code that is only used in builtin/pack-objects.c out of
pack-objects.h.

This fixes an issue where Solaris's SunCC hasn't been able to compile
git since 483fa7f42d9 (t/helper/test-bitmap.c: initial commit,
2021-03-31).

The real origin of that issue is that in 898eba5e630 (pack-objects:
refer to delta objects by index instead of pointer, 2018-04-14)
utility functions only needed by builtin/pack-objects.c were added to
pack-objects.h. Since then the header has been used in a few other
places, but 483fa7f42d9 was the first time it was used by test helper.

Since Solaris is stricter about linking and the oe_get_size_slow()
function lives in builtin/pack-objects.c the build started failing
with:

    Undefined                       first referenced
     symbol                             in file
    oe_get_size_slow                    t/helper/test-bitmap.o
    ld: fatal: symbol referencing errors. No output written to t/helper/test-tool

On other platforms this is presumably OK because the compiler and/or
linker detects that the "static inline" functions that reference
oe_get_size_slow() aren't used.

Let's solve this by moving the relevant code from pack-objects.h to
builtin/pack-objects.c. This is almost entirely a code-only move, but
because of the early macro definitions in that file referencing some
of these inline functions we need to move the definition of "static
struct packing_data to_pack" earlier, and declare these inline
functions above the macros.

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'mt/init-template-userpath-fix'</title>
<updated>2021-05-25T07:21:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-05-25T07:21:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5d5b1473453400224ebb126bf3947e0a3276bdf5'/>
<id>urn:sha1:5d5b1473453400224ebb126bf3947e0a3276bdf5</id>
<content type='text'>
Regression fix.

* mt/init-template-userpath-fix:
  init: fix bug regarding ~/ expansion in init.templateDir
</content>
</entry>
<entry>
<title>init: fix bug regarding ~/ expansion in init.templateDir</title>
<updated>2021-05-25T04:22:08Z</updated>
<author>
<name>Matheus Tavares</name>
<email>matheus.bernardino@usp.br</email>
</author>
<published>2021-05-25T03:41:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a185dd58ecc17f2ea16985d59c9bb7b09bec7775'/>
<id>urn:sha1:a185dd58ecc17f2ea16985d59c9bb7b09bec7775</id>
<content type='text'>
We used to read the init.templateDir setting at builtin/init-db.c using
a git_config() callback that, in turn, called git_config_pathname(). To
simplify the config reading logic at this file and plug a memory leak,
this was replaced by a direct call to git_config_get_value() at
e4de4502e6 ("init: remove git_init_db_config() while fixing leaks",
2021-03-14). However, this function doesn't provide path expanding
semantics, like git_config_pathname() does, so paths with '~/' and
'~user/' are treated literally. This makes 'git init' fail to handle
init.templateDir paths using these constructs:

	$ git config init.templateDir '~/templates_dir'
	$ git init
	'warning: templates not found in ~/templates_dir'

Replace the git_config_get_value() call by git_config_get_pathname(),
which does the '~/' and '~user/' expansions. Also add a regression test.
Note that unlike git_config_get_value(), the config cache does not own
the memory for the path returned by git_config_get_pathname(), so we
must free() it.

Reported on IRC by rkta.

Signed-off-by: Matheus Tavares &lt;matheus.bernardino@usp.br&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'dl/stash-show-untracked-fixup'</title>
<updated>2021-05-22T09:29:01Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-05-22T09:29:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=378c7c6ad48c4ccddf9b534616a0e86f28440bd3'/>
<id>urn:sha1:378c7c6ad48c4ccddf9b534616a0e86f28440bd3</id>
<content type='text'>
Another brown paper bag inconsistency fix for a new feature
introduced during this cycle.

* dl/stash-show-untracked-fixup:
  stash show: use stash.showIncludeUntracked even when diff options given
</content>
</entry>
<entry>
<title>Merge branch 'wm/rev-parse-path-format-wo-arg'</title>
<updated>2021-05-22T09:29:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-05-22T09:29:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=99fe1c606925ecd427af6e0338ec18936407ba48'/>
<id>urn:sha1:99fe1c606925ecd427af6e0338ec18936407ba48</id>
<content type='text'>
The "rev-parse" command did not diagnose the lack of argument to
"--path-format" option, which was introduced in v2.31 era, which
has been corrected.

* wm/rev-parse-path-format-wo-arg:
  rev-parse: fix segfault with missing --path-format argument
</content>
</entry>
<entry>
<title>stash show: use stash.showIncludeUntracked even when diff options given</title>
<updated>2021-05-22T08:56:46Z</updated>
<author>
<name>Denton Liu</name>
<email>liu.denton@gmail.com</email>
</author>
<published>2021-05-21T10:37:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=af5cd44b6f8f1934bc8b91f646eb2e73dcab57f3'/>
<id>urn:sha1:af5cd44b6f8f1934bc8b91f646eb2e73dcab57f3</id>
<content type='text'>
If options pertaining to how the diff is displayed is provided to
`git stash show`, the command will ignore the stash.showIncludeUntracked
configuration variable, defaulting to not showing any untracked files.
This is unintuitive behaviour since the format of the diff output and
whether or not to display untracked files are orthogonal.

Use stash.showIncludeUntracked even when diff options are given. Of
course, this is still overridable via the command-line options.

Update the documentation to explicitly say which configuration variables
will be overridden when a diff options are given.

Signed-off-by: Denton Liu &lt;liu.denton@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'en/dir-traversal'</title>
<updated>2021-05-19T23:54:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-05-19T23:54:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=33be431c0c7284c1adf0fe49f7838dbc8aee6ea9'/>
<id>urn:sha1:33be431c0c7284c1adf0fe49f7838dbc8aee6ea9</id>
<content type='text'>
"git clean" and "git ls-files -i" had confusion around working on
or showing ignored paths inside an ignored directory, which has
been corrected.

* en/dir-traversal:
  dir: introduce readdir_skip_dot_and_dotdot() helper
  dir: update stale description of treat_directory()
  dir: traverse into untracked directories if they may have ignored subfiles
  dir: avoid unnecessary traversal into ignored directory
  t3001, t7300: add testcase showcasing missed directory traversal
  t7300: add testcase showing unnecessary traversal into ignored directory
  ls-files: error out on -i unless -o or -c are specified
  dir: report number of visited directories and paths with trace2
  dir: convert trace calls to trace2 equivalents
</content>
</entry>
</feed>
