gitweb.git
Merge 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

Merge 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

git-svn: clarify the referent of dcommit's optional... 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>

git-svn: support rebase --preserve-mergesAvishay 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>

Update draft release notes for 12th batchJunio 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>

Merge 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

Merge 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

Sync with maintJunio C Hamano Mon, 14 May 2012 18:50:20 +0000 (11:50 -0700)

Sync with maint

Merge branch 'master' of git://github.com/git-l10n... 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)

Merge branch 'maint' of git://github.com/git-l10n/git... 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)

Start preparing for 1.7.10.3Junio 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>

Merge branch 'jk/maint-reflog-walk-count-vs-time' into... 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

Merge branch 'jk/doc-asciidoc-inline-literal' into... 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

Merge branch 'ef/checkout-empty' into maintJunio 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

Merge branch 'jk/maint-tformat-with-z' into maintJunio 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

Merge branch 'js/checkout-detach-count' into maintJunio 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

Merge branch 'ef/maint-clone-progress-fix' into maintJunio 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

link to gitmodules page at the beginning of git-submodu... 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>

completion: add new __git_complete helperFelipe 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>

pack-protocol: fix first-want separator in the examplesCarlos 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>

Merge 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>

l10n: zh_CN.po: translate 1 new messageJiang 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>

git p4: fix bug when enabling tag import/export via... 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>

git p4: fix bug when verbose enabled with tag exportLuke 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>

git p4: add test for tag import/export enabled via... 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>

Update 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>

Merge 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

Merge 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

Merge 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

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

Sync with 1.7.10.2

Git 1.7.10.2 v1.7.10.2Junio 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>

Merge branch 'jc/diff-algo-cleanup' into maintJunio 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

Merge branch 'ct/advise-push-default' into maintJunio 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

Merge branch 'js/fast-import-test-9300' into maintJunio 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

Merge branch 'jk/repack-no-explode-objects-from-old... 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

Merge branch 'ah/maint-grep-double-init' into maintJunio 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

Merge branch 'fa/maint-config-doc' into maintJunio 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

Merge branch 'rs/unpack-trees-leakfix' into maintJunio 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

Merge branch 'sl/test-wc-l-line-count' into maintJunio 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

Merge branch 'rl/show-empty-prefix' into maintJunio 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

document submdule.$name.update=none option for gitmodulesHeiko 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>

The tenth batch of topicsJunio 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>

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

Merge 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

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

Merge branch 'maint'

Update draft release notes to 1.7.10.2Junio 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>

Merge branch 'mm/include-userpath' into maintJunio C Hamano Thu, 10 May 2012 17:33:05 +0000 (10:33 -0700)

Merge branch 'mm/include-userpath' into maint

By Jeff King
* mm/include-userpath:
config: expand tildes in include.path variable

Merge branch 'cc/fix-missing-va-end-in-revert' into... Junio C Hamano Thu, 10 May 2012 17:32:43 +0000 (10:32 -0700)

Merge branch 'cc/fix-missing-va-end-in-revert' into maint

By Christian Couder
* cc/fix-missing-va-end-in-revert:
revert: add missing va_end

Merge branch 'bw/test-fix-grep-gnuism' into maintJunio C Hamano Thu, 10 May 2012 17:32:15 +0000 (10:32 -0700)

Merge branch 'bw/test-fix-grep-gnuism' into maint

* bw/test-fix-grep-gnuism:
t9400: fix gnuism in grep

Merge branch 'jk/http-backend-keep-committer-ident... Junio C Hamano Thu, 10 May 2012 17:29:50 +0000 (10:29 -0700)

Merge branch 'jk/http-backend-keep-committer-ident-env' into maint

By Jeff King
* jk/http-backend-keep-committer-ident-env:
http-backend: respect existing GIT_COMMITTER_* variables

Conflicts:
t/t5541-http-push.sh

Merge branch 'nl/rebase-i-cheat-sheet' into maintJunio C Hamano Thu, 10 May 2012 17:29:14 +0000 (10:29 -0700)

Merge branch 'nl/rebase-i-cheat-sheet' into maint

* nl/rebase-i-cheat-sheet:
rebase -i: remind that the lines are top-to-bottom

Merge branch 'bw/submodule-sed-solaris' into maintJunio C Hamano Thu, 10 May 2012 17:27:58 +0000 (10:27 -0700)

Merge branch 'bw/submodule-sed-solaris' into maint

By Ben Walton
* bw/submodule-sed-solaris:
Avoid bug in Solaris xpg4/sed as used in submodule

Merge branch 'jk/maint-push-progress' into maintJunio C Hamano Thu, 10 May 2012 17:08:54 +0000 (10:08 -0700)

