git.git
15 years agodifftool/mergetool: add diffuse as merge and diff tool
Sebastian Pipping [Mon, 6 Apr 2009 08:31:23 +0000 (01:31 -0700)]
difftool/mergetool: add diffuse as merge and diff tool

This adds diffuse as a built-in merge tool.

Signed-off-by: Sebastian Pipping <sebastian@pipping.org>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodifftool: add a -y shortcut for --no-prompt
David Aguilar [Tue, 7 Apr 2009 08:21:19 +0000 (01:21 -0700)]
difftool: add a -y shortcut for --no-prompt

This is another consistency cleanup to make git-difftool's options
match git-mergetool.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodifftool: use perl built-ins when testing for msys
David Aguilar [Mon, 6 Apr 2009 08:31:21 +0000 (01:31 -0700)]
difftool: use perl built-ins when testing for msys

I don't even know what $COMSPEC means so let's be safe and use the
same perly $^O test add--interactive uses.  While we're at it, make
git-difftool match the prevalent git-perl style.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodifftool: remove the backup file feature
David Aguilar [Mon, 6 Apr 2009 08:31:20 +0000 (01:31 -0700)]
difftool: remove the backup file feature

Most users find the backup file feature annoying and there's no
need for it since diff is supposed to be a read-only operation.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodifftool: remove merge options for opendiff, tkdiff, kdiff3 and xxdiff
David Aguilar [Mon, 6 Apr 2009 08:31:19 +0000 (01:31 -0700)]
difftool: remove merge options for opendiff, tkdiff, kdiff3 and xxdiff

We shouldn't try to merge files when using difftool, so remove
any merge-specific options.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-mergetool: add new merge tool TortoiseMerge
Markus Heidelberg [Mon, 6 Apr 2009 08:31:18 +0000 (01:31 -0700)]
git-mergetool: add new merge tool TortoiseMerge

TortoiseMerge comes with TortoiseSVN or TortoiseGit for Windows. It can
only be used as a merge tool with an existing base file. It cannot be
used without a base nor as a diff tool.

The documentation only mentions the slash '/' as command line option
prefix, which refused to work, but the parser also accepts the dash '-'

See http://code.google.com/p/msysgit/issues/detail?id=226

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-mergetool/difftool: make (g)vimdiff workable under Windows
Markus Heidelberg [Mon, 6 Apr 2009 08:31:17 +0000 (01:31 -0700)]
git-mergetool/difftool: make (g)vimdiff workable under Windows

Under Windows vimdiff and gvimdiff are not available as symbolic links,
but as batch files vimdiff.bat and gvimdiff.bat. These files weren't
found by 'type vimdiff' which led to the following error:

    The merge tool vimdiff is not available as 'vimdiff'

Even if they were found, it wouldn't work to invoke these batch files
from git-mergetool.

To solve this, use vim and gvim (vim.exe and gvim.exe) and pass the -d
command line switch over to them.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodoc/merge-config: list ecmerge as a built-in merge tool
Markus Heidelberg [Mon, 6 Apr 2009 08:31:16 +0000 (01:31 -0700)]
doc/merge-config: list ecmerge as a built-in merge tool

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-rev-list.txt: make ascii markup uniform with other pages.
Matthieu Moy [Tue, 7 Apr 2009 17:24:33 +0000 (19:24 +0200)]
git-rev-list.txt: make ascii markup uniform with other pages.

Other pages use --option=<argument>, not --option='argument', do the
same here.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-send-email.txt: clarify which options take an argument.
Matthieu Moy [Tue, 7 Apr 2009 17:24:32 +0000 (19:24 +0200)]
git-send-email.txt: clarify which options take an argument.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'jc/name-branch'
Junio C Hamano [Mon, 6 Apr 2009 07:43:44 +0000 (00:43 -0700)]
Merge branch 'jc/name-branch'

* jc/name-branch:
  Don't permit ref/branch names to end with ".lock"
  check_ref_format(): tighten refname rules
  strbuf_check_branch_ref(): a helper to check a refname for a branch
  Fix branch -m @{-1} newname
  check-ref-format --branch: give Porcelain a way to grok branch shorthand
  strbuf_branchname(): a wrapper for branch name shorthands
  Rename interpret/substitute nth_last_branch functions

Conflicts:
Documentation/git-check-ref-format.txt

15 years agoMerge branch 'jc/shared-literally'
Junio C Hamano [Mon, 6 Apr 2009 07:42:52 +0000 (00:42 -0700)]
Merge branch 'jc/shared-literally'

* jc/shared-literally:
  t1301: loosen test for forced modes
  set_shared_perm(): sometimes we know what the final mode bits should look like
  move_temp_to_file(): do not forget to chmod() in "Coda hack" codepath
  Move chmod(foo, 0444) into move_temp_to_file()
  "core.sharedrepository = 0mode" should set, not loosen

15 years agoMerge branch 'mg/tracked-local-branches'
Junio C Hamano [Mon, 6 Apr 2009 07:42:31 +0000 (00:42 -0700)]
Merge branch 'mg/tracked-local-branches'

* mg/tracked-local-branches:
  Make local branches behave like remote branches when --tracked
  Test for local branches being followed with --track

