aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fsck-objects: Remove --standaloneJunio C Hamano2006-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | The fsck-objects command (back then it was called fsck-cache) used to complain if objects referred to by files in .git/refs/ or objects stored in files under .git/objects/??/ were not found as stand-alone SHA1 files (i.e. found in alternate object pools or packed archives stored under .git/objects/pack). Back then, packs and alternates were new curiosity and having everything as loose objects were the norm. When we adjusted the behaviour of fsck-cache to consider objects found in packs are OK, we introduced the --standalone flag as a backward compatibility measure. It still correctly checks if your repository is complete and consists only of loose objects, so in that sense it is doing the "right" thing, but checking that is pointless these days. This commit removes --standalone flag. See also: 23676d407c63a6f67f8ce3ff192199bda03e6a03 8a498a05c3c6b2f53db669b24f36257ab213eb4c Signed-off-by: Junio C Hamano <junkio@cox.net>
* refs.c::do_for_each_ref(): Finish error message lines with "\n"Junio C Hamano2006-03-09
| | | | | | | | | We used fprintf() to show an error message without terminating it with LF; use error() for that. cf. c401cb48e77459a4ccad76888ad31bef252facc5 Signed-off-by: Junio C Hamano <junkio@cox.net>
* Nicer output from 'git'Fredrik Kuivinen2006-03-09
| | | | | | | [jc: with suggestions by Jan-Benedict Glaw] Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Use #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))Junio C Hamano2006-03-09
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* Remove trailing dot after short descriptionFredrik Kuivinen2006-03-09
| | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix some inconsistencies in the docsFredrik Kuivinen2006-03-09
| | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* contrib/git-svn: fix a harmless warning on rebuild (with old repos)Eric Wong2006-03-09
| | | | | | | | | It's only for repositories that were imported with very early versions of git-svn. Unfortunately, some of those repos are out in the wild already, so fix this warning. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* contrib/git-svn: remove the --no-stop-on-copy flagEric Wong2006-03-09
| | | | | | | | | | | | | Output a big warning if somebody actually has a pre-1.0 version of svn that doesn't support it. Thanks to Yann Dirson for reminding me it still existed and attempting to re-enable it :) I think I subconciously removed support for it earlier... Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* contrib/git-svn: fix svn compat and fetch argsEric Wong2006-03-09
| | | | | | | | | | | | | | | | | | | | | | | 'svn info' doesn't work with URLs in svn <= 1.1. Now we only run svn info in local directories. As a side effect, this should also work better for 'init' off directories that are no longer in the latest revision of the repository. svn checkout -r<revision> arguments are fixed. Newer versions of svn (1.2.x) seem to need URL@REV as well as -rREV to checkout a particular revision... Add an example in the manpage of how to track directory that has been moved since its initial revision. A huge thanks to Yann Dirson for the bug reporting and testing my original patch. Thanks also to Junio C Hamano for suggesting a safer way to use git-rev-parse. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Don't recurse into parents marked uninteresting.Matthias Urlichs2006-03-09
| | | | | | | | revision.c:make_parents_uninteresting() is exponential with the number of merges in the tree. That's fine -- unless some other part of git already has pulled the whole commit tree into memory ... Signed-off-by: Junio C Hamano <junkio@cox.net>
* diff-delta: bound hash list length to avoid O(m*n) behaviorNicolas Pitre2006-03-09
| | | | | | | | | | | | | | | | | The diff-delta code can exhibit O(m*n) behavior with some patological data set where most hash entries end up in the same hash bucket. To prevent this, a limit is imposed to the number of entries that can exist in the same hash bucket. Because of the above the code is a tiny bit more expensive on average, even if some small optimizations were added as well to atenuate the overhead. But the problematic samples used to diagnoze the issue are now orders of magnitude less expensive to process with only a slight loss in compression. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* test-delta needs zlib to compileNicolas Pitre2006-03-09
| | | | | Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-fmt-merge-msg cleanupLinus Torvalds2006-03-08
| | | | | | | | | | | Since I've started using the "merge.summary" flag in my repo, my merge messages look nicer, but I dislike how I get notifications of merges within merges. So I'd suggest this trivial change.. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* repo-config: give value_ a sane default so regexec won't segfaultJonas Fonseca2006-03-07
| | | | | Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Update http-push functionalityNick Hengeveld2006-03-07
| | | | | | | | | | | | This brings http-push functionality more in line with the ssh/git version, by borrowing bits from send-pack and rev-list to process refspecs and revision history in more standard ways. Also, the status of remote objects is determined using PROPFIND requests for the object directory rather than HEAD requests for each object - while it may be less efficient for small numbers of objects, this approach is able to get the status of all remote loose objects in a maximum of 256 requests. Signed-off-by: Junio C Hamano <junkio@cox.net>
* cvsimport: Remove master-updating codeMatthias Urlichs2006-03-07
| | | | | | | | The code which tried to update the master branch was somewhat broken. => People should do that manually, with "git merge". Signed-off-by: Matthias Urlichs <smurf@smurf.noris.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'sp/checkout'Junio C Hamano2006-03-06
|\ | | | | | | | | * sp/checkout: Add --temp and --stage=all options to checkout-index.
| * Add --temp and --stage=all options to checkout-index.Shawn Pearce2006-03-05
| | | | | | | | | | | | | | | | | | | | | | | | Sometimes it is convient for a Porcelain to be able to checkout all unmerged files in all stages so that an external merge tool can be executed by the Porcelain or the end-user. Using git-unpack-file on each stage individually incurs a rather high penalty due to the need to fork for each file version obtained. git-checkout-index -a --stage=all will now do the same thing, but faster. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'fd/asciidoc'Junio C Hamano2006-03-06
|\ \ | | | | | | | | | | | | * fd/asciidoc: Tweak asciidoc output to work with broken docbook-xsl
| * | Tweak asciidoc output to work with broken docbook-xslFrancis Daly2006-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | docbook-xsl v1.68 incorrectly converts "<screen>" from docbook to manpage by not rendering it verbatim. v1.69 handles it correctly, but not many current popular distributions ship with it. asciidoc by default converts "listingblock" to "<screen>". This change causes asciidoc in git to convert "listingblock" to "<literallayout>", which both old and new docbook-xsl handle correctly. The difference can be seen in any manpage which includes a multi-line example, such as git-branch. [jc: the original patch was an disaster for html backends, so I made it apply only to docbook backends. ] Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Allow format-patch to attach patchesMike McCormack2006-03-06
| | | | | | | | | | | | | | | | | | | | | The --attach patch to git-format-patch to attach patches instead of inlining them. Some mailers linewrap inlined patches (eg. Mozilla). Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Allow adding arbitary lines in the mail header generated by format-patch.Mike McCormack2006-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Entries may be added to the config file as follows: [format] headers = "Organization: CodeWeavers\nTo: wine-patches <wine-patches@winehq.org>\n" Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | annotate-blame: tests incomplete lines.Junio C Hamano2006-03-06
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | blame: unbreak "diff -U 0".Junio C Hamano2006-03-06
|/ / | | | | | | | | | | | | | | | | | | | | | | | | The commit 604c86d15bb319a1e93ba218fca48ce1c500ae52 changed the original "diff -u0" to "diff -u -U 0" for portability. A big mistake without proper testing. The form "diff -u -U 0" shows the default 3-line contexts, because -u and -U 0 contradicts with each other; "diff -U 0" (or its longhand "diff --unified=0") is what we meant. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | annotate-blame test: add evil merge.Junio C Hamano2006-03-05
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | annotate-blame test: don't "source", but say "."Junio C Hamano2006-03-05
| | | | | | | | | | | | | | | | | | Just I am old fashioned. Source inclusion in bourne shell is "." (dot), not "source" -- that's csh. [jc: yes I know bash groks it, but I am old fashioned.] Signed-off-by: Junio C Hamano <junkio@cox.net>
* | annotate/blame tests updates.Junio C Hamano2006-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | This rewrites the result check code a bit. The earlier one using awk was splitting columns at any whitespace, which confused lines attributed incorrectly to the merge made by the default author "A U Thor <author@example.com>" with lines attributed to author "A". The latest test by Ryan to add the "starting from older commit" test is also included, with another older commit test. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | annotate: Support annotation of files on other revisions.Ryan Anderson2006-03-05
| | | | | | | | | | | | | | | | | | | | | | | | This is a bug fix, and cleans up one or two other things spotted during the course of tracking down the main bug here. [jc: the part that updates test-suite is split out to the next one. Also I dropped "use Data::Dumper;" which seemed leftover from debugging session.] Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git/Documentation: fix SYNOPSIS style bugsDmitry V. Levin2006-03-05
| | | | | | | | | | | | | | This trivial patch fixes SYNOPSIS style bugs. Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | blame: avoid "diff -u0".Junio C Hamano2006-03-05
| | | | | | | | | | | | As Linus suggests, use "diff -u -U 0" instead. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-blame: Use the same tests for git-blame as for git-annotateFredrik Kuivinen2006-03-05
| | | | | | | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | blame and annotate: show localtime with timezone.Junio C Hamano2006-03-05
| | | | | | | | | | | | | | Earlier they showed gmtime and timezone, which was inconsistent with the way our commits and tags are pretty-printed. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | blame: avoid -lm by not using log().Junio C Hamano2006-03-05
| | | | | | | | | | | | ... as suggested on the list. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-blame: Make the output human readableFredrik Kuivinen2006-03-05
| | | | | | | | | | | | | | | | | | The default output mode is slightly different from git-annotate's. However, git-annotate's output mode can be obtained by using the '-c' flag. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | get_revision(): do not dig deeper when we know we are at the end.Linus Torvalds2006-03-05
| | | | | | | | | | | | | | This resurrects the special casing for "rev-list -n 1" which avoided reading parents unnecessarily. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | documentation: add 'see also' sections to git-rm and git-addJeff Muizelaar2006-03-05
| | | | | | | | | | | | | | Pair up git-add and git-rm by adding a 'see also' section that references the opposite command to each of their documentation files. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | contrib/emacs/Makefile: Provide tool for byte-compiling files.Mark Wooding2006-03-05
| | | | | | | | | | Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitignore: Ignore some more boring things.Mark Wooding2006-03-05
| | | | | | | | | | Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Const tightening.Junio C Hamano2006-03-05
| | | | | | | | | | | | | | | | | | Mark Wooding noticed there was a type mismatch warning in git.c; this patch does things slightly differently (mostly tightening const) and was what I was holding onto, waiting for the setup-revisions change to be merged into the master branch. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Documentation/Makefile: Some `git-*.txt' files aren't manpages.Mark Wooding2006-03-05
| | | | | | | | | | | | | | | | | | In particular, git-tools.txt isn't a manpage, and my Asciidoc gets upset by it. The simplest fix is to Remove articles from the list of manpages the Makefile. Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | cvsserver: updated documentationMartin Langhoff2006-03-05
|/ | | | | | | ... and stripped trailing whitespace to appease the Gods... Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* cosmetics: change from 'See-Also' to 'See Also'Jeff Muizelaar2006-03-05
| | | | | | | Changes the documentation that uses 'See-Also' to the more common 'See Also' form. Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-commit --amend: allow empty commit.Junio C Hamano2006-03-05
| | | | | | | | When amending a commit only to update the commit log message, git-status would rightly say "Nothing to commit." Do not let this prevent commit to be made. Signed-off-by: Junio C Hamano <junkio@cox.net>
*-. Cauterize dropped or duplicate bits from next.Junio C Hamano2006-03-04
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I am very sorry to do this, but without this funky octopus, "git log --no-merges master..next" will show commits already merged into "master" forever. There are some commits on the next branch (which is never to be rewound) that are reverts of other commits on the next branch. They are to revert the finer grained delta experiments that turned out to have undesirable performance effects. Also there are some other commits that were first done as a merge into "next" (a pull request based on next) and then cherry picked into master. Since they are not going to be merged into "master" ever, they will stay forever in "log master..next". Yuck. So this commit records the fact that the commits currently shown by "git log --no-merges master..next" to be merged into "master" are already in the master, either because they really are (in the case of git-cvsserver bits, which needed cherry-picking into "master"), or because they are fully reverted in "next" (in the case of finer-grained delta bits). Here is the way I made this commit: (1) Inspect "gitk --no-merges --parents master..next" This shows what git thinks are missing from master. It shows chain of commits that are already merged and chain of commits whose net effect should amount to a no-op. Look at each commits and make sure they are either unwanted or already merged by cherry-picking. (2) Record the tip of branches that I do not want. In this case, the following were unwanted: cfcbd3427e67056a00ec832645b057eaf33888d9 cvsserver c436eb8cf1efa3fe2c70100ae0cbc48f0feaf5af diff-delta 38fd0721d0a2a1a723bc28fc0817e3571987b1ef diff-delta f0bcd511ee3a00b7fd3975a386aa1165c07a0721 cvsserver 2b8d9347aa1a11f1ac13591f89ca9f984d467c77 diff-delta (3) Shorten the list by finding independent ones from the above. $ git show-branch --independent $the $above $tips cfcbd3427e67056a00ec832645b057eaf33888d9 c436eb8cf1efa3fe2c70100ae0cbc48f0feaf5af (4) Checkout "master" and cauterize them with "ours" strategy: $ git merge -s ours "`cat $this-file`" HEAD cfcbd3 c436eb
| | * diff-delta: cull collided hash bucket more aggressively.Junio C Hamano2006-03-01
| | | | | | | | | | | | | | | This tries to limit collided hash buckets by removing identical three-byte prefix from the same hashbucket.
| * | cvsserver: fix checkouts with -d <somedir>Martin Langhoff2006-03-03
| | | | | | | | | | | | | | | A recent Eclipse compat fix broke checkouts with -d. Fix it so that the server sends the correct module name instead of the destination directory name.
| * | cvsserver: checkout faster by sending files in a sensible orderMartin Langhoff2006-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just by sending the files in an ordered fashion, clients can process them much faster. And we can optimize our check of whether we created this directory already -- faster. Timings for a checkout on a commandline cvs client for a project with ~13K files totalling ~100MB: Unsorted: 603.12 real 16.89 user 42.88 sys Sorted: 298.19 real 26.37 user 42.42 sys
| * | Merge branch 'master' into nextJunio C Hamano2006-03-02
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: contrib/git-svn: use refs/remotes/git-svn instead of git-svn-HEAD Merge branch 'maint' read-tree --aggressive: remove deleted entry from the working tree. Merge branch 'jc/tag' Merge part of 'jc/diff'
| * \ \ Merge branch 'ml/cvsserver' into nextJunio C Hamano2006-03-01
| |\ \ \ | | | | | | | | | | | | | | | | | | | | * ml/cvsserver: cvsserver: Eclipse compat -- now "compare with latest from HEAD" works
| * \ \ \ Merge branch 'np/delta' into nextJunio C Hamano2006-03-01
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * np/delta: diff-delta: allow reusing of the reference buffer index diff-delta: bound hash list length to avoid O(m*n) behavior diff-delta: produce optimal pack data Merge branch 'kh/svnimport' Merge branch 'js/refs' annotate: fix -S parameter to take a string annotate: Add a basic set of test cases. annotate: handle \No newline at end of file. gitview: Use horizontal scroll bar in the tree view