Commit Graph

625 Commits

Author SHA1 Message Date
Junio C Hamano
30fc4688a3 Merge branches 'js/c-merge-recursive' and 'js/read-tree' into next
* 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
2006-07-31 00:12:50 -07:00
Junio C Hamano
593e1eeded Merge branch 'jn/web' into next
* 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
2006-07-31 00:10:33 -07:00
Junio C Hamano
c1a788acee Merge branch 'js/read-tree' into js/c-merge-recursive
* 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
  ...
2006-07-30 23:42:10 -07:00
Johannes Schindelin
16da134b1f read-trees: refactor the unpack_trees() part
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>
2006-07-30 23:31:31 -07:00
Gerrit Pape
ca7a741647 Build on Debian GNU/kFreeBSD
Patch from Petr Salinger to make the build process detect and support the
Debian GNU/kFreeBSD architecture, see
 http://bugs.debian.org/380209

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-30 13:36:12 -07:00
Junio C Hamano
522a98caa5 Merge branch 'js/mv'
* js/mv:
  builtin git-mv: support moving directories
  Make git-mv a builtin
  Extract helper bits from c-merge-recursive work
2006-07-30 13:24:48 -07:00
Junio C Hamano
2dcb927f37 Merge branch 'jn/make'
* 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
2006-07-30 13:24:29 -07:00
Junio C Hamano
688a750714 Merge branch '__/setup-n-mv' into next
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
2006-07-29 02:00:46 -07:00
Junio C Hamano
7061cf0f20 Merge branch 'lt/setup' into __/setup-n-mv
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>
2006-07-29 01:54:54 -07:00
Johannes Schindelin
2941cab99c Makefile: ssh-pull.o depends on ssh-fetch.c
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-28 11:15:35 -07:00
Junio C Hamano
0b75751464 Merge branch 'js/c-merge-recursive' into next
* 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
2006-07-27 22:03:07 -07:00
Junio C Hamano
a060b803b4 Makefile: git-merge-recur depends on xdiff libraries.
Tighten dependencies to allow parallel build.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-27 22:02:45 -07:00
Junio C Hamano
5321e7ae74 Merge branch 'js/mv' into next
* 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
2006-07-26 13:40:24 -07:00
Johannes Schindelin
11be42a476 Make git-mv a builtin
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>
2006-07-26 13:36:36 -07:00
Junio C Hamano
24cf6e5847 Merge branch 'pb/configure'
* pb/configure:
  Rename man1 and man7 variables to man1dir and man7dir
  Allow INSTALL, bindir, mandir to be set in main Makefile
2006-07-26 13:35:35 -07:00
Johannes Schindelin
941ba215fb git-instaweb: respect bindir from Makefile
Not everybody installs git to /usr/bin/git.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-26 12:24:19 -07:00
Junio C Hamano
e84389fd7a Merge branch 'sp/darwin' into next
* 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
2006-07-24 01:13:18 -07:00
Junio C Hamano
5e4d4957e1 Merge branch 'master' into sp/darwin
* 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
  ...
2006-07-24 01:04:58 -07:00
Shawn Pearce
8eb38cad44 Disable linking with Fink or DarwinPorts.
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>
2006-07-23 23:39:37 -07:00
Junio C Hamano
80296b1423 Merge branch 'js/c-merge-recursive' into next
* js/c-merge-recursive:
  recur vs recursive: help testing without touching too many stuff.
  Status update on merge-recursive in C
2006-07-13 23:39:38 -07:00
Johannes Schindelin
6d297f8137 Status update on merge-recursive in C
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>
2006-07-13 23:10:19 -07:00
Junio C Hamano
3939b805f4 Merge branch 'lt/prune'
* lt/prune:
  builtin "git prune"
2006-07-12 22:31:55 -07:00
Junio C Hamano
096b173234 Merge branch 'lt/merge-tree'
* 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
2006-07-12 22:31:22 -07:00
Junio C Hamano
e6ff54a261 Merge branch 'ew/svn'
* 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
2006-07-09 23:37:19 -07:00
Junio C Hamano
1d85d3b855 Merge branch 'jn/make' into next
* 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
2006-07-09 19:01:37 -07:00
Junio C Hamano
2ed2af70e8 Merge branch 'ew/svn' into next
* ew/svn:
  Fix some doubled word typos
  Typofix in Makefile comment.
