git
11 years agoMerge branch 'nd/doc-index-format'
Junio C Hamano [Tue, 19 Mar 2013 19:15:14 +0000 (12:15 -0700)] 
Merge branch 'nd/doc-index-format'

Update the index format documentation to mention the v4 format.

* nd/doc-index-format:
  update-index: list supported idx versions and their features
  read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr()
  index-format.txt: mention of v4 is missing in some places

11 years agoMerge branch 'wk/doc-pre-rebase'
Junio C Hamano [Tue, 19 Mar 2013 19:14:05 +0000 (12:14 -0700)] 
Merge branch 'wk/doc-pre-rebase'

* wk/doc-pre-rebase:
  Documentation/githooks: Explain pre-rebase parameters

11 years agoMerge branch 'jc/color-diff-doc'
Junio C Hamano [Tue, 19 Mar 2013 19:11:31 +0000 (12:11 -0700)] 
Merge branch 'jc/color-diff-doc'

The --color[=<when>] option to the diff family was documented in a
confusing way.

* jc/color-diff-doc:
  diff-options: unconfuse description of --color

11 years agoStart the post 1.8.2 cycle
Junio C Hamano [Mon, 18 Mar 2013 22:01:19 +0000 (15:01 -0700)] 
Start the post 1.8.2 cycle

Again, tentatively let's call this cycle 1.8.3.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Sun, 17 Mar 2013 22:39:43 +0000 (15:39 -0700)] 
Merge branch 'maint'

* maint:
  t1507: Test that branchname@{upstream} is interpreted as branch

11 years agot1507: Test that branchname@{upstream} is interpreted as branch
Kacper Kornet [Sun, 17 Mar 2013 22:17:09 +0000 (23:17 +0100)] 
t1507: Test that branchname@{upstream} is interpreted as branch

Syntax branchname@{upstream} should interpret its argument as a name of
a branch. Add the test to check that it doesn't try to interpret it as a
refname if the branch in question does not exist.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Sun, 17 Mar 2013 07:11:11 +0000 (00:11 -0700)] 
Merge branch 'maint'

* maint:
  rev-parse: clarify documentation of $name@{upstream} syntax
  sha1_name: pass object name length to diagnose_invalid_sha1_path()
  Makefile: keep LIB_H entries together and sorted

11 years agorev-parse: clarify documentation of $name@{upstream} syntax
Kacper Kornet [Sat, 16 Mar 2013 18:51:43 +0000 (19:51 +0100)] 
rev-parse: clarify documentation of $name@{upstream} syntax

"git rev-parse" interprets string in string@{upstream} as a name of
a branch not a ref. For example, refs/heads/master@{upstream} looks
for an upstream branch that is merged by git-pull to ref
refs/heads/refs/heads/master not to refs/heads/master.

However the documentation could mislead a user to believe that the
string is interpreted as ref.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agosha1_name: pass object name length to diagnose_invalid_sha1_path()
René Scharfe [Sat, 16 Mar 2013 18:29:31 +0000 (19:29 +0100)] 
sha1_name: pass object name length to diagnose_invalid_sha1_path()

The only caller of diagnose_invalid_sha1_path() extracts a substring from
an object name by creating a NUL-terminated copy of the interesting part.
Add a length parameter to the function and thus avoid the need for an
allocation, thereby simplifying the code.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMakefile: keep LIB_H entries together and sorted
René Scharfe [Sat, 16 Mar 2013 15:58:28 +0000 (16:58 +0100)] 
Makefile: keep LIB_H entries together and sorted

As a follow-up to 60d24dd25 (Makefile: fold XDIFF_H and VCSSVN_H into
LIB_H), let the unconditional additions to LIB_H form a single sorted
list.  Also drop the duplicate entry for xdiff/xdiff.h, which was easy
to spot after sorting.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoGit 1.8.2 v1.8.2
Junio C Hamano [Wed, 13 Mar 2013 18:28:08 +0000 (11:28 -0700)] 
Git 1.8.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Mon, 11 Mar 2013 20:00:16 +0000 (13:00 -0700)] 
Merge branch 'maint'

* maint:
  git.c: make usage match manual page

11 years agogit.c: make usage match manual page
Kevin Bracey [Mon, 11 Mar 2013 19:44:15 +0000 (21:44 +0200)] 
git.c: make usage match manual page

Reorder option list in command-line usage to match the manual page.
Also make it less than 80-characters wide.

Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'mp/complete-paths'
Junio C Hamano [Mon, 11 Mar 2013 17:32:16 +0000 (10:32 -0700)] 
Merge branch 'mp/complete-paths'

* mp/complete-paths:
  git-completion.bash: zsh does not implement function redirection correctly

11 years agoMerge branch 'mm/add-u-A-finishing-touches'
Junio C Hamano [Mon, 11 Mar 2013 17:32:03 +0000 (10:32 -0700)] 
Merge branch 'mm/add-u-A-finishing-touches'

* mm/add-u-A-finishing-touches:
  add: update pathless 'add [-u|-A]' warning to reflect change of plan