Merge branch 'jk/maint-push-progress' into maint

"git push" over smart-http lost progress output a few releases ago.

By Jeff King
* jk/maint-push-progress:
t5541: test more combinations of --progress
teach send-pack about --[no-]progress
send-pack: show progress when isatty(2)

Merge branch 'jc/rerere-train' into maintJunio C Hamano Thu, 10 May 2012 17:08:24 +0000 (10:08 -0700)

Merge branch 'jc/rerere-train' into maint

A contrib script "rerere-train" did not work out of the box unless user
futzed with her $PATH.

* jc/rerere-train:
contrib/rerere-train: use installed git-sh-setup

Merge branch 'lp/diffstat-with-graph' into maintJunio C Hamano Thu, 10 May 2012 17:06:52 +0000 (10:06 -0700)

Merge branch 'lp/diffstat-with-graph' into maint

"log --graph" was not very friendly with "--stat" option and its output
had line breaks at wrong places.

By Lucian Poston (5) and Zbigniew Jędrzejewski-Szmek (3)
* lp/diffstat-with-graph:
t4052: work around shells unable to set COLUMNS to 1
test-lib: skip test with COLUMNS=1 under mksh
Prevent graph_width of stat width from falling below min
t4052: Test diff-stat output with minimum columns
t4052: Adjust --graph --stat output for prefixes
Adjust stat width calculations to take --graph output into account
Add output_prefix_length to diff_options
t4052: test --stat output with --graph

Merge branch 'maint' into masterRalf Thielow Wed, 9 May 2012 16:42:07 +0000 (18:42 +0200)

Merge branch 'maint' into master

* maint: (10 commits)
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"
...

Conflicts:
po/de.po

checkout: do not corrupt HEAD on empty repoErik Faye-Lund Tue, 8 May 2012 17:22:33 +0000 (19:22 +0200)

checkout: do not corrupt HEAD on empty repo

In abe1998 ("git checkout -b: allow switching out of an unborn
branch"), a code-path overly-optimisticly assumed that a
branch-name was specified. This is not always the case, and as
a result a NULL-pointer was attempted printed to .git/HEAD.

This could lead to at least two different failure modes:
1) vsnprintf formated the NULL-string as something useful (e.g
"(null)")
2) vsnprintf crashed

Neither were very convenient for formatting a new HEAD-reference.

To fix this, reintroduce some strictness so we only take this
new codepath if a banch-name was specified.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

apply: remove lego in i18n string in gitdiff_verify_nameNguyễn Thái Ngọc Duy Sun, 6 May 2012 13:13:22 +0000 (20:13 +0700)

apply: remove lego in i18n string in gitdiff_verify_name

It marks the string "...inconsistent %s filename..." where %s is either
"old" or "new" from caller. Make it two strings "...inconsistent new
filename..." and "...inconsistent old filename...".

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

l10n: de.po: translate one new messageRalf Thielow Tue, 8 May 2012 17:03:30 +0000 (19:03 +0200)

l10n: de.po: translate one new message

Translate one new messages came from git.pot
update in 7795e42 (l10n: Update git.pot (1 new messages)).
It also updates and reformats the de.po file due to "msgmerge".

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

l10n: de.po: unify translation of "ahead" and "behind"Ralf Thielow Fri, 4 May 2012 18:54:44 +0000 (20:54 +0200)

l10n: de.po: unify translation of "ahead" and "behind"

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

l10n: de.po: collection of improvementsRalf Thielow Fri, 4 May 2012 18:28:08 +0000 (20:28 +0200)

l10n: de.po: collection of improvements

A list of improvements for German translation
which contains a couple of spellings and grammar.

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

l10n: de.po: translate "remote" as "extern"Ralf Thielow Fri, 4 May 2012 16:59:53 +0000 (18:59 +0200)

l10n: de.po: translate "remote" as "extern"

The word "remote" was translated as "entfernt"
and "anders". Both of them aren't really good
because "anders" in German means "other" and
"entfernt" has two different meanings and could
result in confusion to the users.
We've changed the translation to "extern".

Suggested-by: Jan Krüger <jk@jk.gs>
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

l10n: de.po: translate "track" as "beobachten"Ralf Thielow Fri, 4 May 2012 16:27:54 +0000 (18:27 +0200)

l10n: de.po: translate "track" as "beobachten"

The word "track" was translated as "verfolgen"
and "folgen". We've decided to translate "track" in
the meaning of tracked files/content as "beobachten"
and in the remote-tracking sense as "folgen".

Suggested-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

