git
12 years agoMerge branch 'mh/ref-api'
Junio C Hamano [Fri, 25 May 2012 19:04:36 +0000 (12:04 -0700)] 
Merge branch 'mh/ref-api'

Fixes a performance regression in the earlier series.

12 years agoMerge branch 'rs/maint-grep-F'
Junio C Hamano [Fri, 25 May 2012 19:04:19 +0000 (12:04 -0700)] 
Merge branch 'rs/maint-grep-F'

"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.

12 years agoSync with 1.7.10.3
Junio C Hamano [Fri, 25 May 2012 18:36:25 +0000 (11:36 -0700)] 
Sync with 1.7.10.3

12 years agoGit 1.7.10.3 v1.7.10.3
Junio C Hamano [Fri, 25 May 2012 18:28:43 +0000 (11:28 -0700)] 
Git 1.7.10.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'hv/submodule-alt-odb' into maint
Junio C Hamano [Fri, 25 May 2012 18:26:38 +0000 (11:26 -0700)] 
Merge branch 'hv/submodule-alt-odb' into maint

When a submodule repository uses alternate object store mechanism, some
commands that were started from the superproject did not notice it and
failed with "No such object" errors.  The subcommands of "git submodule"
command that recursed into the submodule in a separate process were OK;
only the ones that cheated and peeked directly into the submodule's
repository from the primary process were affected.

By Heiko Voigt
* hv/submodule-alt-odb:
  teach add_submodule_odb() to look for alternates

12 years agoMerge branch 'bp/diff-no-index-strbuf-fix' into maint
Junio C Hamano [Fri, 25 May 2012 18:25:36 +0000 (11:25 -0700)] 
Merge branch 'bp/diff-no-index-strbuf-fix' into maint

The directory path used in "git diff --no-index", when it recurses
down, was broken with a recent update after v1.7.10.1 release.

By Bobby Powers
* bp/diff-no-index-strbuf-fix:
  diff --no-index: don't leak buffers in queue_diff
  diff --no-index: reset temporary buffer lengths on directory iteration

12 years agofmt-merge-message: add empty line between tag and signature verification
Linus Torvalds [Fri, 25 May 2012 16:02:03 +0000 (09:02 -0700)] 
fmt-merge-message: add empty line between tag and signature verification

When adding the information from a tag, put an empty line between the
message of the tag and the commented-out signature verification
information.

At least for the kernel workflow, I often end up re-formatting the message
that people send me in the tag data. In that situation, putting the tag
message and the tag signature verification back-to-back then means that
normal editor "reflow parapgraph" command will get confused and think that
the signature is a continuation of the last message paragraph.

So I always end up having to first add an empty line, and then go back and
reflow the last paragraph. Let's just do it in git directly.

The extra vertical space also makes the verification visually stand out
more from the user-supplied message, so it looks a bit more readable to me
too, but that may be just an odd personal preference.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoconfig doc: remove confusion about relative GIT_DIR from FILES section
Jonathan Nieder [Fri, 25 May 2012 18:12:04 +0000 (13:12 -0500)] 
config doc: remove confusion about relative GIT_DIR from FILES section

From the FILES section of the git-config(1) manual:

$GIT_DIR/config::
Repository specific configuration file. (The filename is
of course relative to the repository root, not the working
directory.)

That's confusing because $GIT_DIR really is relative to the working
directory.

$ GIT_DIR=.git GIT_EDITOR='pwd; echo editing'
$ export GIT_DIR GIT_EDITOR
$ git config --edit --local
/home/jrn/src/git/Documentation
editing .git/config

It turns out that the comment is a remnant from older days when the
heading said ".git/config" (which is indeed relative to the top of the
worktree).

It was only when the heading was changed to refer more precisely to
<git dir>/config (see v1.5.3.2~18, AsciiDoc tweak to avoid leading
dot, 2007-09-14) that the parenthesis stopped making sense.  Remove
it.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoSync with maint
Junio C Hamano [Fri, 25 May 2012 00:37:40 +0000 (17:37 -0700)] 
Sync with maint

By Jeff King (1) and Junio C Hamano (1)
* maint:
  Update draft release notes to 1.7.10.3
  osxkeychain: pull make config from top-level directory

12 years agoUpdate draft release notes to 1.7.10.3
Junio C Hamano [Fri, 25 May 2012 00:37:29 +0000 (17:37 -0700)] 
Update draft release notes to 1.7.10.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jk/maint-status-porcelain-z-b' into maint
Junio C Hamano [Fri, 25 May 2012 00:32:30 +0000 (17:32 -0700)] 
Merge branch 'jk/maint-status-porcelain-z-b' into maint

"git status --porcelain" ignored "--branch" option by mistake.  The output
for "git status --branch -z" was also incorrect and did not terminate the
record for the current branch name with NUL as asked.

By Jeff King
* jk/maint-status-porcelain-z-b:
  status: respect "-b" for porcelain format
  status: fix null termination with "-b"
  status: refactor null_termination option
  commit: refactor option parsing

12 years agoAvoid sorting if references are added to ref_cache in order
Michael Haggerty [Thu, 24 May 2012 12:16:50 +0000 (14:16 +0200)] 
Avoid sorting if references are added to ref_cache in order

The old code allowed many references to be efficiently added to a
single directory, because it just appended the references to the
containing directory unsorted without doing any searching (and
therefore without requiring any intermediate sorting).  But the old
code was inefficient when a large number of subdirectories were added
to a directory, because the directory always had to be searched to see
if the new subdirectory already existed, and this search required the
directory to be sorted first.  The same was repeated for every new
subdirectory, so the time scaled like O(N^2), where N is the number of
subdirectories within a single directory.