11 years agogit-completion.bash: zsh does not implement function redirection correctly
Matthieu Moy [Mon, 11 Mar 2013 12:21:27 +0000 (13:21 +0100)] 
git-completion.bash: zsh does not implement function redirection correctly

A recent change added functions whose entire standard error stream
is redirected to /dev/null using a construct that is valid POSIX.1
but is not widely used:

funcname () {
cd "$1" && run some command "$2"
} 2>/dev/null

Even though this file is "git-completion.bash", zsh completion
support dot-sources it (instead of asking bash to grok it like tcsh
completion does), and zsh does not implement this redirection
correctly.

With zsh, trying to complete an inexistant directory gave this:

  git add no-such-dir/__git_ls_files_helper:cd:2: no such file or directory: no-such-dir/

Also these functions use "cd" to first go somewhere else before
running a command, but the location the caller wants them to go that
is given as an argument to them should not be affected by CDPATH
variable the users may have set for their interactive session.

To fix both of these, wrap the body of the function in a subshell,
unset CDPATH at the beginning of the subshell, and redirect the
standard error stream of the subshell to /dev/null.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'gp/add-u-A-documentation'
Junio C Hamano [Mon, 11 Mar 2013 15:11:37 +0000 (08:11 -0700)] 
Merge branch 'gp/add-u-A-documentation'

* gp/add-u-A-documentation:
  add: Clarify documentation of -A and -u

11 years agoadd: update pathless 'add [-u|-A]' warning to reflect change of plan
Matthieu Moy [Mon, 11 Mar 2013 08:01:32 +0000 (09:01 +0100)] 
add: update pathless 'add [-u|-A]' warning to reflect change of plan

We originally thought the transition would need a period where "git add
[-u|-A]" without pathspec would be forbidden, but the warning is big
enough to scare people and teach them not to use it (or, if so, to
understand the consequences).

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Mon, 11 Mar 2013 05:29:29 +0000 (22:29 -0700)] 
Merge branch 'maint'

* maint:
  Translate git_more_info_string consistently

11 years agoTranslate git_more_info_string consistently
Kevin Bracey [Sun, 10 Mar 2013 15:10:20 +0000 (17:10 +0200)] 
Translate git_more_info_string consistently

"git help" translated the "See 'git help <command>' for more
information..." message, but "git" didn't.

Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Sat, 9 Mar 2013 19:54:05 +0000 (11:54 -0800)] 
Merge branch 'maint'

* maint:
  perf: update documentation of GIT_PERF_REPEAT_COUNT

11 years agoperf: update documentation of GIT_PERF_REPEAT_COUNT
Antoine Pelisse [Sat, 9 Mar 2013 15:29:25 +0000 (16:29 +0100)] 
perf: update documentation of GIT_PERF_REPEAT_COUNT

Currently the documentation of GIT_PERF_REPEAT_COUNT says the default is
five while "perf-lib.sh" uses a value of three as a default.

Update the documentation so that it is consistent with the code.

Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge git://git.bogomips.org/git-svn
Junio C Hamano [Fri, 8 Mar 2013 22:15:55 +0000 (14:15 -0800)] 
Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
  git svn: consistent spacing after "W:" in warnings
  git svn: ignore partial svn:mergeinfo

11 years agoUpdate draft release notes to 1.8.2
Junio C Hamano [Fri, 8 Mar 2013 22:14:27 +0000 (14:14 -0800)] 
Update draft release notes to 1.8.2

Split the backward-compatibility notes into two sections, the ones
that affect this release, and the other to describe changes meant
for Git 2.0.  The latter gives a context to understand why the
changes for this release is necessary.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit svn: consistent spacing after "W:" in warnings
Eric Wong [Fri, 8 Mar 2013 09:46:41 +0000 (09:46 +0000)] 
git svn: consistent spacing after "W:" in warnings

All other instances of "W:"-prefixed warning messages have a space after
the "W:" to help with readability.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
11 years agogit svn: ignore partial svn:mergeinfo
Jan Pešta [Thu, 7 Mar 2013 11:28:14 +0000 (12:28 +0100)] 
git svn: ignore partial svn:mergeinfo

Currently this is cosmetic change - the merges are ignored, becuase the methods
(lookup_svn_merge, find_rev_before, find_rev_after) are failing on comparing text with number.

See http://www.open.collab.net/community/subversion/articles/merge-info.html
Extract:
The range r30430:30435 that was added to 1.5.x in this merge has a '*' suffix for 1.5.x\www.
This '*' is the marker for a non-inheritable mergeinfo range.
The '*' means that only the path on which the mergeinfo is explicitly set has had this range merged into it.

Signed-off-by: Jan Pesta <jan.pesta@certicon.cz>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
11 years agoGit 1.8.2-rc3 v1.8.2-rc3
Junio C Hamano [Thu, 7 Mar 2013 21:14:39 +0000 (13:14 -0800)] 
Git 1.8.2-rc3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Thu, 7 Mar 2013 21:12:34 +0000 (13:12 -0800)] 
Merge git://github.com/git-l10n/git-po

