git
12 years agoMerge branch 'jk/maint-t1304-setfacl'
Junio C Hamano [Thu, 21 Jun 2012 21:42:43 +0000 (14:42 -0700)] 
Merge branch 'jk/maint-t1304-setfacl'

Works around a false test failure caused by a bug in ecryptofs.

* jk/maint-t1304-setfacl:
  t1304: improve setfacl prerequisite setup

12 years agoMerge branch 'vr/help-per-platform'
Junio C Hamano [Thu, 21 Jun 2012 21:42:38 +0000 (14:42 -0700)] 
Merge branch 'vr/help-per-platform'

We used to always default to "man" format even on platforms where
"man" viewer is not widely available.

* vr/help-per-platform:
  help: use HTML as the default help format on Windows

12 years agoMerge branch 'jc/ls-files-i-dir'
Junio C Hamano [Thu, 21 Jun 2012 21:42:06 +0000 (14:42 -0700)] 
Merge branch 'jc/ls-files-i-dir'

"git ls-files --exclude=t -i" did not consider anything under t/
as excluded, as it did not pay attention to exclusion of leading
paths while walking the index.  Other two users of excluded() are
also updated.

* jc/ls-files-i-dir:
  dir.c: make excluded() file scope static
  unpack-trees.c: use path_excluded() in check_ok_to_remove()
  builtin/add.c: use path_excluded()
  path_excluded(): update API to less cache-entry centric
  ls-files -i: micro-optimize path_excluded()
  ls-files -i: pay attention to exclusion of leading paths

12 years agoMerge branch 'jk/version-string'
Junio C Hamano [Thu, 21 Jun 2012 21:42:01 +0000 (14:42 -0700)] 
Merge branch 'jk/version-string'

Teaches git native protocol agents to show software version over the
wire.

* jk/version-string:
  http: get default user-agent from git_user_agent
  version: add git_user_agent function
  move git_version_string into version.c

12 years agoMerge branch 'jc/request-pull-match-tagname'
Junio C Hamano [Thu, 21 Jun 2012 21:41:57 +0000 (14:41 -0700)] 
Merge branch 'jc/request-pull-match-tagname'

"git request-pull $url dev" when the tip of "dev" branch was tagged
with "ext4-for-linus" used the contents from the tag in the output
but still asked the "dev" branch to be pulled, not the tag.

* jc/request-pull-match-tagname:
  request-pull: really favor a matching tag

12 years agoMerge branch 'jk/clone-local'
Junio C Hamano [Thu, 21 Jun 2012 21:41:53 +0000 (14:41 -0700)] 
Merge branch 'jk/clone-local'

"git clone --local $path" started its life as an experiment to
optionally use link/copy when cloning a repository on the disk, but
we didn't deprecate it after we made the option a no-op to always
use the optimization.

The command learns "--no-local" option to turn this off, as a more
explicit alternative over use of file:// URL.

* jk/clone-local:
  clone: allow --no-local to turn off local optimizations
  docs/clone: mention that --local may be ignored

12 years agoMerge branch 'jc/bundle-complete-notice'
Junio C Hamano [Thu, 21 Jun 2012 21:41:44 +0000 (14:41 -0700)] 
Merge branch 'jc/bundle-complete-notice'

Running "git bundle verify" on a bundle that records a complete
history said "it requires these 0 commits".

* jc/bundle-complete-notice:
  tweak "bundle verify" of a complete history

12 years agoKick off post 1.7.11 cycle
Junio C Hamano [Thu, 21 Jun 2012 20:18:49 +0000 (13:18 -0700)] 
Kick off post 1.7.11 cycle

I haven't decided what to call this one, 1.7.12, 1.8.0, or even 2.0.
Given that summer is a relatively slow season, I suspect 1.7.12 is
the most likely outcome, but we will see.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodocs: always define git-relative-html-prefix attribute
Jeff King [Thu, 21 Jun 2012 06:24:10 +0000 (02:24 -0400)] 
docs: always define git-relative-html-prefix attribute

Commit fe77b41 introduced a new attribute to let the linkgit macro
create cross-directory HTML references from the technical/ and howto/
subdirectories back to the main documentation. We define that attribute
to "../" on the command-line when building inside those subdirectories,
and otherwise leave it unset under the assumption that it would default
to being blank.  Instead, asciidoc omits the link entirely, leading to
broken documentation. Fix this by defining git-relative-html-prefix to
blank in asciidoc.conf (and an instance on the command-line, when
present, will override it).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogit-commit-tree(1): update synopsis
Junio C Hamano [Tue, 19 Jun 2012 18:36:57 +0000 (11:36 -0700)] 
git-commit-tree(1): update synopsis

Even with many new kinds of options, the command still takes the
single <tree> as the first argument.

Probably we would want to update the command to allow it to take
<tree>-ish at the end for consistency.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDocumentation: spelling fixes
Miklos Vajna [Tue, 19 Jun 2012 17:56:09 +0000 (19:56 +0200)] 
Documentation: spelling fixes

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoGit 1.7.11 v1.7.11
Junio C Hamano [Sun, 17 Jun 2012 21:07:15 +0000 (14:07 -0700)] 
Git 1.7.11

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoSync with 1.7.10.5
Junio C Hamano [Sun, 17 Jun 2012 21:05:53 +0000 (14:05 -0700)] 
Sync with 1.7.10.5

