git
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 agocommit: document a couple of options
Ramkumar Ramachandra [Fri, 8 Jun 2012 10:18:30 +0000 (15:48 +0530)] 
commit: document a couple of options

Document git commit '--branch' and '--no-post-rewrite'.  Mention that
'-z' can also be spelt as '--null'.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
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 agorerere: remove i18n legos in result message
Nguyễn Thái Ngọc Duy [Thu, 7 Jun 2012 12:05:14 +0000 (19:05 +0700)] 
rerere: remove i18n legos in result message

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agonotes-merge: remove i18n legos in merge result message
Nguyễn Thái Ngọc Duy [Thu, 7 Jun 2012 12:05:13 +0000 (19:05 +0700)] 
notes-merge: remove i18n legos in merge result message

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoreflog: remove i18n legos in pruning message
Nguyễn Thái Ngọc Duy [Thu, 7 Jun 2012 12:05:11 +0000 (19:05 +0700)] 
reflog: remove i18n legos in pruning message

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoRemove i18n legos in notifying new branch tracking setup
Nguyễn Thái Ngọc Duy [Thu, 7 Jun 2012 12:05:10 +0000 (19:05 +0700)] 
Remove i18n legos in notifying new branch tracking setup

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoexclude: do strcmp as much as possible before fnmatch
Nguyễn Thái Ngọc Duy [Thu, 7 Jun 2012 07:53:36 +0000 (14:53 +0700)] 
exclude: do strcmp as much as possible before fnmatch

this also avoids calling fnmatch() if the non-wildcard prefix is
longer than basename

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodir.c: get rid of the wildcard symbol set in no_wildcard()
Nguyễn Thái Ngọc Duy [Thu, 7 Jun 2012 07:53:35 +0000 (14:53 +0700)] 
dir.c: get rid of the wildcard symbol set in no_wildcard()

Elsewhere in this file is_glob_special() is also used to check for
wildcards, which is defined in ctype. Make no_wildcard() also use this
function (indirectly via simple_length())

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.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 agosubmodule: fix handling of superproject origin URLs like foo, ./foo and ./foo/bar
Jon Seymour [Wed, 6 Jun 2012 11:57:30 +0000 (21:57 +1000)] 
submodule: fix handling of superproject origin URLs like foo, ./foo and ./foo/bar

Currently git submodule init and git submodule sync fail with an error
if the superproject origin URL is of the form foo but succeed if the
superproject origin URL is of the form ./foo or ./foo/bar or foo/bar.

This change makes handling of the foo case behave like the handling
of the ./foo case and also ensures that superfluous leading and
embedded ./'s are removed from the resulting derived URLs.

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agosubmodule: fix sync handling of some relative superproject origin URLs
Jon Seymour [Wed, 6 Jun 2012 11:57:29 +0000 (21:57 +1000)] 
submodule: fix sync handling of some relative superproject origin URLs

When the origin URL of the superproject is itself relative, git submodule sync
configures the remote.origin.url configuration property of the submodule
with a path that is relative to the work tree of the superproject
rather than the work tree of the submodule.

To fix this an 'up_path' that navigates from the work tree of the submodule
to the work tree of the superproject needs to be prepended to the URL
otherwise calculated.

Correct handling of superproject origin URLs like foo, ./foo and ./foo/bar is
left to a subsequent patch since an additional change is required to handle
these cases.

The documentation of resolve_relative_url() is expanded to give a more thorough
description of the function's objective.

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
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 agosubmodule: document failure to handle relative superproject origin URLs
Jon Seymour [Sun, 3 Jun 2012 09:46:48 +0000 (19:46 +1000)] 
submodule: document failure to handle relative superproject origin URLs

This test case documents several cases where handling of relative
superproject origin URLs doesn't produce an expected result.

submodule.{sub}.url in the superproject is incorrect in these cases:
  foo
  ./foo
  ./foo/bar

The remote.origin.url of the submodule is incorrect in the above cases
and also when the superproject origin URL is like:
  foo/bar
  ../foo
  ../foo/bar

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agosubmodule: additional regression tests for relative URLs
Jon Seymour [Sun, 3 Jun 2012 09:46:47 +0000 (19:46 +1000)] 
submodule: additional regression tests for relative URLs