2006-07-09 19:01:32 -07:00
Junio C Hamano
83e36c1a2d Merge branch 'js/merge-base' into next
* 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
2006-07-09 03:39:07 -07:00
Pavel Roskin
02853588a4 Typofix in Makefile comment.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-09 02:44:58 -07:00
Pavel Roskin
addf88e455 Assorted typo fixes
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-09 02:42:41 -07:00
Junio C Hamano
27037654ff Merge branch 'lt/prune' into next
* lt/prune:
  builtin "git prune"
2006-07-09 01:19:11 -07:00
Junio C Hamano
427d2b05e0 Merge branch 'pb/gitpm-fix' into next
* pb/gitpm-fix:
  Work around sed and make interactions on the backslash at the end of line.
2006-07-09 01:03:04 -07:00
Junio C Hamano
4aa1965b4b Merge branch 'ml/trace' into next
* 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
2006-07-09 01:01:49 -07:00
Linus Torvalds
ba84a797e7 builtin "git prune"
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>
2006-07-09 00:57:22 -07:00
Jakub Narebski
92b878ade1 Teach make clean about configure and autoconf
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-08 14:24:06 -07:00
Junio C Hamano
998c4daaf4 Work around sed and make interactions on the backslash at the end of line.
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>
2006-07-08 14:15:09 -07:00
Michal Rokos
d9bffc08fd Using 'perl' in *.sh
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>
2006-07-08 11:35:20 -07:00
Michal Rokos
6e959ab05a sed -e '/RE/r rfile/' needs space in 'r rfile'
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>
2006-07-08 11:28:32 -07:00
Junio C Hamano
5082a66602 Merge branch 'ew/svn' into next
* ew/svn:
  Makefile: export NO_SVN_TESTS
  git-svn: migrate out of contrib (follow-up)
2006-07-07 13:32:49 -07:00
Johannes Schindelin
140245b3e2 Makefile: export NO_SVN_TESTS
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>
2006-07-07 12:43:45 -07:00
Junio C Hamano
66fee66ee0 Merge branch 'ew/svn' into next
* ew/svn:
  git-svn: migrate out of contrib
  core.compression documentation formatting fix.
2006-07-06 17:34:26 -07:00
Eric Wong
60d02ccc18 git-svn: migrate out of contrib
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>
2006-07-06 17:02:47 -07:00
Junio C Hamano
c31cfb3db3 Merge branch 'ew/instaweb'
* 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
2006-07-06 17:01:00 -07:00
Junio C Hamano
b296990c3b Merge branch 'jc/sha1'
* jc/sha1:
  A better-scheduled PPC SHA-1 implementation.
  test-sha1: test hashing large buffer
  Makefile: add framework to verify and bench sha1 implementations.
2006-07-05 16:36:25 -07:00
Junio C Hamano
e6c003648d Merge branch 'pb/gitpm' 2006-07-03 19:52:51 -07:00
Junio C Hamano
ad94f72626 Merge branch 'js/fmt-merge-msg' into next
* js/fmt-merge-msg:
  Make git-fmt-merge-msg a builtin
2006-07-03 19:46:20 -07:00
Johannes Schindelin
00449f992b Make git-fmt-merge-msg a builtin
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03 19:42:41 -07:00
Petr Baudis
6fcca938b0 Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging
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>
2006-07-03 18:34:53 -07:00
Junio C Hamano
bcf1a77a73 Merge branch 'js/merge-base' into next
* js/merge-base:
  Makefile: tighten git-http-{fetch,push} dependencies
2006-07-03 03:17:00 -07:00
Junio C Hamano
8fced61cbc Makefile: tighten git-http-{fetch,push} dependencies
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>
2006-07-03 00:58:34 -07:00
Junio C Hamano
afcf3f6d09 Merge branch 'pb/gitpm' into next
* 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
  ...
2006-07-02 18:12:48 -07:00