l10n: add new members to German translation teamRalf Thielow Fri, 4 May 2012 18:47:35 +0000 (20:47 +0200)

l10n: add new members to German translation team

Add Thomas Rast, Jan Krüger and Christian Stimming
to German translation team.

Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

l10n: de.po: collection of suggestionsThomas Rast Wed, 2 May 2012 13:49:27 +0000 (15:49 +0200)

l10n: de.po: collection of suggestions

A long list of suggested changes to the translation. None of them are
clear-cut, though I of course think they are an improvement ;-)

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

l10n: de.po: translate "bad" as "ungültig" ("invalid")Thomas Rast Wed, 2 May 2012 13:49:26 +0000 (15:49 +0200)

l10n: de.po: translate "bad" as "ungültig" ("invalid")

"schlecht" doesn't quite sound right to me, especially in messages
like "bad object" where the object doesn't even exist in the first
place.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

l10n: de.po: hopefully uncontroversial fixesThomas Rast Wed, 2 May 2012 13:49:25 +0000 (15:49 +0200)

l10n: de.po: hopefully uncontroversial fixes

These are all obviously wrong, such as typos or messages where the
current translation is based on a misunderstanding of the original
message.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

l10n: de.po: translate "bare" as "bloß"Thomas Rast Wed, 2 May 2012 17:27:03 +0000 (19:27 +0200)

l10n: de.po: translate "bare" as "bloß"

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com>

Merge branch 'rs/maint-dir-strbuf' into rs/dir-strbufJunio C Hamano Tue, 8 May 2012 16:43:40 +0000 (09:43 -0700)

Merge branch 'rs/maint-dir-strbuf' into rs/dir-strbuf

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

dir: convert to strbufRené Scharfe Tue, 1 May 2012 11:25:24 +0000 (13:25 +0200)

dir: convert to strbuf

The functions read_directory_recursive() and treat_leading_path() both
use buffers sized to fit PATH_MAX characters. The latter can be made to
overrun its buffer, e.g. like this:

$ a=0123456789abcdef
$ a=$a$a$a$a$a$a$a$a
$ a=$a$a$a$a$a$a$a$a
$ a=$a$a$a$a$a$a$a$a
$ git add $a/a

Instead of trying to add a check and potentionally forgetting to address
similar cases, convert the involved functions and their helpers to use
struct strbuf. The patch is suprisingly large because the helpers
treat_path() and treat_one_path() modify the buffer as well and thus need
to be converted, too.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

status: refactor colopts handlingJeff King Mon, 7 May 2012 19:35:03 +0000 (15:35 -0400)

status: refactor colopts handling

The current code reads the config and command-line options
into a separate "colopts" variable, and then copies the
contents of that variable into the "struct wt_status". We
can eliminate the extra variable and copy just write
straight into the wt_status struct.

This simplifies the "status" code a little bit.
Unfortunately, it makes the "commit" code one line more
complex; a side effect of the separate variable was that
"commit" did not copy the colopts variable, so any
column.status configuration had no effect.

The result still ends up cleaner, though. In the previous
version, it was unclear whether commit simply forgot to copy
the colopt variable, or whether it was intentional. Now it
explicitly turns off column options. Furthermore, if commit
later learns to respect column.status, this will make the
end result simpler. I punted on just adding that feature
now, because it was sufficiently non-obvious that it should
not go into a refactoring patch.

Signed-off-by: Jeff King <peff@peff.net>

Merge branch 'jk/maint-status-porcelain-z-b' into HEADJeff King Tue, 8 May 2012 08:55:35 +0000 (04:55 -0400)

Merge branch 'jk/maint-status-porcelain-z-b' into HEAD

* 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

Conflicts:
wt-status.h

status: respect "-b" for porcelain formatJeff King Mon, 7 May 2012 21:09:04 +0000 (17:09 -0400)

status: respect "-b" for porcelain format

There is no reason not to, as the user has to explicitly ask
for it, so we are not breaking compatibility by doing so. We
can do this simply by moving the "show_branch" flag into
the wt_status struct. As a bonus, this saves us from passing
it explicitly, simplifying the code.

Signed-off-by: Jeff King <peff@peff.net>

status: fix null termination with "-b"Jeff King Mon, 7 May 2012 21:02:18 +0000 (17:02 -0400)

status: fix null termination with "-b"

When the "-z" option is given to status, we are supposed to
NUL-terminate each record. However, the "-b" code to show
the tracking branch did not respect this, and always ended
with a newline.

Signed-off-by: Jeff King <peff@peff.net>

status: refactor null_termination optionJeff King Mon, 7 May 2012 19:44:44 +0000 (15:44 -0400)

