git
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 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 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>
12 years agogit p4 doc: fix formatting
Pete Wyckoff [Sun, 6 May 2012 15:58:38 +0000 (11:58 -0400)] 
git p4 doc: fix formatting

Attach example sections to previous level of indenting.

Fix a trailing ::

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agocheckout (detached): truncate list of orphaned commits at the new HEAD
Johannes Sixt [Fri, 4 May 2012 18:14:48 +0000 (20:14 +0200)] 
checkout (detached): truncate list of orphaned commits at the new HEAD

When git checkout switches from a detached HEAD to any other commit, then
all orphaned commits were listed in a warning:

  Warning: you are leaving 2 commits behind...:

    a5e5396 another fixup
    6aa1af6 fixup foo

But if the new commit is actually one from this list (6aa1af6 in this
example), then the list in the warning can be truncated at the new HEAD,
because history beginning at HEAD is not "left behind". This makes it so.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot2020-checkout-detach: check for the number of orphaned commits
Johannes Sixt [Fri, 4 May 2012 18:13:14 +0000 (20:13 +0200)] 
t2020-checkout-detach: check for the number of orphaned commits

Change the test that orphans commits to leave 2 commits behind. Add a test
that leaves only one of these behind.

The next patch will truncate the list of orphaned commits earlier. With
this preliminary update, its effect will become more obvious.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMakefile: NO_INSTALL_HARDLINKS
Junio C Hamano [Wed, 2 May 2012 22:12:10 +0000 (15:12 -0700)] 
Makefile: NO_INSTALL_HARDLINKS

Your filesystem may support hardlinks, but you may choose not to use them
when installing git-foo builtins and favor symblic links or copies for
whatever reason.

The installation procedure of git-gui/ directory is not touched with this
patch and git-citool still ends up being a hardlink to git-gui, but it
needs to be addressed separately.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMakefile: keep many variable list sorted
Nguyễn Thái Ngọc Duy [Fri, 4 May 2012 13:52:36 +0000 (20:52 +0700)] 
Makefile: keep many variable list sorted

We tend to keep long lists sorted (extensions are not taken into
account), which helps spot a name easily by eye. Rearrange a few
items so these lists remain sorted.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorefs: fix find_containing_dir() regression
Junio C Hamano [Thu, 3 May 2012 22:12:54 +0000 (15:12 -0700)] 
refs: fix find_containing_dir() regression

The function used to return NULL when asked to find the containing
directory for a ref that does not exist, allowing the caller to
omit iteration altogether. But a misconversion in an earlier change
"refs.c: extract function search_for_subdir()" started returning the
top-level directory entry, forcing callers to walk everything.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agogit cherry-pick: do not dereference a potential NULL pointer
Neil Horman [Thu, 3 May 2012 12:10:22 +0000 (08:10 -0400)] 
git cherry-pick: do not dereference a potential NULL pointer

In the case the pointer could be NULL, the function that gave the caller
the NULL pointer would already have issued an error message, so simply
returning early with an error status without issuing a new message is
sufficient.  The same for parse_commit() that will show necessary error
message when the argument is not NULL, and will return error silently
when the argument is NULL.

Noticed-by: Michael Mueller
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'maint'
Junio C Hamano [Thu, 3 May 2012 22:37:28 +0000 (15:37 -0700)] 
Merge branch 'maint'

* maint:

12 years agoMerge branch 'jc/merge-reduce-parents-early' into maint
Junio C Hamano [Thu, 3 May 2012 22:36:15 +0000 (15:36 -0700)] 
Merge branch 'jc/merge-reduce-parents-early' into maint

Octopus merge strategy did not reduce heads that are recorded in the final
commit correctly.

By Junio C Hamano (4) and Michał Kiedrowicz (1)
* jc/merge-reduce-parents-early:
  fmt-merge-msg: discard needless merge parents
  builtin/merge.c: reduce parents early
  builtin/merge.c: collect other parents early
  builtin/merge.c: remove "remoteheads" global variable
  merge tests: octopus with redundant parents

12 years agoMerge branch 'cb/cherry-pick-rev-path-confusion' into maint
Junio C Hamano [Thu, 3 May 2012 22:35:19 +0000 (15:35 -0700)] 
Merge branch 'cb/cherry-pick-rev-path-confusion' into maint

