Code

git.git
13 years agoMerge branch 'jl/fetch-submodule-recursive'
Junio C Hamano [Thu, 16 Dec 2010 20:57:15 +0000 (12:57 -0800)]
Merge branch 'jl/fetch-submodule-recursive'

* jl/fetch-submodule-recursive:
  fetch_populated_submodules(): document dynamic allocation
  Submodules: Add the "fetchRecurseSubmodules" config option
  Add the 'fetch.recurseSubmodules' config setting
  fetch/pull: Add the --recurse-submodules option

Conflicts:
builtin/fetch.c

13 years agoMerge branch 'rj/msvc-fix'
Junio C Hamano [Thu, 16 Dec 2010 20:55:36 +0000 (12:55 -0800)]
Merge branch 'rj/msvc-fix'

* rj/msvc-fix:
  msvc: Fix macro redefinition warnings
  msvc: Fix build by adding missing INTMAX_MAX define
  msvc: git-daemon.exe: Fix linker "unresolved externals" error
  msvc: Fix compilation errors in compat/win32/sys/poll.c

13 years agoMerge branch 'nd/extended-sha1-relpath'
Junio C Hamano [Thu, 16 Dec 2010 20:51:05 +0000 (12:51 -0800)]
Merge branch 'nd/extended-sha1-relpath'

* nd/extended-sha1-relpath:
  get_sha1: teach ":$n:<path>" the same relative path logic
  get_sha1: support relative path ":path" syntax
  Make prefix_path() return char* without const

Conflicts:
sha1_name.c

13 years agoMerge branch 'aa/status-hilite-branch'
Junio C Hamano [Thu, 16 Dec 2010 20:50:03 +0000 (12:50 -0800)]
Merge branch 'aa/status-hilite-branch'

* aa/status-hilite-branch:
  default color.status.branch to "same as header"
  status: show branchname with a configurable color

13 years agoMerge branch 'ak/describe-exact'
Junio C Hamano [Thu, 16 Dec 2010 20:49:59 +0000 (12:49 -0800)]
Merge branch 'ak/describe-exact'

* ak/describe-exact:
  describe: Delay looking up commits until searching for an inexact match
  describe: Store commit_names in a hash table by commit SHA1
  describe: Do not use a flex array in struct commit_name
  describe: Use for_each_rawref

13 years agoMerge branch 'nd/maint-relative'
Junio C Hamano [Thu, 16 Dec 2010 20:49:48 +0000 (12:49 -0800)]
Merge branch 'nd/maint-relative'

* nd/maint-relative:
  get_cwd_relative(): do not misinterpret root path

13 years agoMerge branch 'jn/maint-svn-fe'
Junio C Hamano [Thu, 16 Dec 2010 20:49:35 +0000 (12:49 -0800)]
Merge branch 'jn/maint-svn-fe'

* jn/maint-svn-fe:
  t9010 fails when no svn is available
  vcs-svn: fix intermittent repo_tree corruption
  treap: make treap_insert return inserted node
  t9010 (svn-fe): Eliminate dependency on svn perl bindings

13 years agoMerge branch 'jc/maint-svn-info-test-fix'
Junio C Hamano [Thu, 16 Dec 2010 20:49:28 +0000 (12:49 -0800)]
Merge branch 'jc/maint-svn-info-test-fix'

* jc/maint-svn-info-test-fix:
  t9119: do not compare "Text Last Updated" line from "svn info"

13 years agoMerge branch 'jn/submodule-b-current'
Junio C Hamano [Thu, 16 Dec 2010 20:49:22 +0000 (12:49 -0800)]
Merge branch 'jn/submodule-b-current'

* jn/submodule-b-current:
  git submodule: Remove now obsolete tests before cloning a repo
  git submodule -b ... of current HEAD fails

13 years agoMerge branch 'jn/maint-fast-import-object-reuse'
Junio C Hamano [Thu, 16 Dec 2010 20:49:16 +0000 (12:49 -0800)]
Merge branch 'jn/maint-fast-import-object-reuse'

* jn/maint-fast-import-object-reuse:
  fast-import: insert new object entries at start of hash bucket

13 years agoMerge branch 'jn/fast-import-ondemand-checkpoint'
Junio C Hamano [Thu, 16 Dec 2010 20:49:11 +0000 (12:49 -0800)]
Merge branch 'jn/fast-import-ondemand-checkpoint'

* jn/fast-import-ondemand-checkpoint:
  fast-import: treat SIGUSR1 as a request to access objects early