* 'master' of git://github.com/git-l10n/git-po:
  l10n: zh_CN.po: translate 1 new message
  l10n: de.po: translate 1 new message
  l10n: vi.po: Update translation (2009t0f0u)
  l10n: Update Swedish translation (2009t0f0u)
  l10n: git.pot: v1.8.2 round 4 (1 changed)

11 years agoMerge branch 'mp/complete-paths'
Junio C Hamano [Thu, 7 Mar 2013 21:11:55 +0000 (13:11 -0800)] 
Merge branch 'mp/complete-paths'

* mp/complete-paths:
  git-completion.zsh: define __gitcomp_file compatibility function

11 years agoMerge branch 'maint'
Junio C Hamano [Thu, 7 Mar 2013 20:50:36 +0000 (12:50 -0800)] 
Merge branch 'maint'

* maint:
  gitweb/README: remove reference to git.kernel.org

11 years agoMerge branch 'mh/maint-ceil-absolute' into maint
Junio C Hamano [Thu, 7 Mar 2013 20:49:57 +0000 (12:49 -0800)] 
Merge branch 'mh/maint-ceil-absolute' into maint

* mh/maint-ceil-absolute:
  Provide a mechanism to turn off symlink resolution in ceiling paths

11 years agogitweb/README: remove reference to git.kernel.org
Fredrik Gustafsson [Thu, 7 Mar 2013 01:23:43 +0000 (02:23 +0100)] 
gitweb/README: remove reference to git.kernel.org

git.kernel.org no longer uses gitweb but has switched to cgit.

Info about this can be found on: https://www.kernel.org/pelican.html
or simply by looking at http://git.kernel.org . This is change since
2013-03-01.

Signed-off-by: Fredrik Gustafsson <iveqy@iveqy.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoadd: Clarify documentation of -A and -u
Greg Price [Thu, 7 Mar 2013 10:13:15 +0000 (05:13 -0500)] 
add: Clarify documentation of -A and -u

The documentation of '-A' and '-u' is very confusing for someone who
doesn't already know what they do.  Describe them with fewer words and
clearer parallelism to each other and to the behavior of plain 'add'.

Also mention the default <pathspec> for '-A' as well as '-u', because
it applies to both.

Signed-off-by: Greg Price <price@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agol10n: zh_CN.po: translate 1 new message
Jiang Xin [Tue, 5 Mar 2013 05:09:55 +0000 (13:09 +0800)] 
l10n: zh_CN.po: translate 1 new message

Translate 1 new message came from git.pot update in ed1ddaf
(l10n: git.pot: v1.8.2 round 4 (1 changed)).

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
11 years agol10n: de.po: translate 1 new message
Ralf Thielow [Tue, 5 Mar 2013 05:32:41 +0000 (06:32 +0100)] 
l10n: de.po: translate 1 new message