The command line parser choked "git cherry-pick $name" when $name can be
both revision name and a pathname, even though $name can never be a path
in the context of the command.

By Clemens Buchacher
* cb/cherry-pick-rev-path-confusion:
  cherry-pick: do not expect file arguments

12 years agoMerge branch 'cb/http-multi-curl-auth' into maint
Junio C Hamano [Thu, 3 May 2012 22:34:51 +0000 (15:34 -0700)] 
Merge branch 'cb/http-multi-curl-auth' into maint

HTTP transport that requires authentication did not work correctly when
multiple connections are used simultaneously.

By Jeff King (3) and Clemens Buchacher (1)
* cb/http-multi-curl-auth:
  http: use newer curl options for setting credentials
  http: clean up leak in init_curl_http_auth
  fix http auth with multiple curl handles
  http auth fails with multiple curl handles

12 years agoMerge branch 'mb/fetch-call-a-non-branch-a-ref' into maint
Junio C Hamano [Thu, 3 May 2012 22:29:25 +0000 (15:29 -0700)] 
Merge branch 'mb/fetch-call-a-non-branch-a-ref' into maint

The report from "git fetch" said "new branch" even for a non branch ref.

By Marc Branchaud
* mb/fetch-call-a-non-branch-a-ref:
  fetch: describe new refs based on where it came from
  fetch: Give remote_ref to update_local_ref() as well

12 years agoMerge branch 'rl/maint-stash-i18n-save-error' into maint
Junio C Hamano [Thu, 3 May 2012 22:24:22 +0000 (15:24 -0700)] 
Merge branch 'rl/maint-stash-i18n-save-error' into maint

i18n marking for an error message for "git stash --notavalidoption"
was incorrect.

By Ross Lagerwall
* rl/maint-stash-i18n-save-error:
  stash: use eval_gettextln correctly

12 years agoMerge branch 'jm/maint-strncpy-diff-no-index' into maint
Junio C Hamano [Thu, 3 May 2012 22:23:17 +0000 (15:23 -0700)] 
Merge branch 'jm/maint-strncpy-diff-no-index' into maint

"diff --no-index" codepath had a few places that used fixed-size
buffer and truncated paths that are too long.

By Jim Meyering (1) and Junio C Hamano (1)
* jm/maint-strncpy-diff-no-index:
  diff --no-index: use strbuf for temporary pathnames
  diff: avoid stack-buffer-read-overrun for very long name

12 years agoMerge branch 'jk/maint-push-progress'
Junio C Hamano [Thu, 3 May 2012 22:13:55 +0000 (15:13 -0700)] 
Merge branch 'jk/maint-push-progress'

"git push" over smart-http lost progress output and this resurrects it.

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 'nd/columns'
Junio C Hamano [Thu, 3 May 2012 22:13:31 +0000 (15:13 -0700)] 
Merge branch 'nd/columns'

A couple of commands learn --column option to produce columnar output.

By Nguyễn Thái Ngọc Duy (9) and Zbigniew Jędrzejewski-Szmek (1)
* nd/columns:
  tag: add --column
  column: support piping stdout to external git-column process
  status: add --column
  branch: add --column
  help: reuse print_columns() for help -a
  column: add dense layout support
  t9002: work around shells that are unable to set COLUMNS to 1
  column: add columnar layout
  Stop starting pager recursively
  Add column layout skeleton and git-column

12 years agorefs: read loose references lazily
Michael Haggerty [Thu, 26 Apr 2012 22:27:07 +0000 (00:27 +0200)] 
refs: read loose references lazily

Instead of reading the whole directory of loose references the first
time any are needed, only read them on demand, one directory at a
time.

Use a new ref_entry flag bit REF_INCOMPLETE to indicate that the entry
represents a REF_DIR that hasn't been read yet.  Whenever any entries
from such a directory are needed, read all of the loose references
from that directory.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoread_loose_refs(): eliminate ref_cache argument
Michael Haggerty [Thu, 26 Apr 2012 22:27:06 +0000 (00:27 +0200)] 
read_loose_refs(): eliminate ref_cache argument

The ref_cache can now be read from the ref_dir.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agostruct ref_dir: store a reference to the enclosing ref_cache
Michael Haggerty [Thu, 26 Apr 2012 22:27:05 +0000 (00:27 +0200)] 
struct ref_dir: store a reference to the enclosing ref_cache

