Commit Graph

649 Commits

Author SHA1 Message Date
Junio C Hamano
1c4b267a71 Merge branch 'mk/rename' into next
* mk/rename:
  git.c: Rename NEEDS_PREFIX to RUN_SETUP
  builtins: Makefile clean-up
  Make git-checkout-index a builtin
  Make git-symbolic-ref a builtin
  Make git-unpack-objects a builtin
  Make git-pack-objects a builtin
  Make git-name-rev a builtin
2006-08-04 02:13:43 -07:00
Junio C Hamano
f754fa9c54 builtins: Makefile clean-up
This cleans up the build procedure for built-in commands by:

 - generating mostly redundant definition of BUILT_INS from
   BUILTIN_OBJS in the Makefile,
 - renaming a few files to make the above possible, and
 - sorting the built-in command table in git.c.

It might be a good idea to binary search (or perfect hash) the built-in
command table, but that can be done later when somebody feels like.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-04 01:51:04 -07:00
Junio C Hamano
e414156ab6 Make git-checkout-index a builtin
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-04 01:23:19 -07:00
Matthias Kestenholz
640ce1052b Make git-symbolic-ref a builtin
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-03 23:15:11 -07:00
Matthias Kestenholz
6441363079 Make git-unpack-objects a builtin
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-03 23:15:11 -07:00
Matthias Kestenholz
5d4a600335 Make git-pack-objects a builtin
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-03 23:15:11 -07:00
Matthias Kestenholz
d6b64ed0f3 Make git-name-rev a builtin
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-03 23:15:11 -07:00
Junio C Hamano
1a8352ed29 Merge branch 'js/c-merge-recursive' into next
* js/c-merge-recursive:
  .gitignore: git-merge-recur is a built file.
2006-08-03 16:43:30 -07:00
Junio C Hamano
c8b87ef8b0 .gitignore: git-merge-recur is a built file.
Also it is OK to omit the documentation for it at least for now.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-03 16:17:51 -07:00
Junio C Hamano
8c2c334753 Merge branch 'jc/c99' into next
* jc/c99:
  Cygwin needs NO_C99_FORMAT???
  git-grep: document --and, --or, --not, ( and )
  use declarations from builtin.h for builtin commands
  Make git-repo-config a builtin
2006-08-02 17:15:54 -07:00
Junio C Hamano
70b9c59656 Cygwin needs NO_C99_FORMAT???
I noticed that t3800 test breaks with git built without this
option.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-02 17:06:50 -07:00
Matthias Kestenholz
e12c095aa6 Make git-repo-config a builtin
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-02 17:05:14 -07:00
Junio C Hamano
93b2c836c2 Merge branch 'master' into next
* master:
  Make git-prune-packed a builtin
  git-annotate: remove extraneous debugging line
  Documentation: convert uses of git-link macro to gitlink
  git-push: remove obsolete git-push.sh
  git-push: allow -f as an alias for --force
2006-08-02 14:01:23 -07:00
Junio C Hamano
a3223a0cd7 Merge branch 'jn/web' into next
* jn/web:
  gitweb: do not use @@FOO@@ for replaced tokens
  gitweb: require $ENV{'GITWEB_CONFIG'}
  gitweb: optionally read config from GITWEB_CONFIG
2006-08-02 14:00:58 -07:00
Junio C Hamano
06c084d28b gitweb: do not use @@FOO@@ for replaced tokens
This makes it easier to run gitweb/gitweb.perl without token substitution.
Using @@ makes Perl emit "unintended interpolation" warnings.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-02 13:58:04 -07:00
Jeff King
c8d138a8c0 gitweb: optionally read config from GITWEB_CONFIG
Configuration will first be taken from variables inside the gitweb.cgi
script, which in turn come from the Makefile. Afterwards, the contents of
GITWEB_CONFIG are read, overriding the builtin defaults.

This should eliminate the need for editing the gitweb script at all. Users
should edit the Makefile and/or add a config file.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-02 13:56:34 -07:00
Matthias Kestenholz
53bb2c002a Make git-prune-packed a builtin
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-02 11:36:01 -07:00
Junio C Hamano
767b2d6516 Merge branch 'rj/header' into next
* rj/header:
  Fix header breakage with _XOPEN_SOURCE.
  Remove cmd_usage() routine and re-organize the help/usage code.
  Fix header breakage due to redefining PATH_MAX.
  Add NO_C99_FORMAT to support older compilers.
  New tests and en-passant modifications to mktag.
  Fix installation of templates on ancient systems.
  Fix annotate test script; notice when git-annotate fails.
  Ensure git-clone exits with error if perl script fails.
2006-08-02 00:33:04 -07:00
Ramsay Allan Jones
579d1fbfaf Add NO_C99_FORMAT to support older compilers.
The NO_C99_FORMAT macro allows compilers that lack support for the
ll,hh,j,z,t size specifiers (eg. gcc 2.95.2) to adapt the code to avoid
runtime errors in the formatted IO functions.

Signed-off-by: Ramsay Allan Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-02 00:27:18 -07:00
Ramsay Allan Jones
7ffe7098dc Fix installation of templates on ancient systems.
Do not use $(call) for 'shell quoting' paths, and pass DESTDIR down
to the templates makefile.

[jc: we have fixed the main Makefile long time ago, but somehow
 forgot to apply the same fix to templates Makefile.]

Signed-off-by: Ramsay Allan Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-02 00:27:18 -07:00
Junio C Hamano
394e1a0ed1 Merge branch 'jn/web' into next
* jn/web:
  Makefile: gitweb/gitweb.cgi is now generated.
  gitweb/README: do not bug Kay with gitweb questions anymore
  gitweb: use out-of-line GIT logo.
  gitweb: fill in gitweb configuration by Makefile
2006-08-01 16:23:54 -07:00
Junio C Hamano
22987ae0bc Makefile: gitweb/gitweb.cgi is now generated.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-01 16:23:47 -07:00
Martin Waitz
281f2f6b45 gitweb: use out-of-line GIT logo.
Use the normal web server instead of the CGI to provide the git logo,
just like the gitweb.css.

Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-01 15:55:19 -07:00
Martin Waitz
5d043a3d85 gitweb: fill in gitweb configuration by Makefile
Generate gitweb/gitweb.cgi to reduce the need to patch gitweb.cgi
by the end user.  The GIT installation directory is already known
by the Makefile, and can be inserted directly into gitweb.
All other gitweb configuration parameters can now be specified by
providing GITWEB_* variables while building GIT.  These are described
in gitweb/README.

Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-01 15:44:47 -07:00
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