Translate 1 new message came from git.pot update in
ed1ddaf (l10n: git.pot: v1.8.2 round 4 (1 changed)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
11 years agol10n: vi.po: Update translation (2009t0f0u)
Tran Ngoc Quan [Wed, 6 Mar 2013 06:57:17 +0000 (13:57 +0700)] 
l10n: vi.po: Update translation (2009t0f0u)

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
11 years agogit-completion.zsh: define __gitcomp_file compatibility function
Matthieu Moy [Tue, 5 Mar 2013 08:43:55 +0000 (09:43 +0100)] 
git-completion.zsh: define __gitcomp_file compatibility function

Commit fea16b47b60 (Fri Jan 11 19:48:43 2013, Manlio Perillo,
git-completion.bash: add support for path completion), introduced a new
__gitcomp_file function that uses the bash builtin "compgen". The
function was redefined for ZSH in the deprecated section of
git-completion.bash, but not in the new git-completion.zsh script.

As a result, users of git-completion.zsh trying to complete "git add
fo<tab>" get an error:

git add fo__gitcomp_file:8: command not found: compgen

This patch adds the redefinition and removes the error.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agol10n: Update Swedish translation (2009t0f0u)
Peter Krefting [Tue, 5 Mar 2013 08:18:25 +0000 (09:18 +0100)] 
l10n: Update Swedish translation (2009t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
11 years agol10n: git.pot: v1.8.2 round 4 (1 changed)
Jiang Xin [Tue, 5 Mar 2013 04:41:45 +0000 (12:41 +0800)] 
l10n: git.pot: v1.8.2 round 4 (1 changed)

Generate po/git.pot from v1.8.2-rc2-4-g77995 for git v1.8.2
l10n round 4.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
11 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Mon, 4 Mar 2013 09:16:02 +0000 (01:16 -0800)] 
Merge git://github.com/git-l10n/git-po

* git://github.com/git-l10n/git-po:
  l10n: de.po: correct translation of "bisect" messages
  l10n: de.po: translate 5 new messages
  l10n: de.po: translate 35 new messages

11 years agoGit 1.8.2-rc2 v1.8.2-rc2
Junio C Hamano [Sun, 3 Mar 2013 09:24:11 +0000 (01:24 -0800)] 
Git 1.8.2-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoSync with 1.8.1.5
Junio C Hamano [Fri, 1 Mar 2013 21:17:18 +0000 (13:17 -0800)] 
Sync with 1.8.1.5

11 years agoGit 1.8.1.5 v1.8.1.5
Junio C Hamano [Fri, 1 Mar 2013 21:15:29 +0000 (13:15 -0800)] 
Git 1.8.1.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMake !pattern in .gitattributes non-fatal
Thomas Rast [Fri, 1 Mar 2013 20:06:17 +0000 (21:06 +0100)] 
Make !pattern in .gitattributes non-fatal

Before 82dce99 (attr: more matching optimizations from .gitignore,
2012-10-15), .gitattributes did not have any special treatment of a
leading '!'.  The docs, however, always said

  The rules how the pattern matches paths are the same as in
  `.gitignore` files; see linkgit:gitignore[5].

By those rules, leading '!' means pattern negation.  So 82dce99
correctly determined that this kind of line makes no sense and should
be disallowed.

However, users who actually had a rule for files starting with a '!'
are in a bad position: before 82dce99 '!' matched that literal
character, so it is conceivable that users have .gitattributes with
such lines in them.  After 82dce99 the unescaped version was
disallowed in such a way that git outright refuses to run(!) most
commands in the presence of such a .gitattributes.  It therefore
becomes very hard to fix, let alone work with, such repositories.

Let's at least allow the users to fix their repos: change the fatal
error into a warning.

Reported-by: mathstuf@gmail.com
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'wk/user-manual' into maint
Junio C Hamano [Fri, 1 Mar 2013 18:37:40 +0000 (10:37 -0800)] 
Merge branch 'wk/user-manual' into maint

* wk/user-manual:
  user-manual: Flesh out uncommitted changes and submodule updates
  user-manual: Use request-pull to generate "please pull" text
  user-manual: Reorganize the reroll sections, adding 'git rebase -i'

11 years agoDocumentation/githooks: Fix linkgit
Andrew Wong [Fri, 1 Mar 2013 17:23:57 +0000 (12:23 -0500)] 
Documentation/githooks: Fix linkgit

Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Wed, 27 Feb 2013 18:10:28 +0000 (10:10 -0800)] 
Merge branch 'maint'

* maint:
  Update draft release notes to 1.8.1.5
  Documentation/submodule: Add --force to update synopsis

11 years agoUpdate draft release notes to 1.8.1.5
Junio C Hamano [Wed, 27 Feb 2013 18:09:59 +0000 (10:09 -0800)] 
Update draft release notes to 1.8.1.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'ef/non-ascii-parse-options-error-diag' into maint
Junio C Hamano [Wed, 27 Feb 2013 18:04:26 +0000 (10:04 -0800)] 
Merge branch 'ef/non-ascii-parse-options-error-diag' into maint

* ef/non-ascii-parse-options-error-diag:
  parse-options: report uncorrupted multi-byte options

11 years agoMerge branch 'wk/man-deny-current-branch-is-default-these-days' into maint
Junio C Hamano [Wed, 27 Feb 2013 18:01:21 +0000 (10:01 -0800)] 
Merge branch 'wk/man-deny-current-branch-is-default-these-days' into maint

* wk/man-deny-current-branch-is-default-these-days:
  user-manual: typofix (ofthe->of the)
  user-manual: Update for receive.denyCurrentBranch=refuse

11 years agoMerge branch 'jn/less-reconfigure' into maint
Junio C Hamano [Wed, 27 Feb 2013 17:59:19 +0000 (09:59 -0800)] 
Merge branch 'jn/less-reconfigure' into maint

* jn/less-reconfigure:
  Makefile: avoid infinite loop on configure.ac change

11 years agoMerge branch 'mh/maint-ceil-absolute'
Junio C Hamano [Wed, 27 Feb 2013 17:47:27 +0000 (09:47 -0800)] 
Merge branch 'mh/maint-ceil-absolute'

An earlier workaround designed to help people who list logical
directories that will not match what getcwd(3) returns in the
GIT_CEILING_DIRECTORIES had an adverse effect when it is slow to
stat and readlink a directory component of an element listed on it.

* mh/maint-ceil-absolute:
  Provide a mechanism to turn off symlink resolution in ceiling paths

11 years agoDocumentation/submodule: Add --force to update synopsis
Brad King [Wed, 27 Feb 2013 00:41:34 +0000 (19:41 -0500)] 
Documentation/submodule: Add --force to update synopsis

In commit 9db31bdf (submodule: Add --force option for git submodule
update, 2011-04-01) we added the option to the implementation's usage
synopsis but forgot to add it to the synopsis in the command
documentation.  Add the option to the synopsis in the same location it
is reported in usage and re-wrap the options to avoid long lines.

Signed-off-by: Brad King <brad.king@kitware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'for-junio' of git://github.com/kusma/git
Junio C Hamano [Tue, 26 Feb 2013 17:17:08 +0000 (09:17 -0800)] 
Merge branch 'for-junio' of git://github.com/kusma/git

