<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/gitattributes.txt, branch v2.17.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.17.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.17.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2018-03-21T18:30:15Z</updated>
<entry>
<title>Merge branch 'jk/attributes-path-doc'</title>
<updated>2018-03-21T18:30:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-03-21T18:30:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d16c37964c284fa599251caafb51128c0df925a9'/>
<id>urn:sha1:d16c37964c284fa599251caafb51128c0df925a9</id>
<content type='text'>
Doc update.

* jk/attributes-path-doc:
  doc/gitattributes: mention non-recursive behavior
</content>
</entry>
<entry>
<title>doc/gitattributes: mention non-recursive behavior</title>
<updated>2018-03-20T17:01:03Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2018-03-20T04:14:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b635ed97a06e10e6b562d8a4356444ac8e31dce8'/>
<id>urn:sha1:b635ed97a06e10e6b562d8a4356444ac8e31dce8</id>
<content type='text'>
The gitattributes documentation claims that the pattern
rules are largely the same as for gitignore. However, the
rules for recursion are different.

In an ideal world, we would make them the same (if for
nothing else than consistency and simplicity), but that
would create backwards compatibility issues. For some
discussion, see this thread:

  https://public-inbox.org/git/slrnkldd3g.1l4.jan@majutsushi.net/

But let's at least document the differences instead of
actively misleading the user by claiming that they're the
same.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>userdiff: add built-in pattern for golang</title>
<updated>2018-03-01T21:36:49Z</updated>
<author>
<name>Alban Gruin</name>
<email>alban.gruin@gmail.com</email>
</author>
<published>2018-03-01T11:19:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1dbf0c0ad6cabfc35aa1896b4d94f4ee811ba803'/>
<id>urn:sha1:1dbf0c0ad6cabfc35aa1896b4d94f4ee811ba803</id>
<content type='text'>
This adds xfuncname and word_regex patterns for golang, a quite
popular programming language. It also includes test cases for the
xfuncname regex (t4018) and updated documentation.

The xfuncname regex finds functions, structs and interfaces.  Although
the Go language prohibits the opening brace from being on its own
line, the regex does not makes it mandatory, to be able to match
`func` statements like this:

    func foo(bar int,
    	baz int) {
    }

This is covered by the test case t4018/golang-long-func.

The word_regex pattern finds identifiers, integers, floats, complex
numbers and operators, according to the go specification.