13 years agoSync with 1.7.3.4
Junio C Hamano [Wed, 15 Dec 2010 23:30:49 +0000 (15:30 -0800)]
Sync with 1.7.3.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoGit 1.7.3.4 v1.7.3.4
Junio C Hamano [Wed, 15 Dec 2010 19:47:40 +0000 (11:47 -0800)]
Git 1.7.3.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoGit 1.7.2.5 v1.7.2.5
Junio C Hamano [Wed, 15 Dec 2010 19:45:36 +0000 (11:45 -0800)]
Git 1.7.2.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoGit 1.7.1.4 v1.7.1.4
Junio C Hamano [Wed, 15 Dec 2010 19:40:40 +0000 (11:40 -0800)]
Git 1.7.1.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoGit 1.7.0.9 v1.7.0.9
Junio C Hamano [Wed, 15 Dec 2010 19:38:19 +0000 (11:38 -0800)]
Git 1.7.0.9

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoGit 1.6.6.3 v1.6.6.3
Junio C Hamano [Wed, 15 Dec 2010 19:32:57 +0000 (11:32 -0800)]
Git 1.6.6.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoGit 1.6.5.9 v1.6.5.9
Junio C Hamano [Wed, 15 Dec 2010 19:27:41 +0000 (11:27 -0800)]
Git 1.6.5.9

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoGit 1.6.4.5 v1.6.4.5
Junio C Hamano [Wed, 15 Dec 2010 19:19:11 +0000 (11:19 -0800)]
Git 1.6.4.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogitweb: Introduce esc_attr to escape attributes of HTML elements
Jakub Narebski [Tue, 14 Dec 2010 23:34:01 +0000 (00:34 +0100)]
gitweb: Introduce esc_attr to escape attributes of HTML elements

It is needed only to escape attributes of handcrafted HTML elements,
and not those generated using CGI.pm subroutines / methods for HTML
generation.

While at it, add esc_url and esc_html where needed, and prefer to use
CGI.pm HTML generating methods than handcrafted HTML code.  Most of
those are probably unnecessary (could be exploited only by person with
write access to gitweb config, or at least access to the repository).

This fixes CVE-2010-3906

Reported-by: Emanuele Gentili <e.gentili@tigersecurity.it>
Helped-by: John 'Warthog9' Hawley <warthog9@kernel.org>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge git://git.kernel.org/pub/scm/gitk/gitk
Junio C Hamano [Tue, 14 Dec 2010 17:09:13 +0000 (09:09 -0800)]
Merge git://git.kernel.org/pub/scm/gitk/gitk

* git://git.kernel.org/pub/scm/gitk/gitk:
  gitk: Add Brazilian Portuguese (pt-BR) translation
  gitk: Make text selectable on Mac
  gitk: Prevent the text pane from becoming editable
  gitk: Add the equivalent of diff --color-words
  gitk: Update Swedish translation (290t)
  gitk: Show notes by default (like git log does)

13 years agoMerge branch 'maint'
Junio C Hamano [Tue, 14 Dec 2010 16:57:38 +0000 (08:57 -0800)]
Merge branch 'maint'

* maint:
  Prepare for 1.7.3.4
  use persistent memory for rejected paths
  do not overwrite files in leading path
  lstat_cache: optionally return match_len
  add function check_ok_to_remove()
  t7607: add leading-path tests
  t7607: use test-lib functions and check MERGE_HEAD
  Do not link with -lcrypto under NO_OPENSSL

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoPrepare for 1.7.3.4
Junio C Hamano [Tue, 14 Dec 2010 15:51:35 +0000 (07:51 -0800)]
Prepare for 1.7.3.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agouse persistent memory for rejected paths
Clemens Buchacher [Mon, 15 Nov 2010 19:52:19 +0000 (20:52 +0100)]
use persistent memory for rejected paths

An aborted merge prints the list of rejected paths as part of the
error message. Since commit f66caaf9 (do not overwrite files in
leading path), some of those paths do not have static buffers, so
we have to keep a copy. Use string_list's to accomplish this.

This changes the order of the list to the order in which the paths
are processed. Previously, it was reversed.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agodo not overwrite files in leading path
Clemens Buchacher [Sat, 9 Oct 2010 13:53:00 +0000 (15:53 +0200)]
do not overwrite files in leading path