This means that a directory ref_entry contains all of the information
needed by read_loose_refs().

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agosearch_for_subdir(): return (ref_dir *) instead of (ref_entry *)
Michael Haggerty [Thu, 26 Apr 2012 22:27:04 +0000 (00:27 +0200)] 
search_for_subdir(): return (ref_dir *) instead of (ref_entry *)

That is what all the callers want, so give it to them.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoget_ref_dir(): add function for getting a ref_dir from a ref_entry
Michael Haggerty [Thu, 26 Apr 2012 22:27:03 +0000 (00:27 +0200)] 
get_ref_dir(): add function for getting a ref_dir from a ref_entry

Convert all accesses of a ref_dir within a ref_entry to use this
function.  This function will later be responsible for reading loose
references from disk on demand.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoread_loose_refs(): rename function from get_ref_dir()
Michael Haggerty [Thu, 26 Apr 2012 22:27:02 +0000 (00:27 +0200)] 
read_loose_refs(): rename function from get_ref_dir()

The new name better describes the function's purpose, and also makes
the old name available for a more suitable purpose.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorefs: wrap top-level ref_dirs in ref_entries
Michael Haggerty [Thu, 26 Apr 2012 22:27:01 +0000 (00:27 +0200)] 
refs: wrap top-level ref_dirs in ref_entries

Make it turtles all the way down.  This affects the loose and packed
fields of ref_cache instances.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agofind_containing_dir(): use strbuf in implementation of this function
Michael Haggerty [Thu, 26 Apr 2012 22:27:00 +0000 (00:27 +0200)] 
find_containing_dir(): use strbuf in implementation of this function

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agobisect: copy filename string obtained from git_path()
Michael Haggerty [Thu, 26 Apr 2012 22:26:59 +0000 (00:26 +0200)] 
bisect: copy filename string obtained from git_path()

Prevent the string from being overwritten by other callers of
git_path() and friends before we are done using it.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodo_for_each_reflog(): use a strbuf to hold logfile name
Michael Haggerty [Tue, 24 Apr 2012 22:45:14 +0000 (00:45 +0200)] 
do_for_each_reflog(): use a strbuf to hold logfile name

This simplifies the bookkeeping and allows an (artificial) restriction
on refname component length to be removed.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodo_for_each_reflog(): return early on error
Michael Haggerty [Tue, 24 Apr 2012 22:45:13 +0000 (00:45 +0200)] 
do_for_each_reflog(): return early on error

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoget_ref_dir(): take the containing directory as argument
Michael Haggerty [Tue, 24 Apr 2012 22:45:12 +0000 (00:45 +0200)] 
get_ref_dir(): take the containing directory as argument

Previously, the "dir" argument to get_ref_dir() was a pointer to the
top-level ref_dir.  Change the function to expect a pointer to the
ref_dir corresponding to dirname.  This allows entries to be added
directly to dir, without having to recurse through the reference trie
each time (i.e., we can use add_entry_to_dir() instead of add_ref()).

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agorefs.c: extract function search_for_subdir()
Michael Haggerty [Tue, 24 Apr 2012 22:45:11 +0000 (00:45 +0200)] 
refs.c: extract function search_for_subdir()

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoget_ref_dir(): require that the dirname argument ends in '/'
Michael Haggerty [Tue, 24 Apr 2012 22:45:10 +0000 (00:45 +0200)] 
get_ref_dir(): require that the dirname argument ends in '/'

This removes some conditional code and makes it consistent with the
way that direntry names are stored.  Please note that this function is
never used on the top-level .git directory; it is always called for
directories at level .git/refs or deeper.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoget_ref_dir(): rename "base" parameter to "dirname"
Michael Haggerty [Tue, 24 Apr 2012 22:45:09 +0000 (00:45 +0200)] 
get_ref_dir(): rename "base" parameter to "dirname"

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoget_ref_dir(): use a strbuf to hold refname
Michael Haggerty [Tue, 24 Apr 2012 22:45:08 +0000 (00:45 +0200)] 
get_ref_dir(): use a strbuf to hold refname

This simplifies the bookkeeping and allows an (artificial) restriction
on refname component length to be removed.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot5000: rationalize unzip tests
René Scharfe [Thu, 3 May 2012 08:52:16 +0000 (10:52 +0200)] 
t5000: rationalize unzip tests