* 'for-junio' of git://github.com/kusma/git:
  wincred: improve compatibility with windows versions
  wincred: accept CRLF on stdin to simplify console usage

11 years agoRevert "compat: add strtok_r()"
Erik Faye-Lund [Tue, 26 Feb 2013 16:58:38 +0000 (17:58 +0100)] 
Revert "compat: add strtok_r()"

This reverts commit 78457bc0ccc1af8b9eb776a0b17986ebd50442bc.

commit 28c5d9e ("vcs-svn: drop string_pool") previously removed
the only call-site for strtok_r. So let's get rid of the compat
implementation as well.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agowincred: improve compatibility with windows versions
Karsten Blees [Thu, 10 Jan 2013 10:52:12 +0000 (11:52 +0100)] 
wincred: improve compatibility with windows versions

On WinXP, the windows credential helper doesn't work at all (due to missing
Cred[Un]PackAuthenticationBuffer APIs). On Win7, the credential format used
by wincred is incompatible with native Windows tools (such as the control
panel applet or 'cmdkey.exe /generic'). These Windows tools only set the
TargetName, UserName and CredentialBlob members of the CREDENTIAL
structure (where CredentialBlob is the UTF-16-encoded password).

Remove the unnecessary packing / unpacking of the password, along with the
related API definitions, for compatibility with Windows XP.

Don't use CREDENTIAL_ATTRIBUTEs to identify credentials for compatibility
with Windows credential manager tools. Parse the protocol, username, host
and path fields from the credential's target name instead.

Credentials created with an old wincred version will have mangled or empty
passwords after this change.

Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
11 years agowincred: accept CRLF on stdin to simplify console usage
Karsten Blees [Wed, 9 Jan 2013 11:49:26 +0000 (12:49 +0100)] 
wincred: accept CRLF on stdin to simplify console usage

The windows credential helper currently only accepts LF on stdin, but bash
and cmd.exe both send CRLF. This prevents interactive use in the console.

Change the stdin parser to optionally accept CRLF.

Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
11 years agol10n: de.po: correct translation of "bisect" messages
Ralf Thielow [Sat, 23 Feb 2013 16:47:32 +0000 (17:47 +0100)] 
l10n: de.po: correct translation of "bisect" messages

The term "bisect" was translated as "halbieren", we should
translate it as "binäre Suche" (binary search). While at
there, we should leave "bisect run" untranslated since it's
a subcommand of "git bisect".

Suggested-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
11 years agol10n: de.po: translate 5 new messages
Ralf Thielow [Tue, 19 Feb 2013 16:59:28 +0000 (17:59 +0100)] 
l10n: de.po: translate 5 new messages

Translate 5 new messages came from git.pot update in 235537a
(l10n: git.pot: v1.8.2 round 3 (5 new)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
11 years agol10n: de.po: translate 35 new messages
Ralf Thielow [Thu, 14 Feb 2013 17:27:00 +0000 (18:27 +0100)] 
l10n: de.po: translate 35 new messages

Translate 35 new messages came from git.pot update
in 9caaf23 (l10n: Update git.pot (35 new, 14 removed
messages)).

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
11 years agoGit 1.8.2-rc1 v1.8.2-rc1
Junio C Hamano [Mon, 25 Feb 2013 16:39:23 +0000 (08:39 -0800)] 
Git 1.8.2-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Mon, 25 Feb 2013 17:02:58 +0000 (09:02 -0800)] 
Merge git://github.com/git-l10n/git-po

* git://github.com/git-l10n/git-po:
  l10n: vi.po: Updated 5 new messages (2009t0f0u)
  l10n: Update Swedish translation (2009t0f0u)
  l10n: Update Swedish translation (2004t0f0u)
  l10n: zh_CN.po: translate 5 new messages
  l10n: git.pot: v1.8.2 round 3 (5 new)

11 years agoSync with 'maint'
Junio C Hamano [Mon, 25 Feb 2013 16:27:50 +0000 (08:27 -0800)] 
Sync with 'maint'

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'wk/user-manual'
Junio C Hamano [Mon, 25 Feb 2013 16:27:17 +0000 (08:27 -0800)] 
Merge branch 'wk/user-manual'

Further updates to the user manual.

* wk/user-manual:
  user-manual: Flesh out uncommitted changes and submodule updates
  user-manual: Use request-pull to generate "please pull" text
  user-manual: Reorganize the reroll sections, adding 'git rebase -i'

11 years agoMerge branch 'jn/less-reconfigure'
Junio C Hamano [Mon, 25 Feb 2013 16:27:13 +0000 (08:27 -0800)] 
Merge branch 'jn/less-reconfigure'

A change made on v1.8.1.x maintenance track had a nasty regression
to break the build when autoconf is used.

* jn/less-reconfigure:
  Makefile: avoid infinite loop on configure.ac change

11 years agoMerge branch 'as/check-ignore'
Junio C Hamano [Mon, 25 Feb 2013 16:27:09 +0000 (08:27 -0800)] 
Merge branch 'as/check-ignore'

