* js/c-merge-recursive:
Makefile: git-merge-recur depends on xdiff libraries.
merge-recur: Explain why sha_eq() and struct stage_data cannot go
merge-recur: Cleanup last mixedCase variables...
merge-recur: Fix compiler warning with -pedantic
merge-recur: Remove dead code
merge-recur: Get rid of debug code
merge-recur: Convert variable names to lower_case
Cumulative update of merge-recursive in C
* js/mv:
builtin git-mv: support moving directories
Make git-mv a builtin
Extract helper bits from c-merge-recursive work
git-cvsserver: support multiline commit messages
t7001: add test for git-mv dir1 dir2/
gitweb: fix two warnings
git-instaweb: respect bindir from Makefile
git-instaweb: some Apache have mod_cgi builtin
t4112: simplify the test and remove unneeded working tree file.
Extend testing git-mv for renaming of subdirectories
This also moves add_file_to_index() to read-cache.c. Oh, and while
touching builtin-add.c, it also removes a duplicate git_config() call.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
* sp/darwin:
upload-pack: fix timeout in create_pack_file
Defaulting fetch to origin when set in the repo-config
Colorize 'commit' lines in log ui
git-am: Don't accept an mbox on stdin of we already have a .dotest directory
show-branch: Fix another performance problem.
pack-objects: check pack.window for default window size
Disable linking with Fink or DarwinPorts.
git.el: Put the git customize group in the 'tools' parent group.
git.el: Try to reuse an existing buffer when running git-status.
git.el: Prepend a slash to the file name when adding to .gitignore.
git.el: Run git-rerere on commits if the rr-cache directory exists.
git-svn: fix fetching new directories copies when using SVN:: libs
tar-tree: add the "tar.umask" config option
cvsexportcommit - add -a (add author line) flag, cleanup warnings
* master: (176 commits)
upload-pack: fix timeout in create_pack_file
Defaulting fetch to origin when set in the repo-config
Colorize 'commit' lines in log ui
git-am: Don't accept an mbox on stdin of we already have a .dotest directory
show-branch: Fix another performance problem.
pack-objects: check pack.window for default window size
Disable linking with Fink or DarwinPorts.
git.el: Put the git customize group in the 'tools' parent group.
git.el: Try to reuse an existing buffer when running git-status.
git.el: Prepend a slash to the file name when adding to .gitignore.
git.el: Run git-rerere on commits if the rr-cache directory exists.
git-svn: fix fetching new directories copies when using SVN:: libs
tar-tree: add the "tar.umask" config option
cvsexportcommit - add -a (add author line) flag, cleanup warnings
unpack-objects: remove stale and confusing comment
git-fetch: fix --keep vs --thin
git-svn: don't check for migrations/upgrades on commit-diff
show-branch: fix performance problem.
Documentation/urls.txt: Use substitution to escape square brackets
Documentation/Makefile: product depends on asciidoc.conf
...
It may be desirable for the compiler to disable linking against Fink
or DarwinPorts, especially if both are installed on the system and
the user wants GIT to be linked specifically to only one of them.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This is just an update for people being interested. Alex and me were
busy with that project for a few days now. While it has progressed nicely,
there are quite a couple TODOs in merge-recursive.c, just search for "TODO".
For impatient people: yes, it passes all the tests, and yes, according
to the evil test Alex did, it is faster than the Python script.
But no, it is not yet finished. Biggest points are:
- there are still three external calls
- in the end, it should not be necessary to write the index more than once
(just before exiting)
- a lot of things can be refactored to make the code easier and shorter
BTW we cannot just plug in git-merge-tree yet, because git-merge-tree
does not handle renames at all.
This patch is meant for testing, and as such,
- it compile the program to git-merge-recur
- it adjusts the scripts and tests to use git-merge-recur instead of
git-merge-recursive
- it provides "TEST", a script to execute the tests regarding -recursive
- it inlines the changes to read-cache.c (read_cache_from(), discard_cache()
and refresh_cache_entry())
Brought to you by Alex Riesen and Dscho
Signed-off-by: Junio C Hamano <junkio@cox.net>
* lt/merge-tree:
Improved three-way blob merging code
Prepare "git-merge-tree" for future work
xdiff: generate "anti-diffs" aka what is common to two files
* ew/svn:
Fix some doubled word typos
Typofix in Makefile comment.
Makefile: export NO_SVN_TESTS
git-svn: migrate out of contrib (follow-up)
git-svn: migrate out of contrib
* jn/make:
Typofix in configure.ac comment.
configure.ac vertical whitespace usage cleanup
autoconf: Checks for some programs
autoconf: Checks for libraries
autoconf: Checks for some library functions.
autoconf: Checks for typedefs, structures, and compiler characteristics.
autoconf: Preparing the way for autodetection
Copy description of build configuration variables to configure.ac
Teach make clean about configure and autoconf
autoconf: Use autoconf to write installation directories to config.mak.autogen
* js/merge-base:
Additional merge-base tests (revised)
merge-base: update the clean-up postprocessing
Fix typos involving the word 'commit'
Fix some doubled word typos
"git -p cmd" to page anywhere
change ent to tree in git-diff documentation
Assorted typo fixes
* ml/trace:
GIT_TRACE: fix a mixed declarations and code warning
GIT_TRACE: show which built-in/external commands are executed
Disable color detection during format-patch
git-cvsexportcommit can't handle merge commits correctly
Using 'perl' in *.sh
sed -e '/RE/r rfile/' needs space in 'r rfile'
Close the index file between writing and committing
colored diff: diff.color = auto fix
This actually removes the objects to be pruned, unless you specify "-n"
(at which point it will just tell you which files it would prune).
This doesn't do the pack-file pruning that the shell-script used to do,
but if somebody really wants to, they could add it easily enough. I wonder
how useful it is, though, considering that "git repack -a -d" is just a
lot more efficient and generates a better end result.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Traditionally 'i' and 'a' commands to sed have been unfriendly
with make, primarily because different make implementations did
unexpected things to backslashes at the end of lines. So work
it around by not using 'i' command.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Some GIT's shell script are using bare 'perl' for perl invocation.
Use @@PERL@@ symbol and replace it with PERL_PATH_SQ everywhere.
Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Some implementations of sed (like HP-UX one) mandate a space between 'r'
and 'rfile'.
Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Without this patch, it really is not sufficient to define NO_SVN_TESTS
in config.mak or the Makefile.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Allow NO_SVN_TESTS to be defined to skip git-svn tests. These
tests are time-consuming due to SVN being slow, and even more so
if SVN Perl libraries are not available.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
* ew/instaweb:
instaweb: fix unportable ';' usage in sed
Makefile: replace ugly and unportable sed invocation
Add git-instaweb, instantly browse the working repo with gitweb
gitweb: Declare global variables with "our"
gitweb: Enable tree (directory) history display
gitweb: optimize per-file history generation
* jc/sha1:
A better-scheduled PPC SHA-1 implementation.
test-sha1: test hashing large buffer
Makefile: add framework to verify and bench sha1 implementations.
This makes the Git perl scripts check $GITPERLLIB instead of
$RUNNING_GIT_TESTS, which makes more sense if you are setting up your shell
environment to use a non-installed Git instance.
It also weeds out the @INC munging from the individual scripts and makes
Makefile add it during the .perl files processing, so that we can change
just a single place when we modify this shared logic. It looks ugly in the
scripts, too. ;-)
And instead of doing arcane things with the @INC array, we just do 'use lib'
instead, which is essentialy the same thing anyway.
I first want to do three separate patches but it turned out that it's quite
a lot neater when bundled together, so I hope it's ok.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Although our "git-%$X:" implicit target had dependency on
$(GITLIBS) which included xdiff/lib.a, git-http-{fetch,push} had
their own building rules and with an obsolete dependency on
$(LIB_FILES). Update the rules to depend on $(GITLIBS), to make
parallel build work correctly.
Signed-off-by: Junio C Hamano <junkio@cox.net>
* pb/gitpm: (37 commits)
Perly Git: make sure we do test the freshly built one.
Git.pm: Don't #define around die
Git.xs: older perl do not know const char *
Git.pm: Avoid ppport.h
Git.pm: Remove PerlIO usage from Git.xs
Make perl interface a separate package
Delete manuals if compiling without docs
Fix probing for already installed Error.pm
Git.pm: clean generated files.
Perly git: work around buggy make implementations.
Makefile: Set USE_PIC on x86-64
Perly Git: arrange include path settings properly.
Add possibility to pass CFLAGS and LDFLAGS specific to the perl subdir
Git.pm: Support for perl/ being built by a different compiler
Makefile fix for Solaris
"test" in Solaris' /bin/sh does not support -e
Git.pm: Fix Git->repository("/somewhere/totally/elsewhere")
Git.pm: Swap hash_object() parameters
Git.pm: Try to support ActiveState output pipe
Git.pm: tentative fix to test the freshly built Git.pm
...
On some platforms, Git.xs refuses to link with the rest of git
unless the latter is compiled with -fPIC, and we have USE_PIC
control in the Makefile for the user to set it. At least we
know x86-64 is such, so set it in the Makefile.
The original suggestion by Marco Roeland conservatively did this
only for Linux x86-64, but let's keep the Makefile simple and if
it breaks somebody let them holler.
Signed-off-by: Junio C Hamano <junkio@cox.net>
dst_ on #git reported that on Solaris 9, Perl was built by Sun CC
and perl/ is therefore being built with it as well, while the rest
of Git is built with gcc. The problem (the first one visible, anyway)
is that we passed perl/ even various gcc-specific options. This
separates those to a special variable.
This is not really meant for an application yet since it's not clear
if it will alone help anything.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Solaris' /bin/sh does not support $( )-style command substitution
Signed-off-by: Dennis Stosberg <dennis@stosberg.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
- We passed our own *.a archives as LIBS to the submake that runs
in perl/; separate LIBS and EXTLIBS and pass the latter which
tells what the system libraries are used.
- The quoting of preprocesor symbol definitions passed down to
perl/ submake was loose and we lost double quotes around
include directives. Use *_SQ to quote them properly.
- The installation location of perl/ submake is not
architecture neutral anymore, so use SITEARCH instead of
SITELIB.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>