summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Remove old "git-grep.sh" remnantsLinus Torvalds2006-05-161-2/+3
| | | | | | | It's built-in now. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'jc/grep'Junio C Hamano2006-05-151-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jc/grep: (22 commits) Fix silly typo in new builtin grep builtin-grep: unparse more command line options. builtin-grep: use external grep when we can take advantage of it builtin-grep: -F (--fixed-strings) builtin-grep: -w fix builtin-grep: typofix builtin-grep: tighten argument parsing. builtin-grep: documentation Teach -f <file> option to builtin-grep. builtin-grep: -L (--files-without-match). builtin-grep: binary files -a and -I builtin-grep: terminate correctly at EOF builtin-grep: tighten path wildcard vs tree traversal. builtin-grep: support -w (--word-regexp). builtin-grep: support -c (--count). builtin-grep: allow more than one patterns. builtin-grep: allow -<n> and -[ABC]<n> notation for context lines. builtin-grep: printf %.*s length is int, not ptrdiff_t. builtin-grep: do not use setup_revisions() builtin-grep: support '-l' option. ...
| * built-in "git grep"Junio C Hamano2006-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This attempts to set up built-in "git grep" to further reduce our dependence on the shell, while at the same time optionally allowing to run grep against object database. You could do funky things like these: git grep --cached -e pattern ;# grep from index git grep -e pattern master ;# or in a rev git grep -e pattern master next ;# or in multiple revs git grep -e pattern pu^@ ;# even like this with an ;# extension from another topic ;-) git grep -e pattern master..next ;# or even from rev ranges git grep -e pattern master~20:Documentation ;# or an arbitrary tree git grep -e pattern next:git-commit.sh ;# or an arbitrary blob Right now, it does not understand and/or obey many options grep should accept, and the pattern must be given with -e option due to the way the parameter parser is structured, both of which obviously need to be fixed for usability. But this is going in the right direction. The shell script version is one of the worst Portability offender in the git barebone Porcelainish; it uses xargs -0 to pass paths around and shell arrays to sift flags and parameters. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'fix'Junio C Hamano2006-05-151-1/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix: Fix pack-index issue on 64-bit platforms a bit more portably. Install git-send-email by default Fix compilation on newer NetBSD systems git config syntax updates Another config file parsing fix. checkout: use --aggressive when running a 3-way merge (-m).
| * | Install git-send-email by defaultEric Wong2006-05-151-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 567ffeb7722eefab3991cb894c96548b92b57cc2 and 4bc87a28be020a6bf7387161c65ea3d8e4a0228b, git-send-email no longer requires any non-standard Perl modules, so there's no reason to special-case it. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | Fix compilation on newer NetBSD systemsDennis Stosberg2006-05-151-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NetBSD >=2.0 has iconv() in libc. A libiconv is not required and does not exist. See: http://netbsd.gw.com/cgi-bin/man-cgi?iconv+3+NetBSD-2.0 [jc: with a bit of simplification later discussed on the list.] Signed-off-by: Dennis Stosberg <dennis@stosberg.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | core.prefersymlinkrefs: use symlinks for .git/HEADJunio C Hamano2006-05-051-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When inspecting a project whose build infrastructure used to assume that .git/HEAD is a symlink ref, core.prefersymlinkrefs in the config file of such a project would help to bisect its history. Signed-off-by: Junio C Hamano <junkio@cox.net> (cherry picked from 9f0bb90d161edf8c43f5261d12bf83f14eb02ff4 commit)
* | | Install git-send-email by defaultEric Wong2006-05-141-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 567ffeb7722eefab3991cb894c96548b92b57cc2 and 4bc87a28be020a6bf7387161c65ea3d8e4a0228b, git-send-email no longer requires any non-standard Perl modules, so there's no reason to special-case it. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Merge branch 'np/delta'Junio C Hamano2006-05-091-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * np/delta: improve diff-delta with sparse and/or repetitive data tiny optimization to diff-delta replace adler32 with Rabin's polynomial in diff-delta use delta index data when finding best delta matches split the diff-delta interface
| * | | replace adler32 with Rabin's polynomial in diff-deltaNicolas Pitre2006-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings another small repacking speedup for sensibly the same pack size. On the Linux kernel repo, git-repack -a -f is 3.7% faster for a 0.4% larger pack. Credits to Geert Bosch who brought the Rabin's polynomial idea to my attention. This also eliminate the issue of adler32() reading past the data buffer, as noticed by Johannes Schindelin. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | binary patch.Junio C Hamano2006-05-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds "binary patch" to the diff output and teaches apply what to do with them. On the diff generation side, traditionally, we said "Binary files differ\n" without giving anything other than the preimage and postimage object name on the index line. This was good enough for applying a patch generated from your own repository (very useful while rebasing), because the postimage would be available in such a case. However, this was not useful when the recipient of such a patch via e-mail were to apply it, even if the preimage was available. This patch allows the diff to generate "binary" patch when operating under --full-index option. The binary patch follows the usual extended git diff headers, and looks like this: "GIT binary patch\n" <length byte><data>"\n" ... "\n" Each line is prefixed with a "length-byte", whose value is upper or lowercase alphabet that encodes number of bytes that the data on the line decodes to (1..52 -- 'A' means 1, 'B' means 2, ..., 'Z' means 26, 'a' means 27, ...). <data> is 1 or more groups of 5-byte sequence, each of which encodes up to 4 bytes in base85 encoding. Because 52 / 4 * 5 = 65 and we have the length byte, an output line is capped to 66 characters. The payload is the same diff-delta as we use in the packfiles. On the consumption side, git-apply now can decode and apply the binary patch when --allow-binary-replacement is given, the diff was generated with --full-index, and the receiving repository has the preimage blob, which is the same condition as it always required when accepting an "Binary files differ\n" patch. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | Makefile: do not link rev-list any specially.Junio C Hamano2006-05-041-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to depend on bignum from openssl for rev-list to compute merge-order, but there is no reason to use different build recipe from other programs anymore. Just build it with git-%$X rule like everybody else. Noticed by Alexey Dobriyan. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | Merge branch 'jc/logs'Junio C Hamano2006-05-041-6/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * jc/logs: builtin-log/whatchanged/show: make them official.
| * | | | builtin-log/whatchanged/show: make them official.Junio C Hamano2006-05-011-6/+3
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | Remove the shell script version, and hardlink the git binary to them. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | Merge branch 'jc/symref'Junio C Hamano2006-05-031-2/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * jc/symref: core.prefersymlinkrefs: use symlinks for .git/HEAD
| * | | | core.prefersymlinkrefs: use symlinks for .git/HEADJunio C Hamano2006-05-021-2/+6
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When inspecting a project whose build infrastructure used to assume that .git/HEAD is a symlink ref, core.prefersymlinkrefs in the config file of such a project would help to bisect its history. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | Merge branch 'jc/diff'Junio C Hamano2006-05-031-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jc/diff: builtin-diff: call it "git-diff", really. builtin-diff.c: die() formatting type fix. built-in diff: assorted updates. built-in diff.
| * | | | builtin-diff: call it "git-diff", really.Junio C Hamano2006-05-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call it "git diff" not "git diffn", remove the shell script version, and hardlink the git binary to it. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | built-in diff.Junio C Hamano2006-04-281-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | This starts to replace the shell script version of "git diff". Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | Merge branch 'jc/count'Junio C Hamano2006-05-031-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jc/count: builtin-count-objects: open packs when running -v builtin-count-objects: make it official. built-in count-objects.
| * | | | builtin-count-objects: make it official.Junio C Hamano2006-05-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the shell-script version, make the hardlink from the git binary, and update the documentation to describe a new option. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | | built-in count-objects.Junio C Hamano2006-04-271-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also it learned to do -v (verbose) to report: - number of loose objects - disk occupied by loose objects - number of objects in local packs - number of loose objects that are also in pack - unrecognised garbage in .git/objects/??/. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | builtin-push: make it official.Junio C Hamano2006-05-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | Remove the shell script version, and hardlink the git binary to it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | git builtin "push"Linus Torvalds2006-04-301-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a builtin "push" command, which is largely just a C'ification of the "git-push.sh" script. Now, the reason I did it as a built-in is partly because it's yet another step on relying less on shell, but it's actually mostly because I've wanted to be able to push to _multiple_ repositories, and the most obvious and simplest interface for that would seem be to just have a "remotes" file that has multiple URL entries. (For "pull", having multiple entries should either just select the first one, or you could fall back on the others on failure - your choice). And quite frankly, it just became too damn messy to do that in shell. Besides, we actually have a fair amount of infrastructure in C, so it just wasn't that hard to do. Of course, this is almost totally untested. It probably doesn't work for anything but the one trial I threw at it. "Simple" doesn't necessarily mean "obviously correct". Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Makefile: remove and create xdiff library from scratch.Junio C Hamano2006-04-261-1/+1
| | | | | | | | | | | | | | | | | | ... in the same spirit as 71459c193d04870076efa0a387c317390b53e3e2. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Merge branch 'jc/diff'Junio C Hamano2006-04-251-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * jc/diff: Libified diff-index: backward compatibility fix. Libify diff-index. Libify diff-files.
| * | | Libify diff-files.Junio C Hamano2006-04-221-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first installment to libify diff brothers. The updated diff-files uses revision.c::setup_revisions() infrastructure to parse its command line arguments, which means the pathname arguments are checked more strictly than before. The tests are adjusted to separate possibly missing paths from the rest of arguments with double-dashes, to show the kosher way. As Linus pointed out, renaming diff.c to diff-lib.c was simply stupid, so I am renaming it back. The new diff-lib.c is to contain pieces extracted from diff brothers. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Makefile: remove and create libgit.a from scratch.Junio C Hamano2006-04-251-1/+1
|/ / | | | | | | | | | | | | | | | | | | Foolishly I renamed diff.o around which caused an old diff.o taken out of libgit.a and got linked into resulting binary and exhibited mysterious breakage for many people. This borrows from the kernel Makefile (scripts/Makefile.build) to first remove the target and then recreate. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Makefile: dependency for builtin-help.oJunio C Hamano2006-04-211-0/+2
| | | | | | | | | | | | | | builtin-help.c wants to include common-cmds.h which is a generated file. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Split up builtin commands into separate files from git.cLinus Torvalds2006-04-211-3/+6
| | | | | | | | | | | | | | | | | | | | | | Right now it split it into "builtin-log.c" for log-related commands ("log", "show" and "whatchanged"), and "builtin-help.c" for the informational commands (usage printing and "help" and "version"). This just makes things easier to read, I find. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | diff: move diff.c to diff-lib.c to make room.Junio C Hamano2006-04-191-1/+1
|/ | | | | | | Now I am not doing any real "git-diff in C" yet, but this would help before doing so. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Add git-annotate(1) and git-blame(1)Jonas Fonseca2006-04-181-1/+0
| | | | | | | [jc: with entries in git.txt] Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Makefile fixups.A Large Angry SCM2006-04-161-1/+1
| | | | | Signed-off-by: A Large Angry SCM <gitzilla@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Makefile: $(MAKE) check-docsJunio C Hamano2006-04-131-0/+20
| | | | | | | | | | | | | | This target lists undocumented commands, and/or whose document is not referenced from the main git documentation. For now, there are some exceptions I added primarily because I lack the energy to document them myself: - merge backends (we should really document them) - ssh-push/ssh-pull (does anybody still use them?) - annotate and blame (maybe after one of them eats the other ;-) Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'ds/index' into nextJunio C Hamano2006-04-111-2/+7
|\ | | | | | | | | | | | | * ds/index: Replace index() with strchr(). Solaris 9 also wants our own unsetenv/setenv. Retire git-log.sh (take #3)
| * Solaris 9 also wants our own unsetenv/setenv.Dennis Stosberg2006-04-111-0/+4
| | | | | | | | | | [jc: the original had "index() is evil" but that should be a separate patch.]
| * Retire git-log.sh (take #3)Junio C Hamano2006-04-111-2/+3
| | | | | | | | | | | | | | Do not install built-in commands as separate files -- use hardlinks instead. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'jc/withraw' into nextJunio C Hamano2006-04-101-3/+8
|\ \ | |/ | | | | | | | | | | | | | | * jc/withraw: diff-* --patch-with-raw Retire git-log.sh (take#2) Retire git-log.sh Retire diffcore-pathspec. Improve the git-diff-tree -c/-cc documentation
| * Retire git-log.sh (take#2)Junio C Hamano2006-04-101-3/+3
| | | | | | | | | | | | ... and install a replacement properly. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Retire git-log.shJunio C Hamano2006-04-101-3/+8
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Retire diffcore-pathspec.Junio C Hamano2006-04-101-1/+1
| | | | | | | | | | | | | | | | Nobody except diff-stages used it -- the callers instead filtered the input to diffcore themselves. Make diff-stages do that as well and retire diffcore-pathspec. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | log-tree: separate major part of diff-tree.Junio C Hamano2006-04-091-2/+2
|/ | | | | | | | | | | | This separates out the part that deals with one-commit diff-tree (and --stdin form) into a separate log-tree module. There are two goals with this. The more important one is to be able to make this part available to "git log --diff", so that we can have a native "git whatchanged" command. Another is to simplify the commit log generation part simpler. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'nh/http' into nextJunio C Hamano2006-04-051-1/+3
|\ | | | | | | | | * nh/http: Fix compile with expat, but an old curl version
| * Fix compile with expat, but an old curl versionJohannes Schindelin2006-04-051-1/+3
| | | | | | | | | | | | | | | | With an old curl version, git-http-push is not compiled. But git-http-fetch still needs to be linked with expat if NO_EXPAT is not defined. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
| |
| \
*-. \ Merge branches 'master' and 'jc/combine' into nextJunio C Hamano2006-04-051-2/+2
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | * master: Add git-clean command diff_flush(): leakfix. parse_date(): fix parsing 03/10/2006 * jc/combine: combine-diff: refactor built-in xdiff interface.
| | * combine-diff: refactor built-in xdiff interface.Junio C Hamano2006-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | | This refactors the line-by-line callback mechanism used in combine-diff so that other programs can reuse it more easily. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | Add git-clean commandPavel Roskin2006-04-051-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | This command removes untracked files from the working tree. This implementation is based on cg-clean with some simplifications. The documentation is included. [jc: with trivial documentation fix, noticed by Jakub Narebski] Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | http-fetch: add optional DAV-based pack listNick Hengeveld2006-04-041-1/+6
|/ | | | | | | | | If git is not built with NO_EXPAT, this patch changes git-http-fetch to attempt using DAV to get a list of remote packs and fall back to using objects/info/packs if the DAV request fails. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Set HTTP user agent to git/GIT_VERSIONNick Hengeveld2006-04-041-0/+3
| | | | | | | | Useful for diagnostics/troubleshooting to know which client versions are hitting your server. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Makefile: many programs now depend on xdiff/lib.a having been built.Junio C Hamano2006-03-311-4/+4
| | | | | | | The dependency was not properly updated when we added this library, breaking parallel build with $(MAKE) -j. Signed-off-by: Junio C Hamano <junkio@cox.net>