"git check-ignore ." segfaulted, as a function it calls deep in its
callchain took a string in the <ptr, length> form but did not stop
when given an empty string.

* as/check-ignore:
  name-hash: allow hashing an empty string
  t0008: document test_expect_success_multi

11 years agoMerge branch 'ct/autoconf-htmldir'
Junio C Hamano [Mon, 25 Feb 2013 16:27:04 +0000 (08:27 -0800)] 
Merge branch 'ct/autoconf-htmldir'

An earlier change to config.mak.autogen broke a build driven by the
./configure script when --htmldir is not specified on the command
line of ./configure.

* ct/autoconf-htmldir:
  Bugfix: undefined htmldir in config.mak.autogen

11 years agoMerge branch 'wk/man-deny-current-branch-is-default-these-days'
Junio C Hamano [Mon, 25 Feb 2013 16:26:59 +0000 (08:26 -0800)] 
Merge branch 'wk/man-deny-current-branch-is-default-these-days'

* wk/man-deny-current-branch-is-default-these-days:
  user-manual: typofix (ofthe->of the)

11 years agoPrepare for 1.8.1.5
Junio C Hamano [Mon, 25 Feb 2013 16:15:40 +0000 (08:15 -0800)] 
Prepare for 1.8.1.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'jc/mention-tracking-for-pull-default' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:04:19 +0000 (08:04 -0800)] 
Merge branch 'jc/mention-tracking-for-pull-default' into maint

* jc/mention-tracking-for-pull-default:
  doc: mention tracking for pull.default

11 years agoMerge branch 'mm/config-intro-in-git-doc' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:04:17 +0000 (08:04 -0800)] 
Merge branch 'mm/config-intro-in-git-doc' into maint

* mm/config-intro-in-git-doc:
  git.txt: update description of the configuration mechanism

11 years agoMerge branch 'da/p4merge-mktemp-fix' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:04:05 +0000 (08:04 -0800)] 
Merge branch 'da/p4merge-mktemp-fix' into maint

* da/p4merge-mktemp-fix:
  p4merge: fix printf usage

11 years agoMerge branch 'bw/get-tz-offset-perl' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:04:03 +0000 (08:04 -0800)] 
Merge branch 'bw/get-tz-offset-perl' into maint

* bw/get-tz-offset-perl:
  cvsimport: format commit timestamp ourselves without using strftime
  perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases
  Move Git::SVN::get_tz to Git::get_tz_offset

11 years agoMerge branch 'al/mergetool-printf-fix' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:04:01 +0000 (08:04 -0800)] 
Merge branch 'al/mergetool-printf-fix' into maint

* al/mergetool-printf-fix:
  difftool--helper: fix printf usage
  git-mergetool: print filename when it contains %

11 years agoMerge branch 'jx/utf8-printf-width' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:59 +0000 (08:03 -0800)] 
Merge branch 'jx/utf8-printf-width' into maint

* jx/utf8-printf-width:
  Add utf8_fprintf helper that returns correct number of columns

11 years agoMerge branch 'mg/bisect-doc' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:57 +0000 (08:03 -0800)] 
Merge branch 'mg/bisect-doc' into maint

* mg/bisect-doc:
  git-bisect.txt: clarify that reset quits bisect

11 years agoMerge branch 'sp/smart-http-content-type-check' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:54 +0000 (08:03 -0800)] 
Merge branch 'sp/smart-http-content-type-check' into maint

* sp/smart-http-content-type-check:
  http_request: reset "type" strbuf before adding
  t5551: fix expected error output
  Verify Content-Type from smart HTTP servers

11 years agoMerge branch 'jc/combine-diff-many-parents' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:51 +0000 (08:03 -0800)] 
Merge branch 'jc/combine-diff-many-parents' into maint

* jc/combine-diff-many-parents:
  t4038: add tests for "diff --cc --raw <trees>"
  combine-diff: lift 32-way limit of combined diff

11 years agoMerge branch 'jk/apply-similaritly-parsing' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:44 +0000 (08:03 -0800)] 
Merge branch 'jk/apply-similaritly-parsing' into maint

* jk/apply-similaritly-parsing:
  builtin/apply: tighten (dis)similarity index parsing

11 years agoMerge branch 'jk/remote-helpers-doc' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:37 +0000 (08:03 -0800)] 
Merge branch 'jk/remote-helpers-doc' into maint

* jk/remote-helpers-doc:
  Rename {git- => git}remote-helpers.txt

11 years agoMerge branch 'ab/gitweb-use-same-scheme' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:34 +0000 (08:03 -0800)] 
Merge branch 'ab/gitweb-use-same-scheme' into maint

* ab/gitweb-use-same-scheme:
  gitweb: refer to picon/gravatar images over the same scheme

11 years agoMerge branch 'zk/clean-report-failure' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:32 +0000 (08:03 -0800)] 
Merge branch 'zk/clean-report-failure' into maint