Some additional tests are added to support regression testing of the changes in the
remainder of the series.

We also add a pristine copy of .gitmodules in anticipation of this being
required by later tests.

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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>
12 years agol10n: zh_CN.po: translate 323 new messages
Jiang Xin [Wed, 30 May 2012 04:19:47 +0000 (12:19 +0800)] 
l10n: zh_CN.po: translate 323 new messages

Update Simplified Chinese translation for 134 fuzzy, 189 new messages
from Git v1.7.10.2-548-g9de96.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Zhuang Ya <zhuangya@me.com>
12 years agoMakefile: add missing GIT-VERSION-FILE dependency
Erik Faye-Lund [Thu, 31 May 2012 14:10:44 +0000 (16:10 +0200)] 
Makefile: add missing GIT-VERSION-FILE dependency

In 20fc9bc (Set HTTP user agent to git/GIT_VERSION, 2006-04-04),
http.o started recording GIT_VERSION, but http.o wasn't added
to the list of files that depends on GIT-VERSION-FILE.

Fix this, so mofications to GIT-VERSION-FILE will result in an
updated user-agent string.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agol10n: zh.CN.po: update by msgmerge git.pot
Jiang Xin [Mon, 21 May 2012 01:35:47 +0000 (09:35 +0800)] 
l10n: zh.CN.po: update by msgmerge git.pot

Update of zh_CN.po: 134 fuzzy translations, 189 untranslated messages.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoFirst release translation for Vietnamese
Tran Ngoc Quan [Thu, 31 May 2012 02:16:38 +0000 (09:16 +0700)] 
First release translation for Vietnamese

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
12 years agoInit translation for Vietnamese
Tran Ngoc Quan [Sun, 6 May 2012 02:42:49 +0000 (09:42 +0700)] 
Init translation for Vietnamese

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoAdd persistent-https to contrib
Colby Ranger [Tue, 29 May 2012 21:52:00 +0000 (14:52 -0700)] 
Add persistent-https to contrib

Git over HTTPS has a high request startup latency, since the SSL
negotiation can take up to a second. In order to reduce this latency,
connections should be left open to the Git server across requests
(or invocations of the git commandline).

Reduce SSL startup latency by running a daemon job that keeps
connections open to a Git server. The daemon job
(git-remote-persistent-https--proxy) is started on the first request
through the client binary (git-remote-persistent-https) and remains
running for 24 hours after the last request, or until a new daemon
binary is placed in the PATH. The client determines the daemon's
HTTP address by communicating over a UNIX socket with the daemon.
From there, the rest of the Git protocol work is delegated to the
"git-remote-http" binary, with the environment's http_proxy set to
the daemon.

Accessing /pub/scm/linux/kernel/git/torvalds/linux repository hosted
at kernel.googlesource.com with "git ls-remote" over https:// and
persistent-https:// 5 times shows that the first request takes about
the same time (0.193s vs 0.208s---there is a slight set-up cost for
the local proxy); as expected, the other four requests are much
faster (~0.18s vs ~0.08s).

Incidentally, this also has the benefit of HTTP keep-alive working
across Git command invocations. Its common for servers to use a 5
minute keep-alive on an HTTP 1.1 connection. Git-over-HTTP commonly
uses Transfer-Encoding: chunked on replies, so keep-alive will
generally just work, even though a pack stream's length isn't known
in advance. Because the helper is an external process holding that
connection open, we also benefit from being able to reuse an
existing TCP connection to the server.  The same "git ls-remote"
test against http:// vs persistent-https:// URL shows that the
former takes ~0.09s while the first request for the latter is about
0.134s with set-up cost, and subsequent requests are ~0.065s,
shaving around one RTT to the server.

Signed-off-by: Colby Ranger <cranger@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorebase: report invalid commit correctly
Erik Faye-Lund [Wed, 30 May 2012 16:39:42 +0000 (18:39 +0200)] 
rebase: report invalid commit correctly

In 9765b6a (rebase: align variable content, 2011-02-06), the code
to error out was moved up one level. Unfortunately, one reference
to a function parameter wasn't rewritten as it should, leading to
the wrong parameter being errored on.