Factor out a function for checking the contents of ZIP archives.  It
extracts their contents and compares them to the original files.  This
removes some duplicate code.  Tests that just create archives can lose
their UNZIP prerequisite.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive-zip: streaming for deflated files
René Scharfe [Thu, 3 May 2012 01:51:08 +0000 (08:51 +0700)] 
archive-zip: streaming for deflated files

After an entry has been streamed out, its CRC and sizes are written as
part of a data descriptor.

For simplicity, we make the buffer for the compressed chunks twice as
big as for the uncompressed ones, to be sure the result fit in even
if deflate makes them bigger.

t5000 verifies output. t1050 makes sure the command always respects
core.bigfilethreshold

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive-zip: streaming for stored files
René Scharfe [Thu, 3 May 2012 01:51:07 +0000 (08:51 +0700)] 
archive-zip: streaming for stored files

Write a data descriptor containing the CRC of the entry and its sizes
after streaming it out.  For simplicity, do that only if we're storing
files (option -0) for now.

t5000 verifies output. t1050 makes sure the command always respects
core.bigfilethreshold

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive-zip: factor out helpers for writing sizes and CRC
René Scharfe [Thu, 3 May 2012 01:51:06 +0000 (08:51 +0700)] 
archive-zip: factor out helpers for writing sizes and CRC

We're going to reuse them soon for streaming.  Also, update the ZIP
directory only at the very end, which will also make streaming easier.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive-zip: remove uncompressed_size
René Scharfe [Thu, 3 May 2012 01:51:05 +0000 (08:51 +0700)] 
archive-zip: remove uncompressed_size

We only need size and compressed_size.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive-tar: stream large blobs to tar file
Nguyễn Thái Ngọc Duy [Thu, 3 May 2012 01:51:04 +0000 (08:51 +0700)] 
archive-tar: stream large blobs to tar file

t5000 verifies output while t1050 makes sure the command always
respects core.bigfilethreshold

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive: delegate blob reading to backend
Nguyễn Thái Ngọc Duy [Thu, 3 May 2012 01:51:03 +0000 (08:51 +0700)] 
archive: delegate blob reading to backend

archive-tar.c and archive-zip.c now perform conversion check, with
help of sha1_file_to_archive() from archive.c

This gives backends more freedom in dealing with (streaming) large
blobs.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive-tar: unindent write_tar_entry by one level
Nguyễn Thái Ngọc Duy [Thu, 3 May 2012 01:51:02 +0000 (08:51 +0700)] 
archive-tar: unindent write_tar_entry by one level

It's used to be

if (!sha1) {
  ...
} else if (!path) {
  ...
} else {
  ...
}

Now that the first two blocks are no-op. We can remove the if/else
skeleton and put the else block back by one indent level.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoarchive-tar: turn write_tar_entry into blob-writing only
Nguyễn Thái Ngọc Duy [Thu, 3 May 2012 01:51:01 +0000 (08:51 +0700)] 
archive-tar: turn write_tar_entry into blob-writing only

Before this patch write_tar_entry() can:

 - write global header
   by write_global_extended_header() calling write_tar_entry with
   with both sha1 and path == NULL

 - write extended header for symlinks, by write_tar_entry() calling
   itself with sha1 != NULL and path == NULL

 - write a normal blob. In this case both sha1 and path are valid.

After this patch, the first two call sites are modified to write the
header without calling write_tar_entry(). The function is now for
writing blobs only. This simplifies handling when write_tar_entry()
learns about large blobs.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agostreaming: void pointer instead of char pointer
René Scharfe [Thu, 3 May 2012 01:51:00 +0000 (08:51 +0700)] 
streaming: void pointer instead of char pointer

Allow any kind of buffer to be fed to read_istream() without an explicit
cast by making it's buf argument a void pointer.  It's about arbitrary
data, not only characters.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodoc/config: fix inline literals
Jeff King [Wed, 2 May 2012 23:43:52 +0000 (19:43 -0400)] 
doc/config: fix inline literals

Since commit 6cf378f, asciidoc backticks are now inline
literals; therefore quoting {tilde} inside them is wrong
(this instance was missed in 6cf378f because it happened on
a parallel line of development).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoThe eighth batch of topics graduated to 'master'
Junio C Hamano [Wed, 2 May 2012 21:11:36 +0000 (14:11 -0700)] 
The eighth batch of topics graduated to 'master'

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'master' of git://git.bogomips.org/git-svn
Junio C Hamano [Wed, 2 May 2012 21:38:29 +0000 (14:38 -0700)] 
Merge branch 'master' of git://git.bogomips.org/git-svn