status: refactor null_termination option

This option is passed separately to the wt_status printing
functions, whereas every other formatting option is
contained in the wt_status struct itself. Let's do the same
here, so we can avoid passing it around through the call
stack.

Signed-off-by: Jeff King <peff@peff.net>

commit: refactor option parsingJeff King Mon, 7 May 2012 19:18:26 +0000 (15:18 -0400)

commit: refactor option parsing

The options are declared as a static global, but really they
need only be accessible from cmd_commit. Additionally,
declare the "struct wt_status" in cmd_commit and cmd_status
as static at the top of each function; this will let the
options lists reference them directly, which will facilitate
further cleanups.

Signed-off-by: Jeff King <peff@peff.net>

l10n: Update git.pot (275 new, 15 removed messages)Jiang Xin Tue, 8 May 2012 08:10:22 +0000 (16:10 +0800)

l10n: Update git.pot (275 new, 15 removed messages)

Generate po/git.pot from v1.7.10.1-489-g9394:

* 275 new l10n messages at lines:

41, 46, 55, 67, 74, 79, 89, 93, 97, 101, 106, 110, 142, 148, 155,
162, 169, 176, 183, 190, 197, 204, 286, 290, 301, 308, 313, 318, 327,
411, 415, 420, 425, 947, 952, 957, 962, 967, 972, 977, 982, 987, 992,
1002, 1007, 1011, 1016, 1021, 1026, 1031, 1036, 1042, 1047, 1052, ...

* 15 removed l10n messages from lines:

803, 821, 838, 843, 912, 1356, 1377, 1454, 1458, 1464, 1471, 1517,
1819, 1824, 1898

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

Merge branch 'maint'Jiang Xin Tue, 8 May 2012 08:03:04 +0000 (16:03 +0800)

Merge branch 'maint'

No file is changed by this merge.

* maint:
l10n: Update git.pot (1 new messages)

l10n: Update git.pot (1 new messages)Jiang Xin Tue, 8 May 2012 07:49:57 +0000 (15:49 +0800)

l10n: Update git.pot (1 new messages)

Changes of po/git.pot from v1.7.10.1 to v1.7.10.1-36-g42325:

* 1 new l10n message at line: 1761

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

index-pack: disable threading if NO_PREAD is definedNguyễn Thái Ngọc Duy Sun, 6 May 2012 12:31:56 +0000 (19:31 +0700)

index-pack: disable threading if NO_PREAD is defined

NO_PREAD simulates pread() as a sequence of seek, read, seek in
compat/pread.c. The simulation is not thread-safe because another
thread could move the file offset away in the middle of pread
operation. Do not allow threading in that case.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

index-pack: support multithreaded delta resolvingNguyễn Thái Ngọc Duy Sun, 6 May 2012 12:31:55 +0000 (19:31 +0700)

index-pack: support multithreaded delta resolving

This puts delta resolving on each base on a separate thread, one base
cache per thread. Per-thread data is grouped in struct thread_local.
When running with nr_threads == 1, no pthreads calls are made. The
system essentially runs in non-thread mode.

An experiment on a Xeon 24 core machine with git.git shows that
performance does not increase proportional to the number of cores. So
by default, we use maximum 3 cores. Some numbers with --threads from 1
to 16:

1..4
real 0m8.003s 0m5.307s 0m4.321s 0m3.830s
user 0m7.720s 0m8.009s 0m8.133s 0m8.305s
sys 0m0.224s 0m0.372s 0m0.360s 0m0.360s

5..8
real 0m3.727s 0m3.604s 0m3.332s 0m3.369s
user 0m9.361s 0m9.817s 0m9.525s 0m9.769s
sys 0m0.584s 0m0.624s 0m0.540s 0m0.560s

9..12
real 0m3.036s 0m3.139s 0m3.177s 0m2.961s
user 0m8.977s 0m10.205s 0m9.737s 0m10.073s
sys 0m0.596s 0m0.680s 0m0.684s 0m0.680s

13..16
real 0m2.985s 0m2.894s 0m2.975s 0m2.971s
user 0m9.825s 0m10.573s 0m10.833s 0m11.361s
sys 0m0.788s 0m0.732s 0m0.904s 0m1.016s

On an Intel dual core and linux-2.6.git

1..4
real 2m37.789s 2m7.963s 2m0.920s 1m58.213s
user 2m28.415s 2m52.325s 2m50.176s 2m41.187s
sys 0m7.808s 0m11.181s 0m11.224s 0m10.731s

Thanks Ramsay Jones for troubleshooting and support on MinGW platform.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

