git.git
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 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 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 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>
12 years agoMerge branch 'mm/include-userpath' into maint
Junio 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

12 years agoMerge branch 'cc/fix-missing-va-end-in-revert' into maint
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

12 years agoMerge branch 'bw/test-fix-grep-gnuism' into maint
Junio 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

12 years agoMerge branch 'jk/http-backend-keep-committer-ident-env' into maint
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

12 years agoMerge branch 'nl/rebase-i-cheat-sheet' into maint
Junio 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

12 years agoMerge branch 'bw/submodule-sed-solaris' into maint
Junio 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

12 years agoMerge branch 'jk/maint-push-progress' into maint
Junio 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)

12 years agoMerge branch 'jc/rerere-train' into maint
Junio 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

12 years agoMerge branch 'lp/diffstat-with-graph' into maint
Junio 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

12 years agoMerge branch 'maint' into master
Ralf 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

12 years agocheckout: do not corrupt HEAD on empty repo
Erik 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>
12 years agoapply: remove lego in i18n string in gitdiff_verify_name
Nguyễ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>
12 years agol10n: de.po: translate one new message
Ralf 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>
12 years agol10n: 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>
12 years agol10n: de.po: collection of improvements
Ralf 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>
12 years agol10n: 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>
12 years agol10n: 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>
12 years agol10n: add new members to German translation team
Ralf 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>
12 years agol10n: de.po: collection of suggestions
Thomas 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>
12 years agol10n: 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>
12 years agol10n: de.po: hopefully uncontroversial fixes
Thomas 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>
12 years agol10n: 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>
12 years agoMerge branch 'rs/maint-dir-strbuf' into rs/dir-strbuf
Junio 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

12 years agodir: convert to strbuf
René 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>
12 years agostatus: refactor colopts handling
Jeff 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>
12 years agoMerge branch 'jk/maint-status-porcelain-z-b' into HEAD
Jeff 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

12 years agostatus: respect "-b" for porcelain format
Jeff 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>
12 years agostatus: 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>
12 years agostatus: refactor null_termination option
Jeff 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>
12 years agocommit: refactor option parsing
Jeff 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>
12 years agol10n: 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>
12 years agoMerge 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)

12 years agol10n: 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>
12 years agoindex-pack: disable threading if NO_PREAD is defined
Nguyễ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>
12 years agoindex-pack: support multithreaded delta resolving
Nguyễ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>
12 years agoindex-pack: restructure pack processing into three main functions
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>
12 years agoDocumentation/git-config: describe and clarify "--local <file>" option
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>
12 years agoreflog-walk: tell explicit --date=default from not having --date at all
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>
12 years agoThe 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>
12 years agoMerge 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

12 years agoMerge 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

12 years agoMerge 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

12 years agoMerge 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

12 years agoSync with maint
Junio C Hamano [Mon, 7 May 2012 20:28:34 +0000 (13:28 -0700)]
Sync with maint

12 years agoStart preparing for 1.7.10.2
Junio 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>
12 years agoMerge branch 'jk/maint-gitweb-test-use-sane-perl' into maint
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

12 years agoMerge branch 'js/daemon-test-race-fix' into maint
Junio C Hamano [Mon, 7 May 2012 20:17:17 +0000 (13:17 -0700)]
Merge branch 'js/daemon-test-race-fix' into maint

The test scaffolding for git-daemon was flaky.

By Johannes Sixt
* js/daemon-test-race-fix:
  t5570: fix forwarding of git-daemon messages via cat

12 years agoMerge branch 'jk/maint-config-bogus-section' into maint
Junio C Hamano [Mon, 7 May 2012 20:14:08 +0000 (13:14 -0700)]
Merge branch 'jk/maint-config-bogus-section' into maint

"git config --rename-section" to rename an existing section into a bogus
one did not check the new name.

By Jeff King
* jk/maint-config-bogus-section:
  config: reject bogus section names for --rename-section

12 years agoMerge branch 'pw/t5800-import-race-fix' into maint
Junio C Hamano [Mon, 7 May 2012 20:13:55 +0000 (13:13 -0700)]
Merge branch 'pw/t5800-import-race-fix' into maint

The test scaffolding for fast-import was flaky.

By Pete Wyckoff
* pw/t5800-import-race-fix:
  git-remote-testgit: fix race when spawning fast-import

12 years agoMerge branch 'rt/cherry-revert-conflict-summary' into maint
Junio C Hamano [Mon, 7 May 2012 20:13:43 +0000 (13:13 -0700)]
Merge branch 'rt/cherry-revert-conflict-summary' into maint

In the older days, the header "Conflicts:" in "cherry-pick" and "merge"
was separated by a blank line from the list of paths that follow for
readability, but when "merge" was rewritten in C, we lost it by
mistake. Remove the newline from "cherry-pick" to make them match again.

By Ralf Thielow
* rt/cherry-revert-conflict-summary:
  sequencer: remove additional blank line

12 years agoMerge branch 'cb/maint-report-mount-point-correctly-in-setup' into maint
Junio C Hamano [Mon, 7 May 2012 20:13:03 +0000 (13:13 -0700)]
Merge branch 'cb/maint-report-mount-point-correctly-in-setup' into maint

The filesystem boundary was not correctly reported when .git directory
discovery stopped at a mount point.

By Clemens Buchacher
* cb/maint-report-mount-point-correctly-in-setup:
  properly keep track of current working directory

12 years agoMerge branch 'ef/maint-1.7.6-clone-progress-fix' into ef/maint-clone-progress-fix
Junio C Hamano [Mon, 7 May 2012 19:35:36 +0000 (12:35 -0700)]
Merge branch 'ef/maint-1.7.6-clone-progress-fix' into ef/maint-clone-progress-fix

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

12 years agoclone: fix progress-regression
Erik Faye-Lund [Mon, 7 May 2012 19:23:13 +0000 (21:23 +0200)]
clone: fix progress-regression

In 5bd631b3 ("clone: support multiple levels of verbosity"), the
default behavior to show progress of the implicit checkout in
the clone-command regressed so that progress was only shown if
the verbose-option was specified.

Fix this by making option_verbosity == 0 output progress as well.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogrep.c: remove redundant line of code
Angus Hammond [Sun, 6 May 2012 18:17:15 +0000 (19:17 +0100)]
grep.c: remove redundant line of code

Signed-off-by: Angus Hammond <angusgh@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>