via Eric Wong
* 'master' of git://git.bogomips.org/git-svn:
  git-svn: introduce SVN version comparison function

12 years agoMerge branch 'tr/xdiff-fast-hash'
Junio C Hamano [Wed, 2 May 2012 20:54:58 +0000 (13:54 -0700)] 
Merge branch 'tr/xdiff-fast-hash'

Use word-at-a-time comparison to find end of line or NUL (end of buffer),
borrowed from the linux-kernel discussion.

By Thomas Rast
* tr/xdiff-fast-hash:
  xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of __WORDSIZE
  xdiff: load full words in the inner loop of xdl_hash_record

12 years agoMerge branch 'jk/maint-gitweb-test-use-sane-perl'
Junio C Hamano [Wed, 2 May 2012 20:53:40 +0000 (13:53 -0700)] 
Merge branch 'jk/maint-gitweb-test-use-sane-perl'

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 'pw/message-cleanup'
Junio C Hamano [Wed, 2 May 2012 20:53:35 +0000 (13:53 -0700)] 
Merge branch 'pw/message-cleanup'

Many error/warning messages had extra trailing newlines that are
unnecessary.

By Pete Wyckoff
* pw/message-cleanup:
  remove blank filename in error message
  remove superfluous newlines in error messages

12 years agoMerge branch 'zj/diff-stat-smaller-num-columns'
Junio C Hamano [Wed, 2 May 2012 20:53:28 +0000 (13:53 -0700)] 
Merge branch 'zj/diff-stat-smaller-num-columns'

Spend only minimum number of columns necessary to show the number of lines
in the output from "diff --stat", instead of always allocating 4 columns
even when showing changes that are much smaller than 1000 lines.

By Zbigniew Jędrzejewski-Szmek
* zj/diff-stat-smaller-num-columns:
  diff --stat: use less columns for change counts

12 years agoMerge branch 'pw/p4-various'
Junio C Hamano [Wed, 2 May 2012 20:53:23 +0000 (13:53 -0700)] 
Merge branch 'pw/p4-various'

Miscellaneous updates to "git p4".

By Pete Wyckoff
* pw/p4-various:
  git p4: submit files with wildcards
  git p4: fix writable file after rename or copy
  git p4: test submit
  git p4: bring back files in deleted client directory

12 years agoMerge branch 'jc/rerere-train'
Junio C Hamano [Wed, 2 May 2012 20:53:15 +0000 (13:53 -0700)] 
Merge branch 'jc/rerere-train'

A script written long time ago proved to be useful this week for me ;-)
with a minor tweak.

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

12 years agoMerge branch 'ab/i18n'
Junio C Hamano [Wed, 2 May 2012 20:53:02 +0000 (13:53 -0700)] 
Merge branch 'ab/i18n'

Fix some constructs that build messages meant for i18n by concatenating
pieces of strings.

By Ævar Arnfjörð Bjarmason
* ab/i18n:
  git-commit: remove lego in i18n messages
  git-commit: remove lego in i18n messages
  git-branch: remove lego in i18n messages

12 years agoMerge branch 'lp/diffstat-with-graph'
Junio C Hamano [Wed, 2 May 2012 20:51:59 +0000 (13:51 -0700)] 
Merge branch 'lp/diffstat-with-graph'

"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 (2)
* lp/diffstat-with-graph:
  t4052: work around shells unable to set COLUMNS to 1
  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 'zj/mksh-columns-breakage'
Junio C Hamano [Wed, 2 May 2012 20:51:53 +0000 (13:51 -0700)] 
Merge branch 'zj/mksh-columns-breakage'

A broken shell may not let us set an environment value to an arbitrary
value, interfering with some of the tests. Introduce a test prerequisite
so that we can skip some tests on such a platform.

By Zbigniew Jędrzejewski-Szmek
* zj/mksh-columns-breakage:
  test-lib: skip test with COLUMNS=1 under mksh