This error was propagated by 71786f5 (rebase: factor out reference
parsing, 2011-02-06) and merged in 78c6e0f (Merge branch
'mz/rebase', 2011-04-28).

Correct this by reporting $onto_name istead.

Reported-By: Manuela Hutter <manuelah@opera.com>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoclone: allow --no-local to turn off local optimizations
Jeff King [Wed, 30 May 2012 11:10:16 +0000 (07:10 -0400)] 
clone: allow --no-local to turn off local optimizations

This is basically the same as using "file://", but is a
little less subtle for the end user. It also allows relative
paths to be specified.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodocs/clone: mention that --local may be ignored
Jeff King [Wed, 30 May 2012 11:09:08 +0000 (07:09 -0400)] 
docs/clone: mention that --local may be ignored

The --local flag is not "treat this like a local
repository", but rather "if we are local, turn on
optimizations". Therefore it does nothing in the case of:

  git clone --local file:///path/to/repo

Let's make that more clear in the documentation.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodocs: drop antique comment from Makefile
Jeff King [Wed, 30 May 2012 10:22:58 +0000 (06:22 -0400)] 
docs: drop antique comment from Makefile

This comment warns about a bug in asciidoc 6, and points to
a patch from 2005. Since we don't even support versions of
asciidoc that old, we can safely get rid of the warning.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodocs: drop asciidoc7compatible flag
Jeff King [Wed, 30 May 2012 10:22:42 +0000 (06:22 -0400)] 
docs: drop asciidoc7compatible flag

When we made the switch to supporting asciidoc 8 in 4c7100a
(Documentation: adjust to AsciiDoc 8, 2007-06-14), we were
able to leave most of the documentation intact by defining
asciidoc7compatible.

Since commit 6cf378f (docs: stop using asciidoc no-inline-literal,
2012-04-26), we don't support versions of asciidoc older
than 8.4.1, which is when inline literals were introduced.
Therefore there is not much point in keeping our
documentation compatible with asciidoc 7.

So we are now free to drop the asciidoc7compatible flag and
update the documentation itself to assume asciidoc8.
Fortunately, doing the latter is very easy; we weren't using
any of the constructs impacted by asciidoc7compatible, so
there are no changes to make.

The reason is somewhat subtle. The asciidoc7compatible
affects only super/sub-scripts ("^" and "~") and index
terms. We don't use the latter at all. Nor we do we use the
former, but we did have to protect them from accidental
expansion in constructs like "rev^1". However, all of our
uses of "~" and "^" are either in code blocks (which are
rendered literally), or inside backticks. Prior to 6cf378f,
backticks were not inline literals, and needed proper
quoting. But post-6cf378f, we don't have to worry whether we
are using the old or new rules, as those characters are not
interpreted at all in either case.

I verified that the result of "make install-html
install-man" is identical before and after this patch on
asciidoc 8.6.7.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoINSTALL: update asciidoc recommendation
Jeff King [Wed, 30 May 2012 10:18:29 +0000 (06:18 -0400)] 
INSTALL: update asciidoc recommendation

Since commit 6cf378f (docs: stop using asciidoc no-inline-literal),
we no longer support asciidoc versions less than 8.4.1,
which introduced inline literals. Note this in the INSTALL
document.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agol10n: New it.po file with 504 translations
Marco Paolone [Tue, 29 May 2012 21:03:51 +0000 (23:03 +0200)] 
l10n: New it.po file with 504 translations

Signed-off-by: Marco Paolone <marcopaolone@gmail.com>
12 years agocherry-pick: regression fix for empty commits
Junio C Hamano [Wed, 30 May 2012 00:14:41 +0000 (17:14 -0700)] 
cherry-pick: regression fix for empty commits

The earlier "--keep-redundant-commit" series broke "cherry-pick"
that is given a commit whose change is already in the current
history. Such a cherry-pick would result in an empty change, and
should stop with an error, telling the user that conflict resolution
may have made the result empty (which is exactly what is happening),
but we silently dropped the change on the floor without any message
nor non-zero exit code.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agosubmodules: print "registered for path" message only once
Jens Lehmann [Mon, 28 May 2012 19:46:58 +0000 (21:46 +0200)] 
submodules: print "registered for path" message only once

