* js/c-merge-recursive:
merge-recur: use the unpack_trees() interface instead of exec()ing read-tree
read-tree: move merge functions to the library
read-trees: refactor the unpack_trees() part
merge-recur: fix thinko in unique_path()
* js/read-tree:
read-tree: move merge functions to the library
read-trees: refactor the unpack_trees() part
* jn/web:
gitweb: Ref refactoring - use git_get_referencing for marking tagged/head commits
gitweb: Remove characters entities entirely when shortening string
gitweb: Headers refactoring - use git_header_div for header divs
gitweb: Remove $project from git_get_paging_nav arguments
gitweb: Pager refactoring - use git_get_paging_nav for pagination
gitweb: Add "\n" after <br/> in git_page_nav
gitweb: Show project descriptions with utf-8 characters in project list correctly
gitweb: Replace form-feed character by ^L
gitweb: Navbar refactoring - use git_page_nav to generate navigation bar
gitweb: Add git_page_nav for later use
gitweb: Cleanup - chomp @lines in consistent style
gitweb: Cleanup - chomp $line in consistent style
gitweb: More explicit error messages for open "-|"
gitweb: simplify git_get_hash_by_path
gitweb: Use list for of open for running git commands, thorougly.
gitweb: whitespace cleanup
tar-tree: illustrate an obscure feature better
git.c: allow alias expansion without a git directory
setup_git_directory_gently: do not barf when GIT_DIR is given.
Build on Debian GNU/kFreeBSD
* js/read-tree: (107 commits)
read-tree: move merge functions to the library
read-trees: refactor the unpack_trees() part
tar-tree: illustrate an obscure feature better
git.c: allow alias expansion without a git directory
setup_git_directory_gently: do not barf when GIT_DIR is given.
Build on Debian GNU/kFreeBSD
Call setup_git_directory() much earlier
Call setup_git_directory() early
Display an error from update-ref if target ref name is invalid.
Fix http-fetch
t4103: fix binary patch application test.
git-apply -R: binary patches are irreversible for now.
Teach git-apply about '-R'
Makefile: ssh-pull.o depends on ssh-fetch.c
log and diff family: honor config even from subdirectories
git-reset: detect update-ref error and report it.
lost-found: use fsck-objects --full
Teach git-http-fetch the --stdin switch
Teach git-local-fetch the --stdin switch
Make pull() support fetching multiple targets at once
...
Basically, the options are passed by a struct unpack_trees_options now.
That's all.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
* jn/make:
Set datarootdir in config.mak.in
Quote all calls to GIT_CONF_APPEND_LINE
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
This pulls Linus's setup_git_directory() restructuring in via
the setup-n-mv merge conflict resolution branch.
* __/setup-n-mv:
Call setup_git_directory() much earlier
Call setup_git_directory() early
Display an error from update-ref if target ref name is invalid.
Fix http-fetch
t4103: fix binary patch application test.
git-apply -R: binary patches are irreversible for now.
Teach git-apply about '-R'
Makefile: ssh-pull.o depends on ssh-fetch.c
This merges the new built-in calling convention code into Johannes's
builtin-mv topic in order to resolve their conflicts early on.
Signed-off-by: Junio C Hamano <junkio@cox.net>
* 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
...