15 years agoMerge branch 'sb/format-patch-patchname'
Junio C Hamano [Mon, 6 Apr 2009 07:42:23 +0000 (00:42 -0700)]
Merge branch 'sb/format-patch-patchname'

* sb/format-patch-patchname:
  format_sanitized_subject: Don't trim past initial length of strbuf
  log-tree: fix patch filename computation in "git format-patch"
  format-patch: --numbered-files and --stdout aren't mutually exclusive
  format-patch: --attach/inline uses filename instead of SHA1
  format-patch: move get_patch_filename() into log-tree
  format-patch: pass a commit to reopen_stdout()
  format-patch: construct patch filename in one function
  pretty.c: add %f format specifier to format_commit_message()

15 years agouser-manual: the name of the hash function is SHA-1, not sha1
Felipe Contreras [Sat, 4 Apr 2009 09:38:27 +0000 (12:38 +0300)]
user-manual: the name of the hash function is SHA-1, not sha1

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodocbook: change css style
Felipe Contreras [Sat, 4 Apr 2009 09:38:24 +0000 (12:38 +0300)]
docbook: change css style

A handful of random personal preference:

- Force sans-serif for the text.
- Quote code sample literal inside a single-quote pair.
- Show emphasis in blue-green italics.
- Do not use itarlics for term definition, but show them in navy.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agouser-manual: remove some git-foo usage
Felipe Contreras [Sat, 4 Apr 2009 09:38:23 +0000 (12:38 +0300)]
user-manual: remove some git-foo usage

Also, use `git foo` when it make sense.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoDocumentation: branch.*.merge can also affect 'git-push'
Santi Béjar [Mon, 30 Mar 2009 10:11:42 +0000 (12:11 +0200)]
Documentation: branch.*.merge can also affect 'git-push'

Signed-off-by: Santi Béjar <santi@agolina.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoAdd configuration variable for sign-off to format-patch
Heiko Voigt [Wed, 1 Apr 2009 17:51:54 +0000 (19:51 +0200)]
Add configuration variable for sign-off to format-patch

If you regularly create patches which require a Signed-off: line you may
want to make it your default to add that line. It also helps you not to forget
to add the -s/--signoff switch.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agobash completion: Update 'git am' options
Todd Zullinger [Sun, 5 Apr 2009 16:33:38 +0000 (12:33 -0400)]
bash completion: Update 'git am' options

This adds --committer-date-is-author-date, --ignore-date, and --no-utf8
options.  The --binary option is removed, as it was made a no-op by
cb3a160.  The option list is also sorted alphabetically.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint'
Junio C Hamano [Sun, 5 Apr 2009 08:17:08 +0000 (01:17 -0700)]
Merge branch 'maint'

* maint:
  git submodule: fix usage line
  doc/git-pack-refs: fix two grammar issues
  commit: abort commit if interactive add failed
  git-repack: use non-dashed update-server-info

15 years agogit submodule: fix usage line
Julien Danjou [Tue, 31 Mar 2009 15:50:12 +0000 (17:50 +0200)]
git submodule: fix usage line

Actually, you have to set the -b option after the add command.

Signed-off-by: Julien Danjou <julien@danjou.info>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint-1.6.1' into maint
Junio C Hamano [Sun, 5 Apr 2009 08:04:54 +0000 (01:04 -0700)]
Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
  commit: abort commit if interactive add failed
  git-repack: use non-dashed update-server-info

15 years agoMerge branch 'maint-1.6.0' into maint-1.6.1
Junio C Hamano [Sun, 5 Apr 2009 08:04:38 +0000 (01:04 -0700)]
Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
  commit: abort commit if interactive add failed
  git-repack: use non-dashed update-server-info

Conflicts:
builtin-commit.c

15 years agodoc/git-pack-refs: fix two grammar issues
Markus Heidelberg [Sat, 4 Apr 2009 10:35:22 +0000 (12:35 +0200)]
doc/git-pack-refs: fix two grammar issues

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agotests: remove exit after test_done call
Jeff King [Fri, 3 Apr 2009 19:31:10 +0000 (15:31 -0400)]
tests: remove exit after test_done call

test_done always exits, so this line is never executed.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agocommit: abort commit if interactive add failed
Jeff King [Fri, 3 Apr 2009 19:28:56 +0000 (15:28 -0400)]
commit: abort commit if interactive add failed

Previously we ignored the result of calling add_interactive,
which meant that if an error occurred we simply committed
whatever happened to be in the index.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agobisect: improve error message when branch checkout fails
Christian Couder [Sat, 4 Apr 2009 20:02:26 +0000 (22:02 +0200)]
bisect: improve error message when branch checkout fails

In "git-bisect.sh" the "git checkout" command is only used to
change the current branch, but it is used like this:

git checkout "$branch"

which will output the following misleading error message when
it fails:

error: pathspec 'foo' did not match any file(s) known to git.

This patch change the way we use "git checkout" like this:

git checkout "$branch" --

so that we will get the following error message:

fatal: invalid reference: foo