Signed-off-by: Alban Gruin &lt;alban.gruin@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Docs: split out long-running subprocess handshake</title>
<updated>2018-01-25T19:24:32Z</updated>
<author>
<name>Jonathan Tan</name>
<email>jonathantanmy@google.com</email>
</author>
<published>2018-01-25T18:53:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=addad10594583092ad92a4b82c40040b913bb8ee'/>
<id>urn:sha1:addad10594583092ad92a4b82c40040b913bb8ee</id>
<content type='text'>
Separating out the implementation of the handshake when starting a
long-running subprocess (for example, as is done for a clean/smudge
filter) was done in commit fa64a2fdbeed ("sub-process: refactor
handshake to common function", 2017-07-26), but its documentation still
resides in gitattributes. Split out the documentation as well.

Signed-off-by: Jonathan Tan &lt;jonathantanmy@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>add: introduce "--renormalize"</title>
<updated>2017-11-17T01:31:05Z</updated>
<author>
<name>Torsten Bögershausen</name>
<email>tboegi@web.de</email>
</author>
<published>2017-11-16T16:38:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9472935d81eaf9faed771878c9df0216ae0d9045'/>
<id>urn:sha1:9472935d81eaf9faed771878c9df0216ae0d9045</id>
<content type='text'>
Make it safer to normalize the line endings in a repository.
Files that had been commited with CRLF will be commited with LF.

The old way to normalize a repo was like this:

 # Make sure that there are not untracked files
 $ echo "* text=auto" &gt;.gitattributes
 $ git read-tree --empty
 $ git add .
 $ git commit -m "Introduce end-of-line normalization"

The user must make sure that there are no untracked files,
otherwise they would have been added and tracked from now on.

The new "add --renormalize" does not add untracked files:

 $ echo "* text=auto" &gt;.gitattributes
 $ git add --renormalize .
 $ git commit -m "Introduce end-of-line normalization"

Note that "git add --renormalize &lt;pathspec&gt;" is the short form for
"git add -u --renormalize &lt;pathspec&gt;".

While at it, document that the same renormalization may be needed,
whenever a clean filter is added or changed.

Helped-By: Junio C Hamano &lt;gitster@pobox.com&gt;
Signed-off-by: Torsten Bögershausen &lt;tboegi@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Documentation: mention that `eol` can change the dirty status of paths</title>
<updated>2017-09-06T23:57:54Z</updated>
<author>
<name>Ben Boeckel</name>
<email>mathstuf@gmail.com</email>
</author>
<published>2017-08-31T13:19:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3bc4b8f7c757059bb845b5074691362cece91c70'/>
<id>urn:sha1:3bc4b8f7c757059bb845b5074691362cece91c70</id>
<content type='text'>
When setting the `eol` attribute, paths can change their dirty status
without any change in the working directory. This can cause confusion
and should at least be mentioned with a remedy.

Signed-off-by: Ben Boeckel &lt;mathstuf@gmail.com&gt;
Reviewed-by: Torsten Bögershausen &lt;tboegi@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ls/filter-process-delayed' into jt/subprocess-handshake</title>
<updated>2017-07-26T19:56:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-07-26T19:56:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=487fe1ffcd3b3a38477b7e564f235bb7d1b89ecc'/>
<id>urn:sha1:487fe1ffcd3b3a38477b7e564f235bb7d1b89ecc</id>
<content type='text'>
* ls/filter-process-delayed:
  convert: add "status=delayed" to filter process protocol
  convert: refactor capabilities negotiation
  convert: move multiple file filter error handling to separate function
  convert: put the flags field before the flag itself for consistent style
  t0021: write "OUT &lt;size&gt;" only on success
  t0021: make debug log file name configurable
  t0021: keep filter log files on comparison
</content>
</entry>
<entry>
<title>convert: add "status=delayed" to filter process protocol</title>
<updated>2017-06-30T20:50:41Z</updated>
<author>
<name>Lars Schneider</name>
<email>larsxschneider@gmail.com</email>
</author>
<published>2017-06-30T20:41:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2841e8f81cb2820024804b9341577be1d0ce1240'/>
<id>urn:sha1:2841e8f81cb2820024804b9341577be1d0ce1240</id>
<content type='text'>
Some `clean` / `smudge` filters may require a significant amount of
time to process a single blob (e.g. the Git LFS smudge filter might
perform network requests). During this process the Git checkout
operation is blocked and Git needs to wait until the filter is done to
continue with the checkout.

Teach the filter process protocol, introduced in edcc8581 ("convert: add
filter.&lt;driver&gt;.process option", 2016-10-16), to accept the status
"delayed" as response to a filter request. Upon this response Git
continues with the checkout operation. After the checkout operation Git
calls "finish_delayed_checkout" which queries the filter for remaining
blobs. If the filter is still working on the completion, then the filter
is expected to block. If the filter has completed all remaining blobs
then an empty response is expected.

Git has a multiple code paths that checkout a blob. Support delayed
checkouts only in `clone` (in unpack-trees.c) and `checkout` operations
for now. The optimization is most effective in these code paths as all
files of the tree are processed.

Signed-off-by: Lars Schneider &lt;larsxschneider@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>doc: do not use `rm .git/index` when normalizing line endings</title>
<updated>2017-06-15T17:55:47Z</updated>
<author>
<name>Andreas Heiduk</name>
<email>asheiduk@gmail.com</email>
</author>
<published>2017-06-14T06:51:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=773a88914f7b951cb33b27b12b4b715b66451a07'/>
<id>urn:sha1:773a88914f7b951cb33b27b12b4b715b66451a07</id>
<content type='text'>
When illustrating how to normalize the line endings, the
documentation in gitattributes tells the user to `rm .git/index`.

This is incorrect for two reasons:

 - Users shouldn't be instructed to mess around with the internal
   implementation of Git using raw file system tools like `rm`.

 - Within a submodule or an additional working tree `.git` is just a
   file containing a `gitdir: &lt;path&gt;` pointer into the real `.git`
   directory.  Therefore `rm .git/index` does not work.

The purpose of the `rm .git/index` instruction is to remove all entries
from the index without touching the working tree.  The way to do this
with Git is to use `read-tree --empty`.

Signed-off-by: Andreas Heiduk &lt;asheiduk@gmail.com&gt;
Helped-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Helped-by: Torsten Bögershausen &lt;tboegi@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'tb/doc-eol-normalization'</title>
<updated>2017-04-24T05:07:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-04-24T05:07:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=848d9a9bb7407cd3a2d45941f732b2ddc32588a7'/>
<id>urn:sha1:848d9a9bb7407cd3a2d45941f732b2ddc32588a7</id>
<content type='text'>
Doc update.

* tb/doc-eol-normalization:
  gitattributes.txt: document how to normalize the line endings
</content>
</entry>
</feed>
