<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/diff.c, branch v1.5.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v1.5.2</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v1.5.2'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2007-05-16T04:16:03Z</updated>
<entry>
<title>Ensure return value from xread() is always stored into an ssize_t</title>
<updated>2007-05-16T04:16:03Z</updated>
<author>
<name>Johan Herland</name>
<email>johan@herland.net</email>
</author>
<published>2007-05-15T12:49:22Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=8a912bcb250d8bf57b225e1cf02c0d69d54c8920'/>
<id>urn:sha1:8a912bcb250d8bf57b225e1cf02c0d69d54c8920</id>
<content type='text'>
This patch fixes all calls to xread() where the return value is not
stored into an ssize_t. The patch should not have any effect whatsoever,
other than putting better/more appropriate type names on variables.

Signed-off-by: Johan Herland &lt;johan@herland.net&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>diff.c: do not use a separate "size cache".</title>
<updated>2007-05-07T22:54:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-05-07T08:14:21Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=6e0b8ed6d35d0ed94b22652d6e8545b610cc43ab'/>
<id>urn:sha1:6e0b8ed6d35d0ed94b22652d6e8545b610cc43ab</id>
<content type='text'>
diff_filespec has a slot to record the size of the data already,
so make use of it instead of a separate size cache.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>diff: release blobs after generating textual diff.</title>
<updated>2007-05-07T22:54:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-05-03T20:05:48Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=fc3abdf5cb16914fb22747d7c3fb44258712a36d'/>
<id>urn:sha1:fc3abdf5cb16914fb22747d7c3fb44258712a36d</id>
<content type='text'>
This reduces the memory pressure when dealing with many paths.

An unscientific test of running "diff-tree --stat --summary -M"
between v2.6.19 and v2.6.20-rc1 in the linux kernel repository
indicates that the number of minor faults are reduced by 2/3.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2007-05-04T06:26:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-05-04T06:26:54Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=9aae177a4adff326421e55c7c0f3138de15ce2c1'/>
<id>urn:sha1:9aae177a4adff326421e55c7c0f3138de15ce2c1</id>
<content type='text'>
* maint:
  gitweb: use decode_utf8 directly
  posix compatibility for t4200
  Document 'opendiff' value in config.txt and git-mergetool.txt
  Allow PERL_PATH="/usr/bin/env perl"
  Make xstrndup common
  diff.c: fix "size cache" handling.
  http-fetch: Disable use of curl multi support for libcurl &lt; 7.16.
</content>
</entry>
<entry>
<title>diff.c: fix "size cache" handling.</title>
<updated>2007-05-04T05:12:40Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-05-03T20:00:43Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=cdda666201710dcf50d7ebee804aac65fdec32fd'/>
<id>urn:sha1:cdda666201710dcf50d7ebee804aac65fdec32fd</id>
<content type='text'>
We broke the size-cache handling when we changed the function
signature of sha1_object_info() in 21666f1a.  We obviously
wanted to cache the size we obtained when sha1_object_info()
succeeded, not when it failed.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Support 'diff=pgm' attribute</title>
<updated>2007-04-23T05:16:14Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-04-23T00:52:55Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=f1af60bdba465779df92090ed370988f202ff043'/>
<id>urn:sha1:f1af60bdba465779df92090ed370988f202ff043</id>
<content type='text'>
This enhances the attributes mechanism so that external programs
meant for existing GIT_EXTERNAL_DIFF interface can be specifed
per path.

To configure such a custom diff driver, first define a custom
diff driver in the configuration:

	[diff "my-c-diff"]
		command = &lt;&lt;your command string comes here&gt;&gt;

Then mark the paths that you want to use this custom driver
using the attribute mechanism.

	*.c	diff=my-c-diff

The intent of this separation is that the attribute mechanism is
used for specifying the type of the contents, while the
configuration mechanism is used to define what needs to be done
to that type of the contents, which would be specific to both
platform and personal taste.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/attr'</title>
<updated>2007-04-22T00:38:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-04-22T00:38:00Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=a2d7c6c62080b542007f9787342aa1e57b95f50c'/>
<id>urn:sha1:a2d7c6c62080b542007f9787342aa1e57b95f50c</id>
<content type='text'>
* 'jc/attr': (28 commits)
  lockfile: record the primary process.
  convert.c: restructure the attribute checking part.
  Fix bogus linked-list management for user defined merge drivers.
  Simplify calling of CR/LF conversion routines
  Document gitattributes(5)
  Update 'crlf' attribute semantics.
  Documentation: support manual section (5) - file formats.
  Simplify code to find recursive merge driver.
  Counto-fix in merge-recursive
  Fix funny types used in attribute value representation
  Allow low-level driver to specify different behaviour during internal merge.
  Custom low-level merge driver: change the configuration scheme.
  Allow the default low-level merge driver to be configured.
  Custom low-level merge driver support.
  Add a demonstration/test of customized merge.
  Allow specifying specialized merge-backend per path.
  merge-recursive: separate out xdl_merge() interface.
  Allow more than true/false to attributes.
  Document git-check-attr
  Change attribute negation marker from '!' to '-'.
  ...
</content>
</entry>
<entry>
<title>Simplify calling of CR/LF conversion routines</title>
<updated>2007-04-21T06:24:34Z</updated>
<author>
<name>Alex Riesen</name>
<email>raa.lkml@gmail.com</email>
</author>
<published>2007-04-19T00:05:03Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=ac78e548049f4e86b38368d2c4b4dbb546c64ac6'/>
<id>urn:sha1:ac78e548049f4e86b38368d2c4b4dbb546c64ac6</id>
<content type='text'>
Signed-off-by: Alex Riesen &lt;raa.lkml@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Fix funny types used in attribute value representation</title>
<updated>2007-04-18T23:17:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-04-18T23:16:37Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=a5e92abde61d59a8612c5b87d0bae681e90f7fdb'/>
<id>urn:sha1:a5e92abde61d59a8612c5b87d0bae681e90f7fdb</id>
<content type='text'>
It was bothering me a lot that I abused small integer values
casted to (void *) to represent non string values in
gitattributes.  This corrects it by making the type of attribute
values (const char *), and using the address of a few statically
allocated character buffer to denote true/false.  Unset attributes
are represented as having NULLs as their values.

Added in-header documentation to explain how git_checkattr()
routine should be called.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Allow more than true/false to attributes.</title>
<updated>2007-04-17T08:04:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-04-17T04:33:31Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=515106fa1335462393c08fa8712dddd767dc147a'/>
<id>urn:sha1:515106fa1335462393c08fa8712dddd767dc147a</id>
<content type='text'>
This allows you to define three values (and possibly more) to
each attribute: true, false, and unset.

Typically the handlers that notice and act on attribute values
treat "unset" attribute to mean "do your default thing"
(e.g. crlf that is unset would trigger "guess from contents"),
so being able to override a setting to an unset state is
actually useful.

 - If you want to set the attribute value to true, have an entry
   in .gitattributes file that mentions the attribute name; e.g.

	*.o	binary

 - If you want to set the attribute value explicitly to false,
   use '-'; e.g.

	*.a	-diff

 - If you want to make the attribute value _unset_, perhaps to
   override an earlier entry, use '!'; e.g.

	*.a	-diff
	c.i.a	!diff

This also allows string values to attributes, with the natural
syntax:

	attrname=attrvalue

but you cannot use it, as nobody takes notice and acts on
it yet.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
</feed>