12 years agoGit 1.7.10.5 v1.7.10.5
Junio C Hamano [Sun, 17 Jun 2012 21:04:15 +0000 (14:04 -0700)] 
Git 1.7.10.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoDo not autosquash in case of an implied interactive rebase
Vincent van Ravesteijn [Thu, 24 May 2012 13:57:26 +0000 (13:57 +0000)] 
Do not autosquash in case of an implied interactive rebase

The option to autosquash is only used in case of an interactive rebase.
When merges are preserved, rebase uses an interactive rebase internally,
but in this case autosquash should still be disabled.

Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'js/maint-fast-export-mark-error' into maint
Junio C Hamano [Sun, 17 Jun 2012 21:00:03 +0000 (14:00 -0700)] 
Merge branch 'js/maint-fast-export-mark-error' into maint

"git fast-export" did not give a readable error message when the same
mark erroneously appeared twice in the --import-marks input.

12 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Fri, 15 Jun 2012 22:01:16 +0000 (15:01 -0700)] 
Merge git://github.com/git-l10n/git-po

Updated Italian translations.

* git://github.com/git-l10n/git-po:
  l10n: it.po: translate 212 new messages

12 years agoMerge branch 'as/diff-shortstat-ignore-binary'
Junio C Hamano [Fri, 15 Jun 2012 22:00:53 +0000 (15:00 -0700)] 
Merge branch 'as/diff-shortstat-ignore-binary'

# By Alexander Strasser
* as/diff-shortstat-ignore-binary:
  diff: Only count lines in show_shortstats

12 years agodiff: Only count lines in show_shortstats
Alexander Strasser [Fri, 15 Jun 2012 21:50:30 +0000 (23:50 +0200)] 
diff: Only count lines in show_shortstats

Do not mix byte and line counts. Binary files have byte counts;
skip them when accumulating line insertions/deletions.

The regression was introduced in e18872b.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoperl/Makefile: install Git::SVN::* when NO_PERL_MAKEMAKER=yes, too
Jonathan Nieder [Fri, 15 Jun 2012 18:05:05 +0000 (13:05 -0500)] 
perl/Makefile: install Git::SVN::* when NO_PERL_MAKEMAKER=yes, too

v1.7.11-rc1~12^2~2 (2012-05-27) and friends split some git-svn code
into separate modules but did not update the fallback rules to install
them when NO_PERL_MAKEMAKER is set.  Add the appropriate rules so
users without MakeMaker can use git-svn again.

Affected modules: Git::SVN::Prompt, Git::SVN::Fetcher,
Git::SVN::Editor, Git::SVN::Ra, Git::SVN::Memoize::YAML.

Reported-by: Adam Roben <adam@roben.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmali.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoperl/Makefile.PL: warn about duplicate module list in perl/Makefile
Jonathan Nieder [Fri, 15 Jun 2012 18:14:46 +0000 (13:14 -0500)] 
perl/Makefile.PL: warn about duplicate module list in perl/Makefile

Adding or removing a module requires modifying both files to support
builds with and without MakeMaker.  Add a comment to remind patch
authors and reviewers at the crucial moment.

Longer term, it would be nicer to maintain a single list, perhaps in a
separate file used by both build systems.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agol10n: it.po: translate 212 new messages
Marco Paolone [Thu, 14 Jun 2012 12:14:31 +0000 (14:14 +0200)] 
l10n: it.po: translate 212 new messages

Signed-off-by: Marco Paolone <marcopaolone@gmail.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
12 years agoMerge branch 'rj/gitweb-test-sans-date-parser'
Junio C Hamano [Wed, 13 Jun 2012 18:48:54 +0000 (11:48 -0700)] 
Merge branch 'rj/gitweb-test-sans-date-parser'

Regression fix to t9501 introduced at 0f3ddd4

* rj/gitweb-test-sans-date-parser:
  gitweb: Skip 'modification times' tests when no date parser available

12 years agoMerge branch 'fc/git-complete-helper-fix'
Junio C Hamano [Wed, 13 Jun 2012 18:47:11 +0000 (11:47 -0700)] 
Merge branch 'fc/git-complete-helper-fix'

* fc/git-complete-helper-fix:
  completion: put main git and gitk completion functions back into git namespace

12 years agocompletion: remove credential helpers from porcelain commands
SZEDER Gábor [Wed, 13 Jun 2012 08:11:29 +0000 (10:11 +0200)] 
completion: remove credential helpers from porcelain commands

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocompletion: put main git and gitk completion functions back into git namespace
SZEDER Gábor [Wed, 13 Jun 2012 08:08:50 +0000 (10:08 +0200)] 
completion: put main git and gitk completion functions back into git namespace

Commit 7f02f3d7 (completion: rename internal helpers _git and _gitk,
2012-05-19) renamed said functions to _main_git() and _main_gitk(),
respectively.  By convention the name of our git-completion-specific
functions start with '_git' or '__git' prefix, so rename those
functions once again to put them back into our "namespace".  Use the
two underscore prefix, because _git_main() could be mistaken for the
completion function of the (not yet existing) 'git main' command.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogitweb: Skip 'modification times' tests when no date parser available
Ramsay Jones [Tue, 12 Jun 2012 18:09:38 +0000 (19:09 +0100)] 
gitweb: Skip 'modification times' tests when no date parser available

The If-Modified-Since support in Gitweb is conditional on the
availability of a date parser from either the HTTP::Date or
Time::ParseDate modules. If a suitable parser is not available,
then the corresponding 'modification times' tests should be skipped.