Since 2cd9de3e (submodule add: always initialize .git/config entry) the
message "Submodule '\$name' (\$url) registered for path '\$sm_path'" is
printed every time cmd_init() is called, e.g. each time "git submodule
update" is used with the --init option.

This was not intended and leads to bogus output which can confuse users
and build systems. Apart from that the $url variable was not set after the
first run which did the actual initialization and only "()" was printed
in subsequent runs where "($url)" was meant to inform the user about the
upstream repo.

Fix that by moving the say command in question into the if block where the
url is initialized, restoring the behavior that was in place before the
2cd9de3e commit. While at it also remove the comment which still describes
the logic used before 2cd9de3e and add a comment about how things work now.

Reported-by: Nicolas Viennot and Sid Nair <nicolas@viennot.com>
Reported-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge git://bogomips.org/git-svn
Junio C Hamano [Tue, 29 May 2012 20:47:55 +0000 (13:47 -0700)] 
Merge git://bogomips.org/git-svn

By Jonathan Nieder
via Eric Wong
* git://bogomips.org/git-svn:
  git-svn: make Git::SVN::Fetcher a separate file
  git-svn: rename SVN::Git::* packages to Git::SVN::*
  git-svn: move Git::SVN::Prompt into its own file

12 years agot5701: modernize style
Jeff King [Sat, 26 May 2012 03:42:53 +0000 (23:42 -0400)] 
t5701: modernize style

This test is pretty old and did not follow some of our more
modern best practices. In particular:

  1. It chdir'd all over the place, leaving later tests to
     deal with the fallout. Do our chdirs in subshells
     instead.

  2. It did not use test_must_fail.

  3. It did not use test_line_count.

  4. It checked for the non-existence of a ref by looking in the
     .git/refs directory (since we pack refs during clone
     these days, this will always be succeed, making the
     test useless).

     Note that one call to "-e .git/refs/..." remains,
     because it is checking for the existence of a symbolic
     ref, not a ref itself.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'va/git-p4-test'
Junio C Hamano [Tue, 29 May 2012 20:09:20 +0000 (13:09 -0700)] 
Merge branch 'va/git-p4-test'

By Vitor Antunes
* va/git-p4-test:
  git-p4: Clean up branch test cases
  git-p4: Verify detection of "empty" branch creation
  git-p4: Test changelists touching two branches

12 years agoMerge branch 'jk/ident-gecos-strbuf'
Junio C Hamano [Tue, 29 May 2012 20:09:13 +0000 (13:09 -0700)] 
Merge branch 'jk/ident-gecos-strbuf'

Fixes quite a lot of brokenness when ident information needs to be taken
from the system and cleans up the code.

By Jeff King
* jk/ident-gecos-strbuf: (22 commits)
  format-patch: do not use bogus email addresses in message ids
  ident: reject bogus email addresses with IDENT_STRICT
  ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT
  format-patch: use GIT_COMMITTER_EMAIL in message ids
  ident: let callers omit name with fmt_indent
  ident: refactor NO_DATE flag in fmt_ident
  ident: reword empty ident error message
  format-patch: refactor get_patch_filename
  ident: trim whitespace from default name/email
  ident: use a dynamic strbuf in fmt_ident
  ident: use full dns names to generate email addresses
  ident: report passwd errors with a more friendly message
  drop length limitations on gecos-derived names and emails
  ident: don't write fallback username into git_default_name
  fmt_ident: drop IDENT_WARN_ON_NO_NAME code
  format-patch: use default email for generating message ids
  ident: trim trailing newline from /etc/mailname
  move git_default_* variables to ident.c
  move identity config parsing to ident.c
  fmt-merge-msg: don't use static buffer in record_person
  ...

12 years agoMerge branch 'jk/fetch-pack-remove-dups-optim'
Junio C Hamano [Tue, 29 May 2012 20:09:08 +0000 (13:09 -0700)] 
Merge branch 'jk/fetch-pack-remove-dups-optim'

The way "fetch-pack" that is given multiple references to fetch tried to
remove duplicates was very inefficient.

