summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Don't die in git-http-fetch when fetching packs.Shawn O. Pearce2007-01-092-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>
* Update git-svn manpage to remove the implication that SVN::* is optional.Steven Grimm2007-01-091-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>
* Replacing the system call pread() with lseek()/xread()/lseek() sequence.Stefan-W. Hahn2007-01-093-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>
* gitweb: Fix git_patchset_body not closing <div class="patch">Jakub Narebski2007-01-091-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>
* git.el: Define the propertize function if needed, for XEmacs compatibility.Alexandre Julliard2007-01-091-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>
* git-clone: Make sure the master branch exists before running cat on it.Alexandre Julliard2007-01-091-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>
* git-apply: Remove directories that have become empty after deleting a file.Alexandre Julliard2007-01-091-2/+13
| | | | | 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-091-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>
* builtin-archive: do not free a tree held by the object layer.Junio C Hamano2007-01-091-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>
* Merge branch 'maint'Junio C Hamano2007-01-091-1/+2
|\ | | | | | | | | | | * 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-091-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>
| * Do not ignore a detected patchfile brokenness.Junio C Hamano2007-01-091-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>
* | merge-base: do not leak commit listJunio C Hamano2007-01-081-2/+4
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Auto-quote config values in config.c:store_write_pair()Brian Gernhardt2007-01-082-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>
* | Ignore git-init and git-remoteBrian Gernhardt2007-01-081-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>
* | rm git-rerere.perl -- it is now a built-in.Junio C Hamano2007-01-081-284/+0
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | cvsserver: fix revision number during file addsMartin Langhoff2007-01-081-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>
* | cvsserver: detect early of we are up to date and avoid costly rev-listMartin Langhoff2007-01-081-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>
* | Documentation: add git-remote man pageJ. Bruce Fields2007-01-081-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>
* | Merge branch 'jc/reflog'Junio C Hamano2007-01-086-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.
| * | reflog --fix-stale: do not check the same trees and commits repeatedly.Junio C Hamano2007-01-061-23/+54
| | | | | | | | | | | | | | | | | | | | | | | | 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-062-21/+314
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-064-193/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-061-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | 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-061-15/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-081-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>
* | | short i/o: fix calls to write to use xwrite or write_in_fullAndy Whitcroft2007-01-0820-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>
* | | short i/o: fix calls to read to use xread or read_in_fullAndy Whitcroft2007-01-0817-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>
* | | short i/o: clean up the naming for the write_{in,or}_xxx familyAndy Whitcroft2007-01-084-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>
* | | --prune is now default for 'pack-refs'Junio C Hamano2007-01-083-7/+13
| | | | | | | | | | | | | | | | | | 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-082-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>
* | | git-commit: do not fail to print the diffstat even if there is a file named HEADMichael Loeffler2007-01-081-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Michael Loeffler <zvpunry@zvpunry.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | ssh-upload: prevent buffer overrunAndy Whitcroft2007-01-081-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>
* | | cvsimport: cleanup temporary cvsps fileMartin Langhoff2007-01-081-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>
* | | cvsimport: document -S and -L optionsMartin Langhoff2007-01-081-0/+8
| | | | | | | | | | | | | | | Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | cvsimport: skip commits that are too recent (option and documentation)Martin Langhoff2007-01-082-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>
* | | git-svn: pass an unambiguous ref to rev-list when grafting-branchesEric Wong2007-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Some users apparently create local heads with the same basename as the remote branch they're tracking. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | git-svn: add --prefix= option to multi-initEric Wong2007-01-072-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | Also, document --{trunk,branches,tags} options while we're documenting multi-init options. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Documentation: clarify definition of "reachable"J. Bruce Fields2007-01-071-2/+5
| | | | | | | | | | | | | | | | | | | | | Clarify definition of "reachable" (what chain?) Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | git-svnimport: fix edge revisions double importingSasha Khapyorsky2007-01-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This fixes newly introduced bug when the incremental cycle edge revisions are imported twice. Signed-off-by: Sasha Khapyorsky <sashak@voltaire.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | cvsimport: skip commits that are too recentMartin Langhoff2007-01-071-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this patch, cvsimport will skip commits made in the last 10 minutes. The recent-ness test is of 5 minutes + cvsps fuzz window (5 minutes default). When working with a CVS repository that is in use, importing commits that are too recent can lead to partially incorrect trees. This is mainly due to - Commits that are within the cvsps fuzz window may later be found to have affected more files. - When performing incremental imports, clock drift between the systems may lead to skipped commits. This commit helps keep incremental imports of in-use CVS repositories sane. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | gitweb: Remove superfluous "|" in "commit" viewJakub Narebski2007-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Remove superfluous trailing "|" separator from difftree part of "commit" view for new files (created in given commit). Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Remove unnecessary git-rm --cached reference from status outputJürgen Rühle2007-01-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since git-reset has learned restoring the absence of paths git-rm --cached is no longer necessary. Therefore remove it from the cached content header hint. Also remove the unfortunate wording 'Cached' from the header itself. Signed-off-by: Jürgen Rühle <j-r@online.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | "init-db" can really be just "init"Nicolas Pitre2007-01-078-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | Make "init" the equivalent of "init-db". This should make first GIT impression a little more friendly. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Merge branch 'sp/mmap'Junio C Hamano2007-01-0714-231/+582
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | | Spell default packedgitlimit slightly differentlyJunio C Hamano2007-01-071-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is shorter and easier to read, and also makes sure the constant expression does not overflow integer range. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | Increase packedGit{Limit,WindowSize} on 64 bit systems.Shawn O. Pearce2007-01-062-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have a 64 bit address space we can easily afford to commit a larger amount of virtual address space to pack file access. So on these platforms we should increase the default settings of core.packedGit{Limit,WindowSize} to something that will better handle very large projects. Thanks to Andy Whitcroft for pointing out that we can safely increase these defaults on such systems. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | Update packedGit config option documentation.Shawn O. Pearce2006-12-301-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Corrected minor typos and documented the new k/m/g suffix for core.packedGitWindowSize and core.packedGitLimit. [jc: with a minor markup fix.] Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | Merge branch 'master' into sp/mmapJunio C Hamano2006-12-3027-84/+321
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: Documentation/config.txt (and repo-config manpage): mark-up fix. Teach Git how to parse standard power of 2 suffixes. Use /dev/null for update hook stdin. Redirect update hook stdout to stderr. Remove unnecessary argc parameter from run_command_v. Automatically detect a bare git repository. Replace "GIT_DIR" with GIT_DIR_ENVIRONMENT. Use PATH_MAX constant for --bare. Force core.filemode to false on Cygwin. Fix formatting for urls section of fetch, pull, and push manpages Fix yet another subtle xdl_merge() bug i18n: drop "encoding" header in the output after re-coding. commit-tree: cope with different ways "utf-8" can be spelled. Move commit reencoding parameter parsing to revision.c Documentation: minor rewording for git-log and git-show pages. Documentation: i18n commit log message notes. t3900: test log --encoding=none commit re-encoding: fix confusion between no and default conversion.
| * | | | mmap: set FD_CLOEXEC for file descriptors we keep open for mmap()Junio C Hamano2006-12-291-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I do not have any proof that this matters to any existing problems I am seeing, but I do not think of any reason not to do this. Signed-off-by: Junio C Hamano <junkio@cox.net>