Introduce the DATE_PARSER test prerequisite and use it to skip
all of the dependent tests.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoGit 1.7.11-rc3 v1.7.11-rc3
Junio C Hamano [Tue, 12 Jun 2012 16:10:52 +0000 (09:10 -0700)] 
Git 1.7.11-rc3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Tue, 12 Jun 2012 16:08:35 +0000 (09:08 -0700)] 
Merge git://github.com/git-l10n/git-po

Updates to German, Vietnamese and simplified Chinese translation.

* git://github.com/git-l10n/git-po:
  l10n: de.po: translate 27 new messages
  l10n: Update  po/vi.po to v1.7.11.rc2.2.gb694fbb
  l10n: zh_CN.po: translate 27 new messages
  l10n: Update git.pot (27 new, 1 removed messages)

12 years agoMerge git://github.com/ralfth/git-po-de
Jiang Xin [Tue, 12 Jun 2012 15:41:05 +0000 (23:41 +0800)] 
Merge git://github.com/ralfth/git-po-de

By Ralf Thielow
via Ralf Thielow
* github.com/ralfth/git-po-de:
  l10n: de.po: translate 27 new messages

12 years agoMerge branch 'mm/api-credentials-doc'
Junio C Hamano [Tue, 12 Jun 2012 15:40:16 +0000 (08:40 -0700)] 
Merge branch 'mm/api-credentials-doc'

* mm/api-credentials-doc:
  api-credential.txt: document that helpers field is filled-in automatically

12 years agoMerge branch 'jc/fmt-merge-msg-people'
Junio C Hamano [Tue, 12 Jun 2012 15:33:30 +0000 (08:33 -0700)] 
Merge branch 'jc/fmt-merge-msg-people'

Tone down the lines that credit people involved and make them
comments, so that integrators who edit their merge messages can
still make use of the information, but lazy ones will not leave
the unverified guesses placed on the "via" line.

* jc/fmt-merge-msg-people:
  fmt-merge-msg: make attribution into comment lines

12 years agoapi-credential.txt: document that helpers field is filled-in automatically
Matthieu Moy [Mon, 11 Jun 2012 17:51:47 +0000 (19:51 +0200)] 
api-credential.txt: document that helpers field is filled-in automatically

It was unclear whether the field was to be specified by the user of the
API.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'js/maint-fast-export-mark-error'
Junio C Hamano [Tue, 12 Jun 2012 14:27:50 +0000 (07:27 -0700)] 
Merge branch 'js/maint-fast-export-mark-error'

* js/maint-fast-export-mark-error:
  fast-export: report SHA-1 instead of gibberish when marks exist already

12 years agofast-export: report SHA-1 instead of gibberish when marks exist already
Johannes Schindelin [Tue, 12 Jun 2012 13:45:16 +0000 (15:45 +0200)] 
fast-export: report SHA-1 instead of gibberish when marks exist already

Cc: Pieter de Bie <pdebie@ai.rug.nl>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Max Horn <max@quendi.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agol10n: de.po: translate 27 new messages
Ralf Thielow [Fri, 8 Jun 2012 17:15:10 +0000 (19:15 +0200)] 
l10n: de.po: translate 27 new messages

Translate 27 new messages came from git.pot update
in 7256fd7 (l10n: Update git.pot (27 new, 1 removed messages)).

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
12 years agogit-svn: use YAML format for mergeinfo cache when possible
Jonathan Nieder [Sat, 9 Jun 2012 22:35:35 +0000 (17:35 -0500)] 
git-svn: use YAML format for mergeinfo cache when possible

Since v1.7.0-rc2~11 (git-svn: persistent memoization, 2010-01-30),
git-svn has maintained some private per-repository caches in
.git/svn/.caches to avoid refetching and recalculating some
mergeinfo-related information with every "git svn fetch".

These caches use the 'nstore' format from the perl core module
Storable, which can be read and written quickly and was designed for
transfer over the wire (the 'n' stands for 'network').  This format is
endianness-independent and independent of floating-point
representation.

Unfortunately the format is *not* independent of the perl version ---
new perl versions will write files that very old perl cannot read.
Worse, the format is not independent of the size of a perl integer.
So if you toggle perl's use64bitint compile-time option, then using
'git svn fetch' on your old repositories produces errors like this:

Byte order is not compatible at ../../lib/Storable.pm (autosplit
into ../../lib/auto/Storable/_retrieve.al) line 380, at
/usr/share/perl/5.12/Memoize/Storable.pm line 21

That is, upgrading perl to a version that uses use64bitint for the
first time makes git-svn suddenly refuse to fetch in existing
repositories.  Removing .git/svn/.caches lets git-svn recover.

It's time to switch to a platform independent serializer backend with
better compatibility guarantees.  This patch uses YAML::Any.

Other choices were considered:

 - thawing data from Data::Dumper involves "eval".  Doing that without
   creating a security risk is fussy.

 - the JSON API works on scalars in memory and doesn't provide a
   standard way to serialize straight to disk.

YAML::Any is reasonably fast and has a pleasant API.  In most
backends, LoadFile() reads the entire file into a scalar anyway and
converts it as a second step, but having an interface that allows the
deserialization to happen on the fly without a temporary is still a
comfort.

YAML::Any is not a core perl module, so we take care to use it when
and only when it is available.  Installations without that module
should fall back to using Storable with all its quirks, keeping their
cache files in

