Code

git.git
15 years agogit-add: introduce --edit (to edit the diff vs. the index)
Johannes Schindelin [Wed, 8 Apr 2009 21:30:24 +0000 (23:30 +0200)]
git-add: introduce --edit (to edit the diff vs. the index)

With "git add -e [<files>]", Git will fire up an editor with the current
diff relative to the index (i.e. what you would get with "git diff
[<files>]").

Now you can edit the patch as much as you like, including adding/removing
lines, editing the text, whatever.  Make sure, though, that the first
character of the hunk lines is still a space, a plus or a minus.

After you closed the editor, Git will adjust the line counts of the hunks
if necessary, thanks to the --recount option of apply, and commit the
patch.  Except if you deleted everything, in which case nothing happens
(for obvious reasons).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodocumentation: Makefile accounts for SHELL_PATH setting
Ben Walton [Sun, 22 Mar 2009 13:20:44 +0000 (09:20 -0400)]
documentation: Makefile accounts for SHELL_PATH setting

Ensure that the Makefile that generates and installs the Documentation is
aware of any SHELL_PATH setting.  Use this value if found or the current
setting for SHELL if not.  This is an accommodation for systems where sh
is not POSIX enough.

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoAllow users to un-configure rename detection
Linus Torvalds [Thu, 9 Apr 2009 18:46:15 +0000 (11:46 -0700)]
Allow users to un-configure rename detection

I told people on the kernel mailing list to please use "-M" when sending
me rename patches, so that I can see what they do while reading email
rather than having to apply the patch and then look at the end result.

I also told them that if they want to make it the default, they can just
add

[diff]
renames

to their ~/.gitconfig file. And while I was thinking about that, I wanted
to also check whether you can then mark individual projects to _not_ have
that default in the per-repository .git/config file.

And you can't. Currently you cannot have a global "enable renames by
default" and then a local ".. but not for _this_ project". Why? Because if
somebody writes

[diff]
renames = no

we simply ignore it, rather than resetting "diff_detect_rename_default"
back to zero.

Fixed thusly.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoReplace ",<,>,& with their respective XML entities in DAV requests
Mike Hommey [Thu, 9 Apr 2009 22:25:37 +0000 (00:25 +0200)]
Replace ",<,>,& with their respective XML entities in DAV requests

If the repo url or the user email contain XML special characters, the
remote DAV server is likely to reject the LOCK requests because the XML
is then malformed.

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-svn: always initialize with core.autocrlf=false
Johannes Schindelin [Thu, 9 Apr 2009 11:29:57 +0000 (13:29 +0200)]
git-svn: always initialize with core.autocrlf=false

It has been reported time and time again in relation to msysGit that
git-svn does not work well when core.autocrlf has any value other than
'false'.  So let's make it so by default.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoUpdate delta compression message to be less misleading
Dan McGee [Thu, 9 Apr 2009 15:45:39 +0000 (10:45 -0500)]
Update delta compression message to be less misleading

In the case of a small repository, pack-objects is smart enough to not
start more threads than necessary. However, the output to the user always
reports the value of the pack.threads configuration and not the real
number of threads to be used.

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-svn: Save init/clone --ignore-paths in config
Ben Jackson [Sat, 11 Apr 2009 17:46:18 +0000 (10:46 -0700)]
git-svn: Save init/clone --ignore-paths in config

The --ignored-paths argument is now stored as
"svn-remote.$REMOTE_NAME.ignore-paths" in the config file.

[ew: edited subject and message]
Signed-off-by: Ben Jackson <ben@ben.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
15 years agogit-svn: Add per-svn-remote ignore-paths config
Ben Jackson [Sat, 11 Apr 2009 17:46:17 +0000 (10:46 -0700)]
git-svn: Add per-svn-remote ignore-paths config

The --ignore-paths option to fetch is very useful for working on a subset
of a SVN repository.  For proper operation, every command that causes a
fetch (explicit or implied) must include a matching --ignore-paths option.

This patch adds a persistent svn-remote.$repo_id.ignore-paths config by
promoting Fetcher::is_path_ignored to a member function and initializing
$self->{ignore_regex} in Fetcher::new.  Command line --ignore-paths is
still recognized and acts in addition to the config value.

Signed-off-by: Ben Jackson <ben@ben.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
15 years agogit-svn: speed up blame command
Boris Byk [Fri, 10 Apr 2009 20:32:41 +0000 (00:32 +0400)]
git-svn: speed up blame command

'git svn blame' now uses the 'git cat-file --batch' command to
speed up resolving SVN revision number out of commit SHA by
removing fork+exec overhead.

[ew: enforced 80-column line wrap]

Signed-off-by: Boris Byk <boris.byk@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
15 years agogit-svn: add fetch --parent option
Jason Merrill [Mon, 6 Apr 2009 20:37:59 +0000 (16:37 -0400)]
git-svn: add fetch --parent option

Signed-off-by: Jason Merrill <jason@redhat.com>
Acked-By: Eric Wong <normalperson@yhbt.net>
15 years agoUpdate draft release notes to 1.6.3
Junio C Hamano [Thu, 9 Apr 2009 07:04:17 +0000 (00:04 -0700)]
Update draft release notes to 1.6.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint'
Junio C Hamano [Thu, 9 Apr 2009 06:41:27 +0000 (23:41 -0700)]
Merge branch 'maint'

* maint:
  Start 1.6.2.3 preparation
  process_{tree,blob}: Remove useless xstrdup calls
  git-pull.sh: better warning message for "git pull" on detached head.

Conflicts:
RelNotes

15 years agoStart 1.6.2.3 preparation
Junio C Hamano [Thu, 9 Apr 2009 06:40:33 +0000 (23:40 -0700)]
Start 1.6.2.3 preparation

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'jc/shared-literally' into maint
Junio C Hamano [Thu, 9 Apr 2009 06:23:41 +0000 (23:23 -0700)]
Merge branch 'jc/shared-literally' into maint

* 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 'jc/maint-1.6.0-diff-borrow-carefully' into maint
Junio C Hamano [Thu, 9 Apr 2009 06:23:17 +0000 (23:23 -0700)]
Merge branch 'jc/maint-1.6.0-diff-borrow-carefully' into maint

* 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 'maint-1.6.1' into maint
Junio C Hamano [Thu, 9 Apr 2009 06:22:09 +0000 (23:22 -0700)]
Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
  process_{tree,blob}: Remove useless xstrdup calls

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

* maint-1.6.0:
  process_{tree,blob}: Remove useless xstrdup calls

15 years agoMerge branch 'jc/maint-1.6.0-keep-pack' into maint
Junio C Hamano [Thu, 9 Apr 2009 06:21:10 +0000 (23:21 -0700)]
Merge branch 'jc/maint-1.6.0-keep-pack' into maint

* 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
  is_kept_pack(): final clean-up
  Simplify is_kept_pack()
  Consolidate ignore_packed logic more
  has_sha1_kept_pack(): take "struct rev_info"
  has_sha1_pack(): refactor "pretend these packs do not exist" interface
  git-repack: resist stray environment variable

Conflicts:
t/t7700-repack.sh

15 years agoMerge branch 'jc/maint-1.6.0-blame-s' into maint-1.6.1
Junio C Hamano [Thu, 9 Apr 2009 06:02:17 +0000 (23:02 -0700)]
Merge branch 'jc/maint-1.6.0-blame-s' into maint-1.6.1

* 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 'bc/maint-1.6.1-branch-deleted-was' into maint-1.6.1
Junio C Hamano [Thu, 9 Apr 2009 06:01:15 +0000 (23:01 -0700)]
Merge branch 'bc/maint-1.6.1-branch-deleted-was' into maint-1.6.1

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

15 years agoMerge branch 'js/maint-1.6.0-exec-path-env' into maint-1.6.1
Junio C Hamano [Thu, 9 Apr 2009 06:01:10 +0000 (23:01 -0700)]
Merge branch 'js/maint-1.6.0-exec-path-env' into maint-1.6.1

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

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

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

15 years agoprocess_{tree,blob}: Remove useless xstrdup calls
Björn Steinbrink [Wed, 8 Apr 2009 11:28:54 +0000 (13:28 +0200)]
process_{tree,blob}: Remove useless xstrdup calls

The name of the processed object was duplicated for passing it to
add_object(), but that already calls path_name, which allocates a new
string anyway. So the memory allocated by the xstrdup calls just went
nowhere, leaking memory.

This reduces the RSS usage for a "rev-list --all --objects" by about 10% on
the gentoo repo (fully packed) as well as linux-2.6.git:

    gentoo:
                    | old           | new
    ----------------|-------------------------------
    RSS             |       1537284 |       1388408
    VSZ             |       1816852 |       1667952
    time elapsed    |       1:49.62 |       1:48.99
    min. page faults|        417178 |        379919

    linux-2.6.git:
                    | old           | new
    ----------------|-------------------------------
    RSS             |        324452 |        292996
    VSZ             |        491792 |        460376
    time elapsed    |       0:14.53 |       0:14.28
    min. page faults|         89360 |         81613

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-pull.sh: better warning message for "git pull" on detached head.
Matthieu Moy [Wed, 8 Apr 2009 07:24:03 +0000 (09:24 +0200)]
git-pull.sh: better warning message for "git pull" on detached head.

Otherwise, git complains about not finding a branch to pull from in
'branch..merge', which is hardly understandable. While we're there,
reword the sentences slightly.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint'
Junio C Hamano [Wed, 8 Apr 2009 06:05:43 +0000 (23:05 -0700)]
Merge branch 'maint'

* maint:
  Change double quotes to single quotes in message
  Documentation: clarify .gitattributes search
  git-checkout.txt: clarify that <branch> applies when no path is given.
  git-checkout.txt: fix incorrect statement about HEAD and index

Conflicts:
Documentation/git-checkout.txt

15 years agoMerge branch 'maint-1.6.1' into maint
Junio C Hamano [Wed, 8 Apr 2009 06:05:14 +0000 (23:05 -0700)]
Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
  Documentation: clarify .gitattributes search
  git-checkout.txt: clarify that <branch> applies when no path is given.
  git-checkout.txt: fix incorrect statement about HEAD and index

15 years agoChange double quotes to single quotes in message
Jari Aalto [Sat, 21 Mar 2009 09:00:54 +0000 (11:00 +0200)]
Change double quotes to single quotes in message

Most of the time when we give branch name in the message, we quote it
inside a pair of single-quotes.  git-checkout uses double-quotes; this
patch corrects the inconsistency.

Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'maint-1.6.0' into maint-1.6.1
Junio C Hamano [Wed, 8 Apr 2009 05:51:14 +0000 (22:51 -0700)]
Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
  Documentation: clarify .gitattributes search
  git-checkout.txt: clarify that <branch> applies when no path is given.
  git-checkout.txt: fix incorrect statement about HEAD and index

15 years agoMerge branch 'lt/reflog-expire'
Junio C Hamano [Wed, 8 Apr 2009 05:33:13 +0000 (22:33 -0700)]
Merge branch 'lt/reflog-expire'

* lt/reflog-expire:
  Speed up reflog pruning of unreachable commits
  Clean up reflog unreachability pruning decision

15 years agoMerge branch 'bs/maint-1.6.0-tree-walk-prefix'
Junio C Hamano [Wed, 8 Apr 2009 05:33:10 +0000 (22:33 -0700)]
Merge branch 'bs/maint-1.6.0-tree-walk-prefix'

* bs/maint-1.6.0-tree-walk-prefix:
  match_tree_entry(): a pathspec only matches at directory boundaries
  tree_entry_interesting: a pathspec only matches at directory boundary

15 years agoMerge branch 'ms/http-auth'
Junio C Hamano [Wed, 8 Apr 2009 05:33:05 +0000 (22:33 -0700)]
Merge branch 'ms/http-auth'

* ms/http-auth:
  Allow curl to rewind the read buffers

15 years agoMerge branch 'js/maint-submodule-checkout'
Junio C Hamano [Wed, 8 Apr 2009 05:33:02 +0000 (22:33 -0700)]
Merge branch 'js/maint-submodule-checkout'

* js/maint-submodule-checkout:
  Fix 'git checkout <submodule>' to update the index

15 years agoMerge branch 'cb/maint-merge-recursive-submodule-fix'
Junio C Hamano [Wed, 8 Apr 2009 05:32:56 +0000 (22:32 -0700)]
Merge branch 'cb/maint-merge-recursive-submodule-fix'

* cb/maint-merge-recursive-submodule-fix:
  simplify output of conflicting merge
  update cache for conflicting submodule entries
  add tests for merging with submodules

15 years agoMerge branch 'mh/html-path'
Junio C Hamano [Wed, 8 Apr 2009 05:32:51 +0000 (22:32 -0700)]
Merge branch 'mh/html-path'

* mh/html-path:
  add --html-path to get the location of installed HTML docs

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 agoDocumentation: clarify .gitattributes search
Jason Merrill [Mon, 6 Apr 2009 15:03:36 +0000 (11:03 -0400)]
Documentation: clarify .gitattributes search

Use the term "toplevel of the work tree" in gitattributes.txt and
gitignore.txt to define the limits of the search for those files.

Signed-off-by: Jason Merrill <jason@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-checkout.txt: clarify that <branch> applies when no path is given.
Matthieu Moy [Tue, 7 Apr 2009 12:43:53 +0000 (14:43 +0200)]
git-checkout.txt: clarify that <branch> applies when no path is given.

Otherwise, the sentence "Defaults to HEAD." can be mis-read to mean
that "git checkout -- hello.c" checks-out from HEAD.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-checkout.txt: fix incorrect statement about HEAD and index
Matthieu Moy [Mon, 6 Apr 2009 20:45:21 +0000 (22:45 +0200)]
git-checkout.txt: fix incorrect statement about HEAD and index

The command "git checkout" checks out from the index by default, not
HEAD (the introducing comment were correct, but the detailled
explanation added below were not).

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 agosimplify output of conflicting merge
Clemens Buchacher [Sun, 5 Apr 2009 00:47:00 +0000 (02:47 +0200)]
simplify output of conflicting merge

This simplifies the code without changing the semantics and removes
the unhelpful "needs $sha1" part of the conflicting submodule message.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoupdate cache for conflicting submodule entries
Clemens Buchacher [Sun, 5 Apr 2009 00:46:59 +0000 (02:46 +0200)]
update cache for conflicting submodule entries

When merging merge bases during a recursive merge we do not want to
leave any unmerged entries. Otherwise we cannot create a temporary
tree for the recursive merge to work with.

We failed to do so in case of a submodule conflict between merge
bases, causing a NULL pointer dereference in the next step of the
recursive merge.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoadd tests for merging with submodules
Clemens Buchacher [Sun, 5 Apr 2009 00:46:58 +0000 (02:46 +0200)]
add tests for merging with submodules

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
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 agoadd --html-path to get the location of installed HTML docs
Markus Heidelberg [Sun, 5 Apr 2009 02:15:16 +0000 (04:15 +0200)]
add --html-path to get the location of installed HTML docs

This can be used in GUIs to open installed HTML documentation in the
browser.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
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 agoFix 'git checkout <submodule>' to update the index
Johannes Schindelin [Thu, 2 Apr 2009 13:30:25 +0000 (15:30 +0200)]
Fix 'git checkout <submodule>' to update the index

While 'git checkout <submodule>' should not update the submodule's
working directory, it should update the index.  This is in line with
how submodules are handled in the rest of Git.

While at it, test 'git reset [<commit>] <submodule>', too.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoAllow curl to rewind the read buffers
Martin Storsjö [Wed, 1 Apr 2009 16:48:24 +0000 (19:48 +0300)]
Allow curl to rewind the read buffers

When using multi-pass authentication methods, the curl library may
need to rewind the read buffers (depending on how much already has
been fed to the server) used for providing data to HTTP PUT, POST or
PROPFIND, and in order to allow the library to do so, we need to tell
it how by providing either an ioctl callback or a seek callback.

This patch adds an ioctl callback, which should be usable on older
curl versions (since 7.12.3) than the seek callback (introduced in
curl 7.18.0).

Some HTTP servers (such as Apache) give an 401 error reply immediately
after receiving the headers (so no data has been read from the read
buffers, and thus no rewinding is needed), but other servers (such
as Lighttpd) only replies after the whole request has been sent and
all data has been read from the read buffers, making rewinding necessary.

Signed-off-by: Martin Storsjo <martin@martin.st>
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 agomatch_tree_entry(): a pathspec only matches at directory boundaries
Junio C Hamano [Thu, 2 Apr 2009 02:34:03 +0000 (19:34 -0700)]
match_tree_entry(): a pathspec only matches at directory boundaries

Previously the code did a simple prefix match, which means that a path in
a directory "frotz/" would have matched with pathspec "f".

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agotree_entry_interesting: a pathspec only matches at directory boundary
Björn Steinbrink [Tue, 31 Mar 2009 15:05:01 +0000 (17:05 +0200)]
tree_entry_interesting: a pathspec only matches at directory boundary

Previously the code did a simple prefix match, which means that a
path in a directory "frotz/" would have matched with pathspec "f".

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
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 agoSpeed up reflog pruning of unreachable commits
Junio Hamano [Tue, 31 Mar 2009 04:34:14 +0000 (21:34 -0700)]
Speed up reflog pruning of unreachable commits

Instead of doing the (potentially very expensive) "in_merge_base()"
check for each commit that might be pruned if it is unreachable, do a
preparatory reachability graph of the commit space, so that the common
case of being reachable can be tested directly.

[ Cleaned up a bit and tweaked to actually work.  - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoClean up reflog unreachability pruning decision
Linus Torvalds [Tue, 31 Mar 2009 16:45:22 +0000 (09:45 -0700)]
Clean up reflog unreachability pruning decision

This clarifies the pruning rules for unreachable commits by having a
separate helpder function for the unreachability decision.

It's preparation for actual bigger changes to come to speed up the
decision when the reachability calculations become a bottleneck.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
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>