<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/diff.c, branch v1.5.0.7</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.5.0.7</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.5.0.7'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2007-02-24T09:26:52Z</updated>
<entry>
<title>diff-patch: Avoid emitting double-slashes in textual patch.</title>
<updated>2007-02-24T09:26:52Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-02-23T11:44:30Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=5089277718503a4de7817b5f6754cb03116d5524'/>
<id>urn:sha1:5089277718503a4de7817b5f6754cb03116d5524</id>
<content type='text'>
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Mark places that need blob munging later for CRLF conversion.</title>
<updated>2007-02-13T18:12:37Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2007-02-13T17:23:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=bd3a5b5ee5cc627dc278d2028fb017161705fe02'/>
<id>urn:sha1:bd3a5b5ee5cc627dc278d2028fb017161705fe02</id>
<content type='text'>
Here's a patch that I think we can merge right now. There may be
other places that need this, but this at least points out the
three places that read/write working tree files for git
update-index, checkout and diff respectively. That should cover
a lot of it [jc: git-apply uses an entirely different codepath
both for reading and writing].

Some day we can actually implement it. In the meantime, this
points out a place for people to start. We *can* even start with
a really simple "we do CRLF conversion automatically, regardless
of filename" kind of approach, that just look at the data (all
three cases have the _full_ file data already in memory) and
says "ok, this is text, so let's convert to/from DOS format
directly".

THAT somebody can write in ten minutes, and it would already
make git much nicer on a DOS/Windows platform, I suspect.

And it would be totally zero-cost if you just make it a config
option (but please make it dynamic with the _default_ just being
0/1 depending on whether it's UNIX/Windows, just so that UNIX
people can _test_ it easily).

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>diff.c: More logical file name quoting for renames in diffstat.</title>
<updated>2007-02-11T21:08:10Z</updated>
<author>
<name>Alexandre Julliard</name>
<email>julliard@winehq.org</email>
</author>
<published>2007-02-10T14:39:00Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=e5bfbf9b3ee57292aea95313e8659d26f90f8cc5'/>
<id>urn:sha1:e5bfbf9b3ee57292aea95313e8659d26f90f8cc5</id>
<content type='text'>
Quote both file names separately when printing a rename, yielding
something like

  "foo" =&gt; "bar"

instead of the current

  "foo =&gt; bar"

Signed-off-by: Alexandre Julliard &lt;julliard@winehq.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>diff.c: Properly quote file names in diff --summary output.</title>
<updated>2007-02-11T20:53:05Z</updated>
<author>
<name>Alexandre Julliard</name>
<email>julliard@winehq.org</email>
</author>
<published>2007-02-10T14:37:48Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=0d26a64ece4d2692463a7bcb5235b75ee2f35ec0'/>
<id>urn:sha1:0d26a64ece4d2692463a7bcb5235b75ee2f35ec0</id>
<content type='text'>
Signed-off-by: Alexandre Julliard &lt;julliard@winehq.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>diff.c: Reuse the pprint_rename function for diff --summary output.</title>
<updated>2007-02-11T20:47:22Z</updated>
<author>
<name>Alexandre Julliard</name>
<email>julliard@winehq.org</email>
</author>
<published>2007-02-10T14:36:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b9f441646c5c8abb92dc110d28decdfe2c9720b2'/>
<id>urn:sha1:b9f441646c5c8abb92dc110d28decdfe2c9720b2</id>
<content type='text'>
This avoids some code duplication, and yields more readable results
for directory renames.

