aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* Makefile: do not link rev-list any specially.Junio C Hamano2006-05-04
| | | | | | | | | | | 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-04
|\ | | | | | | | | * jc/logs: builtin-log/whatchanged/show: make them official.
| * builtin-log/whatchanged/show: make them official.Junio C Hamano2006-05-01
| | | | | | | | | | | | | | 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-03
|\ \ | | | | | | | | | | | | * jc/symref: core.prefersymlinkrefs: use symlinks for .git/HEAD
| * | core.prefersymlinkrefs: use symlinks for .git/HEADJunio C Hamano2006-05-02
| |/ | | | | | | | | | | | | | | | | 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-03
|\ \ | | | | | | | | | | | | | | | | | | | | | * 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-01
| | | | | | | | | | | | | | | | | | | | | 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-28
| |/ | | | | | | | | | | 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-03
|\ \ | | | | | | | | | | | | | | | | | | * 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-01
| | | | | | | | | | | | | | | | | | | | | 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-27
| |/ | | | | | | | | | | | | | | | | | | | | | | 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-01
| | | | | | | | | | | | 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-30
|/ | | | | | | | | | | | | | | | | | | | | | | | | 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-26
| | | | | | ... in the same spirit as 71459c193d04870076efa0a387c317390b53e3e2. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'jc/diff'Junio C Hamano2006-04-25
|\ | | | | | | | | | | | | * jc/diff: Libified diff-index: backward compatibility fix. Libify diff-index. Libify diff-files.
| * Libify diff-files.Junio C Hamano2006-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-25
|/ | | | | | | | | | 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-21
| | | | | | | 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-21
| | | | | | | | | | | 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-19
| | | | | | | 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-18
| | | | | | | [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-16
| | | | | 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-13
| | | | | | | | | | | | | | 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-11
|\ | | | | | | | | | | | | * 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-11
| | | | | | | | | | [jc: the original had "index() is evil" but that should be a separate patch.]
| * Retire git-log.sh (take #3)Junio C Hamano2006-04-11
| | | | | | | | | | | | | | 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-10
|\ \ | |/ | | | | | | | | | | | | | | * 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-10
| | | | | | | | | | | | ... and install a replacement properly. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Retire git-log.shJunio C Hamano2006-04-10
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Retire diffcore-pathspec.Junio C Hamano2006-04-10
| | | | | | | | | | | | | | | | 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-09
|/ | | | | | | | | | | | 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-05
|\ | | | | | | | | * nh/http: Fix compile with expat, but an old curl version
| * Fix compile with expat, but an old curl versionJohannes Schindelin2006-04-05
| | | | | | | | | | | | | | | | 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-05
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | * 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-05
| | | | | | | | | | | | | | | | | | | | | 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-05
| |/ | | | | | | | | | | | | | | | | | | | | 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-04
|/ | | | | | | | | 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-04
| | | | | | | | 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-31
| | | | | | | 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>
* tree/diff header cleanup.Junio C Hamano2006-03-29
| | | | | | | | | | | | | | | Introduce tree-walk.[ch] and move "struct tree_desc" and associated functions from various places. Rename DIFF_FILE_CANON_MODE(mode) macro to canon_mode(mode) and move it to cache.h. This macro returns the canonicalized st_mode value in the host byte order for files, symlinks and directories -- to be compared with a tree_desc entry. create_ce_mode(mode) in cache.h is similar but is intended to be used for index entries (so it does not work for directories) and returns the value in the network byte order. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Add ALL_LDFLAGS to the git target.Jason Riedy2006-03-27
| | | | | | | | | | For some reason, I need ALL_LDFLAGS in the git target only on AIX. Once it builds, only one test "fails" on AIX 5.1 with 1.3.0.rc1, t5500-fetch-pack.sh, but it looks like it's some odd tool problem in the tester + my setup and not a real bug. Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'lt/diffgen' into nextJunio C Hamano2006-03-26
|\ | | | | | | | | | | * lt/diffgen: add clean and ignore rules for xdiff/ Remove dependency on a file named "-lz"
| * add clean and ignore rules for xdiff/Junio C Hamano2006-03-26
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Remove dependency on a file named "-lz"Johannes Schindelin2006-03-26
| | | | | | | | | | | | | | | | By changing the dependency "$(LIB_H)" to "$(LIBS)", at least one version of make thought that a file named "-lz" would be needed. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'lt/diffgen' into nextJunio C Hamano2006-03-25
|\ \ | |/ | | | | | | | | | | * lt/diffgen: built-in diff: minimum tweaks builtin-diff: \No newline at end of file. Use a *real* built-in diff generator
| * Use a *real* built-in diff generatorLinus Torvalds2006-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This uses a simplified libxdiff setup to generate unified diffs _without_ doing fork/execve of GNU "diff". This has several huge advantages, for example: Before: [torvalds@g5 linux]$ time git diff v2.6.16.. > /dev/null real 0m24.818s user 0m13.332s sys 0m8.664s After: [torvalds@g5 linux]$ time git diff v2.6.16.. > /dev/null real 0m4.563s user 0m2.944s sys 0m1.580s and the fact that this should be a lot more portable (ie we can ignore all the issues with doing fork/execve under Windows). Perhaps even more importantly, this allows us to do diffs without actually ever writing out the git file contents to a temporary file (and without any of the shell quoting issues on filenames etc etc). NOTE! THIS PATCH DOES NOT DO THAT OPTIMIZATION YET! I was lazy, and the current "diff-core" code actually will always write the temp-files, because it used to be something that you simply had to do. So this current one actually writes a temp-file like before, and then reads it into memory again just to do the diff. Stupid. But if this basic infrastructure is accepted, we can start switching over diff-core to not write temp-files, which should speed things up even further, especially when doing big tree-to-tree diffs. Now, in the interest of full disclosure, I should also point out a few downsides: - the libxdiff algorithm is different, and I bet GNU diff has gotten a lot more testing. And the thing is, generating a diff is not an exact science - you can get two different diffs (and you will), and they can both be perfectly valid. So it's not possible to "validate" the libxdiff output by just comparing it against GNU diff. - GNU diff does some nice eye-candy, like trying to figure out what the last function was, and adding that information to the "@@ .." line. libxdiff doesn't do that. - The libxdiff thing has some known deficiencies. In particular, it gets the "\No newline at end of file" case wrong. So this is currently for the experimental branch only. I hope Davide will help fix it. That said, I think the huge performance advantage, and the fact that it integrates better is definitely worth it. But it should go into a development branch at least due to the missing newline issue. Technical note: this is based on libxdiff-0.17, but I did some surgery to get rid of the extraneous fat - stuff that git doesn't need, and seriously cutting down on mmfile_t, which had much more capabilities than the diff algorithm either needed or used. In this version, "mmfile_t" is just a trivial <pointer,length> tuple. That said, I tried to keep the differences to simple removals, so that you can do a diff between this and the libxdiff origin, and you'll basically see just things getting deleted. Even the mmfile_t simplifications are left in a state where the diffs should be readable. Apologies to Davide, whom I'd love to get feedback on this all from (I wrote my own "fill_mmfile()" for the new simpler mmfile_t format: the old complex format had a helper function for that, but I did my surgery with the goal in mind that eventually we _should_ just do mmfile_t mf; buf = read_sha1_file(sha1, type, &size); mf->ptr = buf; mf->size = size; .. use "mf" directly .. which was really a nightmare with the old "helpful" mmfile_t, and really is that easy with the new cut-down interfaces). [ Btw, as any hawk-eye can see from the diff, this was actually generated with itself, so it is "self-hosting". That's about all the testing it has gotten, along with the above kernel diff, which eye-balls correctly, but shows the newline issue when you double-check it with "git-apply" ] Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'master' into nextJunio C Hamano2006-03-18
|\ \ | |/ | | | | | | | | * master: Makefile: Add TAGS and tags targets ls-files: Don't require exclude files to end with a newline.
| * Makefile: Add TAGS and tags targetsFredrik Kuivinen2006-03-18
| | | | | | | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'fk/blame' into nextJunio C Hamano2006-03-10
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | * fk/blame: blame: Rename detection (take 2) rev-lib: Make it easy to do rename tracking (take 2) Make it possible to not clobber object.util in sort_in_topological_order (take 2) Add git-imap-send, derived from isync 1.0.1. repack: prune loose objects when -d is given try_to_simplify_commit(): do not skip inspecting tree change at boundary. Fix t1200 test for breakage caused by removal of full-stop at the end of fast-forward message. Describe how to add extra mail header lines in mail generated by git-format-patch. Document the --attach flag. allow double click on current HEAD id after git-pull
| * Add git-imap-send, derived from isync 1.0.1.Mike McCormack2006-03-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git-imap-send drops a patch series generated by git-format-patch into an IMAP folder. This allows patch submitters to send patches through their own mail program. git-imap-send uses the following values from the GIT repository configuration: The target IMAP folder: [imap] Folder = "INBOX.Drafts" A command to open an ssh tunnel to the imap mail server. [imap] Tunnel = "ssh -q user@imap.server.com /usr/bin/imapd ./Maildir 2> /dev/null" [imap] Host = imap.server.com User = bob Password = pwd Port = 143