which is better.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-repack: use non-dashed update-server-info
Dan McGee [Sat, 4 Apr 2009 16:59:55 +0000 (11:59 -0500)]
git-repack: use non-dashed update-server-info

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agosend-email: fix nasty bug in ask() function
Jay Soffian [Sun, 5 Apr 2009 03:23:21 +0000 (23:23 -0400)]
send-email: fix nasty bug in ask() function

Commit 6e18251 (send-email: refactor and ensure prompting doesn't loop
forever) introduced an ask function, which unfortunately had a nasty
bug. This caused it not to accept anything but the default reply to the
"Who should the emails appear to be from?" prompt, and nothing but
ctrl-d to the "Who should the emails be sent to?" and "Message-ID to be
used as In-Reply-To for the first email?" prompts.

This commit corrects the issues and adds a test to confirm the fix.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoUpdate draft release notes to 1.6.3
Junio C Hamano [Thu, 2 Apr 2009 20:42:24 +0000 (13:42 -0700)]
Update draft release notes to 1.6.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoSync with 1.6.2.2
Junio C Hamano [Thu, 2 Apr 2009 19:35:48 +0000 (12:35 -0700)]
Sync with 1.6.2.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoGIT 1.6.2.2 v1.6.2.2
Junio C Hamano [Thu, 2 Apr 2009 19:21:57 +0000 (12:21 -0700)]
GIT 1.6.2.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'jc/maint-1.6.0-blame-s' into maint
Junio C Hamano [Thu, 2 Apr 2009 19:14:37 +0000 (12:14 -0700)]
Merge branch 'jc/maint-1.6.0-blame-s' into maint

* jc/maint-1.6.0-blame-s:
  blame: read custom grafts given by -S before calling setup_revisions()

Conflicts:
builtin-blame.c

15 years agoMerge branch 'js/maint-diff-temp-smudge' into maint
Junio C Hamano [Thu, 2 Apr 2009 19:02:30 +0000 (12:02 -0700)]
Merge branch 'js/maint-diff-temp-smudge' into maint

* js/maint-diff-temp-smudge:
  Smudge the files fed to external diff and textconv

15 years agoMerge branch 'js/maint-1.6.0-exec-path-env' into maint
Junio C Hamano [Thu, 2 Apr 2009 19:02:25 +0000 (12:02 -0700)]
Merge branch 'js/maint-1.6.0-exec-path-env' into maint

* js/maint-1.6.0-exec-path-env:
  Propagate --exec-path setting to external commands via GIT_EXEC_PATH

15 years agoMerge branch 'bc/maint-1.6.1-branch-deleted-was' into maint
Junio C Hamano [Thu, 2 Apr 2009 19:02:18 +0000 (12:02 -0700)]
Merge branch 'bc/maint-1.6.1-branch-deleted-was' into maint

* bc/maint-1.6.1-branch-deleted-was:
  git-branch: display "was sha1" on branch deletion rather than just "sha1"

Conflicts:
builtin-branch.c

15 years agoMerge branch 'tr/maint-1.6.1-doc-format-patch--root' into maint
Junio C Hamano [Thu, 2 Apr 2009 19:00:59 +0000 (12:00 -0700)]
Merge branch 'tr/maint-1.6.1-doc-format-patch--root' into maint

* tr/maint-1.6.1-doc-format-patch--root:
  Documentation: format-patch --root clarifications

15 years agoMerge branch 'dm/maint-docco' into maint
Junio C Hamano [Thu, 2 Apr 2009 18:58:39 +0000 (11:58 -0700)]
Merge branch 'dm/maint-docco' into maint

* dm/maint-docco:
  Documentation: Remove spurious uses of "you" in git-bisect.txt.
  Documentation: minor grammatical fix in git-check-ref-format.txt
  Documentation: minor grammatical fixes in git-check-attr.txt
  Documentation: minor grammatical fixes in git-cat-file.txt
  Documentation: minor grammatical fixes and rewording in git-bundle.txt
  Documentation: remove some uses of the passive voice in git-bisect.txt
  Documentation: reword example text in git-bisect.txt.
  Documentation: reworded the "Description" section of git-bisect.txt.
  Documentation: minor grammatical fixes in git-branch.txt.
  Documentation: minor grammatical fixes in git-blame.txt.
  Documentation: reword the "Description" section of git-bisect.txt.
  Documentation: minor grammatical fixes in git-archive.txt.

15 years agosend-email: ensure quoted addresses are rfc2047 encoded
Jay Soffian [Tue, 31 Mar 2009 16:22:14 +0000 (12:22 -0400)]
send-email: ensure quoted addresses are rfc2047 encoded

sanitize_address assumes that quoted addresses (e.g., "first last"
<first.last@example.com) do not need rfc2047 encoding, but this is
not always the case.

For example, various places in send-email extract addresses using
parse_address_line. parse_address_line returns the addresses already
quoted (e.g., "first last" <first.last@example.com), but not rfc2047
encoded.

This patch makes sanitize_address stricter about what needs rfc2047
encoding and adds a test demonstrating where I noticed the problem.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agosend-email: correct two tests which were going interactive
Jay Soffian [Tue, 31 Mar 2009 16:22:13 +0000 (12:22 -0400)]
send-email: correct two tests which were going interactive

