aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Document git-initJunio C Hamano2007-01-11
| | | | | | | | | 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>
* write-cache: do not leak the serialized cache-tree data.Linus Torvalds2007-01-11
| | | | | | | 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>
* Provide better feedback for the untracked only case in status outputJürgen Rühle2007-01-10
| | | | | | | | | | | | | 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>
* Merge branch 'js/reflog'Junio C Hamano2007-01-10
|\ | | | | | | | | * js/reflog: Sanitize for_each_reflog_ent()
| * Sanitize for_each_reflog_ent()Johannes Schindelin2007-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Makefile: remove $foo when $foo.exe is built/installed.Junio C Hamano2007-01-10
| | | | | | | | | | | | | | | | 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>
* | send-email: work around double encoding of in-body From field.Jürgen Rühle2007-01-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>
* | Add git-init documentation.Nicolas Pitre2007-01-10
| | | | | | | | | | | | | | | | 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>
* | Fix t1410 for core.filemode==falseJohannes Schindelin2007-01-10
| | | | | | | | | | | | | | | | | | | | 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>
* | Make git-describe a builtin.Shawn O. Pearce2007-01-10
| | | | | | | | | | Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Don't save the commit buffer in git-describe.Shawn O. Pearce2007-01-10
| | | | | | | | | | | | | | | | | | 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>
* | Fix warnings in sha1_file.c - use C99 printf format if availablePavel Roskin2007-01-09
| | | | | | | | | | Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | -u is now default for 'git-mailinfo'.Junio C Hamano2007-01-09
| | | | | | | | | | | | | | Originally from David Woodhouse, but also adjusts the callers of mailinfo to the new default. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | -u is now default for 'git-applymbox'Junio C Hamano2007-01-09
| | | | | | | | | | | | | | 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>
* | git-am: should work when "--no-utf8 --utf8" is givenJunio C Hamano2007-01-09
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Don't die in git-http-fetch when fetching packs.Shawn O. Pearce2007-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Update git-svn manpage to remove the implication that SVN::* is optional.Steven Grimm2007-01-09
| | | | | | | | | | | | | | | | | | 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>
* | Replacing the system call pread() with lseek()/xread()/lseek() sequence.Stefan-W. Hahn2007-01-09
| | | | | | | | | | | | | | | | | | 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>
* | gitweb: Fix git_patchset_body not closing <div class="patch">Jakub Narebski2007-01-09
| | | | | | | | | | | | | | | | | | | | | | 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>
* | git.el: Define the propertize function if needed, for XEmacs compatibility.Alexandre Julliard2007-01-09
| | | | | | | | | | | | | | | | 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>
* | git-clone: Make sure the master branch exists before running cat on it.Alexandre Julliard2007-01-09
| | | | | | | | | | | | | | | | | | | | | | 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>
* | git-apply: Remove directories that have become empty after deleting a file.Alexandre Julliard2007-01-09
| | | | | | | | | | Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | get_tree_entry: map blank requested entry to tree rootJeff King2007-01-09
| | | | | | | | | | | | | | | | | | | | 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>
* | builtin-archive: do not free a tree held by the object layer.Junio C Hamano2007-01-09
| | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'maint'Junio C Hamano2007-01-09
|\ \ | |/ |/| | | | | | | * maint: Fix "Do not ignore a detected patchfile brokenness." Do not ignore a detected patchfile brokenness.
| * Fix "Do not ignore a detected patchfile brokenness."Junio C Hamano2007-01-09
| | | | | | | | | | | | | | | | | | 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>
| * Do not ignore a detected patchfile brokenness.Junio C Hamano2007-01-09
| | | | | | | | | | | | | | | | | | | | 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>
* | merge-base: do not leak commit listJunio C Hamano2007-01-08
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Auto-quote config values in config.c:store_write_pair()Brian Gernhardt2007-01-08
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Ignore git-init and git-remoteBrian Gernhardt2007-01-08
| | | | | | | | | | | | | | | | 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>
* | rm git-rerere.perl -- it is now a built-in.Junio C Hamano2007-01-08
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | cvsserver: fix revision number during file addsMartin Langhoff2007-01-08
| | | | | | | | | | | | | | | | | | 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>
* | cvsserver: detect early of we are up to date and avoid costly rev-listMartin Langhoff2007-01-08
| | | | | | | | | | | | | | | | | | | | 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>
* | Documentation: add git-remote man pageJ. Bruce Fields2007-01-08
| | | | | | | | | | | | | | 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>
* | Merge branch 'jc/reflog'Junio C Hamano2007-01-08
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | reflog --fix-stale: do not check the same trees and commits repeatedly.Junio C Hamano2007-01-06
| | | | | | | | | | | | | | | | | | | | | | | | Since we use the reachability tracking machinery now, we should keep the already checked trees and commits whose completeness is known, to avoid checking the same thing over and over again. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | reflog expire --fix-staleJunio C Hamano2007-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic in an earlier round to detect reflog entries that point at a broken commit was not sufficient. Just like we do not trust presense of a commit during pack transfer (we trust only our refs), we should not trust a commit's presense, even if the tree of that commit is complete. A repository that had reflog enabled on some of the refs that was rewound and then run git-repack or git-prune from older versions of git can have reflog entries that point at a commit that still exist but lack commits (or trees and blobs needed for that commit) between it and some commit that is reachable from one of the refs. This revamps the logic -- the definition of "broken commit" becomes: a commit that is not reachable from any of the refs and there is a missing object among the commit, tree, or blob objects reachable from it that is not reachable from any of the refs. Entries in the reflog that refer to such a commit are expired. Since this computation involves traversing all the reachable objects, i.e. it has the same cost as 'git prune', it is enabled only when a new option --fix-stale. Fortunately, once this is run, we should not have to ever worry about missing objects, because the current prune and pack-objects know about reflogs and protect objects referred by them. Unfortunately, this will be absolutely necessary to help people migrate to the newer prune and repack. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | Move traversal of reachable objects into a separate library.Junio C Hamano2007-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves major part of builtin-prune into a separate file, reachable.c. It is used to mark the objects that are reachable from refs, and optionally from reflogs. The patch looks very large, but if you look at it with diff -C, which this message is formatted in, most of them are copied lines and there are very little additions. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | builtin-prune: separate ref walking from reflog walking.Junio C Hamano2007-01-06
| | | | | | | | | | | | | | | | | | | | | | | | This is necessary for the next step, because the reason I am making the connectivity walker into a library is because I want to use it for cleaning up stale reflog entries. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | builtin-prune: make file-scope static struct to an argument.Junio C Hamano2007-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I want to make the first part of 'git prune' that marks the reachable objects callable as a library, so this starts the first step toward the goal by making the callchain to pass rev_info structure as an argument. No functionality change should be in this step. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | short i/o: fix config updates to use write_in_fullAndy Whitcroft2007-01-08
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | short i/o: fix calls to write to use xwrite or write_in_fullAndy Whitcroft2007-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | short i/o: fix calls to read to use xread or read_in_fullAndy Whitcroft2007-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | short i/o: clean up the naming for the write_{in,or}_xxx familyAndy Whitcroft2007-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | --prune is now default for 'pack-refs'Junio C Hamano2007-01-08
| | | | | | | | | | | | | | | | | | There is no reason not to, really. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | --utf8 is now default for 'git-am'Junio C Hamano2007-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | git-commit: do not fail to print the diffstat even if there is a file named HEADMichael Loeffler2007-01-08
| | | | | | | | | | | | | | | Signed-off-by: Michael Loeffler <zvpunry@zvpunry.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | ssh-upload: prevent buffer overrunAndy Whitcroft2007-01-08
| | | | | | | | | | | | | | | | | | | | | 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>
* | | cvsimport: cleanup temporary cvsps fileMartin Langhoff2007-01-08
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | cvsimport: document -S and -L optionsMartin Langhoff2007-01-08
| | | | | | | | | | | | | | | Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>