aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* Merge branch 'mv/merge-recursive'Shawn O. Pearce2008-09-25
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mv/merge-recursive: builtin-merge: release the lockfile in try_merge_strategy() merge-recursive: get rid of virtual_id merge-recursive: move current_{file,directory}_set to struct merge_options merge-recursive: move the global obuf to struct merge_options merge-recursive: get rid of the index_only global variable merge-recursive: move call_depth to struct merge_options cherry-pick/revert: make direct internal call to merge_tree() builtin-merge: avoid run_command_v_opt() for recursive and subtree merge-recursive: introduce merge_options merge-recursive.c: Add more generic merge_recursive_generic() Split out merge_recursive() to merge-recursive.c
| * Split out merge_recursive() to merge-recursive.cMiklos Vajna2008-08-30
| | | | | | | | | | | | | | | | | | Move most of the of code from builtin-merge-recursive.c to a new file merge-recursive.c and introduce merge_recursive_setup() in there so that builtin-merge-recursive and other builtins call it. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'jc/alternate-push'Shawn O. Pearce2008-09-25
|\ \ | | | | | | | | | | | | | | | | | | | | | * jc/alternate-push: push: receiver end advertises refs from alternate repositories push: prepare sender to receive extended ref information from the receiver receive-pack: make it a builtin is_directory(): a generic helper function
| * | receive-pack: make it a builtinJunio C Hamano2008-09-09
| | | | | | | | | | | | | | | | | | | | | It is a good thing to do in general, but more importantly, transport routines can only be used by built-ins, which is what I'll be adding next. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Sync with 1.6.0.2Junio C Hamano2008-09-12
|\ \ \
| * | | Use compatibility regex library also on FreeBSDJeff King2008-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 3632cfc24 makes the same change for Darwin; however, the problem also exists on FreeBSD. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | Use compatibility regex library also on AIXJohannes Sixt2008-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This augments 3632cfc24 (Use compatibility regex library on Darwin, 2008-09-07), which already carries a "Tested-by" statement for AIX, but that test was actually done with this patch included. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Tested-by: Mike Ralphson <mike@abacus.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Install git-cvsserver in $(bindir)Nanako Shiraishi2008-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It is one of the server side programs and needs to be found on usual $PATH. Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | separate build targets for man and html documentationMichael J Gruber2008-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces new build targets "man" and "html" which allow building the documentation in the respective formats separately. This helps people with a partial documentation build chain: html pages can be built without xmlto. This is documented in INSTALL now, together with corrections: Before, instructions in INSTALL would build man+html but install man only. Now the instructions build and install both, and new and pre-existing targets are explained. Note that build targets "doc" and "man" correspond to install targets "install-doc install-html" and "install-doc" respectively. This inconsistency is not changed, in order to keep everyone's build scripts from breaking. Signed-off-by: Michael J Gruber <michaeljgruber+gmane@fastmail.fm> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | allow installation of man and html doc from the man and html branchesMichael J Gruber2008-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a make target "quick-install-html" which installs the html documentation from the branch origin/html, without the need for asciidoc/xmlto. This is analogous to the existing "quick-install-doc" target for the man pages. We advertise these targets in the INSTALL file now. Signed-off-by: Michael J Gruber <michaeljgruber+gmane@fastmail.fm> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Merge branch 'maint'Junio C Hamano2008-09-10
|\ \ \ \ | |/ / / | | / / | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | * maint: Update draft release notes for 1.6.0.2 Use compatibility regex library for OSX/Darwin git-svn: Fixes my() parameter list syntax error in pre-5.8 Perl Git.pm: Use File::Temp->tempfile instead of ->new t7501: always use test_cmp instead of diff Conflicts: Makefile
| * | Use compatibility regex library for OSX/DarwinArjen Laarhoven2008-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The standard libc regex library on OSX does not support alternation in POSIX Basic Regular Expression mode. This breaks the diff.funcname functionality on OSX. To fix this, we use the GNU regex library which is already present in the compat/ diretory for the MinGW port. However, simply adding compat/ to the COMPAT_CFLAGS variable causes a conflict between the system fnmatch.h and the one present in compat/. To remedy this, move the regex and fnmatch functionality to their own subdirectories in compat/ so they can be included seperately. Signed-off-by: Arjen Laarhoven <arjen@yaph.org> Tested-by: Mike Ralphson <mike@abacus.co.uk> (AIX) Tested-by: Johannes Sixt <johannes.sixt@telecom.at> (MinGW) Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Windows: git-shell can be compiled againJohannes Sixt2008-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reason that git-shell was excluded from the Windows build was that our compatibility layer needed stuff that was removed when we tried to link less of the git library into git-shell. Since 4cfc24a (shell: do not play duplicated definition games to shrink the executable, 2008-08-19) the complete library is linked again, so we can build git-shell on Windows as well. (This fixes 'make install', which depends on that git-shell is always built.) Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'ar/autospell'Junio C Hamano2008-09-07
|\ \ \ | | | | | | | | | | | | | | | | | | | | * ar/autospell: Add help.autocorrect to enable/disable autocorrecting git wrapper: DWIM mistyped commands
| * | | git wrapper: DWIM mistyped commandsJohannes Schindelin2008-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a modified Damerau-Levenshtein algorithm into Git's code base, and uses it with the following penalties to show some similar commands when an unknown command was encountered: swap = 0, insertion = 1, substitution = 2, deletion = 4 A typical output would now look like this: $ git sm git: 'sm' is not a git-command. See 'git --help'. Did you mean one of these? am rm The cut-off is at similarity rating 6, which was empirically determined to give sensible results. As a convenience, if there is only one candidate, Git continues under the assumption that the user mistyped it. Example: $ git reabse WARNING: You called a Git program named 'reabse', which does not exist. Continuing under the assumption that you meant 'rebase' [...] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Merge branch 'jc/cc-ld-dynpath'Junio C Hamano2008-09-07
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jc/cc-ld-dynpath: configure: auto detect dynamic library path switches Makefile: Allow CC_LD_DYNPATH to be overriden Conflicts: Makefile config.mak.in
| * | | | Makefile: Allow CC_LD_DYNPATH to be overridenJunio C Hamano2008-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current Makefile does not allow config.mak to override CC_LD_DYNPATH; it only lets it affect indirectly via NO_R_TO_GCC_LINKER. If the command line, config.mak or config.mak.autogen wants to set CC_LD_DYNPATH differently, we should just allow it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | Merge branch 'maint'Junio C Hamano2008-09-02
|\ \ \ \ \ | | |_|/ / | |/| | / | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | * maint: Makefile: add merge_recursive.h to LIB_H Improve documentation for --dirstat diff option Bring local clone's origin URL in line with that of a remote clone Documentation: minor cleanup in a use case in 'git stash' manual Documentation: fix disappeared lines in 'git stash' manpage Documentation: fix reference to a for-each-ref option
| * | | Makefile: add merge_recursive.h to LIB_HMiklos Vajna2008-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When modifying merge-recursive.h, for example builtin-merge-recursive.c have to be recompiled which was not true till now, causing various runtime errors using an incremental build. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Merge branch 'maint'Junio C Hamano2008-08-30
|\ \ \ \ | |/ / / | | | / | |_|/ |/| | | | | | | | | | | | | | | | | * maint: gitattributes: -crlf is not binary git-apply: Loosen "match_beginning" logic Fix example in git-name-rev documentation shell: do not play duplicated definition games to shrink the executable Fix use of hardlinks in "make install" pack-objects: Allow missing base objects when creating thin packs
| * | Merge branch 'af/maint-install-no-handlink' into maintJunio C Hamano2008-08-29
| |\ \ | | | | | | | | | | | | | | | | | | | | * af/maint-install-no-handlink: Fix use of hardlinks in "make install" Makefile: always provide a fallback when hardlinks fail
| | * | Fix use of hardlinks in "make install"Alex Riesen2008-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code failed to filter-out git-add properly on platforms were $X is not empty (ATM there is only one such a platform). Than it tried to create a hardlink to the file ($execdir/git-add) it just removed (because git-add is first in the BUILT_INS), so ln failed (but because stderr was redirected into /dev/null the error was never seen), and the whole install ended up using "ln -s" instead. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | shell: do not play duplicated definition games to shrink the executableJunio C Hamano2008-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Playing with linker games to shrink git-shell did not go well with various other platforms and compilers. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Merge branch 'mv/merge-custom'Junio C Hamano2008-08-27
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mv/merge-custom: t7606: fix custom merge test Fix "git-merge -s bogo" help text Update .gitignore to ignore git-help Builtin git-help. builtin-help: always load_command_list() in cmd_help() Add a second testcase for handling invalid strategies in git-merge Add a new test for using a custom merge strategy builtin-merge: allow using a custom strategy builtin-help: make some internal functions available to other builtins Conflicts: help.c
| * | | | Builtin git-help.Miklos Vajna2008-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch splits out git-help's functions to builtin-help.c and leaves only functions used by other builtins in help.c. First this removes git-help's functions from libgit which are not interesting for other builtins, second this makes 'git help help' work again. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | | builtin-help: make some internal functions available to other builtinsMiklos Vajna2008-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make load_command_list() capable of filtering for a given prefix and loading into a pair of "struct cmdnames" supplied by the caller. Make the static add_cmdname(), exclude_cmds() and is_in_cmdlist() functions non-static. Make list_commands() accept a custom title, and work from a pair of "struct cmdnames" supplied by the caller. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | Merge branch 'af/maint-install-no-handlink'Junio C Hamano2008-08-26
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | * af/maint-install-no-handlink: Makefile: always provide a fallback when hardlinks fail
| * | | | Makefile: always provide a fallback when hardlinks failAndreas Färber2008-08-25
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We make hardlinks from "git" to "git-<cmd>" built-ins and have been careful to avoid cross-device links when linking "git-<cmd>" to gitexecdir. However, we were not prepared to deal with a build directory that is incapable of making hard links within itself. This patch corrects it. Instead of temporarily linking "git" to gitexecdir, directly link "git- add", falling back to "cp". Try hardlinking that as "git-<cmd>", falling back to symlinks or "cp" on error. While at it, avoid 100+ error messages from hardlink failures when we are going to fall back to symlinks or "cp" by redirecting the standard error to /dev/null. Signed-off-by: Andreas Färber <andreas.faerber@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Merge branch 'jc/no-slim-shell'Junio C Hamano2008-08-26
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * jc/no-slim-shell: Revert "Build-in "git-shell""
| * | | | Revert "Build-in "git-shell""Junio C Hamano2008-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit daa0cc9a92c9c2c714aa5f7da6d0ff65b93e0698. It was a stupid idea to do this; when run as a log-in shell, it is spawned with argv[0] set to "-git-shell", so the usual name-based dispatch would not work to begin with.
* | | | | Install git-shell in bindir, tooTommi Virtanen2008-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /etc/passwd shell field must be something execable, you can't enter "/usr/bin/git shell" there. git-shell must be present as a separate executable, or it is useless. Signed-off-by: Tommi Virtanen <tv@eagain.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | Merge branch 'jc/no-slim-shell'Junio C Hamano2008-08-24
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | * jc/no-slim-shell: Build-in "git-shell" shell: do not play duplicated definition games to shrink the executable
| * | | | Build-in "git-shell"Junio C Hamano2008-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This trivially makes "git-shell" a built-in. It makes the executable even fatter, though. And MinGW removed git-shell only because of the funny dependencies; there is no reason to do so anymore. Signed-off-by: Junio C Hamano <gitster@pobox.com> Tested-on-MinGW-by: Johannes Sixt <johannes.sixt@telecom.at>
| * | | | shell: do not play duplicated definition games to shrink the executableJunio C Hamano2008-08-19
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | Playing with linker games to shrink git-shell did not go well with various other platforms and compilers. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Merge branch 'maint' to sync with 1.6.0.1Junio C Hamano2008-08-24
|\ \ \ \ | | |/ / | |/| |
| * | | Makefile: enable SNPRINTF_RETURNS_BOGUS for HP-UXMiklos Vajna2008-08-23
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | In 81cc66a, customization has been added to Makefile for supporting HP-UX, but git commit is still problematic. This should fix the issue. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Acked-by: Robert Schiele <rschiele@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'ph/enable-threaded'Junio C Hamano2008-08-19
|\ \ \ | | | | | | | | | | | | | | | | * ph/enable-threaded: Enable threaded delta search on *BSD and Linux.
| * | | Enable threaded delta search on *BSD and Linux.Pierre Habouzit2008-07-22
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Merge branch 'rs/imap'Junio C Hamano2008-08-19
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rs/imap: Documentation: Improve documentation for git-imap-send(1) imap-send.c: more style fixes imap-send.c: style fixes git-imap-send: Support SSL git-imap-send: Allow the program to be run from subdirectories of a git tree
| * | | | git-imap-send: Support SSLRobert Shearman2008-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow SSL to be used when a imaps:// URL is used for the host name. Also, automatically use TLS when not using imaps:// by using the IMAP STARTTLS command, if the server supports it. Tested with Courier and Gimap IMAP servers. Signed-off-by: Robert Shearman <robertshearman@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | compat: introduce on_disk_bytes()Junio C Hamano2008-08-18
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some platforms do not have st_blocks member in "struct stat"; mingw already emulates it by rounding it up to closest 512-byte blocks (even though it could overcount when a file has holes). The reason to use the member is only to figure out how many kilobytes the files occupy on-disk, so give a helper function in git-compat-util.h to compute this value. Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: Johannes Sixt <johannes.sixt@telecom.at>
* | | | Makefile: building git in cygwin 1.7.0Eric Blake2008-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On platforms with $X, make removes any leftover scripts 'a' from earlier builds if a new binary 'a.exe' is now built. However, on cygwin 1.7.0, 'git' and 'git.exe' now consistently name the same file. Test for file equality before attempting a remove, in order to avoid nuking just-built binaries. Signed-off-by: Eric Blake <ebb9@byu.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Makefile: add a target which will abort compilation with ancient shellsBrandon Casey2008-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a make target which can be used to try to execute certain shell constructs which are required for compiling and running git. This patch provides a test for the $() notation for command substition which is used in the Makefile and extensively in the git scripts. The make target is named in such a way as to be a hint to the user that SHELL_PATH should be set to an appropriate shell. If the shell command fails, the user should receive a message similar to the following: make: *** [please_set_SHELL_PATH_to_a_more_modern_shell] Error 2 Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Makefile: set SHELL to value of SHELL_PATHBrandon Casey2008-08-08
| |_|/ |/| | | | | | | | | | | Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Allow installing in the traditional wayJunio C Hamano2008-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In an earlier commit c70a8d9 (Makefile: Do not install a copy of 'git' in $(gitexecdir), 2008-07-21), we tried to avoid installing two git, one in /usr/bin/git and the other in /usr/libexec/git-core/git. It mistakenly removed the only copy of git when gitexecdir and bindir are set to the same directory, i.e. the traditional layout. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Allow building without any git installedJunio C Hamano2008-07-28
|/ / | | | | | | | | | | | | | | | | This is a follow-up patch to 49fa65a (Allow the built-in exec path to be relative to the command invocation path, 2008-07-23). Without specific gitexecdir passed from the command line, git-gui's build procedure would try to figure out the value for it by running an installed git. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Windows: Do not compile git-shellJohannes Sixt2008-07-25
| | | | | | | | | | Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Windows: Make $(gitexecdir) relativeJohannes Sixt2008-07-25
| | | | | | | | | | Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Allow the built-in exec path to be relative to the command invocation pathJohannes Sixt2008-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | If GIT_EXEC_PATH (the macro that is defined in the Makefile) is relative, it is interpreted relative to the command's invocation path, which usually is $(bindir). The Makefile rules were written with the assumption that $(gitexecdir) is an absolute path. We introduce a separate variable that names the (absolute) installation directory. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Fix relative built-in paths to be relative to the command invocationJohannes Sixt2008-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | $(gitexecdir) (as defined in the Makefile) has gained another path component, but the relative paths in the MINGW section of the Makefile, which are interpreted relative to it, do not account for it. Instead of adding another ../ in front of the path, we change the code that constructs the absolute paths to do it relative to the command's directory, which is essentially $(bindir). We do it this way because we will also allow a relative $(gitexecdir) later. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>