In practice, references are often added to the ref_cache in
lexicographic order, for example when reading the packed-refs file.
So build some intelligence into add_entry_to_dir() to optimize for the
case of references and/or subdirectories being added in lexicographic
order: if the existing entries were already sorted, and the new entry
comes after the last existing entry, then adjust ref_dir::sorted to
reflect the fact that the ref_dir is still sorted.

Thanks to Peff for pointing out the performance regression that
inspired this change.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoosxkeychain: pull make config from top-level directory
Jeff King [Wed, 23 May 2012 17:36:53 +0000 (13:36 -0400)] 
osxkeychain: pull make config from top-level directory

The default compiler and cflags were mostly "works for me"
when I built the original version. We need to be much less
careful here than usual, because we know we are building
only on OS X.  But it's only polite to at least respect the
CFLAGS and CC definitions that the user may have provided
earlier.

While we're at it, let's update our definitions and rules to
be more like the top-level Makefile; default our CFLAGS to
include -O2, and make sure we use CFLAGS and LDFLAGS when
linking.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUpdate draft release notes to 1.7.11
Junio C Hamano [Wed, 23 May 2012 20:54:23 +0000 (13:54 -0700)] 
Update draft release notes to 1.7.11

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'rs/archive-tree-in-tip-simplify'
Junio C Hamano [Wed, 23 May 2012 20:35:22 +0000 (13:35 -0700)] 
Merge branch 'rs/archive-tree-in-tip-simplify'

By René Scharfe
* rs/archive-tree-in-tip-simplify:
  archive-tar: keep const in checksum calculation
  archive: simplify refname handling

12 years agoMerge branch 'js/rev-parse-doc-fix'
Junio C Hamano [Wed, 23 May 2012 20:35:19 +0000 (13:35 -0700)] 
Merge branch 'js/rev-parse-doc-fix'

By Jon Seymour
* js/rev-parse-doc-fix:
  rev-parse doc: --git-dir does not always show a relative path

12 years agoMerge branch 'js/rebase-i-p-test-fix'
Junio C Hamano [Wed, 23 May 2012 20:35:15 +0000 (13:35 -0700)] 
Merge branch 'js/rebase-i-p-test-fix'

By Johannes Sixt
* js/rebase-i-p-test-fix:
  Fix t3411.3 to actually rebase something

12 years agoMerge branch 'bp/diff-no-index-strbuf-fix'
Junio C Hamano [Wed, 23 May 2012 20:35:12 +0000 (13:35 -0700)] 
Merge branch 'bp/diff-no-index-strbuf-fix'

Fix regressions to "git diff --no-index" when it recurses down.

By Bobby Powers
* bp/diff-no-index-strbuf-fix:
  diff --no-index: don't leak buffers in queue_diff
  diff --no-index: reset temporary buffer lengths on directory iteration

12 years agoMerge branch 'hv/submodule-alt-odb'
Junio C Hamano [Wed, 23 May 2012 20:35:05 +0000 (13:35 -0700)] 
Merge branch 'hv/submodule-alt-odb'

When peeking into object stores of submodules, the code forgot that they
might borrow objects from alternate object stores on their own.

By Heiko Voigt
* hv/submodule-alt-odb:
  teach add_submodule_odb() to look for alternates

12 years agogrep: stop leaking line strings with -f
René Scharfe [Mon, 21 May 2012 16:10:09 +0000 (18:10 +0200)] 
grep: stop leaking line strings with -f

When reading patterns from a file, we pass the lines as allocated string
buffers to append_grep_pat() and never free them.  That's not a problem
because they are needed until the program ends anyway.

However, now that the function duplicates the pattern string, we can
reuse the strbuf after calling that function.  This simplifies the code
a bit and plugs a minor memory leak.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoremote: fix typo
Ralf Thielow [Fri, 18 May 2012 16:46:01 +0000 (18:46 +0200)] 
remote: fix typo

The mapping that describe what ref fetched from the remote is used to
update what ref locally is called "refspec", not "respec".

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'maint'
Junio C Hamano [Sun, 20 May 2012 22:45:35 +0000 (15:45 -0700)] 
Merge branch 'maint'

By Jens Lehmann (1) and Johannes Sixt (1)
* maint:
  Consistently use "superproject" instead of "supermodule"
  t3404: begin "exchange commits with -p" test with correct preconditions

12 years agogrep: support newline separated pattern list
René Scharfe [Sun, 20 May 2012 14:33:07 +0000 (16:33 +0200)] 
grep: support newline separated pattern list

Currently, patterns that contain newline characters don't match anything
when given to git grep.  Regular grep(1) interprets patterns as lists of
newline separated search strings instead.

Implement this functionality by creating and inserting extra grep_pat
structures for patterns consisting of multiple lines when appending to
the pattern lists.  For simplicity, all pattern strings are duplicated.
The original pattern is truncated in place to make it contain only the
first line.

Requested-by: Torne (Richard Coles) <torne@google.com>
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogrep: factor out do_append_grep_pat()
René Scharfe [Sun, 20 May 2012 14:32:54 +0000 (16:32 +0200)] 
grep: factor out do_append_grep_pat()

Add do_append_grep_pat() as a shared function for adding patterns to
the header pattern list and the general pattern list.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogrep: factor out create_grep_pat()
René Scharfe [Sun, 20 May 2012 14:32:39 +0000 (16:32 +0200)] 
grep: factor out create_grep_pat()