Signed-off-by: Alexandre Julliard &lt;julliard@winehq.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>diff_flush_name(): take struct diff_options parameter.</title>
<updated>2007-02-10T06:43:02Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-02-10T06:18:19Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=471efb09aaa266e75e499829fc31a59337ef4a96'/>
<id>urn:sha1:471efb09aaa266e75e499829fc31a59337ef4a96</id>
<content type='text'>
Among the low-level output functions called from flush_one_pair(),
this was the only function that did not take (filepair, options)
as arguments.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>short i/o: fix calls to write to use xwrite or write_in_full</title>
<updated>2007-01-08T23:44:47Z</updated>
<author>
<name>Andy Whitcroft</name>
<email>apw@shadowen.org</email>
</author>
<published>2007-01-08T15:58:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=93822c2239a336e5cb583549071c59202ef6c5b2'/>
<id>urn:sha1:93822c2239a336e5cb583549071c59202ef6c5b2</id>
<content type='text'>
We have a number of badly checked write() calls.  Often we are
expecting write() to write exactly the size we requested or fail,
this fails to handle interrupts or short writes.  Switch to using
the new write_in_full().  Otherwise we at a minimum need to check
for EINTR and EAGAIN, where this is appropriate use xwrite().

Note, the changes to config handling are much larger and handled
in the next patch in the sequence.

Signed-off-by: Andy Whitcroft &lt;apw@shadowen.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'sp/mmap'</title>
<updated>2007-01-07T08:12:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-01-07T08:12:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=cf2999eb4cbe39d5a40add574be9e5c019df758b'/>
<id>urn:sha1:cf2999eb4cbe39d5a40add574be9e5c019df758b</id>
<content type='text'>
* sp/mmap: (27 commits)
  Spell default packedgitlimit slightly differently
  Increase packedGit{Limit,WindowSize} on 64 bit systems.
  Update packedGit config option documentation.
  mmap: set FD_CLOEXEC for file descriptors we keep open for mmap()
  pack-objects: fix use of use_pack().
  Fix random segfaults in pack-objects.
  Cleanup read_cache_from error handling.
  Replace mmap with xmmap, better handling MAP_FAILED.
  Release pack windows before reporting out of memory.
  Default core.packdGitWindowSize to 1 MiB if NO_MMAP.
  Test suite for sliding window mmap implementation.
  Create pack_report() as a debugging aid.
  Support unmapping windows on 'temporary' packfiles.
  Improve error message when packfile mmap fails.
  Ensure core.packedGitWindowSize cannot be less than 2 pages.
  Load core configuration in git-verify-pack.
  Fully activate the sliding window pack access.
  Unmap individual windows rather than entire files.
  Document why header parsing won't exceed a window.
  Loop over pack_windows when inflating/accessing data.
  ...

Conflicts:

	cache.h
	pack-check.c
</content>
</entry>
<entry>
<title>diff-index --cached --raw: show tree entry on the LHS for unmerged entries.</title>
<updated>2007-01-07T06:57:42Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-01-05T09:25:18Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=e9c8409900fc84cd7721117c98dfe01acd535aa2'/>
<id>urn:sha1:e9c8409900fc84cd7721117c98dfe01acd535aa2</id>
<content type='text'>
This updates the way diffcore represents an unmerged pair
somewhat.  It used to be that entries with mode=0 on both sides
were used to represent an unmerged pair, but now it has an
explicit flag.  This is to allow diff-index --cached to report
the entry from the tree when the path is unmerged in the index.

This is used in updating "git reset &lt;tree&gt; -- &lt;path&gt;" to restore
absense of the path in the index from the tree.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Replace mmap with xmmap, better handling MAP_FAILED.</title>
<updated>2006-12-29T19:36:45Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2006-12-24T05:47:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=c4712e4553f13d87d655325a57538f299402d457'/>
<id>urn:sha1:c4712e4553f13d87d655325a57538f299402d457</id>
<content type='text'>
In some cases we did not even bother to check the return value of
mmap() and just assume it worked.  This is bad, because if we are
out of virtual address space the kernel returned MAP_FAILED and we
would attempt to dereference that address, segfaulting without any
real error output to the user.

We are replacing all calls to mmap() with xmmap() and moving all
MAP_FAILED checking into that single location.  If a mmap call
fails we try to release enough least-recently-used pack windows
to possibly succeed, then retry the mmap() attempt.  If we cannot
mmap even after releasing pack memory then we die() as none of our
callers have any reasonable recovery strategy for a failed mmap.

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