By Jeff King
* jk/fetch-pack-remove-dups-optim:
  fetch-pack: sort incoming heads list earlier
  fetch-pack: avoid quadratic loop in filter_refs
  fetch-pack: sort the list of incoming refs
  add sorting infrastructure for list refs
  fetch-pack: avoid quadratic behavior in remove_duplicates
  fetch-pack: sort incoming heads

12 years agoMerge branch 'rs/refs-string-slice'
Junio C Hamano [Tue, 29 May 2012 20:09:02 +0000 (13:09 -0700)] 
Merge branch 'rs/refs-string-slice'

Avoid unnecessary temporary allocations while looking for matching refs
inside refs API.

By René Scharfe (3) and Junio C Hamano (1)
* rs/refs-string-slice:
  refs: do not create ref_entry when searching
  refs: use strings directly in find_containing_dir()
  refs: convert parameter of create_dir_entry() to length-limited string
  refs: convert parameter of search_ref_dir() to length-limited string

12 years agoMerge branch 'mh/fetch-pack-constness'
Junio C Hamano [Tue, 29 May 2012 20:08:53 +0000 (13:08 -0700)] 
Merge branch 'mh/fetch-pack-constness'

Tighten constness of some local variables in a callchain.

By Michael Haggerty
* mh/fetch-pack-constness:
  cmd_fetch_pack(): respect constness of argv parameter
  cmd_fetch_pack(): combine the loop termination conditions
  cmd_fetch_pack(): handle non-option arguments outside of the loop
  cmd_fetch_pack(): declare dest to be const

12 years agoMerge branch 'mh/ref-api-lazy-loose'
Junio C Hamano [Tue, 29 May 2012 20:08:35 +0000 (13:08 -0700)] 
Merge branch 'mh/ref-api-lazy-loose'

The code to lazily read loose refs unnecessarily read the refs in a
subhierarchy by mistake when we free the data for the subhierarchy.

By Michael Haggerty
* mh/ref-api-lazy-loose:
  free_ref_entry(): do not trigger reading of loose refs

12 years agoMerge branch 'ng/pack-objects-cleanup'
Junio C Hamano [Tue, 29 May 2012 20:08:30 +0000 (13:08 -0700)] 
Merge branch 'ng/pack-objects-cleanup'

By Nguyễn Thái Ngọc Duy
* ng/pack-objects-cleanup:
  pack-objects: refactor write_object() into helper functions
  pack-objects, streaming: turn "xx >= big_file_threshold" to ".. > .."

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 agoReduce cost of deletion in levenstein distance (4 -> 3)
Matthieu Moy [Sun, 27 May 2012 16:02:58 +0000 (18:02 +0200)] 
Reduce cost of deletion in levenstein distance (4 -> 3)

Before this patch, a character deletion has the same cost as 2 swaps, or
4 additions, so Git prefers suggesting a completely scrambled command
name to removing a character. For example, "git tags" suggests "stage",
but not "tag".

By setting the deletion cost to 3, we keep it higher than swaps or
additions, but prefer 1 deletion to 2 swaps. "git tags" now suggests
"tag" in addition to staged.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUnindent excluded_from_list()
Nguyễn Thái Ngọc Duy [Sat, 26 May 2012 12:31:12 +0000 (19:31 +0700)] 
Unindent excluded_from_list()

Return early if el->nr == 0. Unindent one more level for FNM_PATHNAME
code block as this block is getting complex and may need more
indentation.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agopack-objects: use streaming interface for reading large loose blobs
Nguyễn Thái Ngọc Duy [Sat, 26 May 2012 10:28:01 +0000 (17:28 +0700)] 
pack-objects: use streaming interface for reading large loose blobs

git usually streams large blobs directly to packs. But there are cases
where git can create large loose blobs (unpack-objects or hash-object
over pipe). Or they can come from other git implementations.
core.bigfilethreshold can also be lowered down and introduce a new
wave of large loose blobs.

Use streaming interface to read/compress/write these blobs in one
go. Fall back to normal way if somehow streaming interface cannot be
used.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogit-p4: Clean up branch test cases
Vitor Antunes [Sat, 26 May 2012 09:56:06 +0000 (10:56 +0100)] 
git-p4: Clean up branch test cases

Correct submit description in one test and remove not required commands
from another.

Signed-off-by: Vitor Antunes <vitor.hda@gmail.com>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>