Add create_grep_pat(), a shared helper for all grep pattern allocation
and initialization needs.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoConsistently use "superproject" instead of "supermodule"
Jens Lehmann [Sun, 20 May 2012 13:28:26 +0000 (15:28 +0200)] 
Consistently use "superproject" instead of "supermodule"

We fairly consistently say "superproject" and never "supermodule" these
days. But there are seven occurrences of "supermodule" left in the current
work tree. Three appear in Release Notes for 1.5.3 and 1.7.7, three in
test names and one in a C-code comment.

Replace all occurrences of "supermodule" outside of the Release Notes
(which shouldn't be changed after the fact) with "superproject" for
consistency.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot3404: begin "exchange commits with -p" test with correct preconditions
Johannes Sixt [Sat, 19 May 2012 13:14:16 +0000 (15:14 +0200)] 
t3404: begin "exchange commits with -p" test with correct preconditions

The test case shows a bug in 'rebase -p', but even if the bug were fixed
the test would fail because it did not ensure that the preconditions match
the postconditions that were checked. Insert the suitable 'git checkout'.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoFix t3411.3 to actually rebase something
Johannes Sixt [Fri, 18 May 2012 13:48:53 +0000 (15:48 +0200)] 
Fix t3411.3 to actually rebase something

The test intends to rebase a branchy history onto a later commit, but it
forgot to reset HEAD back to an earlier commit before it set up the side
branches. In the end, every "rebased" commit was only a fast-forward and
the 'rebase -p' did not change the commit graph at all. Insert the missing
checkout that moves to an earlier commit.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorev-parse doc: --git-dir does not always show a relative path
Jon Seymour [Fri, 18 May 2012 09:23:24 +0000 (19:23 +1000)] 
rev-parse doc: --git-dir does not always show a relative path

The description was misleading because it lead the reader to believe
that --git-dir would always show a relative path when, in fact, the
actual behaviour does not guarantee this.

Rather, it was intended that the advice be given that if a relative
path is shown, then the path is relative to the current working
directory and not some other directory (for example, the root of the
working tree).

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive-tar: keep const in checksum calculation
René Scharfe [Fri, 18 May 2012 05:18:11 +0000 (07:18 +0200)] 
archive-tar: keep const in checksum calculation

For correctness, don't needlessly drop the const qualifier when casting.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive: simplify refname handling
René Scharfe [Fri, 18 May 2012 05:15:17 +0000 (07:15 +0200)] 
archive: simplify refname handling

There is no need to build a copy of the relevant part of the string just
to make sure we have a NUL-terminated string.  We can simply pass the
length of the interesting part to dwim_ref() instead.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge git://github.com/git-l10n/git-po
Junio C Hamano [Thu, 17 May 2012 22:35:35 +0000 (15:35 -0700)] 
Merge git://github.com/git-l10n/git-po

By Jiang Xin (3) and others
via Jiang Xin (3) and Ralf Thielow (1)
* git://github.com/git-l10n/git-po:
  l10n: de.po: translate 3 new messages
  l10n: zh_CN.po: translate 3 new messages
  l10n: pt_PT.po translate new messages
  l10n: Update git.pot (8 new, 4 removed messages)
  l10n: Update git.pot (3 new, 2 removed messages)

12 years agoMerge branch 'nd/i18n-parseopt'
Junio C Hamano [Thu, 17 May 2012 22:22:29 +0000 (15:22 -0700)] 
Merge branch 'nd/i18n-parseopt'

Text from "git cmd --help" are getting prepared for i18n.

By Nguyễn Thái Ngọc Duy
* nd/i18n-parseopt:
  i18n: apply: mark parseopt strings for translation
  i18n: parseopt: lookup help and argument translations when showing usage

12 years agoMerge branch 'rs/xdiff-lose-emit-func'
Junio C Hamano [Thu, 17 May 2012 22:22:13 +0000 (15:22 -0700)] 
Merge branch 'rs/xdiff-lose-emit-func'

Simplifies the interface between the implementation of "blame" and
underlying xdiff engine, and removes a lot of unused or unnecessary code
from the latter.

By René Scharfe (6) and Ramsay Jones (1)
* rs/xdiff-lose-emit-func:
  builtin/blame.c: Fix a "Using plain integer as NULL pointer" warning
  xdiff: remove unused functions
  xdiff: remove emit_func() and xdi_diff_hunks()
  blame: factor out helper for calling xdi_diff()
  blame: use hunk_func(), part 2
  blame: use hunk_func(), part 1
  xdiff: add hunk_func()

12 years agoMerge branch 'fc/git-complete-helper'
Junio C Hamano [Thu, 17 May 2012 22:21:55 +0000 (15:21 -0700)] 
Merge branch 'fc/git-complete-helper'

By Felipe Contreras
* fc/git-complete-helper:
  completion: add new __git_complete helper

12 years agoMerge branch 'ld/git-p4-tags-and-labels'
Junio C Hamano [Thu, 17 May 2012 22:21:46 +0000 (15:21 -0700)] 
Merge branch 'ld/git-p4-tags-and-labels'

By Luke Diamand
* ld/git-p4-tags-and-labels:
  git p4: fix bug when enabling tag import/export via config variables
  git p4: fix bug when verbose enabled with tag export
  git p4: add test for tag import/export enabled via config

12 years agogit-svn: clarify the referent of dcommit's optional argument
Jon Seymour [Thu, 17 May 2012 03:20:43 +0000 (13:20 +1000)] 
git-svn: clarify the referent of dcommit's optional argument

The documentation of the dcommit subcommand is reworded to clarify that
the optional argument refers to a git branch, not an SVN branch.

The discussion of the optional argument is put into its own paragraph
as is the guidance about using 'dcommit' in preference to 'set-tree'.

The section on REBASE vs. PULL/MERGE is reworded to incorporate the
advice to prefer 'git rebase' previously in the description of 'dcommit'.

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
12 years agogit-svn: support rebase --preserve-merges
Avishay Lavie [Tue, 15 May 2012 08:45:50 +0000 (11:45 +0300)] 
git-svn: support rebase --preserve-merges

When git svn rebase is performed after an unpushed merge, the
rebase operation follows both parents and replays both the user's
local commits and those from the merged branch. This is usually
not the intended behavior.
This patch adds support for the --preserve-merges/-p flag which
allows for a better workflow by re-applying merge commits as merges.

[ew: fixed a minor syntax error]

Signed-off-by: Avishay Lavie <avishay.lavie@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
12 years agodiff --no-index: don't leak buffers in queue_diff
Bobby Powers [Wed, 16 May 2012 14:50:31 +0000 (10:50 -0400)] 
diff --no-index: don't leak buffers in queue_diff

queue_diff uses two strbufs, and at the end of the function
strbuf_reset was called.  This only reset the length of the buffer -
any allocated memory was leaked.  Using strbuf_release fixes this.

Signed-off-by: Bobby Powers <bobbypowers@gmail.com>
Reviewed-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodiff --no-index: reset temporary buffer lengths on directory iteration
Bobby Powers [Wed, 16 May 2012 14:28:31 +0000 (10:28 -0400)] 
diff --no-index: reset temporary buffer lengths on directory iteration

Commit 875b91b (diff --no-index: use strbuf for temporary pathnames,
2012-04-25) introduced a regression when using diff --no-index with
directories.  When iterating through a directory, the switch to strbuf
from heap-allocated char arrays caused paths to form like 'dir/file1',
'dir/file1file2', rather than 'dir/file1', 'dir/file2' as expected.

Avoid this by resetting the paths variables to their original length
before each iteration.

Signed-off-by: Bobby Powers <bobbypowers@gmail.com>
Reviewed-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'maint' into master
Jiang Xin [Tue, 15 May 2012 23:32:20 +0000 (07:32 +0800)] 
Merge branch 'maint' into master

By Ralf Thielow(1) and Jiang Xin(1)
* maint:
  l10n: de.po: translate 3 new messages
  l10n: zh_CN.po: translate 3 new messages

12 years agol10n: de.po: translate 3 new messages
Ralf Thielow [Tue, 15 May 2012 17:00:40 +0000 (19:00 +0200)] 
l10n: de.po: translate 3 new messages

Translate 3 new messages for upcoming git 1.7.10.3.

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>
12 years agol10n: zh_CN.po: translate 3 new messages
Jiang Xin [Tue, 15 May 2012 03:53:26 +0000 (11:53 +0800)] 
l10n: zh_CN.po: translate 3 new messages

Translate 3 new messages for upcoming git 1.7.10.3.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoMerge branch 'master' of git://github.com/marcomsousa/git-l10n-pt_PT
Jiang Xin [Mon, 14 May 2012 23:11:58 +0000 (07:11 +0800)] 
Merge branch 'master' of git://github.com/marcomsousa/git-l10n-pt_PT

By Marco Sousa
* marcomsousa/git-l10n-pt_PT/master:
  l10n: pt_PT.po translate new messages

12 years agol10n: pt_PT.po translate new messages
Marco Sousa [Mon, 14 May 2012 19:18:32 +0000 (21:18 +0200)] 
l10n: pt_PT.po translate new messages

Translate new and old messages came from git.pot.

Signed-off-by: Marco Sousa <marcomsousa@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agol10n: Update git.pot (8 new, 4 removed messages)
Jiang Xin [Mon, 14 May 2012 22:43:03 +0000 (06:43 +0800)] 
l10n: Update git.pot (8 new, 4 removed messages)

Generate po/git.pot from v1.7.10.2-520-g6a4a48:

 * 8 new l10n messages at lines:

   977, 982, 1404, 1409, 1414, 1419, 1424, 1429.

 * 4 removed l10n messages from lines:

   977, 1399, 1404, 1409.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoMerge branch 'maint'
Jiang Xin [Mon, 14 May 2012 22:40:08 +0000 (06:40 +0800)] 
Merge branch 'maint'

* maint:
  l10n: Update git.pot (3 new, 2 removed messages)

12 years agol10n: Update git.pot (3 new, 2 removed messages)
Jiang Xin [Mon, 14 May 2012 22:36:36 +0000 (06:36 +0800)] 
l10n: Update git.pot (3 new, 2 removed messages)

Generate po/git.pot from v1.7.10.2-35-g0b9f4:

 * 3 new l10n messages at lines: 2743, 2751, 2759.

 * 2 removed l10n messages from lines: 1879, 2757.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agoUpdate draft release notes for 12th batch
Junio C Hamano [Mon, 14 May 2012 19:20:46 +0000 (12:20 -0700)] 
Update draft release notes for 12th batch

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoteach add_submodule_odb() to look for alternates
Heiko Voigt [Mon, 14 May 2012 16:24:45 +0000 (18:24 +0200)] 
teach add_submodule_odb() to look for alternates

Since we allow to link other object databases when loading a submodules
database we should also load possible alternates.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'fc/simplify-complete-revlist-file'
Junio C Hamano [Mon, 14 May 2012 18:50:57 +0000 (11:50 -0700)] 
Merge branch 'fc/simplify-complete-revlist-file'

By Felipe Contreras
* fc/simplify-complete-revlist-file:
  completion: simplify __git_complete_revlist_file

12 years agoMerge branch 'nd/threaded-index-pack'
Junio C Hamano [Mon, 14 May 2012 18:50:40 +0000 (11:50 -0700)] 
Merge branch 'nd/threaded-index-pack'

Enables threading in index-pack to resolve base data in parallel.

By Nguyễn Thái Ngọc Duy (3) and Ramsay Jones (1)
* nd/threaded-index-pack:
  index-pack: disable threading if NO_PREAD is defined
  index-pack: support multithreaded delta resolving
  index-pack: restructure pack processing into three main functions
  compat/win32/pthread.h: Add an pthread_key_delete() implementation

12 years agoSync with maint
Junio C Hamano [Mon, 14 May 2012 18:50:20 +0000 (11:50 -0700)] 
Sync with maint

12 years agoMerge branch 'master' of git://github.com/git-l10n/git-po
Junio C Hamano [Mon, 14 May 2012 18:49:18 +0000 (11:49 -0700)] 
Merge branch 'master' of git://github.com/git-l10n/git-po

By Ralf Thielow (6) and others
via Jiang Xin (3) and Ralf Thielow (1)
* 'master' of git://github.com/git-l10n/git-po:
  l10n: zh_CN.po: translate 1 new message
  l10n: de.po: translate one new message
  l10n: de.po: unify translation of "ahead" and "behind"
  l10n: de.po: collection of improvements
  l10n: de.po: translate "remote" as "extern"
  l10n: de.po: translate "track" as "beobachten"
  l10n: add new members to German translation team
  l10n: de.po: collection of suggestions
  l10n: de.po: translate "bad" as "ungültig" ("invalid")
  l10n: de.po: hopefully uncontroversial fixes
  l10n: de.po: translate "bare" as "bloß"
  l10n: Update git.pot (275 new, 15 removed messages)
  l10n: Update git.pot (1 new messages)

12 years agoMerge branch 'maint' of git://github.com/git-l10n/git-po into maint
Junio C Hamano [Mon, 14 May 2012 18:47:49 +0000 (11:47 -0700)] 
Merge branch 'maint' of git://github.com/git-l10n/git-po into maint

By Ralf Thielow (6) and others
via Jiang Xin
* 'maint' of git://github.com/git-l10n/git-po:
  l10n: zh_CN.po: translate 1 new message
  l10n: de.po: translate one new message
  l10n: de.po: unify translation of "ahead" and "behind"
  l10n: de.po: collection of improvements
  l10n: de.po: translate "remote" as "extern"
  l10n: de.po: translate "track" as "beobachten"
  l10n: add new members to German translation team
  l10n: de.po: collection of suggestions
  l10n: de.po: translate "bad" as "ungültig" ("invalid")
  l10n: de.po: hopefully uncontroversial fixes
  l10n: de.po: translate "bare" as "bloß"
  l10n: Update git.pot (1 new messages)

12 years agoStart preparing for 1.7.10.3
Junio C Hamano [Mon, 14 May 2012 18:47:20 +0000 (11:47 -0700)] 
Start preparing for 1.7.10.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jk/maint-reflog-walk-count-vs-time' into maint
Junio C Hamano [Mon, 14 May 2012 18:46:16 +0000 (11:46 -0700)] 
Merge branch 'jk/maint-reflog-walk-count-vs-time' into maint

Gives a better DWIM behaviour for --pretty=format:%gd, "stash list", and
"log -g", depending on how the starting point ("master" vs "master@{0}" vs
"master@{now}") and date formatting options (e.g. "--date=iso") are given
on the command line.

By Jeff King (4) and Junio C Hamano (1)
* jk/maint-reflog-walk-count-vs-time:
  reflog-walk: tell explicit --date=default from not having --date at all
  reflog-walk: always make HEAD@{0} show indexed selectors
  reflog-walk: clean up "flag" field of commit_reflog struct
  log: respect date_mode_explicit with --format:%gd
  t1411: add more selector index/date tests

12 years agoMerge branch 'jk/doc-asciidoc-inline-literal' into maint
Junio C Hamano [Mon, 14 May 2012 18:43:04 +0000 (11:43 -0700)] 
Merge branch 'jk/doc-asciidoc-inline-literal' into maint

By Jeff King
* jk/doc-asciidoc-inline-literal:
  docs: stop using asciidoc no-inline-literal

12 years agoMerge branch 'ef/checkout-empty' into maint
Junio C Hamano [Mon, 14 May 2012 18:42:49 +0000 (11:42 -0700)] 
Merge branch 'ef/checkout-empty' into maint

Running "git checkout" on an unborn branch used to corrupt HEAD
(regression in 1.7.10); this makes it error out.

By Erik Faye-Lund
* ef/checkout-empty:
  checkout: do not corrupt HEAD on empty repo

12 years agoMerge branch 'jk/maint-tformat-with-z' into maint
Junio C Hamano [Mon, 14 May 2012 18:42:34 +0000 (11:42 -0700)] 
Merge branch 'jk/maint-tformat-with-z' into maint

By Jan Krüger (1) and Junio C Hamano (1)
* jk/maint-tformat-with-z:
  log-tree: the previous one is still not quite right
  log-tree: use custom line terminator in line termination mode

12 years agoMerge branch 'js/checkout-detach-count' into maint
Junio C Hamano [Mon, 14 May 2012 18:42:22 +0000 (11:42 -0700)] 
Merge branch 'js/checkout-detach-count' into maint

When checking out another commit from an already detached state, we used
to report all commits that are not reachable from any of the refs as
lossage, but some of them might be reachable from the new HEAD, and there
is no need to warn about them.

By Johannes Sixt
* js/checkout-detach-count:
  checkout (detached): truncate list of orphaned commits at the new HEAD
  t2020-checkout-detach: check for the number of orphaned commits

12 years agoMerge branch 'ef/maint-clone-progress-fix' into maint
Junio C Hamano [Mon, 14 May 2012 18:41:40 +0000 (11:41 -0700)] 
Merge branch 'ef/maint-clone-progress-fix' into maint

Some time ago, "git clone" lost the progress output for its "checkout"
phase; when run without any "--quiet" option, it should give progress to
the lengthy operation.

By Erik Faye-Lund
* ef/maint-clone-progress-fix:
  clone: fix progress-regression

12 years agolink to gitmodules page at the beginning of git-submodule documentation
Heiko Voigt [Mon, 14 May 2012 17:32:08 +0000 (19:32 +0200)] 
link to gitmodules page at the beginning of git-submodule documentation

This way the user does not have to scroll down to the bottom to find
it.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocompletion: add new __git_complete helper
Felipe Contreras [Mon, 14 May 2012 15:35:18 +0000 (17:35 +0200)] 
completion: add new __git_complete helper

This simplifies the completions, and would make it easier to define
aliases in the future.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agobuiltin/blame.c: Fix a "Using plain integer as NULL pointer" warning
Ramsay Jones [Sun, 13 May 2012 21:41:16 +0000 (22:41 +0100)] 
builtin/blame.c: Fix a "Using plain integer as NULL pointer" warning

Plain gcc may not but sparse catches and complains about this sort of
stuff.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agopack-protocol: fix first-want separator in the examples
Carlos Martín Nieto [Fri, 11 May 2012 23:44:53 +0000 (01:44 +0200)] 
pack-protocol: fix first-want separator in the examples

When sending the "want" list, the capabilities list is separated from
the obj-id by a SP instead of NUL as in the ref advertisement. The
text is correct, but the examples wrongly show the separator as
NUL. Fix the example so it uses SP.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'maint'
Jiang Xin [Sat, 12 May 2012 07:01:22 +0000 (15:01 +0800)] 
Merge branch 'maint'

* maint:
  l10n: zh_CN.po: translate 1 new message

Conflicts:
po/zh_CN.po

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agol10n: zh_CN.po: translate 1 new message
Jiang Xin [Tue, 8 May 2012 08:14:32 +0000 (16:14 +0800)] 
l10n: zh_CN.po: translate 1 new message

Translate new message '[new ref]' since git 1.7.10.1.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
12 years agogit p4: fix bug when enabling tag import/export via config variables
Luke Diamand [Fri, 11 May 2012 06:25:18 +0000 (07:25 +0100)] 
git p4: fix bug when enabling tag import/export via config variables

Use Python's True, not true. Causes failure when enabling tag
import or export in "git p4" using a config option rather than
the command line.

Signed-off-by: Luke Diamand <luke@diamand.org>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogit p4: fix bug when verbose enabled with tag export
Luke Diamand [Fri, 11 May 2012 06:25:17 +0000 (07:25 +0100)] 
git p4: fix bug when verbose enabled with tag export

Wrong variable name used when verbose enabled, causes failure.

Signed-off-by: Luke Diamand <luke@diamand.org>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogit p4: add test for tag import/export enabled via config
Luke Diamand [Fri, 11 May 2012 06:25:16 +0000 (07:25 +0100)] 
git p4: add test for tag import/export enabled via config

This adds a test for git p4 to check it can import/export tags
when enabled via a config variable rather than on the command
line.

Signed-off-by: Luke Diamand <luke@diamand.org>
Acked-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoUpdate draft release notes to 1.7.11 (11th batch)
Junio C Hamano [Fri, 11 May 2012 18:40:43 +0000 (11:40 -0700)] 
Update draft release notes to 1.7.11 (11th batch)

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'ef/checkout-empty'
Junio C Hamano [Fri, 11 May 2012 18:34:16 +0000 (11:34 -0700)] 
Merge branch 'ef/checkout-empty'

Running "git checkout" on an unborn branch used to corrupt HEAD
(regression in 1.7.10); this makes it error out.

By Erik Faye-Lund
* ef/checkout-empty:
  checkout: do not corrupt HEAD on empty repo

12 years agoMerge branch 'jk/maint-reflog-walk-count-vs-time'
Junio C Hamano [Fri, 11 May 2012 18:30:07 +0000 (11:30 -0700)] 
Merge branch 'jk/maint-reflog-walk-count-vs-time'

Gives a better DWIM behaviour for --pretty=format:%gd, "stash list", and
"log -g", depending on how the starting point ("master" vs "master@{0}" vs
"master@{now}") and date formatting options (e.g. "--date=iso") are given
on the command line.

By Jeff King (4) and Junio C Hamano (1)
* jk/maint-reflog-walk-count-vs-time:
  reflog-walk: tell explicit --date=default from not having --date at all
  reflog-walk: always make HEAD@{0} show indexed selectors
  reflog-walk: clean up "flag" field of commit_reflog struct
  log: respect date_mode_explicit with --format:%gd
  t1411: add more selector index/date tests

12 years agoMerge branch 'nd/i18n-branch-lego'
Junio C Hamano [Fri, 11 May 2012 18:29:45 +0000 (11:29 -0700)] 
Merge branch 'nd/i18n-branch-lego'

Fix yet another message construction by concatenating pieces of sentenes,
which is unfriendly to i18n.

By Nguyễn Thái Ngọc Duy
* nd/i18n-branch-lego:
  branch: remove lego in i18n tracking info strings

12 years agoSync with 1.7.10.2
Junio C Hamano [Fri, 11 May 2012 18:29:02 +0000 (11:29 -0700)] 
Sync with 1.7.10.2

12 years agoGit 1.7.10.2 v1.7.10.2
Junio C Hamano [Fri, 11 May 2012 18:25:28 +0000 (11:25 -0700)] 
Git 1.7.10.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'jc/diff-algo-cleanup' into maint
Junio C Hamano [Fri, 11 May 2012 18:19:27 +0000 (11:19 -0700)] 
Merge branch 'jc/diff-algo-cleanup' into maint

* jc/diff-algo-cleanup:
  xdiff: PATIENCE/HISTOGRAM are not independent option bits
  xdiff: remove XDL_PATCH_* macros

12 years agoMerge branch 'ct/advise-push-default' into maint
Junio C Hamano [Fri, 11 May 2012 18:18:43 +0000 (11:18 -0700)] 
Merge branch 'ct/advise-push-default' into maint

The cases "git push" fails due to non-ff can be broken into three
categories; each case is given a separate advise message.

By Christopher Tiwald (2) and Jeff King (1)
* ct/advise-push-default:
  Fix httpd tests that broke when non-ff push advice changed
  clean up struct ref's nonfastforward field
  push: Provide situational hints for non-fast-forward errors

12 years agoMerge branch 'js/fast-import-test-9300' into maint
Junio C Hamano [Fri, 11 May 2012 18:17:49 +0000 (11:17 -0700)] 
Merge branch 'js/fast-import-test-9300' into maint

By Johannes Sixt
* js/fast-import-test-9300:
  t9300-fast-import: avoid 'exit' in test_expect_success snippets

12 years agoMerge branch 'jk/repack-no-explode-objects-from-old-pack' into maint
Junio C Hamano [Fri, 11 May 2012 18:16:45 +0000 (11:16 -0700)] 
Merge branch 'jk/repack-no-explode-objects-from-old-pack' into maint

"git repack" used to write out unreachable objects as loose objects
when repacking, even if such loose objects will immediately pruned
due to its age.

By Jeff King
* jk/repack-no-explode-objects-from-old-pack:
  gc: use argv-array for sub-commands
  argv-array: add a new "pushl" method
  argv-array: refactor empty_argv initialization
  gc: do not explode objects which will be immediately pruned

12 years agoMerge branch 'ah/maint-grep-double-init' into maint
Junio C Hamano [Fri, 11 May 2012 18:16:09 +0000 (11:16 -0700)] 
Merge branch 'ah/maint-grep-double-init' into maint

By Angus Hammond
* ah/maint-grep-double-init:
  grep.c: remove redundant line of code

12 years agoMerge branch 'fa/maint-config-doc' into maint
Junio C Hamano [Fri, 11 May 2012 18:15:53 +0000 (11:15 -0700)] 
Merge branch 'fa/maint-config-doc' into maint

By Florian Achleitner
* fa/maint-config-doc:
  Documentation/git-config: describe and clarify "--local <file>" option

12 years agoMerge branch 'rs/unpack-trees-leakfix' into maint
Junio C Hamano [Fri, 11 May 2012 18:15:10 +0000 (11:15 -0700)] 
Merge branch 'rs/unpack-trees-leakfix' into maint

By René Scharfe
* rs/unpack-trees-leakfix:
  unpack-trees: plug minor memory leak
  unpack-trees: don't perform any index operation if we're not merging

12 years agoMerge branch 'sl/test-wc-l-line-count' into maint
Junio C Hamano [Fri, 11 May 2012 18:14:57 +0000 (11:14 -0700)] 
Merge branch 'sl/test-wc-l-line-count' into maint

By Stefano Lattarini
* sl/test-wc-l-line-count:
  tests: modernise style: more uses of test_line_count

12 years agoMerge branch 'rl/show-empty-prefix' into maint
Junio C Hamano [Fri, 11 May 2012 18:13:26 +0000 (11:13 -0700)] 
Merge branch 'rl/show-empty-prefix' into maint

Unlike "git rev-parse --show-cdup", "--show-prefix" did not give an
empty line when run at the top of the working tree.

By Ross Lagerwall
* rl/show-empty-prefix:
  rev-parse --show-prefix: add in trailing newline

12 years agodocument submdule.$name.update=none option for gitmodules
Heiko Voigt [Thu, 10 May 2012 18:59:04 +0000 (20:59 +0200)] 
document submdule.$name.update=none option for gitmodules

This option was not yet described in the gitmodules documentation. We
only described it in the 'git submodule' command documentation but
gitmodules is the more natural place to look.

A short reference in the 'git submodule' documentation should be
sufficient since the details can now be found in the documentation to
gitmodules.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoThe tenth batch of topics
Junio C Hamano [Thu, 10 May 2012 18:04:31 +0000 (11:04 -0700)] 
The tenth batch of topics

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'rs/dir-strbuf'
Junio C Hamano [Thu, 10 May 2012 17:49:55 +0000 (10:49 -0700)] 
Merge branch 'rs/dir-strbuf'

By René Scharfe
* rs/dir-strbuf:
  dir: convert to strbuf

12 years agoMerge branch 'nd/i18n-apply-lego'
Junio C Hamano [Thu, 10 May 2012 17:49:52 +0000 (10:49 -0700)] 
Merge branch 'nd/i18n-apply-lego'

By Nguyễn Thái Ngọc Duy
* nd/i18n-apply-lego:
  apply: remove lego in i18n string in gitdiff_verify_name

12 years agoMerge branch 'jk/status-porcelain-z-b'
Junio C Hamano [Thu, 10 May 2012 17:49:46 +0000 (10:49 -0700)] 
Merge branch 'jk/status-porcelain-z-b'

"git status --porcelain" ignored "--branch" option by mistake.  The output
for "git status --branch -z" was also incorrect and did not terminate the
record for the current branch name with NUL as asked.

By Jeff King
via Jeff King
* jk/status-porcelain-z-b:
  status: refactor colopts handling
  status: respect "-b" for porcelain format
  status: fix null termination with "-b"
  status: refactor null_termination option
  commit: refactor option parsing

12 years agoMerge branch 'fa/maint-config-doc'
Junio C Hamano [Thu, 10 May 2012 17:49:42 +0000 (10:49 -0700)] 
Merge branch 'fa/maint-config-doc'

By Florian Achleitner
* fa/maint-config-doc:
  Documentation/git-config: describe and clarify "--local <file>" option

12 years agoMerge branch 'ef/maint-clone-progress-fix'
Junio C Hamano [Thu, 10 May 2012 17:49:35 +0000 (10:49 -0700)] 
Merge branch 'ef/maint-clone-progress-fix'

Some time ago, "git clone" lost the progress output for its "checkout"
phase; when run without any "--quiet" option, it should give progress to
the lengthy operation.

By Erik Faye-Lund
* ef/maint-clone-progress-fix:
  clone: fix progress-regression

12 years agoMerge branch 'ah/maint-grep-double-init'
Junio C Hamano [Thu, 10 May 2012 17:49:31 +0000 (10:49 -0700)] 
Merge branch 'ah/maint-grep-double-init'

By Angus Hammond
* ah/maint-grep-double-init:
  grep.c: remove redundant line of code

12 years agoMerge branch 'js/checkout-detach-count'
Junio C Hamano [Thu, 10 May 2012 17:49:25 +0000 (10:49 -0700)] 
Merge branch 'js/checkout-detach-count'

When checking out another commit from an already detached state, we used
to report all commits that are not reachable from any of the refs as
lossage, but some of them might be reachable from the new HEAD, and there
is no need to warn about them.

By Johannes Sixt
* js/checkout-detach-count:
  checkout (detached): truncate list of orphaned commits at the new HEAD
  t2020-checkout-detach: check for the number of orphaned commits

12 years agoMerge branch 'jc/install-no-hardlinks'
Junio C Hamano [Thu, 10 May 2012 17:49:18 +0000 (10:49 -0700)] 
Merge branch 'jc/install-no-hardlinks'

Your build platform may support hardlinks but you may prefer not to use
them, e.g. when installing to DESTDIR to make a tarball and untarring on
a filesystem that has poor support for hardlinks.

The Makefile in git-gui project may need to learn to honor the same
setting; it unconditionally creates git-citool by hardlinking git-gui.

* jc/install-no-hardlinks:
  Makefile: NO_INSTALL_HARDLINKS

12 years agoMerge branch 'nd/stream-to-archive'
Junio C Hamano [Thu, 10 May 2012 17:49:13 +0000 (10:49 -0700)] 
Merge branch 'nd/stream-to-archive'

Stream large blobs directly out to archive files without slurping
everything in memory first.

By René Scharfe (6) and Nguyễn Thái Ngọc Duy (4)
* nd/stream-to-archive:
  t5000: rationalize unzip tests
  archive-zip: streaming for deflated files
  archive-zip: streaming for stored files
  archive-zip: factor out helpers for writing sizes and CRC
  archive-zip: remove uncompressed_size
  archive-tar: stream large blobs to tar file
  archive: delegate blob reading to backend
  archive-tar: unindent write_tar_entry by one level
  archive-tar: turn write_tar_entry into blob-writing only
  streaming: void pointer instead of char pointer

12 years agoMerge branch 'mh/ref-api-lazy-loose'
Junio C Hamano [Thu, 10 May 2012 17:49:07 +0000 (10:49 -0700)] 
Merge branch 'mh/ref-api-lazy-loose'

Refs API is updated to lazily read sub-hierarchies of refs/ namespace,
so that we do not have to grab everything from the filesystem when we
are only interested in listing branches, for example.

By Michael Haggerty (17) and Junio C Hamano (1)
* mh/ref-api-lazy-loose:
  refs: fix find_containing_dir() regression
  refs: read loose references lazily
  read_loose_refs(): eliminate ref_cache argument
  struct ref_dir: store a reference to the enclosing ref_cache
  search_for_subdir(): return (ref_dir *) instead of (ref_entry *)
  get_ref_dir(): add function for getting a ref_dir from a ref_entry
  read_loose_refs(): rename function from get_ref_dir()
  refs: wrap top-level ref_dirs in ref_entries
  find_containing_dir(): use strbuf in implementation of this function
  bisect: copy filename string obtained from git_path()
  do_for_each_reflog(): use a strbuf to hold logfile name
  do_for_each_reflog(): return early on error
  get_ref_dir(): take the containing directory as argument
  refs.c: extract function search_for_subdir()
  get_ref_dir(): require that the dirname argument ends in '/'
  get_ref_dir(): rename "base" parameter to "dirname"
  get_ref_dir(): use a strbuf to hold refname
  get_ref_dir(): return early if directory cannot be read

12 years agoMerge branch 'maint'
Junio C Hamano [Thu, 10 May 2012 17:45:47 +0000 (10:45 -0700)] 
Merge branch 'maint'

12 years agoUpdate draft release notes to 1.7.10.2
Junio C Hamano [Thu, 10 May 2012 17:45:42 +0000 (10:45 -0700)] 
Update draft release notes to 1.7.10.2

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