<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/technical, branch v2.24.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.24.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.24.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2019-10-05T08:53:51Z</updated>
<entry>
<title>trace2: write discard message to sentinel files</title>
<updated>2019-10-05T08:53:51Z</updated>
<author>
<name>Josh Steadmon</name>
<email>steadmon@google.com</email>
</author>
<published>2019-10-04T22:08:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=87db61a4363ad9f42cf7b0d90ad13763dc01e3af'/>
<id>urn:sha1:87db61a4363ad9f42cf7b0d90ad13763dc01e3af</id>
<content type='text'>
Add a new "discard" event type for trace2 event destinations. When the
trace2 file count check creates a sentinel file, it will include the
normal trace2 output in the sentinel, along with this new discard
event.

Writing this message into the sentinel file is useful for tracking how
often the file count check triggers in practice.

Bump up the event format version since we've added a new event type.

Signed-off-by: Josh Steadmon &lt;steadmon@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>docs: clarify trace2 version invariants</title>
<updated>2019-10-04T00:26:42Z</updated>
<author>
<name>Josh Steadmon</name>
<email>steadmon@google.com</email>
</author>
<published>2019-10-03T23:32:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=22541013d00bc457fe1fbdc8ac8b79edc069fd7e'/>
<id>urn:sha1:22541013d00bc457fe1fbdc8ac8b79edc069fd7e</id>
<content type='text'>
Make it explicit that we always want trace2 "version" events to be the
first event of any trace session. Also list the changes that would or
would not cause the EVENT format version field to be incremented.

Signed-off-by: Josh Steadmon &lt;steadmon@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>docs: mention trace2 target-dir mode in git-config</title>
<updated>2019-10-04T00:26:42Z</updated>
<author>
<name>Josh Steadmon</name>
<email>steadmon@google.com</email>
</author>
<published>2019-10-03T23:32:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3d4548e7e29177b6a5e21c73009bc40c63c8ce62'/>
<id>urn:sha1:3d4548e7e29177b6a5e21c73009bc40c63c8ce62</id>
<content type='text'>
Move the description of trace2's target-directory behavior into the
shared trace2-target-values file so that it is included in both the
git-config and api-trace2 docs. Leave the SID discussion only in
api-trace2 since it's a technical detail.

Signed-off-by: Josh Steadmon &lt;steadmon@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ds/include-exclude'</title>
<updated>2019-09-30T04:19:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-09-30T04:19:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9755f70fe6498a4eaae2b9c63e91caa0fd97cb5a'/>
<id>urn:sha1:9755f70fe6498a4eaae2b9c63e91caa0fd97cb5a</id>
<content type='text'>
The internal code originally invented for ".gitignore" processing
got reshuffled and renamed to make it less tied to "excluding" and
stress more that it is about "matching", as it has been reused for
things like sparse checkout specification that want to check if a
path is "included".

* ds/include-exclude:
  unpack-trees: rename 'is_excluded_from_list()'
  treewide: rename 'exclude' methods to 'pattern'
  treewide: rename 'EXCL_FLAG_' to 'PATTERN_FLAG_'
  treewide: rename 'struct exclude_list' to 'struct pattern_list'
  treewide: rename 'struct exclude' to 'struct path_pattern'
</content>
</entry>
<entry>
<title>Merge branch 'cc/multi-promisor'</title>
<updated>2019-09-18T18:50:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-09-18T18:50:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b9ac6c59b82dead613b31a51c8bca4dbd441bcbe'/>
<id>urn:sha1:b9ac6c59b82dead613b31a51c8bca4dbd441bcbe</id>
<content type='text'>
Teach the lazy clone machinery that there can be more than one
promisor remote and consult them in order when downloading missing
objects on demand.

* cc/multi-promisor:
  Move core_partial_clone_filter_default to promisor-remote.c
  Move repository_format_partial_clone to promisor-remote.c
  Remove fetch-object.{c,h} in favor of promisor-remote.{c,h}
  remote: add promisor and partial clone config to the doc
  partial-clone: add multiple remotes in the doc
  t0410: test fetching from many promisor remotes
  builtin/fetch: remove unique promisor remote limitation
  promisor-remote: parse remote.*.partialclonefilter
  Use promisor_remote_get_direct() and has_promisor_remote()
  promisor-remote: use repository_format_partial_clone
  promisor-remote: add promisor_remote_reinit()
  promisor-remote: implement promisor_remote_get_direct()
  Add initial support for many promisor remotes
  fetch-object: make functions return an error code
  t0410: remove pipes after git commands