12 years agoMerge branch 'jk/doc-asciidoc-inline-literal'
Junio C Hamano [Wed, 2 May 2012 20:51:45 +0000 (13:51 -0700)] 
Merge branch 'jk/doc-asciidoc-inline-literal'

Our documentation was written for an ancient version of AsciiDoc,
making the source not very readable.

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

12 years agoMerge branch 'nd/i18n'
Junio C Hamano [Wed, 2 May 2012 20:51:35 +0000 (13:51 -0700)] 
Merge branch 'nd/i18n'

More message strings marked for i18n.

By Nguyễn Thái Ngọc Duy (10) and Jonathan Nieder (1)
* nd/i18n:
  help: replace underlining "help -a" headers using hyphens with a blank line
  i18n: bundle: mark strings for translation
  i18n: index-pack: mark strings for translation
  i18n: apply: update say_patch_name to give translators complete sentence
  i18n: apply: mark strings for translation
  i18n: remote: mark strings for translation
  i18n: make warn_dangling_symref() automatically append \n
  i18n: help: mark strings for translation
  i18n: mark relative dates for translation
  strbuf: convenience format functions with \n automatically appended
  Makefile: feed all header files to xgettext

12 years agoMerge branch 'mm/simple-push'
Junio C Hamano [Wed, 2 May 2012 20:51:24 +0000 (13:51 -0700)] 
Merge branch 'mm/simple-push'

New users tend to work on one branch at a time and push the result
out. The current and upstream modes of push is a more suitable default
mode than matching mode for these people, but neither is surprise-free
depending on how the project is set up. Introduce a "simple" mode that
is a subset of "upstream" but only works when the branch is named the same
between the remote and local repositories.

The plan is to make it the new default when push.default is not
configured.

By Matthieu Moy (5) and others
* mm/simple-push:
  push.default doc: explain simple after upstream
  push: document the future default change for push.default (matching -> simple)
  t5570: use explicit push refspec
  push: introduce new push.default mode "simple"
  t5528-push-default.sh: add helper functions
  Undocument deprecated alias 'push.default=tracking'
  Documentation: explain push.default option a bit more

12 years agoMerge branch 'jc/index-v4'
Junio C Hamano [Wed, 2 May 2012 20:51:13 +0000 (13:51 -0700)] 
Merge branch 'jc/index-v4'

Trivially shrinks the on-disk size of the index file to save both I/O and
checksum overhead.

The topic should give a solid base to build on further updates, with the
code refactoring in its earlier parts, and the backward compatibility
mechanism in its later parts.

* jc/index-v4:
  index-v4: document the entry format
  unpack-trees: preserve the index file version of original
  update-index: upgrade/downgrade on-disk index version
  read-cache.c: write prefix-compressed names in the index
  read-cache.c: read prefix-compressed names in index on-disk version v4
  read-cache.c: move code to copy incore to ondisk cache to a helper function
  read-cache.c: move code to copy ondisk to incore cache to a helper function
  read-cache.c: report the header version we do not understand
  read-cache.c: make create_from_disk() report number of bytes it consumed
  read-cache.c: allow unaligned mapping of the index file
  cache.h: hide on-disk index details
  varint: make it available outside the context of pack

12 years agogit-svn: introduce SVN version comparison function
Junio C Hamano [Wed, 2 May 2012 19:53:50 +0000 (19:53 +0000)] 
git-svn: introduce SVN version comparison function

With double-digit version components in SVN::Core::VERSION,
a naive string comparison is no longer sufficient and
a numeric comparison is required for correct results.

This fixes a regression introduced in
commit 082afee621aeb2d3746c8ae290af98823f981f34
("git-svn: use platform specific auth providers")
where SVN version "1.6.6" was incorrectly assumed to
be newer than the required "1.6.12" version.

[mk: fix namespace references]
[ew: commit message]

Tested-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agot4006: Windows do not have /dev/zero
Johannes Sixt [Wed, 2 May 2012 07:36:44 +0000 (09:36 +0200)] 
t4006: Windows do not have /dev/zero

We only need to have a file with _some_ binary contents; be nice to
our Windows friends and avoid using /dev/zero

Signed-off-by: Johannes Sixt <j.sixt@viscovery.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodiff --stat: do not run diff on indentical files
Zbigniew Jędrzejewski-Szmek [Tue, 1 May 2012 17:10:15 +0000 (19:10 +0200)] 
diff --stat: do not run diff on indentical files

