<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/read-cache.c, branch v0.99.8e</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v0.99.8e</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v0.99.8e'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2005-10-02T06:55:47Z</updated>
<entry>
<title>[PATCH] Better error reporting for "git status"</title>
<updated>2005-10-02T06:55:47Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2005-10-01T20:24:27Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=5d1a5c02e8ac1c16688ea4a44512245f25a49f8a'/>
<id>urn:sha1:5d1a5c02e8ac1c16688ea4a44512245f25a49f8a</id>
<content type='text'>
Instead of "git status" ignoring (and hiding) potential errors from the
"git-update-index" call, make it exit if it fails, and show the error.

In order to do this, use the "-q" flag (to ignore not-up-to-date files)
and add a new "--unmerged" flag that allows unmerged entries in the index
without any errors.

This also avoids marking the index "changed" if an entry isn't actually
modified, and makes sure that we exit with an understandable error message
if the index is corrupt or unreadable. "read_cache()" no longer returns an
error for the caller to check.

Finally, make die() and usage() exit with recognizable error codes, if we
ever want to check the failure reason in scripts.

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Diff clean-up.</title>
<updated>2005-09-25T06:50:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-09-21T07:00:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=6b5ee137e56af8093391411389dd4b18416707ec'/>
<id>urn:sha1:6b5ee137e56af8093391411389dd4b18416707ec</id>
<content type='text'>
This is a long overdue clean-up to the code for parsing and passing
diff options.  It also tightens some constness issues.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Show modified files in git-ls-files</title>
<updated>2005-09-20T22:07:53Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-09-19T22:11:15Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b0391890d25d9e7ca8f7df2199292df68ead8093'/>
<id>urn:sha1:b0391890d25d9e7ca8f7df2199292df68ead8093</id>
<content type='text'>
Add -m/--modified to show files that have been modified wrt. the index.

[jc: The original came from Brian Gerst on Sep 1st but it only checked
if the paths were cache dirty without actually checking the files were
modified.  I also added the usage string and a new test.]

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] Fix buffer overflow in ce_flush().</title>
<updated>2005-09-11T17:51:13Z</updated>
<author>
<name>Qingning Huo</name>
<email>qhuo@mayhq.co.uk</email>
</author>
<published>2005-09-11T13:27:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=2c865d9aa7b9c3511f901b2544b667c5188f510e'/>
<id>urn:sha1:2c865d9aa7b9c3511f901b2544b667c5188f510e</id>
<content type='text'>
Add a check before appending SHA1 signature to write_buffer,
flush it first if necessary.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] Improve handling of "." and ".." in git-diff-*</title>
<updated>2005-08-17T04:33:25Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2005-08-17T03:44:32Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=f332726eaad74ac2aac0c3fb2dcb662acdbc3a31'/>
<id>urn:sha1:f332726eaad74ac2aac0c3fb2dcb662acdbc3a31</id>
<content type='text'>
This fixes up usage of ".." (without an ending slash) and "." (with or
without the ending slash) in the git diff family.

It also fixes pathspec matching for the case of an empty pathspec, since a
"." in the top-level directory (or enough ".." under subdirectories) will
result in an empty pathspec. We used to not match it against anything, but
it should in fact match everything.

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] mmap error handling</title>
<updated>2005-07-30T00:21:48Z</updated>
<author>
<name>Pavel Roskin</name>
<email>proski@gnu.org</email>
</author>
<published>2005-07-29T14:49:14Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=e35f9824159bba94eecdf22d198799701ed60940'/>
<id>urn:sha1:e35f9824159bba94eecdf22d198799701ed60940</id>
<content type='text'>
I have reviewed all occurrences of mmap() in git and fixed three types
of errors/defects:

1) The result is not checked.
2) The file descriptor is closed if mmap() succeeds, but not when it
fails.
3) Various casts applied to -1 are used instead of MAP_FAILED, which is
specifically defined to check mmap() return value.

[jc: This is a second round of Pavel's patch.  He fixed up the problem
that close() potentially clobbering the errno from mmap, which
the first round had.]

Signed-off-by: Pavel Roskin &lt;proski@gnu.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Make "ce_match_path()" a generic helper function</title>
<updated>2005-07-14T23:55:06Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2005-07-14T23:55:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=c0fd1f517efeb67df32b8d4ffa209afab14be436'/>
<id>urn:sha1:c0fd1f517efeb67df32b8d4ffa209afab14be436</id>
<content type='text'>
... and make git-diff-files use it too.  This all _should_ make the
diffcore-pathspec.c phase unnecessary, since the diff'ers now all do the
path matching early interally.
</content>
</entry>
<entry>
<title>[PATCH] Fix oversimplified optimization for add_cache_entry().</title>
<updated>2005-06-25T23:52:16Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-06-25T09:25:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b155725daeec48436d1fcbec4854ffd317408a6e'/>
<id>urn:sha1:b155725daeec48436d1fcbec4854ffd317408a6e</id>
<content type='text'>
An earlier change to optimize directory-file conflict check
broke what "read-tree --emu23" expects.  This is fixed by this
commit.

(1) Introduces an explicit flag to tell add_cache_entry() not to
    check for conflicts and use it when reading an existing tree
    into an empty stage --- by definition this case can never
    introduce such conflicts.

(2) Makes read-cache.c:has_file_name() and read-cache.c:has_dir_name()
    aware of the cache stages, and flag conflict only with paths
    in the same stage.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>read-cache.c: remove stray debugging printf</title>
<updated>2005-06-19T06:34:12Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@ppc970.osdl.org</email>
</author>
<published>2005-06-19T06:34:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=2160a025d2a20202e323d33d879521d23e28b709'/>
<id>urn:sha1:2160a025d2a20202e323d33d879521d23e28b709</id>
<content type='text'>
Pointed out by Junio, part of my debugging of the rewrite of the
file/dir conflict handling.
</content>
</entry>
<entry>
<title>Re-implement "check_file_directory_conflict()"</title>
<updated>2005-06-19T03:21:34Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@ppc970.osdl.org</email>
</author>
<published>2005-06-19T03:21:34Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=12676608fefd6b148bd9fd4cbd4eb6c2ff3e15e9'/>
<id>urn:sha1:12676608fefd6b148bd9fd4cbd4eb6c2ff3e15e9</id>
<content type='text'>
This is (imho) more readable, and is also a lot faster.  The expense of
looking up sub-directory beginnings was killing us on things like
"git-diff-cache", even though that one didn't even care at all about the
file vs directory conflicts.

We really only care when somebody tries to add a conflicting name to
stage 0.

We should go through the conflict rules more carefully some day.
</content>
</entry>
</feed>