* zk/clean-report-failure:
  git-clean: Display more accurate delete messages

11 years agoMerge branch 'nd/clone-no-separate-git-dir-with-bare' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:27 +0000 (08:03 -0800)] 
Merge branch 'nd/clone-no-separate-git-dir-with-bare' into maint

* nd/clone-no-separate-git-dir-with-bare:
  clone: forbid --bare --separate-git-dir <dir>

11 years agoMerge branch 'da/p4merge-mktemp' into maint
Junio C Hamano [Mon, 25 Feb 2013 16:03:20 +0000 (08:03 -0800)] 
Merge branch 'da/p4merge-mktemp' into maint

* da/p4merge-mktemp:
  mergetools/p4merge: Honor $TMPDIR for the /dev/null placeholder

11 years agoDocumentation: "advice" is uncountable
Greg Price [Mon, 25 Feb 2013 05:27:20 +0000 (00:27 -0500)] 
Documentation: "advice" is uncountable

"Advice" is a mass noun, not a count noun; it's not ordinarily
pluralized.

Signed-off-by: Greg Price <price@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoDocumentation/githooks: Explain pre-rebase parameters
W. Trevor King [Sat, 23 Feb 2013 15:27:39 +0000 (10:27 -0500)] 
Documentation/githooks: Explain pre-rebase parameters

Descriptions borrowed from templates/hooks--pre-rebase.sample.

Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoupdate-index: list supported idx versions and their features
Nguyễn Thái Ngọc Duy [Sat, 23 Feb 2013 02:29:31 +0000 (09:29 +0700)] 
update-index: list supported idx versions and their features

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agodiff-options: unconfuse description of --color
Junio C Hamano [Sat, 23 Feb 2013 06:24:10 +0000 (22:24 -0800)] 
diff-options: unconfuse description of --color

It said "by default it is off" while it also said "the default is
always", which confused everybody who read it only once.  It wanted
to say (1) if you do not say --color, it is not enabled, and (2) if
you say --color but do not say when to enable it, it will always be
enabled".

Rephrase to clarify by using "default" only once.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoread-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr()
Nguyễn Thái Ngọc Duy [Fri, 22 Feb 2013 12:09:24 +0000 (19:09 +0700)] 
read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr()

9d22778 (read-cache.c: write prefix-compressed names in the index -
2012-04-04) defined these. Interestingly, they were not used by
read-cache.c, or anywhere in that patch. They were used in
builtin/update-index.c later for checking supported index
versions. Use them here too.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoindex-format.txt: mention of v4 is missing in some places
Nguyễn Thái Ngọc Duy [Fri, 22 Feb 2013 12:09:23 +0000 (19:09 +0700)] 
index-format.txt: mention of v4 is missing in some places

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoProvide a mechanism to turn off symlink resolution in ceiling paths
Michael Haggerty [Wed, 20 Feb 2013 09:09:24 +0000 (10:09 +0100)] 
Provide a mechanism to turn off symlink resolution in ceiling paths

Commit 1b77d83cab 'setup_git_directory_gently_1(): resolve symlinks
in ceiling paths' changed the setup code to resolve symlinks in the
entries in GIT_CEILING_DIRECTORIES.  Because those entries are
compared textually to the symlink-resolved current directory, an
entry in GIT_CEILING_DIRECTORIES that contained a symlink would have
no effect.  It was known that this could cause performance problems
if the symlink resolution *itself* touched slow filesystems, but it
was thought that such use cases would be unlikely.  The intention of
the earlier change was to deal with a case when the user has this:

GIT_CEILING_DIRECTORIES=/home/gitster

but in reality, /home/gitster is a symbolic link to somewhere else,
e.g. /net/machine/home4/gitster. A textual comparison between the
specified value /home/gitster and the location getcwd(3) returns
would not help us, but readlink("/home/gitster") would still be
fast.

After this change was released, Anders Kaseorg <andersk@mit.edu>
reported:

> [...] my computer has been acting so slow when I’m not connected to
> the network.  I put various network filesystem paths in
> $GIT_CEILING_DIRECTORIES, such as
> /afs/athena.mit.edu/user/a/n/andersk (to avoid hitting its parents
> /afs/athena.mit.edu, /afs/athena.mit.edu/user/a, and
> /afs/athena.mit.edu/user/a/n which all live in different AFS
> volumes).  Now when I’m not connected to the network, every
> invocation of Git, including the __git_ps1 in my shell prompt, waits
> for AFS to timeout.

To allow users to work around this problem, give them a mechanism to
turn off symlink resolution in GIT_CEILING_DIRECTORIES entries.  All
the entries that follow an empty entry will not be checked for symbolic
links and used literally in comparison.  E.g. with these:

GIT_CEILING_DIRECTORIES=:/foo/bar:/xyzzy or
GIT_CEILING_DIRECTORIES=/foo/bar::/xyzzy

we will not readlink("/xyzzy") because it comes after an empty entry.