Commit c18f75a (send-email: add tests for refactored prompting, 2009-03-28)
added two tests which went interactive under the dash shell.

This patch corrects the issue, reported by Björn Steinbrink.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'ef/fast-export'
Junio C Hamano [Thu, 2 Apr 2009 05:49:28 +0000 (22:49 -0700)]
Merge branch 'ef/fast-export'

* ef/fast-export:
  builtin-fast-export.c: handle nested tags
  builtin-fast-export.c: fix crash on tagged trees
  builtin-fast-export.c: turn error into warning
  test-suite: adding a test for fast-export with tag variants

15 years agoMerge branch 'mh/format-patch-add-header'
Junio C Hamano [Thu, 2 Apr 2009 05:49:24 +0000 (22:49 -0700)]
Merge branch 'mh/format-patch-add-header'

* mh/format-patch-add-header:
  format-patch: add arbitrary email headers

15 years agoMerge branch 'tr/maint-1.6.1-doc-format-patch--root'
Junio C Hamano [Thu, 2 Apr 2009 05:49:03 +0000 (22:49 -0700)]
Merge branch 'tr/maint-1.6.1-doc-format-patch--root'

* tr/maint-1.6.1-doc-format-patch--root:
  Documentation: format-patch --root clarifications

15 years agoMerge branch 'maint'
Junio C Hamano [Thu, 2 Apr 2009 05:46:31 +0000 (22:46 -0700)]
Merge branch 'maint'

* maint:
  Documentation: Remove an odd "instead"
  fix portability problem with IS_RUN_COMMAND_ERR
  mailmap: resurrect lower-casing of email addresses

15 years agoMerge branch 'maint-1.6.1' into maint
Junio C Hamano [Thu, 2 Apr 2009 05:36:05 +0000 (22:36 -0700)]
Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
  Documentation: Remove an odd "instead"

15 years agoMerge branch 'maint-1.6.0' into maint-1.6.1
Junio C Hamano [Thu, 2 Apr 2009 05:35:57 +0000 (22:35 -0700)]
Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
  Documentation: Remove an odd "instead"

15 years agoMerge branch 'cj/doc-format'
Junio C Hamano [Thu, 2 Apr 2009 05:35:00 +0000 (22:35 -0700)]
Merge branch 'cj/doc-format'

* cj/doc-format:
  Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set
  Documentation: option to render literal text as bold for manpages
  Documentation: asciidoc.conf: fix verse block with block titles
  Documentation: asciidoc.conf: always use <literallayout> for [blocktext]
  Documentation: move "spurious .sp" code into manpage-base.xsl
  Documentation: move quieting params into manpage-base.xsl
  Documentation: rename docbook-xsl-172 attribute to git-asciidoc-no-roff
  Documentation: use parametrized manpage-base.xsl with manpage-{1.72,normal}.xsl
  Documentation: move callouts.xsl to manpage-{base,normal}.xsl
  Documentation/Makefile: break up texi pipeline
  Documentation/Makefile: make most operations "quiet"

15 years agoMerge branch 'jc/maint-1.6.0-keep-pack'
Junio C Hamano [Thu, 2 Apr 2009 05:34:19 +0000 (22:34 -0700)]
Merge branch 'jc/maint-1.6.0-keep-pack'

* jc/maint-1.6.0-keep-pack:
  pack-objects: don't loosen objects available in alternate or kept packs
  t7700: demonstrate repack flaw which may loosen objects unnecessarily
  Remove --kept-pack-only option and associated infrastructure
  pack-objects: only repack or loosen objects residing in "local" packs
  git-repack.sh: don't use --kept-pack-only option to pack-objects
  t7700-repack: add two new tests demonstrating repacking flaws

Conflicts:
t/t7700-repack.sh

15 years agoMerge branch 'kb/tracking-count-no-merges'
Junio C Hamano [Thu, 2 Apr 2009 05:27:43 +0000 (22:27 -0700)]
Merge branch 'kb/tracking-count-no-merges'

* kb/tracking-count-no-merges:
  stat_tracking_info(): only count real commits

15 years agoDocumentation: git-svn: fix trunk/fetch svn-remote key typo
Wesley J. Landaker [Wed, 1 Apr 2009 22:05:01 +0000 (16:05 -0600)]
Documentation: git-svn: fix trunk/fetch svn-remote key typo

Fix the git-svn documentation svn-remote example section talking about
tags and branches by using the proper key "fetch" instead of "trunk".
Using "trunk" actually might be nice, but it doesn't currently work.

The fetch line for the trunk was also reordered to be at the top of the
list, since most people think about the trunk/tags/branches trio in that
logical order.

Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMailmap: Allow empty email addresses to be mapped
Björn Steinbrink [Tue, 31 Mar 2009 15:30:39 +0000 (17:30 +0200)]
Mailmap: Allow empty email addresses to be mapped

While it makes no sense to map some email address to an empty one, doing
things the other way around can be useful. For example when using
filter-branch with an env-filter that employs a mailmap to fix up an
import that created such broken commits with empty email addresses.

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMake local branches behave like remote branches when --tracked
Michael J Gruber [Wed, 1 Apr 2009 21:42:49 +0000 (23:42 +0200)]
Make local branches behave like remote branches when --tracked