If two objects are known to be equal, there is no point running the diff.

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agodiff --stat: report mode-only changes for binary files like text files
Zbigniew Jędrzejewski-Szmek [Tue, 1 May 2012 17:10:14 +0000 (19:10 +0200)] 
diff --stat: report mode-only changes for binary files like text files

Mode-only changes to binary files without content change were reported as
if they were rewritten, but text files in the same situation were reported
as "unchanged". Let's treat binary files like text files here, and simply
say that they are unchanged.

Output of --shortstat is modified in the same way.

Reported-by: Martin Mareš <mj@ucw.cz>
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'master' of https://github.com/git-l10n/git-po
Junio C Hamano [Wed, 2 May 2012 04:22:35 +0000 (21:22 -0700)] 
Merge branch 'master' of https://github.com/git-l10n/git-po

By Jiang Xin (2) and Ralf Thielow (1)
via Jiang Xin
* 'master' of https://github.com/git-l10n/git-po:
  l10n: Update German translation
  l10n: Update Simplified Chinese translation
  l10n: Update git.pot (33 new, 24 deleted messages)

12 years agoSync with v1.7.10.1
Junio C Hamano [Wed, 2 May 2012 04:20:46 +0000 (21:20 -0700)] 
Sync with v1.7.10.1

12 years agoGit 1.7.10.1 v1.7.10.1
Junio C Hamano [Wed, 2 May 2012 04:18:44 +0000 (21:18 -0700)] 
Git 1.7.10.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 years agoMerge branch 'pw/fast-import-dataref-parsing' into maint
Junio C Hamano [Wed, 2 May 2012 04:12:46 +0000 (21:12 -0700)] 
Merge branch 'pw/fast-import-dataref-parsing' into maint

The parser in "fast-import" did not diagnose ":9" style references that is
not followed by required SP/LF as an error.

By Pete Wyckoff
* pw/fast-import-dataref-parsing:
  fast-import: tighten parsing of datarefs

12 years agoMerge branch 'it/fetch-pack-many-refs' into maint
Junio C Hamano [Wed, 2 May 2012 04:12:36 +0000 (21:12 -0700)] 
Merge branch 'it/fetch-pack-many-refs' into maint

When "git fetch" encounters repositories with too many references, the
command line of "fetch-pack" that is run by a helper e.g. remote-curl, may
fail to hold all of them. Now such an internal invocation can feed the
references through the standard input of "fetch-pack".

By Ivan Todoroski
* it/fetch-pack-many-refs:
  remote-curl: main test case for the OS command line overflow
  fetch-pack: test cases for the new --stdin option
  remote-curl: send the refs to fetch-pack on stdin
  fetch-pack: new --stdin option to read refs from stdin

Conflicts:
t/t5500-fetch-pack.sh

12 years agoMerge branch 'jl/maint-submodule-recurse-fetch' into maint
Junio C Hamano [Wed, 2 May 2012 04:12:25 +0000 (21:12 -0700)] 
Merge branch 'jl/maint-submodule-recurse-fetch' into maint

"git fetch" that recurses into submodules on demand did not check if it
needs to go into submodules when non branches (most notably, tags) are
fetched.

By Jens Lehmann
* jl/maint-submodule-recurse-fetch:
  submodules: recursive fetch also checks new tags for submodule commits

12 years agoMerge branch 'jc/maint-blame-minimal' into maint
Junio C Hamano [Wed, 2 May 2012 04:11:49 +0000 (21:11 -0700)] 
Merge branch 'jc/maint-blame-minimal' into maint

"git blame" started missing quite a few changes from the origin since we
stopped using the diff minimalization by default in v1.7.2 era.

Teach "--minimal" option to "git blame" to work around this regression.

* jc/maint-blame-minimal:
  blame: accept --need-minimal

12 years agoMerge branch 'lp/maint-diff-three-dash-with-graph' into maint
Junio C Hamano [Wed, 2 May 2012 04:11:40 +0000 (21:11 -0700)] 
Merge branch 'lp/maint-diff-three-dash-with-graph' into maint

"log -p --graph" used with "--stat" had a few formatting error.

By Lucian Poston
* lp/maint-diff-three-dash-with-graph:
  t4202: add test for "log --graph --stat -p" separator lines
  log --graph: fix break in graph lines
  log --graph --stat: three-dash separator should come after graph lines