Commit Graph

29578 Commits

Author SHA1 Message Date
Junio C Hamano
589570dbe7 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.
2012-06-05 22:21:42 -07:00
Junio C Hamano
eb69934bbd 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>
2012-06-05 21:44:22 -07:00
Junio C Hamano
782cd4c0f6 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>
2012-06-05 21:22:36 -07:00
Junio C Hamano
f623ca1cae 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)
2012-06-05 10:57:53 -07:00
Junio C Hamano
8c3710fd30 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>
2012-06-04 16:24:49 -07:00
Ramkumar Ramachandra
070bad6d0c 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>
2012-06-04 15:35:22 -07:00
Matthieu Moy
04ab6ae776 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>
2012-06-04 13:49:50 -07:00
Matthieu Moy
365fc8d56a 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>
2012-06-04 13:49:44 -07:00
Matthieu Moy
2239888089 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>
2012-06-04 13:47:32 -07:00
Junio C Hamano
dd4287a2c9 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>
2012-06-04 13:46:53 -07:00
Junio C Hamano
c26ddce86d 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>
2012-06-04 12:54:48 -07:00
Jiang Xin
958a3143ee 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
2012-06-04 23:45:13 +08:00
Tran Ngoc Quan
9e383e8807 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>
2012-06-04 13:25:25 +07:00
Junio C Hamano
93921b07e9 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>
2012-06-03 16:08:25 -07:00
Junio C Hamano
eb41775ecc 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>
2012-06-03 16:05:42 -07:00
Junio C Hamano
3fe4498197 Git 1.7.11-rc1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-03 15:56:05 -07:00
Junio C Hamano
47829ed010 Sync with 1.7.10.4
* maint:
  Git 1.7.10.4
2012-06-03 15:54:33 -07:00
Junio C Hamano
121f71f0da Git 1.7.10.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-03 15:53:58 -07:00
Junio C Hamano
06de561830 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
2012-06-03 15:52:18 -07:00
Ralf Thielow
c0dd803da1 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>
2012-06-02 20:23:21 +02:00
Ralf Thielow
16abda814b 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>
2012-06-02 17:03:29 +02:00
Ralf Thielow
65752f94d1 l10n: de.po: translate 41 new messages
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
2012-06-02 16:49:40 +02:00
Ralf Thielow
f88416b2a4 l10n: de.po: translate 265 new messages
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
2012-06-02 16:49:40 +02:00
Jiang Xin
d691f47942 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>
2012-06-02 17:12:59 +08:00
Jiang Xin
75f7b4b965 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>
2012-06-02 07:07:27 +08:00
Junio C Hamano
5498c5f052 Update draft release notes to 1.7.11
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-01 13:29:48 -07:00
Junio C Hamano
3ba4663420 Merge branch 'ef/maint-rebase-error-message'
By Erik Faye-Lund
* ef/maint-rebase-error-message:
  rebase: report invalid commit correctly
2012-06-01 13:28:25 -07:00
Junio C Hamano
264d5a717b Merge branch 'nh/empty-rebase'
* nh/empty-rebase:
  cherry-pick: regression fix for empty commits
2012-06-01 13:28:19 -07:00
Junio C Hamano
4336b53c66 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
2012-06-01 13:28:01 -07:00
Junio C Hamano
7a824d3c46 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)
2012-06-01 13:27:48 -07:00
Junio C Hamano
21e077fd46 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
2012-06-01 13:26:46 -07:00
Junio C Hamano
2c4888efbc Sync with maint 2012-06-01 13:26:16 -07:00
Junio C Hamano
6a6d72b199 Start preparing for 1.7.10.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-01 13:23:11 -07:00
Junio C Hamano
0626fae6af 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
2012-06-01 13:22:44 -07:00
Junio C Hamano
f344333cd4 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)
2012-06-01 13:21:37 -07:00
Junio C Hamano
2147cb2762 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()
2012-06-01 13:01:41 -07:00
Junio C Hamano
e2d484c47a 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
2012-06-01 13:01:36 -07:00
Junio C Hamano
6c227410b5 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
2012-06-01 13:01:33 -07:00
Junio C Hamano
92ddfaadc2 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
2012-06-01 12:59:58 -07:00
Junio C Hamano
63cdf160f3 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).
2012-06-01 12:59:51 -07:00
Junio C Hamano
9c136bfb48 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)
2012-06-01 12:50:41 -07:00
Junio C Hamano
682853e687 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>
2012-06-01 12:38:19 -07:00
Jiang Xin
f50b565a0f 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>
2012-06-01 07:43:10 -07:00
Jiang Xin
5ae481e0ad 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>
2012-06-01 17:43:38 +08:00
Jiang Xin
81809b9984 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>
2012-06-01 17:42:18 +08:00
Erik Faye-Lund
38475f972c 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>
2012-05-31 12:42:53 -07:00
Jiang Xin
8ada95983c 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>
2012-05-31 16:34:51 +08:00
Tran Ngoc Quan
db484bad10 First release translation for Vietnamese
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-05-31 12:31:05 +08:00
Tran Ngoc Quan
774cfe0c52 Init translation for Vietnamese
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-05-31 12:31:05 +08:00
Colby Ranger
fe0435011c 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>
2012-05-30 13:50:45 -07:00