index-pack: restructure pack processing into three... Nguyễn Thái Ngọc Duy Sun, 6 May 2012 12:31:54 +0000 (19:31 +0700)

index-pack: restructure pack processing into three main functions

The second pass in parse_pack_objects() are split into
resolve_deltas(). The final phase, fixing thin pack or just seal the
pack, is now in conclude_pack() function. Main pack processing is now
a sequence of these functions:

- parse_pack_objects() reads through the input pack
- resolve_deltas() makes sure all deltas can be resolved
- conclude_pack() seals the output pack
- write_idx_file() writes companion index file
- final() moves the pack/index to proper place

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/git-config: describe and clarify "--local... Florian Achleitner Sat, 5 May 2012 10:03:52 +0000 (12:03 +0200)

Documentation/git-config: describe and clarify "--local <file>" option

Describe config file selection in git-config. While the usage message of
git-config shows --local, the documentation page did not contain anything
about that.

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

reflog-walk: tell explicit --date=default from not... Junio C Hamano Mon, 7 May 2012 21:11:32 +0000 (14:11 -0700)

reflog-walk: tell explicit --date=default from not having --date at all

Introduction of opt->date_mode_explicit was a step in the right direction,
but lost that crucial bit at the very end of the callchain, and the callee
could not tell an explicitly specified "I want *date* but in default format"
from the built-in default value passed when there was no --date specified.

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

The ninth batch of topics graduated to 'master'Junio C Hamano Mon, 7 May 2012 20:39:38 +0000 (13:39 -0700)

The ninth batch of topics graduated to 'master'

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

Merge branch 'nh/empty-rebase'Junio C Hamano Mon, 7 May 2012 20:29:16 +0000 (13:29 -0700)

Merge branch 'nh/empty-rebase'

By Neil Horman
* nh/empty-rebase:
git cherry-pick: do not dereference a potential NULL pointer

Merge branch 'zj/diff-empty-chmod'Junio C Hamano Mon, 7 May 2012 20:29:08 +0000 (13:29 -0700)

Merge branch 'zj/diff-empty-chmod'

"git diff --stat" used to fully count a binary file with modified
execution bits whose contents is unmodified, which was not right.

By Zbigniew Jędrzejewski-Szmek (4) and Johannes Sixt (1)
* zj/diff-empty-chmod:
t4006: Windows do not have /dev/zero
diff --stat: do not run diff on indentical files
diff --stat: report mode-only changes for binary files like text files
tests: check --[short]stat output after chmod
test: modernize style of t4006

Conflicts:
diff.c

Merge branch 'jk/maint-tformat-with-z'Junio C Hamano Mon, 7 May 2012 20:29:01 +0000 (13:29 -0700)

Merge branch 'jk/maint-tformat-with-z'

"log -z --pretty=tformat:..." does not terminate each record with NUL
and this is a beginning of an attempt to fix it. It still is not right
but the patch does not make externally observable behaviour worse.

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

Merge branch 'th/difftool-diffall'Junio C Hamano Mon, 7 May 2012 20:28:44 +0000 (13:28 -0700)

Merge branch 'th/difftool-diffall'

Rolls the two-directory-diff logic from diffall script (in contrib/) into
"git difftool" framework.

By Tim Henigan
* th/difftool-diffall:
difftool: print list of valid tools with '--tool-help'
difftool: teach difftool to handle directory diffs
difftool: eliminate setup_environment function
difftool: stop appending '.exe' to git
difftool: remove explicit change of PATH
difftool: exit(0) when usage is printed
difftool: add '--no-gui' option
difftool: parse options using Getopt::Long

Sync with maintJunio C Hamano Mon, 7 May 2012 20:28:34 +0000 (13:28 -0700)

Sync with maint

Start preparing for 1.7.10.2Junio C Hamano Mon, 7 May 2012 20:24:13 +0000 (13:24 -0700)

Start preparing for 1.7.10.2

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

Merge branch 'jk/maint-gitweb-test-use-sane-perl' into... Junio C Hamano Mon, 7 May 2012 20:17:31 +0000 (13:17 -0700)

Merge branch 'jk/maint-gitweb-test-use-sane-perl' into maint

When using a Perl script on a system where "perl" found on user's $PATH
could be ancient or otherwise broken, we allow builders to specify the
path to a good copy of Perl with $PERL_PATH. The gitweb test forgot to
use that Perl when running its test.

By Jeff King (1) and Zbigniew Jędrzejewski-Szmek (1)
* jk/maint-gitweb-test-use-sane-perl:
Consistently use perl from /usr/bin/ for scripts
t/gitweb-lib: use $PERL_PATH to run gitweb