With the former (but not with the latter), "/foo/bar" comes after an
empty entry, and we will not readlink it, either.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMakefile: avoid infinite loop on configure.ac change
Jeff King [Thu, 21 Feb 2013 06:26:14 +0000 (01:26 -0500)] 
Makefile: avoid infinite loop on configure.ac change

If you are using autoconf and change the configure.ac, the
Makefile will notice that config.status is older than
configure.ac, and will attempt to rebuild and re-run the
configure script to pick up your changes. The first step in
doing so is to run "make configure". Unfortunately, this
tries to include config.mak.autogen, which depends on
config.status, which depends on configure.ac; so we must
rebuild config.status. Which leads to us running "make
configure", and so on.

It's easy to demonstrate with:

  make configure
  ./configure
  touch configure.ac
  make

We can break this cycle by not re-invoking make to build
"configure", and instead just putting its rules inline into
our config.status rebuild procedure.  We can avoid a copy by
factoring the rules into a make variable.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoSync with v1.8.1.4
Junio C Hamano [Wed, 20 Feb 2013 05:57:27 +0000 (21:57 -0800)] 
Sync with v1.8.1.4

11 years agoGit 1.8.1.4 v1.8.1.4
Junio C Hamano [Tue, 19 Feb 2013 05:48:05 +0000 (05:48 +0000)] 
Git 1.8.1.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'ob/imap-send-ssl-verify' into maint
Junio C Hamano [Wed, 20 Feb 2013 05:54:15 +0000 (21:54 -0800)] 
Merge branch 'ob/imap-send-ssl-verify' into maint

* ob/imap-send-ssl-verify:
  imap-send: support subjectAltName as well
  imap-send: the subject of SSL certificate must match the host
  imap-send: move #ifdef around

11 years agoimap-send: support subjectAltName as well
Oswald Buddenhagen [Fri, 15 Feb 2013 20:59:53 +0000 (12:59 -0800)] 
imap-send: support subjectAltName as well

Check not only the common name of the certificate subject, but also
check the subject alternative DNS names as well, when verifying that
the certificate matches that of the host we are trying to talk to.

Signed-off-by: Oswald Buddenhagen <ossi@kde.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoimap-send: the subject of SSL certificate must match the host
Oswald Buddenhagen [Fri, 15 Feb 2013 20:50:35 +0000 (12:50 -0800)] 
imap-send: the subject of SSL certificate must match the host

We did not check a valid certificate's subject at all, and would
have happily talked with a wrong host after connecting to an
incorrect address and getting a valid certificate that does not
belong to the host we intended to talk to.

Signed-off-by: Oswald Buddenhagen <ossi@kde.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agol10n: vi.po: Updated 5 new messages (2009t0f0u)
Tran Ngoc Quan [Wed, 20 Feb 2013 00:16:44 +0000 (07:16 +0700)] 
l10n: vi.po: Updated 5 new messages (2009t0f0u)

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
11 years agoBugfix: undefined htmldir in config.mak.autogen
Jiang Xin [Tue, 19 Feb 2013 11:23:29 +0000 (19:23 +0800)] 
Bugfix: undefined htmldir in config.mak.autogen

Html documents will be installed to root dir (/) no matter what prefix
is set, if run these commands before `make` and `make install-html`:

    $ make configure
    $ ./configure --prefix=<PREFIX>

After the installation, all the html documents will copy to rootdir (/),
and:

    $ git --html-path
    <PREFIX>

    $ git help -w something
    fatal: '<PREFIX>': not a documentation directory.

This is because the variable "htmldir" points to a undefined variable
"$(docdir)" in file "config.mak.autogen", which is generated by running
`./configure`. By default $(docdir) generated by configure is supposed
be set this way:

        datarootdir='${prefix}/share'
        htmldir='${docdir}'
        docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'

but since fc1c5415d69d (Honor configure's htmldir switch, 2013-02-02),
we only set and export htmldir without doing so for PACKAGE_TARNAME
(which is set to 'git' by the configure script).

Add the required two variables "PACKAGE_TARNAME" and "docdir" to file
"config.mak.in" will work this issue around.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoname-hash: allow hashing an empty string
Junio C Hamano [Tue, 19 Feb 2013 19:56:44 +0000 (11:56 -0800)] 
name-hash: allow hashing an empty string

Usually we do not pass an empty string to the function hash_name()
because we almost always ask for hash values for a path that is a
candidate to be added to the index. However, check-ignore (and most
likely check-attr, but I didn't check) apparently has a callchain
to ask the hash value for an empty path when it was given a "." from
the top-level directory to ask "Is the path . excluded by default?"

Make sure that hash_name() does not overrun the end of the given
pathname even when it is empty.

Remove a sweep-the-issue-under-the-rug conditional in check-ignore
that avoided to pass an empty string to the callchain while at it.
It is a valid question to ask for check-ignore if the top-level is
set to be ignored by default, even though the answer is most likely
no, if only because there is currently no way to specify such an
entry in the .gitignore file. But it is an unusual thing to ask and
it is not worth optimizing for it by special casing at the top level
of the call chain.

Signed-off-by: Adam Spiers <git@adamspiers.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>