If the work tree contains an untracked file x, and
unpack-trees wants to checkout a path x/*, the
file x is removed unconditionally.

Instead, apply the same checks that are normally
used for untracked files, and abort if the file
cannot be removed.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agolstat_cache: optionally return match_len
Clemens Buchacher [Sat, 9 Oct 2010 13:52:59 +0000 (15:52 +0200)]
lstat_cache: optionally return match_len

Return match_len so that the caller can know which leading path
component matched.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoadd function check_ok_to_remove()
Clemens Buchacher [Sat, 9 Oct 2010 13:52:58 +0000 (15:52 +0200)]
add function check_ok_to_remove()

This wraps some inline code into the function check_ok_to_remove(),
which will later be used for leading path components as well.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agot7607: add leading-path tests
Clemens Buchacher [Sun, 10 Oct 2010 08:38:58 +0000 (10:38 +0200)]
t7607: add leading-path tests

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agot7607: use test-lib functions and check MERGE_HEAD
Clemens Buchacher [Sun, 10 Oct 2010 08:35:43 +0000 (10:35 +0200)]
t7607: use test-lib functions and check MERGE_HEAD

Use the test_commit and test_path_is_missing
functions from the test library.

Also make sure that a merge which fails due to
pre-merge checks aborts properly and does not
leave MERGE_HEAD behind.

The "will not overwrite removed file" test is an
exception to this. It notices the untracked file
at a stage where the merge is already well under
way. Therefore we cannot abort the merge without
major restructuring. See the following thread for
more details.

http://mid.gmane.org/7vskopwxej.fsf@gitster.siamese.dyndns.org

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'jc/maint-no-openssl-build-fix' into maint
Junio C Hamano [Tue, 14 Dec 2010 15:50:20 +0000 (07:50 -0800)]
Merge branch 'jc/maint-no-openssl-build-fix' into maint

* jc/maint-no-openssl-build-fix:
  Do not link with -lcrypto under NO_OPENSSL

13 years agoMerge branch 'ja/maint-pull-rebase-doc' into maint
Junio C Hamano [Tue, 14 Dec 2010 15:36:23 +0000 (07:36 -0800)]
Merge branch 'ja/maint-pull-rebase-doc' into maint

* ja/maint-pull-rebase-doc:
  git-pull.txt: Mention branch.autosetuprebase

13 years agoMerge branch 'tc/http-urls-ends-with-slash' into maint
Junio C Hamano [Tue, 14 Dec 2010 15:36:10 +0000 (07:36 -0800)]
Merge branch 'tc/http-urls-ends-with-slash' into maint

* tc/http-urls-ends-with-slash:
  http-fetch: rework url handling
  http-push: add trailing slash at arg-parse time, instead of later on
  http-push: check path length before using it
  http-push: Normalise directory names when pushing to some WebDAV servers
  http-backend: use end_url_with_slash()
  url: add str wrapper for end_url_with_slash()
  shift end_url_with_slash() from http.[ch] to url.[ch]
  t5550-http-fetch: add test for http-fetch
  t5550-http-fetch: add missing '&&'

13 years agoMerge branch 'nd/maint-hide-checkout-index-from-error' into maint
Junio C Hamano [Tue, 14 Dec 2010 15:36:00 +0000 (07:36 -0800)]
Merge branch 'nd/maint-hide-checkout-index-from-error' into maint

* nd/maint-hide-checkout-index-from-error:
  entry.c: remove "checkout-index" from error messages

13 years agoMerge branch 'jk/maint-reflog-bottom' into maint
Junio C Hamano [Tue, 14 Dec 2010 15:35:50 +0000 (07:35 -0800)]
Merge branch 'jk/maint-reflog-bottom' into maint

* jk/maint-reflog-bottom:
  reflogs: clear flags properly in corner case

13 years agoMerge branch 'mz/rebase-abort-reflog-fix' into maint
Junio C Hamano [Tue, 14 Dec 2010 15:35:44 +0000 (07:35 -0800)]
Merge branch 'mz/rebase-abort-reflog-fix' into maint

* mz/rebase-abort-reflog-fix:
  rebase --abort: do not update branch ref

13 years agoMerge branch 'mz/maint-rebase-stat-config' into maint
Junio C Hamano [Tue, 14 Dec 2010 15:35:31 +0000 (07:35 -0800)]
Merge branch 'mz/maint-rebase-stat-config' into maint

* mz/maint-rebase-stat-config:
  rebase: only show stat if configured to true

13 years agoMerge branch 'gc/http-with-non-ascii-username-url' into maint
Junio C Hamano [Tue, 14 Dec 2010 15:35:18 +0000 (07:35 -0800)]
Merge branch 'gc/http-with-non-ascii-username-url' into maint

* gc/http-with-non-ascii-username-url:
  Fix username and password extraction from HTTP URLs
  t5550: test HTTP authentication and userinfo decoding

Conflicts:
t/lib-httpd/apache.conf

13 years agogitk: Add Brazilian Portuguese (pt-BR) translation
Alexandre Erwin Ittner [Tue, 7 Dec 2010 22:56:06 +0000 (20:56 -0200)]
gitk: Add Brazilian Portuguese (pt-BR) translation

Translating a SCM is tricky due to amount of jargon, so, I tried to
keep the wording consistent with both the German and Italian git
translations and the pt-BR translation of other SCMs.

Signed-off-by: Alexandre Erwin Ittner <alexandre@ittner.com.br>
Signed-off-by: Paul Mackerras <paulus@samba.org>
13 years agot800?-blame.sh: retitle uniquely
Michael J Gruber [Mon, 13 Dec 2010 16:12:29 +0000 (17:12 +0100)]
t800?-blame.sh: retitle uniquely

Currently we have three test files matching t800?-blame.sh.

Rename the latter two to make it easier to spot where additions would
go.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agotests: flip executable bit on t9158
Jeff King [Mon, 13 Dec 2010 17:07:34 +0000 (12:07 -0500)]
tests: flip executable bit on t9158

All tests are supposed to be executable.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agotests: add some script lint checks
Jeff King [Mon, 13 Dec 2010 17:22:38 +0000 (12:22 -0500)]
tests: add some script lint checks

There are some common but minor errors we tend to make in
writing test scripts:

  1. Scripts are left non-executable. This is not usually
     noticed immediately because "make test" does not need
     the bit, but it is a matter of git policy to make them
     executable (and is a slight convenience when running
     individual scripts).

  2. Two scripts are allocated the same number. Usually this
     happens on separate branches, and the problem only
     comes about during a merge. But since there is no
     textual conflict, the merger would have to be very
     observant to notice.

     This is also a minor error, but can make GIT_SKIP_TESTS
     ambiguous.

This patch introduces a "test-lint" target which checks
both. It is not invoked by default. You can invoke it as
"make test-lint", or you can make it a prerequisite of
running the tests by specifying "TEST_LINT = test-lint" in
your config.mak or on the command line.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoAvoid duplicate test number t7609
Johannes Sixt [Mon, 13 Dec 2010 10:14:02 +0000 (11:14 +0100)]
Avoid duplicate test number t7609

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'ja/maint-pull-rebase-doc'
Junio C Hamano [Mon, 13 Dec 2010 05:49:53 +0000 (21:49 -0800)]
Merge branch 'ja/maint-pull-rebase-doc'

* ja/maint-pull-rebase-doc:
  git-pull.txt: Mention branch.autosetuprebase

13 years agoMerge branch 'gb/web--browse'
Junio C Hamano [Mon, 13 Dec 2010 05:49:53 +0000 (21:49 -0800)]
Merge branch 'gb/web--browse'

* gb/web--browse:
  web--browse: better support for chromium
  web--browse: support opera, seamonkey and elinks
  web--browse: split valid_tool list
  web--browse: coding style

13 years agoMerge branch 'jn/parse-options-extra'
Junio C Hamano [Mon, 13 Dec 2010 05:49:53 +0000 (21:49 -0800)]
Merge branch 'jn/parse-options-extra'

* jn/parse-options-extra:
  update-index: migrate to parse-options API
  setup: save prefix (original cwd relative to toplevel) in startup_info
  parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION
  parse-options: allow git commands to invent new option types
  parse-options: never suppress arghelp if LITERAL_ARGHELP is set
  parse-options: do not infer PARSE_OPT_NOARG from option type
  parse-options: sanity check PARSE_OPT_NOARG flag
  parse-options: move NODASH sanity checks to parse_options_check
  parse-options: clearer reporting of API misuse
  parse-options: Don't call parse_options_check() so much

13 years agoMerge branch 'js/configurable-tab'
Junio C Hamano [Mon, 13 Dec 2010 05:49:52 +0000 (21:49 -0800)]
Merge branch 'js/configurable-tab'

* js/configurable-tab:
  Make the tab width used for whitespace checks configurable
  apply --whitespace=fix: fix tab-in-indent

13 years agoMerge branch 'nd/maint-hide-checkout-index-from-error'
Junio C Hamano [Mon, 13 Dec 2010 05:49:52 +0000 (21:49 -0800)]
Merge branch 'nd/maint-hide-checkout-index-from-error'

* nd/maint-hide-checkout-index-from-error:
  entry.c: remove "checkout-index" from error messages

13 years agoMerge branch 'jn/gitweb-per-request-config'
Junio C Hamano [Mon, 13 Dec 2010 05:49:52 +0000 (21:49 -0800)]
Merge branch 'jn/gitweb-per-request-config'

* jn/gitweb-per-request-config:
  gitweb: document $per_request_config better
  gitweb: selectable configurations that change with each request

13 years agoMerge branch 'ef/help-cmd-prefix'
Junio C Hamano [Mon, 13 Dec 2010 05:49:52 +0000 (21:49 -0800)]
Merge branch 'ef/help-cmd-prefix'

* ef/help-cmd-prefix:
  help: always suggest common-cmds if prefix of cmd

13 years agoMerge branch 'tc/http-urls-ends-with-slash'
Junio C Hamano [Mon, 13 Dec 2010 05:49:52 +0000 (21:49 -0800)]
Merge branch 'tc/http-urls-ends-with-slash'

* tc/http-urls-ends-with-slash:
  http-fetch: rework url handling
  http-push: add trailing slash at arg-parse time, instead of later on
  http-push: check path length before using it
  http-push: Normalise directory names when pushing to some WebDAV servers
  http-backend: use end_url_with_slash()
  url: add str wrapper for end_url_with_slash()
  shift end_url_with_slash() from http.[ch] to url.[ch]
  t5550-http-fetch: add test for http-fetch
  t5550-http-fetch: add missing '&&'

13 years agoMerge branch 'tc/format-patch-p'
Junio C Hamano [Mon, 13 Dec 2010 05:49:52 +0000 (21:49 -0800)]
Merge branch 'tc/format-patch-p'

* tc/format-patch-p:
  format-patch: page output with --stdout

13 years agoMerge branch 'ef/win32-dirent'
Junio C Hamano [Mon, 13 Dec 2010 05:49:52 +0000 (21:49 -0800)]
Merge branch 'ef/win32-dirent'

* ef/win32-dirent:
  win32: use our own dirent.h
  msvc: opendir: handle paths ending with a slash
  win32: dirent: handle errors
  msvc: opendir: do not start the search
  msvc: opendir: allocate enough memory
  msvc: opendir: fix malloc-failure

Conflicts:
Makefile

13 years agoMerge branch 'mz/rebase-i-verify'
Junio C Hamano [Mon, 13 Dec 2010 05:49:51 +0000 (21:49 -0800)]
Merge branch 'mz/rebase-i-verify'

* mz/rebase-i-verify:
  rebase: support --verify

13 years agoMerge branch 'mz/rebase-abort-reflog-fix'
Junio C Hamano [Mon, 13 Dec 2010 05:49:51 +0000 (21:49 -0800)]
Merge branch 'mz/rebase-abort-reflog-fix'

* mz/rebase-abort-reflog-fix:
  rebase --abort: do not update branch ref

13 years agoMerge branch 'jk/maint-reflog-bottom'
Junio C Hamano [Mon, 13 Dec 2010 05:49:51 +0000 (21:49 -0800)]
Merge branch 'jk/maint-reflog-bottom'

* jk/maint-reflog-bottom:
  reflogs: clear flags properly in corner case

13 years agoMerge branch 'jk/asciidoc-update'
Junio C Hamano [Mon, 13 Dec 2010 05:49:51 +0000 (21:49 -0800)]
Merge branch 'jk/asciidoc-update'

* jk/asciidoc-update:
  docs: default to more modern toolset

13 years agoMerge branch 'mz/pull-rebase-rebased'
Junio C Hamano [Mon, 13 Dec 2010 05:49:51 +0000 (21:49 -0800)]
Merge branch 'mz/pull-rebase-rebased'

* mz/pull-rebase-rebased:
  Use reflog in 'pull --rebase . foo'

13 years agoMerge branch 'mz/maint-rebase-stat-config'
Junio C Hamano [Mon, 13 Dec 2010 05:49:50 +0000 (21:49 -0800)]
Merge branch 'mz/maint-rebase-stat-config'

* mz/maint-rebase-stat-config:
  rebase: only show stat if configured to true

13 years agoMerge branch 'jn/git-cmd-h-bypass-setup'
Junio C Hamano [Mon, 13 Dec 2010 05:49:50 +0000 (21:49 -0800)]
Merge branch 'jn/git-cmd-h-bypass-setup'

* jn/git-cmd-h-bypass-setup:
  update-index -h: show usage even with corrupt index
  merge -h: show usage even with corrupt index
  ls-files -h: show usage even with corrupt index
  gc -h: show usage even with broken configuration
  commit/status -h: show usage even with broken configuration
  checkout-index -h: show usage even in an invalid repository
  branch -h: show usage even in an invalid repository

Conflicts:
builtin/merge.c

13 years agogitk: Make text selectable on Mac
Stefan Haller [Sun, 14 Nov 2010 12:22:56 +0000 (13:22 +0100)]
gitk: Make text selectable on Mac

Stolen from git-gui, 23effa79f7 (original log message by
Shawn O. Pearce <spearce@spearce.org> follows):

    git-gui: Force focus to the diff viewer on mouse click.

    Apparently a "feature" of Tcl/Tk on Mac OS X is that a disabled text
    widget cannot receive focus or receive a selection within it.  This
    makes the diff viewer almost useless on that platform as you cannot
    select individual parts of the buffer.

    Now we force focus into the diff viewer when its clicked on with
    button 1.  This works around the feature and allows selection to
    work within the viewer just like it does on other less sane systems,
    like Microsoft Windows.

Signed-off-by: Stefan Haller <stefan@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
13 years agogitk: Prevent the text pane from becoming editable
Stefan Haller [Sun, 14 Nov 2010 12:21:50 +0000 (13:21 +0100)]
gitk: Prevent the text pane from becoming editable

When setting the "Patch/Tree" radio buttons to "Tree" and
clicking on a file to display it, the text pane would
accidentally become editable (because of the early return
in getblobline).

Signed-off-by: Stefan Haller <stefan@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
13 years agogitk: Add the equivalent of diff --color-words
Thomas Rast [Sat, 16 Oct 2010 10:15:10 +0000 (12:15 +0200)]
gitk: Add the equivalent of diff --color-words

Use the newly added 'diff --word-diff=porcelain' to teach gitk a
color-words mode, with two different modes analogous to the
--word-diff=plain and --word-diff=color settings.  These are selected
by a dropdown box.

As an extra twist, automatically enable this word-diff support when
the user mentions a word-diff related option on the command line.
These options were previously ignored because they would break diff
parsing.

Both of these features are only enabled if we have a version of git
that supports --word-diff=porcelain, meaning at least 1.7.2.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Paul Mackerras <paulus@samba.org>
13 years agogitk: Update Swedish translation (290t)
Peter Krefting [Sun, 12 Sep 2010 20:17:05 +0000 (21:17 +0100)]
gitk: Update Swedish translation (290t)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Paul Mackerras <paulus@samba.org>
13 years agoRelnotes: remove items fixed on 'maint'
Junio C Hamano [Sat, 11 Dec 2010 00:40:00 +0000 (16:40 -0800)]
Relnotes: remove items fixed on 'maint'

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'maint'
Junio C Hamano [Sat, 11 Dec 2010 00:36:19 +0000 (16:36 -0800)]
Merge branch 'maint'

13 years agoPrepare for 1.7.3.4
Junio C Hamano [Sat, 11 Dec 2010 00:35:00 +0000 (16:35 -0800)]
Prepare for 1.7.3.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'jk/maint-decorate-01-bool' into maint
Junio C Hamano [Sat, 11 Dec 2010 00:13:14 +0000 (16:13 -0800)]
Merge branch 'jk/maint-decorate-01-bool' into maint

* jk/maint-decorate-01-bool:
  log.decorate: accept 0/1 bool values

13 years agoMerge branch 'mg/maint-tag-rfc1991' into maint
Junio C Hamano [Sat, 11 Dec 2010 00:13:03 +0000 (16:13 -0800)]
Merge branch 'mg/maint-tag-rfc1991' into maint

* mg/maint-tag-rfc1991:
  tag: recognize rfc1991 signatures
  tag: factor out sig detection for tag display
  tag: factor out sig detection for body edits
  verify-tag: factor out signature detection
  t/t7004-tag: test handling of rfc1991 signatures

13 years agoMerge branch 'ks/maint-getenv-fix' into maint
Junio C Hamano [Sat, 11 Dec 2010 00:12:51 +0000 (16:12 -0800)]
Merge branch 'ks/maint-getenv-fix' into maint

* ks/maint-getenv-fix:
  setup: make sure git_dir path is in a permanent buffer, getenv(3) case

13 years agodefault color.status.branch to "same as header"
Jeff King [Thu, 9 Dec 2010 17:27:08 +0000 (12:27 -0500)]
default color.status.branch to "same as header"

This gives it the same behavior as we had prior to 1d28232
(status: show branchname with a configurable color).

To do this we need the concept of a "NIL" color, which is
provided by color.[ch]. The implementation is very simple;
in particular, there are no precautions taken against code
accidentally printing the NIL. This should be fine in
practice because:

  1. You can't input a NIL color in the config, so it must
     come from the in-code defaults. Which means it is up
     the client code to handle the NILs it defines.

  2. If we do ever print a NIL, it will be obvious what the
     problem is, and the bug can be fixed.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agothread-utils.h: simplify the inclusion
Junio C Hamano [Fri, 10 Dec 2010 18:32:12 +0000 (10:32 -0800)]
thread-utils.h: simplify the inclusion

All files that include this header file use the same four line
incantation:

    #ifndef NO_PTHREADS
    #include <pthread.h>
    #include "thread-utils.h"
    #endif

Move the responsibility for that gymnastics to the header file from the
files that include it.  This approach makes it easier to later declare new
services that are related to threading in thread-utils.h and have them
available to all the threading code.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMakefile: transport-helper uses thread-utils.h
Jonathan Nieder [Fri, 10 Dec 2010 19:48:25 +0000 (13:48 -0600)]
Makefile: transport-helper uses thread-utils.h

transport-helper.o gained a dependency on thread-utils.h in
7851b1e (remote-fd/ext: finishing touches after code review,
2010-11-17).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoAdd --force to git-send-email documentation
Alejandro R. Sedeño [Fri, 10 Dec 2010 18:44:15 +0000 (13:44 -0500)]
Add --force to git-send-email documentation

Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agofetch_populated_submodules(): document dynamic allocation
Junio C Hamano [Fri, 10 Dec 2010 07:42:05 +0000 (23:42 -0800)]
fetch_populated_submodules(): document dynamic allocation

... while fixing a miscounting.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge git://git.bogomips.org/git-svn
Junio C Hamano [Fri, 10 Dec 2010 00:03:41 +0000 (16:03 -0800)]
Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
  t9143: do not fail when unhandled.log.gz is not created
  git-svn: allow the mergeinfo property to be set

13 years agomsvc: Fix macro redefinition warnings
Ramsay Jones [Sat, 4 Dec 2010 19:00:51 +0000 (19:00 +0000)]
msvc: Fix macro redefinition warnings

Commit 4091bfc (MinGW: Add missing file mode bit defines,
28-12-2009) causes the msvc build to issue many additional
(currently 1008) macro redefinition warnings. The warnings
relate to the S_IRUSR, S_IWUSR, S_IXUSR and S_IRWXU macros.

In order to fix the warnings, we simply remove the offending
macro definitions which, for both msvc and MinGW, are not
required.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Sebastian Schuberth <sschuberth@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agomsvc: Fix build by adding missing INTMAX_MAX define
Ramsay Jones [Sat, 4 Dec 2010 18:57:30 +0000 (18:57 +0000)]
msvc: Fix build by adding missing INTMAX_MAX define

Commit c03c831 (do not depend on signed integer overflow,
05-10-2010) provokes an msvc build failure. The cause of the
failure is a missing definition of the INTMAX_MAX constant,
used in the new maximum_signed_value_of_type(a) macro, which
would normally be defined in the C99 <stdint.h> header file.

In order the fix the compilation error, we add an appropriate
definition of the INTMAX_MAX constant, along with INTMAX_MIN
and UINTMAX_MAX, to an msvc compat header file.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoDocumentation/git.txt: update list of maintenance releases
Junio C Hamano [Thu, 9 Dec 2010 23:52:12 +0000 (15:52 -0800)]
Documentation/git.txt: update list of maintenance releases

Recently we have made 1.7.3.3, 1.7.2.4, 1.7.1.3 and 1.7.0.8.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoget_sha1: teach ":$n:<path>" the same relative path logic
Junio C Hamano [Thu, 9 Dec 2010 21:38:05 +0000 (13:38 -0800)]
get_sha1: teach ":$n:<path>" the same relative path logic

We taught the object name parser to take ":./<path>", ":../<path>", etc.
and understand them to be relative to the current working directory.

Given that ":<path>" is just a short-hand for ":0:<path>" (i.e. "take
stage #0 of that path"), we should allow ":$n:<path>" to interpret them
the same way.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agot9143: do not fail when unhandled.log.gz is not created
Torsten Bögershausen [Thu, 9 Dec 2010 19:53:19 +0000 (20:53 +0100)]
t9143: do not fail when unhandled.log.gz is not created

Do not depend on internal implementation details of svn,
which right now uses perl to create a .gz file.
So this test case will even work in the future,
when svn changes its implementation.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Acked-by: Eric Wong <normalperson@yhbt.net>
13 years agogit-svn: allow the mergeinfo property to be set
Steven Walter [Sat, 25 Sep 2010 03:51:50 +0000 (23:51 -0400)]
git-svn: allow the mergeinfo property to be set

As a first step towards preserving merges across dcommit, we need a
mechanism to update the svn:mergeinfo property.

[ew: fixed bashism and style issues in test case]

Signed-off-by: Steven Walter <stevenrwalter@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
13 years agodescribe: Delay looking up commits until searching for an inexact match
Anders Kaseorg [Thu, 9 Dec 2010 06:47:29 +0000 (01:47 -0500)]
describe: Delay looking up commits until searching for an inexact match

Now that struct commit.util is not used until after we've checked that
the argument doesn't exactly match a tag, we can wait until then to
look up the commits for each tag.

This avoids a lot of I/O on --exact-match queries in repositories with
many tags.  For example, 'git describe --exact-match HEAD' becomes
about 12 times faster on a cold cache (3.2s instead of 39s) in a
linux-2.6 repository with 2000 packed tags.  That is a huge win for the
interactivity of the __git_ps1 shell prompt helper when on a detached
HEAD.

Signed-off-by: Anders Kaseorg <andersk@ksplice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agodescribe: Store commit_names in a hash table by commit SHA1
Anders Kaseorg [Thu, 9 Dec 2010 06:46:08 +0000 (01:46 -0500)]
describe: Store commit_names in a hash table by commit SHA1

describe is currently forced to look up the commit at each tag in
order to store the struct commit_name pointers in struct commit.util.
For --exact-match queries, those lookups are wasteful.  In preparation
for removing them, put the commit_names into a hash table, indexed by
commit SHA1, that can be used to quickly check for exact matches.

Signed-off-by: Anders Kaseorg <andersk@ksplice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agodescribe: Do not use a flex array in struct commit_name
Anders Kaseorg [Thu, 9 Dec 2010 06:43:32 +0000 (01:43 -0500)]
describe: Do not use a flex array in struct commit_name

Now add_to_known_names overwrites commit_names in place when multiple
tags point to the same commit.  This will make it easier to store
commit_names in a hash table.

Signed-off-by: Anders Kaseorg <andersk@ksplice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agodescribe: Use for_each_rawref
Anders Kaseorg [Thu, 9 Dec 2010 06:42:25 +0000 (01:42 -0500)]
describe: Use for_each_rawref

Don't waste time checking for dangling refs; they wouldn't affect the
output of 'git describe' anyway.  Although this does not gain much
performance by itself, it does in conjunction with the next commits.

Signed-off-by: Anders Kaseorg <andersk@ksplice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agomsvc: git-daemon.exe: Fix linker "unresolved externals" error
Ramsay Jones [Sat, 4 Dec 2010 18:55:51 +0000 (18:55 +0000)]
msvc: git-daemon.exe: Fix linker "unresolved externals" error

The msvc linker complains about external symbols referenced by
the new poll() emulation code. In particular, it complains about
the DispatchMessage(), PeekMessage(), TranslateMessage() and
MsgWaitForMultipleObjects() functions.

In order to satisfy the external references, we link against the
user32.lib library.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agomsvc: Fix compilation errors in compat/win32/sys/poll.c
Ramsay Jones [Sat, 4 Dec 2010 18:54:28 +0000 (18:54 +0000)]
msvc: Fix compilation errors in compat/win32/sys/poll.c

The msvc winsock2.h header file conditionally defines or declares
poll() related symbols which cause many macro redefinition errors,
a struct type redefinition error and syntax errors. These symbols
are defined in support of the WSAPoll() API, new in Windows Vista,
when the symbol _WIN32_WINNT is defined and _WIN32_WINNT >= 0x0600.

In order to avoid the compilation errors, we set _WIN32_WINNT to
0x0502 (which would target Windows Server 2003) prior to including
the winsock2.h header file.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'maint'
Junio C Hamano [Thu, 9 Dec 2010 18:45:53 +0000 (10:45 -0800)]
Merge branch 'maint'

* maint:
  contrib/hooks/post-receive-email: fix return values from prep_for_email

13 years agoMerge branch 'jn/ignore-doc' into maint
Junio C Hamano [Thu, 9 Dec 2010 18:38:16 +0000 (10:38 -0800)]
Merge branch 'jn/ignore-doc' into maint

* jn/ignore-doc:
  Documentation: point to related commands from gitignore
  Documentation: split gitignore page into sections

13 years agoMerge branch 'jn/cherry-pick-refresh-index' into maint
Junio C Hamano [Thu, 9 Dec 2010 18:36:51 +0000 (10:36 -0800)]
Merge branch 'jn/cherry-pick-refresh-index' into maint

* jn/cherry-pick-refresh-index:
  cherry-pick/revert: transparently refresh index

13 years agoMerge branch 'jl/add-p-reverse-message' into maint
Junio C Hamano [Thu, 9 Dec 2010 18:36:47 +0000 (10:36 -0800)]
Merge branch 'jl/add-p-reverse-message' into maint

* jl/add-p-reverse-message:
  Correct help blurb in checkout -p and friends

13 years agoMerge branch 'np/diff-in-corrupt-repository' into maint
Junio C Hamano [Thu, 9 Dec 2010 18:36:39 +0000 (10:36 -0800)]
Merge branch 'np/diff-in-corrupt-repository' into maint

* np/diff-in-corrupt-repository:
  diff: don't presume empty file when corresponding object is missing

13 years agoMerge branch 'fc/apply-p2-get-header-name' into maint
Junio C Hamano [Thu, 9 Dec 2010 18:36:36 +0000 (10:36 -0800)]
Merge branch 'fc/apply-p2-get-header-name' into maint

* fc/apply-p2-get-header-name:
  test: git-apply -p2 rename/chmod only
  Fix git-apply with -p greater than 1

13 years agoMerge branch 'np/pack-broken-boundary' into maint
Junio C Hamano [Thu, 9 Dec 2010 18:36:23 +0000 (10:36 -0800)]
Merge branch 'np/pack-broken-boundary' into maint

* np/pack-broken-boundary:
  make pack-objects a bit more resilient to repo corruption

13 years agoMerge branch 'ak/apply-non-git-epoch' into maint
Junio C Hamano [Thu, 9 Dec 2010 18:36:16 +0000 (10:36 -0800)]
Merge branch 'ak/apply-non-git-epoch' into maint

* ak/apply-non-git-epoch:
  apply: handle patches with funny filename and colon in timezone
  apply: Recognize epoch timestamps with : in the timezone

13 years agoMerge branch 'cm/diff-check-at-eol' into maint
Junio C Hamano [Thu, 9 Dec 2010 18:36:10 +0000 (10:36 -0800)]
Merge branch 'cm/diff-check-at-eol' into maint

* cm/diff-check-at-eol:
  diff --check: correct line numbers of new blank lines at EOF

13 years agoMerge branch 'tc/smart-http-post-redirect' into maint
Junio C Hamano [Thu, 9 Dec 2010 18:36:04 +0000 (10:36 -0800)]
Merge branch 'tc/smart-http-post-redirect' into maint

* tc/smart-http-post-redirect:
  smart-http: Don't change POST to GET when following redirect

13 years agoMerge branch 'ab/require-perl-5.8' into maint
Junio C Hamano [Thu, 9 Dec 2010 18:35:21 +0000 (10:35 -0800)]
Merge branch 'ab/require-perl-5.8' into maint

* ab/require-perl-5.8:
  perl: use "use warnings" instead of -w
  perl: bump the required Perl version to 5.8 from 5.6.[21]

13 years agocontrib/hooks/post-receive-email: fix return values from prep_for_email
Alan Raison [Thu, 9 Dec 2010 16:03:05 +0000 (16:03 +0000)]
contrib/hooks/post-receive-email: fix return values from prep_for_email

The function was returning 0 for failure and 1 for success which was
breaking the logic in the main loop.  It now also returns in all
cases, rather than exiting.

Signed-off-by: Alan Raison <alan@theraisons.me.uk>
Acked-by: Kevin P. Fleming <kpfleming@digium.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agot9010 fails when no svn is available
Junio C Hamano [Thu, 9 Dec 2010 06:53:59 +0000 (22:53 -0800)]
t9010 fails when no svn is available

Running test t9010 without svn currently errors out for no good reason.

The test uses "svnadmin" without checking if svn is available.  This was a
regression introduced by b0ad24b (t9010 (svn-fe): Eliminate dependency on
svn perl bindings, 2010-10-10) when it stopped including ./lib-git-svn.sh
that had the safety.

This should fix it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>