This makes sure that local branches, when followed using --track, behave
the same as remote ones (e.g. differences being reported by git status
and git checkout). This fixes 1 known failure.

The fix is done within branch_get(): The first natural candidate,
namely remote_find_tracking(), does not have all the necessary info
because in general there is no remote struct for '.', and we don't want
one because it would show up in other places as well.

branch_get(), on the other hand, has access to merge_names[] (in
addition to merge[]) and therefore can set up the followed branch
easily.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoCleanup warning about known issues in cvsimport documentation
Heiko Voigt [Wed, 1 Apr 2009 20:24:28 +0000 (22:24 +0200)]
Cleanup warning about known issues in cvsimport documentation

Not all statements were complete sentences.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoDocumentation: Remove an odd "instead"
Holger Weiß [Tue, 31 Mar 2009 16:57:01 +0000 (18:57 +0200)]
Documentation: Remove an odd "instead"

Signed-off-by: Holger Weiß <holger@zedat.fu-berlin.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agosend-email: ask_default should apply to all emails, not just the first
Jay Soffian [Tue, 31 Mar 2009 16:22:12 +0000 (12:22 -0400)]
send-email: ask_default should apply to all emails, not just the first

Commit 6e18251 made the "Send this email?" prompt assume yes if confirm
= "inform" when it was unable to get a valid response. However, the
"yes" assumption only worked correctly for the first email. This commit
fixes the issue and confirms the fix by modifying the existing test for
the prompt to send multiple emails.

Reported by Matthieu Moy <Matthieu.Moy@imag.fr>

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agosend-email: don't attempt to prompt if tty is closed
Jay Soffian [Tue, 31 Mar 2009 16:22:11 +0000 (12:22 -0400)]
send-email: don't attempt to prompt if tty is closed

Attempting to prompt when the tty is closed (typically when running from
cron) is pointless and emits a warning. This patch causes ask() to
return early, squelching the warning.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agot1301: loosen test for forced modes
Jeff King [Tue, 31 Mar 2009 20:36:00 +0000 (16:36 -0400)]
t1301: loosen test for forced modes

One of the aspects of the test checked explicitly for the
g+s bit to be set on created directories. However, this is
only the means to an end (the "end" being having the correct
group set). And in fact, on systems where
DIR_HAS_BSD_GROUP_SEMANTICS is set, we do not even need to
use this "means" at all, causing the test to fail.

This patch removes that part of the test. In an ideal world
it would be replaced by a test to check that the group was
properly assigned, but that is difficult to automate because
it requires the user running the test suite be a member of
multiple groups.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agofix portability problem with IS_RUN_COMMAND_ERR
Jeff King [Tue, 31 Mar 2009 12:29:23 +0000 (08:29 -0400)]
fix portability problem with IS_RUN_COMMAND_ERR

Some old versions of gcc don't seem to like us negating an
enum constant. Let's work around it by negating the other
half of the comparison instead.

Reported by Pierre Poissinger on gcc 2.9.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoformat_sanitized_subject: Don't trim past initial length of strbuf
Stephen Boyd [Tue, 31 Mar 2009 23:24:38 +0000 (16:24 -0700)]
format_sanitized_subject: Don't trim past initial length of strbuf

If the subject line is '...' the strbuf will be accessed before the
first dot is added; potentially changing the strbuf passed into the
function or accessing sb->buf[-1] if it was originally empty.

Reported-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoDocumentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set
Chris Johnsen [Wed, 1 Apr 2009 08:50:34 +0000 (03:50 -0500)]
Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set

With this change, the "spurious .sp" suppression XSLT code is
disabled by default. It can be enabled by defining
DOCBOOK_SUPPRESS_SP.

