summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-01-11Better error messages for corrupt databasesLibravatar Linus Torvalds2-1/+3
This fixes another problem that Andy's case showed: git-fsck-objects reports nonsensical results for corrupt objects. There were actually two independent and confusing problems: - when we had a zero-sized file and used map_sha1_file, mmap() would return EINVAL, and git-fsck-objects would report that as an insane and confusing error. I don't know when this was introduced, it might have been there forever. - when "parse_object()" returned NULL, fsck would say "object not found", which can be very confusing, since obviously the object might "exist", it's just unparseable because it's totally corrupt. So this just makes "xmmap()" return NULL for a zero-sized object (which is a valid thing pointer, exactly the same way "malloc()" can return NULL for a zero-sized allocation). That fixes the first problem (but we could have fixed it in the caller too - I don't personally much care whichever way it goes, but maybe somebody should check that the NO_MMAP case does something sane in this case too?). And the second problem is solved by just making the error message slightly clearer - the failure to parse an object may be because it's missing or corrupt, not necessarily because it's not "found". Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-11config-set: check write-in-full returns in set_multivarLibravatar Junio C Hamano1-19/+24
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-11index-pack: write-or-die instead of unchecked write-in-full.Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-11write_in_full: really write in full or return error on disk full.Libravatar Linus Torvalds1-7/+6
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-11Document git-initLibravatar Junio C Hamano2-90/+115
These days, the command does a lot more than just initialise the object database (such as setting default config-variables, installing template hooks...), and "git init" is actually a more sensible name nowadays. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-11write-cache: do not leak the serialized cache-tree data.Libravatar Linus Torvalds1-1/+1
It is not used after getting written, and just is leaking every time we write the index out. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-10Provide better feedback for the untracked only case in status outputLibravatar Jürgen Rühle2-11/+16
Since 98bf8a47c296f51ea9722fef4bb81dbfb70cd4bb status would claim that git-commit could be useful even if there are no changes except untracked files. Since wt-status is already computing all the information needed go the whole way and actually track the (non-)emptiness of all three sections separately, unify the code, and provide useful messages for each individual case. Thanks to Junio and Michael Loeffler for suggestions. Signed-off-by: Jürgen Rühle <j-r@online.de>
2007-01-10Merge branch 'js/reflog'Libravatar Junio C Hamano6-24/+44
* js/reflog: Sanitize for_each_reflog_ent()
2007-01-10Makefile: remove $foo when $foo.exe is built/installed.Libravatar Junio C Hamano1-3/+9
On Cygwin, newly builtins are not recognized, because there exist both the executable binaries (with .exe extension) _and_ the now-obsolete scripts (without extension), but the script is executed. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-10send-email: work around double encoding of in-body From field.Libravatar Jürgen Rühle1-0/+10
git-send-email sends out the message taken from format-patch output without quoting nor encoding. When copying the From: line to form in-body From: field, it should not copy it verbatim, because the From: for the header is quoted according to RFC 2047 when not ASCII. The original came from Jürgen Rühle, but I moved the string munging into a separate function so that later other people can tweak it more easily. Bugs introduced during the translation are mine. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-10Add git-init documentation.Libravatar Nicolas Pitre1-0/+1
Oops. Commit 515377ea9ec6192f82a2fa5c5b5b7651d9d6cf6c missed one file, git-init documentation. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-10Fix t1410 for core.filemode==falseLibravatar Johannes Schindelin1-0/+2
Since c869753e, core.filemode is hardwired to false on Cygwin. So this test had no chance to succeed, since an early commit (changing just the filemode) failed, and therefore all subsequent tests. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-10Make git-describe a builtin.Libravatar Shawn O. Pearce4-3/+6
Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-10Don't save the commit buffer in git-describe.Libravatar Shawn O. Pearce1-0/+1
The commit buffer (message of the commit) is not actually used by the git-describe process. We can save some memory by not keeping it around. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09Fix warnings in sha1_file.c - use C99 printf format if availableLibravatar Pavel Roskin1-4/+11
Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09-u is now default for 'git-mailinfo'.Libravatar Junio C Hamano4-18/+21
Originally from David Woodhouse, but also adjusts the callers of mailinfo to the new default. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09-u is now default for 'git-applymbox'Libravatar Junio C Hamano2-8/+9
It has '-n' to disable it just in case, but do not even bother documenting it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09git-am: should work when "--no-utf8 --utf8" is givenLibravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09Don't die in git-http-fetch when fetching packs.Libravatar Shawn O. Pearce2-0/+4
My sp/mmap changes to pack-check.c modified the function such that it expects packed_git.pack_size to be populated with the total bytecount of the packfile by the caller. But that isn't the case for packs obtained by git-http-fetch as pack_size was not initialized before being accessed. This caused verify_pack to think it had 2^32-21 bytes available when the downloaded pack perhaps was only 305 bytes in length. The use_pack function then later dies with "offset beyond end of packfile" when computing the overall file checksum. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09Update git-svn manpage to remove the implication that SVN::* is optional.Libravatar Steven Grimm1-59/+6
Now that git-svn requires the SVN::* Perl library, the manpage doesn't need to describe what happens when you don't have it. Signed-off-by: Steven Grimm <koreth@midwinter.com> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09Replacing the system call pread() with lseek()/xread()/lseek() sequence.Libravatar Stefan-W. Hahn3-0/+30
Using cygwin with cygwin.dll before 1.5.22 the system call pread() is buggy. This patch introduces NO_PREAD. If NO_PREAD is set git uses a sequence of lseek()/xread()/lseek() to emulate pread. Signed-off-by: Stefan-W. Hahn <stefan.hahn@s-hahn.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09gitweb: Fix git_patchset_body not closing <div class="patch">Libravatar Jakub Narebski1-3/+4
Fix case when git_patchset_body didn't close <div class="patch">, for patchsets with last patch empty. This patch also removes some commented out code in git_patchset_body. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Acked-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09git.el: Define the propertize function if needed, for XEmacs compatibility.Libravatar Alexandre Julliard1-5/+13
Also use `concat' instead of `format' in the pretty-printer since format doesn't preserve properties under XEmacs. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09git-clone: Make sure the master branch exists before running cat on it.Libravatar Alexandre Julliard1-1/+1
Otherwise we get an error like this on stderr: cat: [...]/.git/refs/remotes/origin/master: No such file or directory which makes it look like git-clone failed. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09git-apply: Remove directories that have become empty after deleting a file.Libravatar Alexandre Julliard1-2/+13
Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09get_tree_entry: map blank requested entry to tree rootLibravatar Jeff King1-1/+8
This means that git show HEAD: will now return HEAD^{tree}, which is logically consistent with git show HEAD:Documentation Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09builtin-archive: do not free a tree held by the object layer.Libravatar Junio C Hamano1-1/+0
Found by running "git archive --format=tar HEAD" in Documentation/ directory. It's surprising that nobody has noticed this from the beginning... Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09Merge branch 'maint'Libravatar Junio C Hamano1-1/+2
* maint: Fix "Do not ignore a detected patchfile brokenness." Do not ignore a detected patchfile brokenness.
2007-01-09Fix "Do not ignore a detected patchfile brokenness."Libravatar Junio C Hamano1-1/+2
Returning negative value from there does not stop the caller from using the earlier part. Noticed by Linus. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09Sanitize for_each_reflog_ent()Libravatar Johannes Schindelin6-24/+44
It used to ignore the return value of the helper function; now, it expects it to return 0, and stops iteration upon non-zero return values; this value is then passed on as the return value of for_each_reflog_ent(). Further, it makes no sense to force the parsing upon the helper functions; for_each_reflog_ent() now calls the helper function with old and new sha1, the email, the timestamp & timezone, and the message. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-09Do not ignore a detected patchfile brokenness.Libravatar Junio C Hamano1-1/+1
find_header() function is used to read and parse the patchfile and it detects errors in the patch, but one place ignored the error and went ahead, which was quite bad. Noticed by Jeff Garzik. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08merge-base: do not leak commit listLibravatar Junio C Hamano1-2/+4
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08Auto-quote config values in config.c:store_write_pair()Libravatar Brian Gernhardt2-0/+31
Suggested by Jakub Narebski <jnareb@gmail.com> on the list. When we send a value to store_write_pair(), make sure that the value that gets read out matches the one passed in. This means that for any value that contains leading or trailing whitespace or any comment character (# and ;), we need to surround it in quotes. Signed-off-by: Brian Gernhardt <benji@silverinsanity.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08Ignore git-init and git-remoteLibravatar Brian Gernhardt1-0/+2
These new commands weren't added to .gitignore. Add them so we don't end up with copies of them in the repo. Signed-off-by: Brian Gernhardt <benji@silverinsanity.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08rm git-rerere.perl -- it is now a built-in.Libravatar Junio C Hamano1-284/+0
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08cvsserver: fix revision number during file addsLibravatar Martin Langhoff1-1/+4
With this patch, cvs add / cvs commit echoes back to the client the correct file version (1.1) so that the file in the checkout is recognised as up-to-date. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08cvsserver: detect early of we are up to date and avoid costly rev-listLibravatar Martin Langhoff1-1/+8
if the SHA1 of our head matches the last SHA1 seen in the DB, avoid further processing. [jc: an "Oops, please amend" patch rolled in] Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08Documentation: add git-remote man pageLibravatar J. Bruce Fields1-0/+76
Add a preliminary man page for git-remote. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08Merge branch 'jc/reflog'Libravatar Junio C Hamano6-222/+571
* jc/reflog: reflog --fix-stale: do not check the same trees and commits repeatedly. reflog expire --fix-stale Move traversal of reachable objects into a separate library. builtin-prune: separate ref walking from reflog walking. builtin-prune: make file-scope static struct to an argument.
2007-01-08short i/o: fix config updates to use write_in_fullLibravatar Andy Whitcroft1-29/+77
We need to check that the writes we perform during the update of the users configuration work. Convert to using write_in_full(). Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08short i/o: fix calls to write to use xwrite or write_in_fullLibravatar Andy Whitcroft20-89/+74
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 <apw@shadowen.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08short i/o: fix calls to read to use xread or read_in_fullLibravatar Andy Whitcroft17-39/+57
We have a number of badly checked read() calls. Often we are expecting read() to read exactly the size we requested or fail, this fails to handle interrupts or short reads. Add a read_in_full() providing those semantics. Otherwise we at a minimum need to check for EINTR and EAGAIN, where this is appropriate use xread(). Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08short i/o: clean up the naming for the write_{in,or}_xxx familyLibravatar Andy Whitcroft4-35/+48
We recently introduced a write_in_full() which would either write the specified object or emit an error message and fail. In order to fix the read side we now want to introduce a read_in_full() but without an error emit. This patch cleans up the naming of this family of calls: 1) convert the existing write_or_whine() to write_or_whine_pipe() to better indicate its pipe specific nature, 2) convert the existing write_in_full() calls to write_or_whine() to better indicate its nature, 3) introduce a write_in_full() providing a write or fail semantic, and 4) convert write_or_whine() and write_or_whine_pipe() to use write_in_full(). Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08--prune is now default for 'pack-refs'Libravatar Junio C Hamano3-7/+13
There is no reason not to, really. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08--utf8 is now default for 'git-am'Libravatar Junio C Hamano2-6/+21
Since we are talking about allowing potentially incompatible UI changes in v1.5.0 iff the change improves the general situation, I would say why not. There is --no-utf8 flag to avoid re-coding from botching the log message just in case, but we may not even need it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08git-commit: do not fail to print the diffstat even if there is a file named HEADLibravatar Michael Loeffler1-1/+1
Signed-off-by: Michael Loeffler <zvpunry@zvpunry.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08ssh-upload: prevent buffer overrunLibravatar Andy Whitcroft1-1/+1
Prevent a client from overrunning the on stack ref buffer. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08cvsimport: cleanup temporary cvsps fileLibravatar Martin Langhoff1-5/+11
It is bad manners to leave these sizable files around when we are done with them. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08cvsimport: document -S and -L optionsLibravatar Martin Langhoff1-0/+8
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-08cvsimport: skip commits that are too recent (option and documentation)Libravatar Martin Langhoff2-4/+11
This makes the earlier "wait for 10 minutes before importing" safety overridable with "-a(ll)" flag, and adds necessary documentation. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>