.git/svn/.caches/*.db

Installations with YAML peacefully coexist by keeping a separate set
of cache files in

.git/svn/.caches/*.yaml.

In most cases, switching between is a one-time thing, so it doesn't
seem worth the complication to migrate existing caches.

The upshot: after this patch, as long as YAML::Any is installed you
can move your git repository between machines with different perl
installations and "git svn fetch" will work fine.  If you do not have
YAML::Any, the behavior is unchanged (and in particular does not get
any worse).

Reported-by: Sandro Weiser <sandro.weiser@informatik.tu-chemnitz.de>
Reported-by: Bdale Garbee <bdale@gag.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
12 years agogit-svn: make Git::SVN::RA a separate file
Jonathan Nieder [Sat, 9 Jun 2012 22:28:10 +0000 (17:28 -0500)] 
git-svn: make Git::SVN::RA a separate file

This slices off another 600 or so lines from the frighteningly long
git-svn.perl script.

The Git::SVN::Ra interface is similar enough to SVN::Ra that it is
probably safe to ignore most of its implementation on first reading.
(Documenting or moving functions that do not fit that pattern is left
as an exercise to the interested reader.)

[ew: rebased and fixed conflict against
 commit c26ddce86d7215b4d9687bd4c6b5dd43a3fabf31
 (git-svn: platform auth providers are working only on 1.6.15 or newer)]

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
12 years agogit-svn: make Git::SVN::Editor a separate file
Jonathan Nieder [Sat, 9 Jun 2012 22:25:56 +0000 (17:25 -0500)] 
git-svn: make Git::SVN::Editor a separate file

This makes the git-svn script shorter and less scary for beginners to
read through for the first time.  Take the opportunity to explain the
purpose and basic interface of the Git::SVN::Editor class while at it.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
12 years agol10n: Update po/vi.po to v1.7.11.rc2.2.gb694fbb
Tran Ngoc Quan [Sat, 9 Jun 2012 07:14:03 +0000 (14:14 +0700)] 
l10n: Update  po/vi.po to v1.7.11.rc2.2.gb694fbb

 * Translated 28 strings.

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
12 years agoMerge branch 'mm/api-credentials-doc'
Junio C Hamano [Fri, 8 Jun 2012 15:32:19 +0000 (08:32 -0700)] 
Merge branch 'mm/api-credentials-doc'

Finishing touches...

* mm/api-credentials-doc:
  docs: fix cross-directory linkgit references

12 years agodocs: fix cross-directory linkgit references
Jeff King [Thu, 7 Jun 2012 21:03:23 +0000 (23:03 +0200)] 
docs: fix cross-directory linkgit references

Most of our documentation is in a single directory, so using
linkgit:git-config[1] just generates a relative link in the
same directory. However, this is not the case with the API
documentation in technical/*, which need to refer to
git-config from the parent directory.

We can fix this by passing a special prefix attribute when building
in a subdirectory, and respecting that prefix in our linkgit
definitions.

We only have to modify the html linkgit definition.  For
manpages, we can ignore this for two reasons:

  1. we do not generate actual links to the file in
     manpages, but instead just give the name and section of
     the linked manpage

  2. we do not currently build manpages for subdirectories,
     only html

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agol10n: zh_CN.po: translate 27 new messages
Jiang Xin [Fri, 8 Jun 2012 04:07:25 +0000 (12:07 +0800)] 
l10n: zh_CN.po: translate 27 new messages

Translate 19 new and 8 fuzzy messages which are marked by shell gettext
wrappers, and ignored by previous 'git.pot' updates.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agol10n: Update git.pot (27 new, 1 removed messages)
Jiang Xin [Fri, 8 Jun 2012 02:40:20 +0000 (10:40 +0800)] 
l10n: Update git.pot (27 new, 1 removed messages)

Extract messages marked by shell gettext wrappers which are ignored
before. See:

 * http://thread.gmane.org/gmane.comp.version-control.git/199112

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agot1304: improve setfacl prerequisite setup
Jeff King [Wed, 6 Jun 2012 13:28:24 +0000 (09:28 -0400)] 
t1304: improve setfacl prerequisite setup

t1304 first runs setfacl as an experiment to see whether the
filesystem supports ACLs, and skips the remaining tests if
it does not. However, our setfacl run did not exercise the
ACLs very well, and some filesystems may support our initial
setfacl, but not the rest of the test.

In particular, some versions of ecryptfs will erroneously
apply the umask on top of an inherited directory ACL,
causing our tests to fail. Let's be more careful and make
sure both that we can read back the user ACL we set, and
that the inherited ACL is propagated correctly. The latter
catches the ecryptfs bug, but may also catch other bugs
(e.g., an implementation which does not handle inherited
ACLs at all).

Since we're making the setup more complex, let's move it
into its own test. This will hide the output for us unless
the user wants to run "-v" to see it (and we don't need to
bother printing anything about setfacl failing; the
remaining tests will properly print "skip" due to the
missing prerequisite).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoGit 1.7.11-rc2 v1.7.11-rc2
Junio C Hamano [Thu, 7 Jun 2012 16:14:41 +0000 (09:14 -0700)] 
Git 1.7.11-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'mm/api-credentials-doc'
Junio C Hamano [Thu, 7 Jun 2012 16:07:35 +0000 (09:07 -0700)] 
Merge branch 'mm/api-credentials-doc'

* mm/api-credentials-doc:
  api-credentials.txt: add "see also" section
  api-credentials.txt: mention credential.helper explicitly
  api-credentials.txt: show the big picture first
  doc: fix xref link from api docs to manual pages

12 years agoMerge branch 'rr/maint-t3510-cascade-fix'
Junio C Hamano [Thu, 7 Jun 2012 16:07:27 +0000 (09:07 -0700)] 
Merge branch 'rr/maint-t3510-cascade-fix'

* rr/maint-t3510-cascade-fix:
  t3510 (cherry-pick-sequence): add missing '&&'

12 years agoMerge branch 'jc/svn-auth-providers-unusable-at-1.6.12'
Junio C Hamano [Thu, 7 Jun 2012 16:07:08 +0000 (09:07 -0700)] 
Merge branch 'jc/svn-auth-providers-unusable-at-1.6.12'

Regression fix for people with libsvn between 1.6.12 and 1.6.15, on
which we tried to use the non-working platform auth providers.

* jc/svn-auth-providers-unusable-at-1.6.12:
  git-svn: platform auth providers are working only on 1.6.15 or newer

12 years agoMerge branch 'cr/persistent-https'
Junio C Hamano [Thu, 7 Jun 2012 16:06:39 +0000 (09:06 -0700)] 
Merge branch 'cr/persistent-https'

A remote helper that acts as a proxy and caches ssl session for the
https:// transport is added to the contrib/ area.

By Colby Ranger
* cr/persistent-https:
  Add persistent-https to contrib

12 years agofmt-merge-msg: make attribution into comment lines
Junio C Hamano [Wed, 6 Jun 2012 21:24:28 +0000 (14:24 -0700)] 
fmt-merge-msg: make attribution into comment lines

The submaintainer credit is not something you can compute purely by
looking at the history and its shape, especially in the presense of
fast-forward merges, and this observation makes the information on
the "via" line unreliable.  Let's leave the final determination of
credits up to whoever is making the merge and show them as comments.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agohelp: use HTML as the default help format on Windows
Vincent van Ravesteijn [Wed, 6 Jun 2012 20:28:16 +0000 (20:28 +0000)] 
help: use HTML as the default help format on Windows

When 'git help $cmd' is run without a format option (e.g. -w), the
'man' format is always used. On some platforms, however, manual page
viewers are not often available.

Introduce DEFAULT_HELP_FORMAT make variable in order to allow the
default format configurable at compile time, and set it to HTML when
compiling on Windows (but not Cygwin).

Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodir.c: make excluded() file scope static
Junio C Hamano [Wed, 6 Jun 2012 05:26:12 +0000 (22:26 -0700)] 
dir.c: make excluded() file scope static

Now there no longer is external callers of this interface, so we can
make it static.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agounpack-trees.c: use path_excluded() in check_ok_to_remove()
Junio C Hamano [Wed, 6 Jun 2012 05:21:42 +0000 (22:21 -0700)] 
unpack-trees.c: use path_excluded() in check_ok_to_remove()

This function is responsible for determining if a path that is not
tracked is ignored and allow "checkout" to overwrite it as needed.
It used excluded() without checking if higher level directory in the
path is ignored; correct it to use path_excluded() for this check.

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

 * There are uses of lower-level interface excluded_from_list() in
   the codepath for narrow-checkout hack; they are supposed to be
   already checking each level as they descend, and are not touched
   with this patch.

12 years agobuiltin/add.c: use path_excluded()
Junio C Hamano [Wed, 6 Jun 2012 04:44:22 +0000 (21:44 -0700)] 
builtin/add.c: use path_excluded()

This only happens in --ignore-missing --dry-run codepath which
presumably nobody should care, but is for completeness.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agopath_excluded(): update API to less cache-entry centric
Junio C Hamano [Wed, 6 Jun 2012 04:17:52 +0000 (21:17 -0700)] 
path_excluded(): update API to less cache-entry centric

It was stupid of me to make the API too much cache-entry specific;
the caller may want to check arbitrary pathname without having a
corresponding cache-entry to see if a path is ignored.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Tue, 5 Jun 2012 17:57:53 +0000 (10:57 -0700)] 
Merge git://github.com/git-l10n/git-po

German and Chinese translation updates.

By Ralf Thielow (4) and others
via Jiang Xin (1) and Tran Ngoc Quan (1)
* git://github.com/git-l10n/git-po:
  l10n: Update translation for Vietnamese
  l10n: de.po: add additional newline
  l10n: de.po: translate 2 new, 3 fuzzy messages
  l10n: de.po: translate 41 new messages
  l10n: de.po: translate 265 new messages
  l10n: zh_CN.po: translate 2 new, 3 fuzzy messages
  l10n: Update git.pot (5 new, 3 removed messages)

12 years agotweak "bundle verify" of a complete history
Junio C Hamano [Mon, 4 Jun 2012 18:51:13 +0000 (11:51 -0700)] 
tweak "bundle verify" of a complete history

A bundle that records a complete history without prerequiste is a
useful way to sneakernet the sources of your configuration files
under your home directory, etc.  E.g.

    $ GIT_DIR=/srv/git/homesrc.git git bundle create x.bndl HEAD master

Running "git bundle verify" on such a "complete" bundle, however,
gives somewhat a funny output.

    $ git bundle verify x.bndl
    The bundle contains 2 refs
    b2611f37ebc7ed6435a72d77fbc5f8b48a7d7146 HEAD
    b2611f37ebc7ed6435a72d77fbc5f8b48a7d7146 refs/heads/master
    The bundle requires these 0 refs
    x.bndl is okay

Reword "requires these 0 refs" to say "The bundle records a complete
history" instead.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot3510 (cherry-pick-sequence): add missing '&&'
Ramkumar Ramachandra [Mon, 4 Jun 2012 16:42:44 +0000 (22:12 +0530)] 
t3510 (cherry-pick-sequence): add missing '&&'

Breaks in a test assertion's && chain can potentially hide failures
from earlier commands in the chain.  Fix an instance of this in the
setup.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoapi-credentials.txt: add "see also" section
Matthieu Moy [Mon, 4 Jun 2012 20:17:44 +0000 (22:17 +0200)] 
api-credentials.txt: add "see also" section

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoapi-credentials.txt: mention credential.helper explicitly
Matthieu Moy [Mon, 4 Jun 2012 20:17:43 +0000 (22:17 +0200)] 
api-credentials.txt: mention credential.helper explicitly

The name of the configuration variable was mentioned only at the very
end of the explanation, in a place specific to a specific rule, hence it
was not very clear what the specification was about.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoapi-credentials.txt: show the big picture first
Matthieu Moy [Mon, 4 Jun 2012 20:17:42 +0000 (22:17 +0200)] 
api-credentials.txt: show the big picture first

The API documentation targets two kinds of developers: those using the
C API, and those writing remote-helpers. The document was not clear
about which part was useful to which category, and for example, the C API
could be mistakenly thought as an API for writting remote helpers.

Based-on-patch-by: Jeff King <peff@peff.net>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodoc: fix xref link from api docs to manual pages
Junio C Hamano [Mon, 4 Jun 2012 19:30:04 +0000 (12:30 -0700)] 
doc: fix xref link from api docs to manual pages

They are one-level above, so refer them as linkgit:../git-foo[n] with "../"

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogit-svn: platform auth providers are working only on 1.6.15 or newer
Junio C Hamano [Mon, 4 Jun 2012 19:20:59 +0000 (12:20 -0700)] 
git-svn: platform auth providers are working only on 1.6.15 or newer

Matthijs Kooijman reports that the cut-off point 082afee (git-svn:
use platform specific auth providers, 2012-04-26) set at 1.6.12 to
use this feature safely was incorrect, and it is 1.6.15 instead:

    http://svn.apache.org/repos/asf/subversion/trunk/CHANGES
    Version 1.6.15
       * improve some swig parameter mapping (r984565, r1035745)

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
12 years agoMerge git://github.com/ralfth/git-po-de
Jiang Xin [Mon, 4 Jun 2012 15:45:13 +0000 (23:45 +0800)] 
Merge git://github.com/ralfth/git-po-de

By Ralf Thielow
via Ralf Thielow
* ralfth/git-po-de/master:
  l10n: de.po: add additional newline
  l10n: de.po: translate 2 new, 3 fuzzy messages
  l10n: de.po: translate 41 new messages
  l10n: de.po: translate 265 new messages

12 years agol10n: Update translation for Vietnamese
Tran Ngoc Quan [Sat, 2 Jun 2012 00:37:40 +0000 (07:37 +0700)] 
l10n: Update translation for Vietnamese

 * Updated 5 strings for v1.7.11-rc0-100-g5498c
 * Retranslated about 16 strings

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
12 years agols-files -i: micro-optimize path_excluded()
Junio C Hamano [Fri, 1 Jun 2012 19:22:09 +0000 (12:22 -0700)] 
ls-files -i: micro-optimize path_excluded()

As we know a caller that does not recurse is calling us in the index
order, we can remember the last directory we found to be excluded
and see if the path we are looking at is still inside it, in which
case we can just answer that it is excluded.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agols-files -i: pay attention to exclusion of leading paths
Junio C Hamano [Fri, 1 Jun 2012 18:28:00 +0000 (11:28 -0700)] 
ls-files -i: pay attention to exclusion of leading paths

"git ls-files --exclude=t/ -i" does not show paths in directory t/
that have been added to the index, but it should.

The excluded() API was designed for callers who walk the tree from
the top, checking each level of the directory hierarchy as it
descends if it is excluded, and not even bothering to recurse into
an excluded directory.  This would allow us optimize for a common
case by not having to check if the exclude pattern "foo/" matches
when looking at "foo/bar", because the caller should have noticed
that "foo" is excluded and did not even bother to read "foo/bar"
out of opendir()/readdir() to call it.

The code for "ls-files -i" however walks the index linearly, feeding
paths without checking if the leading directory is already excluded.

Introduce a helper function path_excluded() to let this caller
properly call excluded() check for higher hierarchies as necessary.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoGit 1.7.11-rc1 v1.7.11-rc1
Junio C Hamano [Sun, 3 Jun 2012 22:56:05 +0000 (15:56 -0700)] 
Git 1.7.11-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoSync with 1.7.10.4
Junio C Hamano [Sun, 3 Jun 2012 22:54:33 +0000 (15:54 -0700)] 
Sync with 1.7.10.4

* maint:
  Git 1.7.10.4

12 years agoGit 1.7.10.4 v1.7.10.4
Junio C Hamano [Sun, 3 Jun 2012 22:53:58 +0000 (15:53 -0700)] 
Git 1.7.10.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'ef/maint-rebase-error-message' into maint
Junio C Hamano [Sun, 3 Jun 2012 22:52:18 +0000 (15:52 -0700)] 
Merge branch 'ef/maint-rebase-error-message' into maint

When "git rebase" was given a bad commit to replay the history on,
its error message did not correctly give the command line argument
it had trouble parsing.

By Erik Faye-Lund
* ef/maint-rebase-error-message:
  rebase: report invalid commit correctly

12 years agohttp: get default user-agent from git_user_agent
Jeff King [Sat, 2 Jun 2012 19:03:08 +0000 (15:03 -0400)] 
http: get default user-agent from git_user_agent

This means we will respect the GIT_USER_AGENT build-time
configuration and run-time environment variable.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoversion: add git_user_agent function
Jeff King [Sat, 2 Jun 2012 19:01:12 +0000 (15:01 -0400)] 
version: add git_user_agent function

This is basically a fancy way of saying "git/$GIT_VERSION",
except that it is overridable at build-time and through the
environment. Which means that people who don't want to
advertise their git version (for privacy or security
reasons) can tweak it.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agomove git_version_string into version.c
Jeff King [Sat, 2 Jun 2012 18:51:42 +0000 (14:51 -0400)] 
move git_version_string into version.c

The global git_version_string currently lives in git.c, but
doesn't have anything to do with the git wrapper. Let's move
it into its own file, where it will be more appropriate to
build more version-related functions.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agol10n: de.po: add additional newline
Ralf Thielow [Sat, 2 Jun 2012 18:10:31 +0000 (20:10 +0200)] 
l10n: de.po: add additional newline

The translation of "builtin/gc.c:224" was missing of
a newline which made the second part of the message
quite long. We simply add a newline.

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
12 years agol10n: de.po: translate 2 new, 3 fuzzy messages
Ralf Thielow [Sat, 2 Jun 2012 15:03:29 +0000 (17:03 +0200)] 
l10n: de.po: translate 2 new, 3 fuzzy messages

Translate 2 new and 3 fuzzy messages came from git.pot update
in 75f7b4b (l10n: Update git.pot (5 new, 3 removed messages)).

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
12 years agol10n: de.po: translate 41 new messages
Ralf Thielow [Wed, 23 May 2012 16:53:40 +0000 (18:53 +0200)] 
l10n: de.po: translate 41 new messages

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
12 years agol10n: de.po: translate 265 new messages
Ralf Thielow [Fri, 18 May 2012 16:29:52 +0000 (18:29 +0200)] 
l10n: de.po: translate 265 new messages

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
12 years agol10n: zh_CN.po: translate 2 new, 3 fuzzy messages
Jiang Xin [Sat, 2 Jun 2012 09:12:59 +0000 (17:12 +0800)] 
l10n: zh_CN.po: translate 2 new, 3 fuzzy messages

Translate 2 new and 3 fuzzy messages came from git.pot update
in 75f7b4b (l10n: Update git.pot (5 new, 3 removed messages)).

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agol10n: Update git.pot (5 new, 3 removed messages)
Jiang Xin [Fri, 1 Jun 2012 23:07:27 +0000 (07:07 +0800)] 
l10n: Update git.pot (5 new, 3 removed messages)

Generate po/git.pot from v1.7.11-rc0-100-g5498c:

 * 5 new l10n messages at lines:
   635, 639, 1203, 1208, 3946

 * 3 removed l10n messages at lines:
   1194, 3158, 3936

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoUpdate draft release notes to 1.7.11
Junio C Hamano [Fri, 1 Jun 2012 20:29:48 +0000 (13:29 -0700)] 
Update draft release notes to 1.7.11

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'ef/maint-rebase-error-message'
Junio C Hamano [Fri, 1 Jun 2012 20:28:25 +0000 (13:28 -0700)] 
Merge branch 'ef/maint-rebase-error-message'

By Erik Faye-Lund
* ef/maint-rebase-error-message:
  rebase: report invalid commit correctly

12 years agoMerge branch 'nh/empty-rebase'
Junio C Hamano [Fri, 1 Jun 2012 20:28:19 +0000 (13:28 -0700)] 
Merge branch 'nh/empty-rebase'

* nh/empty-rebase:
  cherry-pick: regression fix for empty commits

12 years agoMerge branch 'vr/rebase-autosquash-does-not-imply-i'
Junio C Hamano [Fri, 1 Jun 2012 20:28:01 +0000 (13:28 -0700)] 
Merge branch 'vr/rebase-autosquash-does-not-imply-i'

"git rebase -p" used to pay attention to rebase.autosquash which was
wrong.  "git rebase -p -i" should, but "git rebase -p" by itself
should not.

By Vincent van Ravesteijn
* vr/rebase-autosquash-does-not-imply-i:
  Do not autosquash in case of an implied interactive rebase

12 years agoMerge branch 'mm/levenstein-penalize-deletion-less'
Junio C Hamano [Fri, 1 Jun 2012 20:27:48 +0000 (13:27 -0700)] 
Merge branch 'mm/levenstein-penalize-deletion-less'

"git tags" used to suggest "git stage" which was nonsense; it should
have favored "git tag".  Tweak the cost of deletion to correct it.

By Matthieu Moy
* mm/levenstein-penalize-deletion-less:
  Reduce cost of deletion in levenstein distance (4 -> 3)

12 years agoMerge branch 'jl/submodule-report-new-path-once'
Junio C Hamano [Fri, 1 Jun 2012 20:26:46 +0000 (13:26 -0700)] 
Merge branch 'jl/submodule-report-new-path-once'

"git submodule init" used to report "registered for path ..."  even
for submodules that were registered earlier.

By Jens Lehmann
* jl/submodule-report-new-path-once:
  submodules: print "registered for path" message only once

12 years agoSync with maint
Junio C Hamano [Fri, 1 Jun 2012 20:26:16 +0000 (13:26 -0700)] 
Sync with maint

12 years agoStart preparing for 1.7.10.4
Junio C Hamano [Fri, 1 Jun 2012 20:05:27 +0000 (13:05 -0700)] 
Start preparing for 1.7.10.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'ef/http-o-depends-on-gvf' into maint
Junio C Hamano [Fri, 1 Jun 2012 20:22:44 +0000 (13:22 -0700)] 
Merge branch 'ef/http-o-depends-on-gvf' into maint

A minor compilation fix.

By Erik Faye-Lund
* ef/http-o-depends-on-gvf:
  Makefile: add missing GIT-VERSION-FILE dependency

12 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Fri, 1 Jun 2012 20:21:37 +0000 (13:21 -0700)] 
Merge git://github.com/git-l10n/git-po

By Jiang Xin (4) and others
via Jiang Xin
* git://github.com/git-l10n/git-po:
  l10n: Set nplurals of zh_CN.po from 1 to 2
  l10n: zh_CN.po: translate 323 new messages
  l10n: zh.CN.po: update by msgmerge git.pot
  First release translation for Vietnamese
  Init translation for Vietnamese
  l10n: New it.po file with 504 translations
  Update Swedish translation (728t0f0u)
  l10n: Update git.pot (41 new messages)

12 years agoMerge branch 'rs/maint-grep-F' into maint
Junio C Hamano [Fri, 1 Jun 2012 20:01:41 +0000 (13:01 -0700)] 
Merge branch 'rs/maint-grep-F' into maint

"git grep -e '$pattern'", unlike the case where the patterns are read from
a file, did not treat individual lines in the given pattern argument as
separate regular expressions as it should.

By René Scharfe
* rs/maint-grep-F:
  grep: stop leaking line strings with -f
  grep: support newline separated pattern list
  grep: factor out do_append_grep_pat()
  grep: factor out create_grep_pat()

12 years agoMerge branch 'jk/ident-split-fix' into maint
Junio C Hamano [Fri, 1 Jun 2012 20:01:36 +0000 (13:01 -0700)] 
Merge branch 'jk/ident-split-fix' into maint

An author/committer name that is a single character was mishandled as an
invalid name by mistake.

By Jeff King
* jk/ident-split-fix:
  fix off-by-one error in split_ident_line

12 years agoMerge branch 'jk/pretty-commit-header-incomplete-line' into maint
Junio C Hamano [Fri, 1 Jun 2012 20:01:33 +0000 (13:01 -0700)] 
Merge branch 'jk/pretty-commit-header-incomplete-line' into maint

By Jeff King
* jk/pretty-commit-header-incomplete-line:
  avoid segfault when reading header of malformed commits

12 years agoMerge branch 'jk/format-person-part-buffer-limit' into maint
Junio C Hamano [Fri, 1 Jun 2012 19:59:58 +0000 (12:59 -0700)] 
Merge branch 'jk/format-person-part-buffer-limit' into maint

By Jeff King
* jk/format-person-part-buffer-limit:
  pretty: avoid buffer overflow in format_person_part

12 years agoMerge branch 'ap/checkout-no-progress-for-non-tty' into maint
Junio C Hamano [Fri, 1 Jun 2012 19:59:50 +0000 (12:59 -0700)] 
Merge branch 'ap/checkout-no-progress-for-non-tty' into maint

"git checkout" gave progress display even when the standard error
stream was not connected to the tty, which made little sense.

By Avery Pennarun
* ap/checkout-no-progress-for-non-tty:
  checkout: no progress messages if !isatty(2).

12 years agoMerge branch 'maint' of git://github.com/git-l10n/git-po into maint
Junio C Hamano [Fri, 1 Jun 2012 19:50:41 +0000 (12:50 -0700)] 
Merge branch 'maint' of git://github.com/git-l10n/git-po into maint

By Peter Krefting
via Peter Krefting
* 'maint' of git://github.com/git-l10n/git-po:
  Update Swedish translation (728t0f0u)

12 years agorequest-pull: really favor a matching tag
Junio C Hamano [Fri, 1 Jun 2012 19:38:19 +0000 (12:38 -0700)] 
request-pull: really favor a matching tag

After tagging the tip of "dev" branch with a "for-linus" tag and
pushing both out, running

$ git request-pull $url $last_release dev

would produce an output asking the 'dev' branch of $url to be
pulled, because that is what the user asked the message to say.

We already detect this situation locally and include the contents of
the tag in the output; if the $url has that tag, favor that tag
(i.e. "for-linus") in the generated message over the branch name the
user gave us (i.e. "dev") from the command line, to make the output
look more consistent.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoi18n: apply: split to fix a partial i18n message
Jiang Xin [Thu, 31 May 2012 11:20:42 +0000 (19:20 +0800)] 
i18n: apply: split to fix a partial i18n message

The 4th arg of "new mode (%o) of %s does not match old mode (%o)%s%s"
is blank string or string " of ". Even mark the string " of " for a
complete i18n, this message is still hard to translate right.

Split it into two slight different messages would make l10n teams happy.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agol10n: Set nplurals of zh_CN.po from 1 to 2
Jiang Xin [Thu, 31 May 2012 09:35:59 +0000 (17:35 +0800)] 
l10n: Set nplurals of zh_CN.po from 1 to 2

In most cases, plural-forms are unnecessary for Chinese. For example,
"apple" and "apples" are the same in Chinese, they are both translated
as "苹果". While there are exceptions, e.g., the plural form of "he",
"she" and "it" is "they" in English. In Chinese, "他(he)", "她(she)",
and "它(it)" have plural forms too, they are "他们", "她们", and "它们".

But what makes 'nplurals=1' hard to work right for Chinese is:

    #: bundle.c:192
    #, c-format
    msgid "The bundle requires this ref"
    msgid_plural "The bundle requires these %d refs"

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>