The "spurious .sp" XSLT fragment was used to work around a bug
first released in docbook-xsl 1.69.1. Modern versions of
docbook-xsl are negatively affected by the code (some empty lines
are omitted from manpage output; see
<http://article.gmane.org/gmane.comp.version-control.git/115302>).

The key revisions in the docbook SVN repo seem to be 5144 (before
docbook-xsl 1.69.1) and 6359 (before docbook-xsl 1.71.1).

Testing done with asciidoc 8.3.1 and docbook-xsl 1.74.0.

Signed-off-by: Chris Johnsen <chris_johnsen@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agomailmap: resurrect lower-casing of email addresses
Johannes Schindelin [Tue, 31 Mar 2009 00:18:36 +0000 (02:18 +0200)]
mailmap: resurrect lower-casing of email addresses

Commit 0925ce4(Add map_user() and clear_mailmap() to mailmap) broke the
lower-casing of email addresses.  This mostly did not matter if your
.mailmap has only lower-case email addresses;  However, we did not
require .mailmap to contain lowercase-only email addresses.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge git://git.bogomips.org/git-svn
Junio C Hamano [Wed, 1 Apr 2009 17:57:48 +0000 (10:57 -0700)]
Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
  git-svn: add a double quiet option to hide git commits

15 years agobuiltin-clone.c: no need to strdup for setenv
Ali Gholami Rudi [Wed, 1 Apr 2009 11:22:25 +0000 (15:52 +0430)]
builtin-clone.c: no need to strdup for setenv

The setenv function makes a copy, itself.

Signed-off-by: Ali Gholami Rudi <ali@rudi.ir>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agobuiltin-clone.c: make junk_pid static
Ali Gholami Rudi [Wed, 1 Apr 2009 08:04:44 +0000 (12:34 +0430)]
builtin-clone.c: make junk_pid static

junk_pid is used only in builtin-clone.c.

Signed-off-by: Ali Gholami Rudi <ali@rudi.ir>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-svn: add a double quiet option to hide git commits
Simon Arlott [Mon, 30 Mar 2009 18:31:41 +0000 (19:31 +0100)]
git-svn: add a double quiet option to hide git commits

People may expect/prefer -q to still show git commits,
so this change allows a second -q to hide them.

Signed-off-by: Michael Poole <mdpoole@troilus.org>
Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Acked-by: Eric Wong <normalperson@yhbt.net>
15 years agoMerge branch 'maint'
Junio C Hamano [Mon, 30 Mar 2009 20:29:57 +0000 (13:29 -0700)]
Merge branch 'maint'

* maint:
  Update draft release notes to 1.6.2.2
  Fix bash completion in path with spaces
  bash completion: only show 'log --merge' if merging
  git-tag(1): add hint about commit messages
  Documentation: update graph api example.

15 years agoUpdate draft release notes to 1.6.2.2
Junio C Hamano [Mon, 30 Mar 2009 20:29:31 +0000 (13:29 -0700)]
Update draft release notes to 1.6.2.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint-1.6.1' into maint
Junio C Hamano [Mon, 30 Mar 2009 20:25:27 +0000 (13:25 -0700)]
Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
  Fix bash completion in path with spaces
  bash completion: only show 'log --merge' if merging
  git-tag(1): add hint about commit messages
  Documentation: update graph api example.

Conflicts:
contrib/completion/git-completion.bash

15 years agoMerge branch 'maint-1.6.0' into maint-1.6.1
Junio C Hamano [Mon, 30 Mar 2009 20:23:53 +0000 (13:23 -0700)]
Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
  Fix bash completion in path with spaces
  bash completion: only show 'log --merge' if merging
  git-tag(1): add hint about commit messages
  Documentation: update graph api example.

15 years agoDocumentation: push.default applies to all remotes
Santi Béjar [Mon, 30 Mar 2009 10:11:41 +0000 (12:11 +0200)]
Documentation: push.default applies to all remotes

push.default is not only for the current remote but setting the default
behaviour for all remotes.

Signed-off-by: Santi Béjar <santi@agolina.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoDocumentation: enhance branch.<name>.{remote,merge}
Santi Béjar [Mon, 30 Mar 2009 10:11:40 +0000 (12:11 +0200)]
Documentation: enhance branch.<name>.{remote,merge}

The documentation for branch.*.merge is very dense, so add a simple
explanation on top of it.

And branch.*.remote also affects 'git push'.

Signed-off-by: Santi Béjar <santi@agolina.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoFix bash completion in path with spaces
Daniel Cheng (aka SDiZ) [Mon, 30 Mar 2009 11:27:37 +0000 (19:27 +0800)]
Fix bash completion in path with spaces

Signed-off-by: Daniel Cheng (aka SDiZ) <j16sdiz+freenet@gmail.com>
Trivially-acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agobash completion: only show 'log --merge' if merging
Thomas Rast [Mon, 16 Feb 2009 16:34:57 +0000 (17:34 +0100)]
bash completion: only show 'log --merge' if merging

The gitk completion only shows --merge if MERGE_HEAD is present.
Do it the same way for git-log completion.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-tag(1): add hint about commit messages
Nico -telmich- Schottelius [Mon, 30 Mar 2009 11:58:21 +0000 (13:58 +0200)]
git-tag(1): add hint about commit messages

If a tag is not annotated, git tag displays the commit message
instead. Add this hint to the manpage to unhide this secret.

Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoDocumentation: update graph api example.
Allan Caffee [Mon, 30 Mar 2009 14:13:45 +0000 (10:13 -0400)]
Documentation: update graph api example.

As of commit 03300c0 the graph API uses '*' for all nodes including merges.
This updates the example in the documentation to match.

Signed-off-by: Allan Caffee <allan.caffee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint'
Junio C Hamano [Mon, 30 Mar 2009 06:11:23 +0000 (23:11 -0700)]
Merge branch 'maint'

* maint:
  git-svn: fix ls-tree usage with dash-prefixed paths
  import-zips: fix thinko

15 years agoMerge branch 'maint-1.6.1' into maint
Junio C Hamano [Mon, 30 Mar 2009 06:11:13 +0000 (23:11 -0700)]
Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
  import-zips: fix thinko

15 years agoMerge branch 'maint-1.6.0' into maint-1.6.1
Junio C Hamano [Mon, 30 Mar 2009 06:11:03 +0000 (23:11 -0700)]
Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
  import-zips: fix thinko

15 years agosend-email: add tests for refactored prompting
Jay Soffian [Sun, 29 Mar 2009 01:39:11 +0000 (21:39 -0400)]
send-email: add tests for refactored prompting

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agosend-email: refactor and ensure prompting doesn't loop forever
Jay Soffian [Sun, 29 Mar 2009 01:39:10 +0000 (21:39 -0400)]
send-email: refactor and ensure prompting doesn't loop forever

Several places in send-email prompt for input, and will do so forever
when the input is EOF. This is poor behavior when send-email is run
unattended (say from cron).

This patch refactors the prompting to an ask() function which takes a
prompt, an optional default, and an optional regex to validate the
input. The function returns on EOF, or if a default is provided and the
user simply types return, or if the input passes the validating regex
(which accepts all input by default). The ask() function gives up after
10 tries in case of invalid input.

There are four callers of the function:

1) "Who should the emails appear to be from?" which provides a default
sender. Previously the user would have to type ctrl-d to accept the
default. Now the user can just hit return, or type ctrl-d.