</content>
</entry>
<entry>
<title>treewide: rename 'exclude' methods to 'pattern'</title>
<updated>2019-09-05T21:05:12Z</updated>
<author>
<name>Derrick Stolee</name>
<email>dstolee@microsoft.com</email>
</author>
<published>2019-09-03T18:04:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=65edd96aecdee2cd4d16a7c17ae9f723c3fe61a4'/>
<id>urn:sha1:65edd96aecdee2cd4d16a7c17ae9f723c3fe61a4</id>
<content type='text'>
The first consumer of pattern-matching filenames was the
.gitignore feature. In that context, storing a list of patterns
as a 'struct exclude_list'  makes sense. However, the
sparse-checkout feature then adopted these structures and methods,
but with the opposite meaning: these patterns match the files
that should be included!

It would be clearer to rename this entire library as a "pattern
matching" library, and the callers apply exclusion/inclusion
logic accordingly based on their needs.

This commit renames several methods defined in dir.h to make
more sense with the renamed 'struct exclude_list' to 'struct
pattern_list' and 'struct exclude' to 'struct path_pattern':

 * last_exclude_matching() -&gt; last_matching_pattern()
 * parse_exclude() -&gt; parse_path_pattern()

In addition, the word 'exclude' was replaced with 'pattern'
in the methods below:

 * add_exclude_list()
 * add_excludes_from_file_to_list()
 * add_excludes_from_file()
 * add_excludes_from_blob_to_list()
 * add_exclude()
 * clear_exclude_list()

A few methods with the word "exclude" remain. These will
be handled seperately. In particular, the method
"is_excluded()" is concretely about the .gitignore file
relative to a specific directory. This is the important
boundary between library and consumer: is_excluded() cares
about .gitignore, but is_excluded() calls
last_matching_pattern() to make that decision.

Signed-off-by: Derrick Stolee &lt;dstolee@microsoft.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/tree-walk-overflow'</title>
<updated>2019-08-22T19:34:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-08-22T19:34:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1b01cdbf2e65331879a4668880a191dfac953761'/>
<id>urn:sha1:1b01cdbf2e65331879a4668880a191dfac953761</id>
<content type='text'>
Codepaths to walk tree objects have been audited for integer
overflows and hardened.

* jk/tree-walk-overflow:
  tree-walk: harden make_traverse_path() length computations
  tree-walk: add a strbuf wrapper for make_traverse_path()
  tree-walk: accept a raw length for traverse_path_len()
  tree-walk: use size_t consistently
  tree-walk: drop oid from traverse_info
  setup_traverse_info(): stop copying oid
</content>
</entry>
<entry>
<title>doc: fix repeated words</title>
<updated>2019-08-12T00:40:07Z</updated>
<author>
<name>Mark Rushakoff</name>
<email>mark.rushakoff@gmail.com</email>
</author>
<published>2019-08-10T05:59:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=24966cd9820a6b0d4e348807b07cb9af8ba84fc7'/>
<id>urn:sha1:24966cd9820a6b0d4e348807b07cb9af8ba84fc7</id>
<content type='text'>
Inspired by 21416f0a07 ("restore: fix typo in docs", 2019-08-03), I ran
"git grep -E '(\b[a-zA-Z]+) \1\b' -- Documentation/" to find other cases
where words were duplicated, e.g. "the the", and in most cases removed
one of the repeated words.

There were many false positives by this grep command, including
deliberate repeated words like "really really" or valid uses of "that
that" which I left alone, of course.

I also did not correct any of the legitimate, accidentally repeated
words in old RelNotes.

Signed-off-by: Mark Rushakoff &lt;mark.rushakoff@gmail.com&gt;
Acked-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'mr/doc-can-not-to-cannot'</title>
<updated>2019-08-08T21:26:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-08-08T21:26:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=68c1ac4a0bdff0c0522a243e520f16995ade5959'/>
<id>urn:sha1:68c1ac4a0bdff0c0522a243e520f16995ade5959</id>
<content type='text'>
Docfix.

* mr/doc-can-not-to-cannot:
  doc: typo: s/can not/cannot/ and s/is does/does/
</content>
</entry>
<entry>
<title>doc: typo: s/can not/cannot/ and s/is does/does/</title>
<updated>2019-08-05T17:05:24Z</updated>
<author>
<name>Mark Rushakoff</name>
<email>mark.rushakoff@gmail.com</email>
</author>
<published>2019-08-03T05:33:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6d16922798bbb87ddbc1ff1d23ba8ea65f4f6d3b'/>
<id>urn:sha1:6d16922798bbb87ddbc1ff1d23ba8ea65f4f6d3b</id>
<content type='text'>
"Can not" suggests one has the option to not do something, whereas
"cannot" more strongly suggests something is disallowed or impossible.

Noticed "can not", mistakenly used instead of "cannot" in git help
glossary, then ran git grep 'can not' and found many other instances.
Only files in the Documentation folder were modified.

'Can not' also occurs in some source code comments and some test
assertion messages, and there is an error message and translation "can
not move directory into itself" which I may fix and submit separately
from the documentation change.

Also noticed and fixed "is does" in git help fetch, but there are no
other occurrences of that typo according to git grep.

Signed-off-by: Mark Rushakoff &lt;mark.rushakoff@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