2) "Who should the emails be sent to?". Previously this prompt passed a
second argument ("") to $term->readline() which was ignored. I believe
the intent was to allow the user to just hit return. Now the user
can do so, or type ctrl-d.

3) "Message-ID to be used as In-Reply-To for the first email?".
Previously this prompt passed a second argument (effectively undef) to
$term->readline() which was ignored. I believe the intent was the same
as for (2), to allow the user to just hit return. Now the user can do
so, or type ctrl-d.

4) "Send this email?". Previously this prompt would loop forever until
it got a valid reply. Now it stops prompting on EOF or a valid reply. In
the case where confirm = "inform", it now defaults to "y" on EOF or the
user hitting return, otherwise an invalid reply causes send-email to
terminate.

A followup patch adds tests for the new functionality.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-svn: fix ls-tree usage with dash-prefixed paths
Eric Wong [Sun, 29 Mar 2009 06:10:45 +0000 (23:10 -0700)]
git-svn: fix ls-tree usage with dash-prefixed paths

To find the blob object name given a tree and pathname, we were
incorrectly calling "git ls-tree" with a "--" argument followed
by the pathname of the file we wanted to get.

  git ls-tree <TREE> -- --dashed/path/name.c

Unlike many command-line interfaces, the "--" alone does not
symbolize the end of non-option arguments on the command-line.

ls-tree interprets the "--" as a prefix to match against, thus
the entire contents of the --dashed/* hierarchy would be
returned because the "--" matches "--dashed" and every path
under it.

Thanks to Anton Gyllenberg for pointing me toward the
Twisted repository as a real-world example of this case.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoimport-zips: fix thinko
Johannes Schindelin [Sun, 29 Mar 2009 20:42:27 +0000 (22:42 +0200)]
import-zips: fix thinko

Embarrassingly, the common prefix calculation did not work properly, due
to a mistake in the assignment: instead of assigning the dirname of the
current file name, the dirname of the current common prefix needs to
be assigned to common prefix, when the current prefix does not match the
current file name.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agobuiltin-fast-export.c: handle nested tags
Erik Faye-Lund [Mon, 23 Mar 2009 12:53:09 +0000 (12:53 +0000)]
builtin-fast-export.c: handle nested tags

When tags that points to tags are passed to fast-export, an error is given,
saying "Tag [TAGNAME] points nowhere?". This fix calls parse_object() on the
object before referencing it's tag, to ensure the tag-info is fully initialized.
In addition, it inserts a comment to point out where nested tags are handled.
This is consistent with the comment for signed tags.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agobuiltin-fast-export.c: fix crash on tagged trees
Erik Faye-Lund [Mon, 23 Mar 2009 12:53:08 +0000 (12:53 +0000)]
builtin-fast-export.c: fix crash on tagged trees

If a tag object points to a tree (or another unhandled type), the commit-
pointer is left uninitialized and later dereferenced. This patch adds a
default case to the switch that issues a warning and skips the object.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agobuiltin-fast-export.c: turn error into warning
Erik Faye-Lund [Mon, 23 Mar 2009 12:53:07 +0000 (12:53 +0000)]
builtin-fast-export.c: turn error into warning

fast-import doesn't have a syntax to support tree-objects (and some other
object-types), so fast-export shouldn't handle them. However, aborting the
operation is a bit drastic. This patch turns the error into a warning instead.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agotest-suite: adding a test for fast-export with tag variants
Erik Faye-Lund [Mon, 23 Mar 2009 12:53:06 +0000 (12:53 +0000)]
test-suite: adding a test for fast-export with tag variants

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-svn: don't output git commits in quiet mode
Simon Arlott [Sun, 29 Mar 2009 19:34:50 +0000 (20:34 +0100)]
git-svn: don't output git commits in quiet mode

Ideally only errors should be output in this mode so fetch
can be run from cron and normally produce no output. Without
this change it would output a single line on each git commit,
e.g.
r1909 = 32ef87860662526d4a62f903949ed21e0341079e (u2_10_12_branch)

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Acked-by: Eric Wong <normalperson@yhbt.net>
15 years agogit-svn: fix ls-tree usage with dash-prefixed paths
Eric Wong [Sun, 29 Mar 2009 05:10:08 +0000 (22:10 -0700)]
git-svn: fix ls-tree usage with dash-prefixed paths

To find the blob object name given a tree and pathname, we were
incorrectly calling "git ls-tree" with a "--" argument followed
by the pathname of the file we wanted to get.

  git ls-tree <TREE> -- --dashed/path/name.c

Unlike many command-line interfaces, the "--" alone does not
symbolize the end of non-option arguments on the command-line.

ls-tree interprets the "--" as a prefix to match against, thus
the entire contents of the --dashed/* hierarchy would be
returned because the "--" matches "--dashed" and every path
under it.

Thanks to Anton Gyllenberg for pointing me toward the
Twisted repository as a real-world example of this case.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
15 years agoset_shared_perm(): sometimes we know what the final mode bits should look like
Junio C Hamano [Sat, 28 Mar 2009 06:21:00 +0000 (23:21 -0700)]
set_shared_perm(): sometimes we know what the final mode bits should look like

adjust_shared_perm() first obtains the mode bits from lstat(2), expecting
to find what the result of applying user's umask is, and then tweaks it
as necessary.  When the file to be adjusted is created with mkstemp(3),
however, the mode thusly obtained does not have anything to do with user's
umask, and we would need to start from 0444 in such a case and there is no
point running lstat(2) for such a path.

This introduces a new API set_shared_perm() to bypass the lstat(2) and
instead force setting the mode bits to the desired value directly.
adjust_shared_perm() becomes a thin wrapper to the function.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agomove_temp_to_file(): do not forget to chmod() in "Coda hack" codepath
Junio C Hamano [Sat, 28 Mar 2009 06:14:39 +0000 (23:14 -0700)]
move_temp_to_file(): do not forget to chmod() in "Coda hack" codepath

Now move_temp_to_file() is responsible for doing everything that is
necessary to turn a tempfile in $GIT_DIR into its final form, it must make
sure "Coda hack" codepath correctly makes the file read-only.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint'
Junio C Hamano [Sat, 28 Mar 2009 08:16:46 +0000 (01:16 -0700)]
Merge branch 'maint'

* maint:
  test-lib: Clean up comments and Makefile.
  diff --no-index: Do not generate patch output if other output is requested

15 years agoUpdate draft release notes to 1.6.3
Junio C Hamano [Sat, 28 Mar 2009 07:55:52 +0000 (00:55 -0700)]
Update draft release notes to 1.6.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'jc/maint-1.6.0-diff-borrow-carefully'
Junio C Hamano [Sat, 28 Mar 2009 07:42:31 +0000 (00:42 -0700)]
Merge branch 'jc/maint-1.6.0-diff-borrow-carefully'

* jc/maint-1.6.0-diff-borrow-carefully:
  diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged

15 years agoMerge branch 'js/remote-improvements'
Junio C Hamano [Sat, 28 Mar 2009 07:42:22 +0000 (00:42 -0700)]
Merge branch 'js/remote-improvements'

* js/remote-improvements:
  remote: improve sorting of "configure for git push" list

15 years agoMerge branch 'jk/clone-post-checkout'
Junio C Hamano [Sat, 28 Mar 2009 07:42:17 +0000 (00:42 -0700)]
Merge branch 'jk/clone-post-checkout'

* jk/clone-post-checkout:
  githooks documentation: post-checkout hook is also called after clone

15 years agoMerge branch 'maint-1.6.1' into maint
Junio C Hamano [Sat, 28 Mar 2009 07:41:50 +0000 (00:41 -0700)]
Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
  test-lib: Clean up comments and Makefile.
  diff --no-index: Do not generate patch output if other output is requested

15 years agotest-lib: Clean up comments and Makefile.
Emil Sit [Sat, 28 Mar 2009 01:57:18 +0000 (21:57 -0400)]
test-lib: Clean up comments and Makefile.

Bring documentation in test-lib and clean target
in Makefile in-line with abc5d372.

Signed-off-by: Emil Sit <sit@emilsit.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoformat-patch: add arbitrary email headers
Michael Hendricks [Thu, 26 Mar 2009 16:51:05 +0000 (10:51 -0600)]
format-patch: add arbitrary email headers

format-patch supports the format.headers configuration for adding
arbitrary email headers to the patches it outputs.  This patch adds
support for an --add-header argument which makes the same feature
available from the command line.  This is useful when the content of
custom email headers must change from branch to branch.

This patch has been sponsored by Grant Street Group

Signed-off-by: Michael Hendricks <michael@ndrix.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMove chmod(foo, 0444) into move_temp_to_file()
Johan Herland [Thu, 26 Mar 2009 15:16:47 +0000 (16:16 +0100)]
Move chmod(foo, 0444) into move_temp_to_file()

When writing out a loose object or a pack (index), move_temp_to_file() is
called to finalize the resulting file. These files (loose files and packs)
should all have permission mode 0444 (modulo adjust_shared_perm()).
Therefore, instead of doing chmod(foo, 0444) explicitly from each callsite
(or even forgetting to chmod() at all), do the chmod() call from within
move_temp_to_file().

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>