Code

git.git
13 years agoMerge branch 'jk/format-patch-multiline-header'
Junio C Hamano [Sun, 20 Mar 2011 06:24:08 +0000 (23:24 -0700)]
Merge branch 'jk/format-patch-multiline-header'

* jk/format-patch-multiline-header:
  format-patch: rfc2047-encode newlines in headers
  format-patch: wrap long header lines
  strbuf: add fixed-length version of add_wrapped_text

13 years agoMerge branch 'jk/merge-rename-ux'
Junio C Hamano [Sun, 20 Mar 2011 06:23:56 +0000 (23:23 -0700)]
Merge branch 'jk/merge-rename-ux'

* jk/merge-rename-ux:
  pull: propagate --progress to merge
  merge: enable progress reporting for rename detection
  add inexact rename detection progress infrastructure
  commit: stop setting rename limit
  bump rename limit defaults (again)
  merge: improve inexact rename limit warning

13 years agoMerge branch 'maint'
Junio C Hamano [Sun, 20 Mar 2011 06:21:10 +0000 (23:21 -0700)]
Merge branch 'maint'

* maint:
  gitweb: Always call parse_date with timezone parameter
  bisect: explain the rationale behind 125

13 years agogrep: read patterns from stdin with -f -
René Scharfe [Sat, 19 Mar 2011 18:33:15 +0000 (19:33 +0100)]
grep: read patterns from stdin with -f -

Support the well-know convention of reading standard input instead of a
named file if "-" (dash) is specified.  GNU grep does the same.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogitweb: Always call parse_date with timezone parameter
Jakub Narebski [Sat, 19 Mar 2011 22:53:55 +0000 (23:53 +0100)]
gitweb: Always call parse_date with timezone parameter

Timezone is required to correctly set local time, which would be needed
for future 'localtime' feature.

While at it, remove unnecessary call to the function from git_log_body,
as its return value is not used anywhere.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agobisect: explain the rationale behind 125
Junio C Hamano [Sun, 20 Mar 2011 04:46:06 +0000 (21:46 -0700)]
bisect: explain the rationale behind 125

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'maint'
Junio C Hamano [Fri, 18 Mar 2011 23:20:49 +0000 (16:20 -0700)]
Merge branch 'maint'

* maint:
  docs: fix grammar in gitattributes.txt

13 years agodocs: fix grammar in gitattributes.txt
Alexei Sholik [Fri, 18 Mar 2011 13:14:27 +0000 (15:14 +0200)]
docs: fix grammar in gitattributes.txt

[jc: with a fixlet from Marc Branchaud]

Signed-off-by: Alexei Sholik <alcosholik@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoName make_*_path functions more accurately
Carlos Martín Nieto [Thu, 17 Mar 2011 11:26:46 +0000 (12:26 +0100)]
Name make_*_path functions more accurately

Rename the make_*_path functions so it's clearer what they do, in
particlar make clear what the differnce between make_absolute_path and
make_nonrelative_path is by renaming them real_path and absolute_path
respectively. make_relative_path has an understandable name and is
renamed to relative_path to maintain the name convention.

The function calls have been replaced 1-to-1 in their usage.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoRelNotes/1.7.5.txt: typo and language fixes
Michael J Gruber [Wed, 16 Mar 2011 09:23:23 +0000 (10:23 +0100)]
RelNotes/1.7.5.txt: typo and language fixes

Also remove entries for fixes that are already present in the
maintenance track.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'maint'
Junio C Hamano [Wed, 16 Mar 2011 23:59:30 +0000 (16:59 -0700)]
Merge branch 'maint'

* maint:
  Prepare draft release notes to 1.7.4.2
  gitweb: highlight: replace tabs with spaces
  make_absolute_path: return the input path if it points to our buffer
  valgrind: ignore SSE-based strlen invalid reads
  diff --submodule: split into bite-sized pieces
  cherry: split off function to print output lines
  branch: split off function that writes tracking info and commit subject
  standardize brace placement in struct definitions
  compat: make gcc bswap an inline function
  enums: omit trailing comma for portability

Conflicts:
RelNotes

13 years agoPrepare draft release notes to 1.7.4.2
Junio C Hamano [Wed, 16 Mar 2011 23:29:03 +0000 (16:29 -0700)]
Prepare draft release notes to 1.7.4.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'jn/maint-commit-missing-template' into maint
Junio C Hamano [Wed, 16 Mar 2011 23:47:26 +0000 (16:47 -0700)]
Merge branch 'jn/maint-commit-missing-template' into maint

* jn/maint-commit-missing-template:
  commit: error out for missing commit message template

13 years agoMerge branch 'lt/rename-no-extra-copy-detection' into maint
Junio C Hamano [Wed, 16 Mar 2011 23:47:26 +0000 (16:47 -0700)]
Merge branch 'lt/rename-no-extra-copy-detection' into maint

* lt/rename-no-extra-copy-detection:
  diffcore-rename: improve estimate_similarity() heuristics
  diffcore-rename: properly honor the difference between -M and -C
  for_each_hash: allow passing a 'void *data' pointer to callback

13 years agoMerge branch 'jk/diffstat-binary' into maint
Junio C Hamano [Wed, 16 Mar 2011 23:47:26 +0000 (16:47 -0700)]
Merge branch 'jk/diffstat-binary' into maint

* jk/diffstat-binary:
  diff: don't retrieve binary blobs for diffstat
  diff: handle diffstat of rewritten binary files

13 years agoMerge branch 'mg/maint-difftool-vim-readonly' into maint
Junio C Hamano [Wed, 16 Mar 2011 23:47:26 +0000 (16:47 -0700)]
Merge branch 'mg/maint-difftool-vim-readonly' into maint

* mg/maint-difftool-vim-readonly:
  mergetool-lib: call vim in readonly mode for diffs

13 years agoMerge branch 'jn/test-terminal-punt-on-osx-breakage' into maint
Junio C Hamano [Wed, 16 Mar 2011 23:47:26 +0000 (16:47 -0700)]
Merge branch 'jn/test-terminal-punt-on-osx-breakage' into maint

* jn/test-terminal-punt-on-osx-breakage:
  tests: skip terminal output tests on OS X

13 years agoMerge branch 'jk/fail-null-clone' into maint
Junio C Hamano [Wed, 16 Mar 2011 23:47:26 +0000 (16:47 -0700)]
Merge branch 'jk/fail-null-clone' into maint

* jk/fail-null-clone:
  clone: die when trying to clone missing local path

13 years agoMerge branch 'jh/push-default-upstream-configname' into maint
Junio C Hamano [Wed, 16 Mar 2011 23:47:26 +0000 (16:47 -0700)]
Merge branch 'jh/push-default-upstream-configname' into maint

* jh/push-default-upstream-configname:
  push.default: Rename 'tracking' to 'upstream'

13 years agoMerge branch 'mg/placeholders-are-lowercase' into maint
Junio C Hamano [Wed, 16 Mar 2011 23:47:25 +0000 (16:47 -0700)]
Merge branch 'mg/placeholders-are-lowercase' into maint

* mg/placeholders-are-lowercase:
  Make <identifier> lowercase in Documentation
  Make <identifier> lowercase as per CodingGuidelines
  Make <identifier> lowercase as per CodingGuidelines
  Make <identifier> lowercase as per CodingGuidelines
  CodingGuidelines: downcase placeholders in usage messages

13 years agoMerge branch 'mg/patch-id' into maint
Junio C Hamano [Wed, 16 Mar 2011 23:47:25 +0000 (16:47 -0700)]
Merge branch 'mg/patch-id' into maint

* mg/patch-id:
  git-patch-id: do not trip over "no newline" markers
  git-patch-id: test for "no newline" markers

13 years agoMerge branch 'js/maint-merge-use-prepare-commit-msg-hook' into maint
Junio C Hamano [Wed, 16 Mar 2011 23:47:25 +0000 (16:47 -0700)]
Merge branch 'js/maint-merge-use-prepare-commit-msg-hook' into maint

* js/maint-merge-use-prepare-commit-msg-hook:
  merge: honor prepare-commit-msg hook

13 years agogitweb: highlight: replace tabs with spaces
Kevin Cernekee [Wed, 16 Mar 2011 22:34:13 +0000 (15:34 -0700)]
gitweb: highlight: replace tabs with spaces

Consider the following code fragment:

        /*
         * test
         */

vim ":set list" mode shows that the first character on each line is a
tab:

^I/*$
^I * test$
^I */$

By default, the "highlight" program will retain the tabs in the HTML
output:

$ highlight --fragment --syntax c test.c
        <span class="hl com">/*</span>
<span class="hl com">    * test</span>
<span class="hl com">    */</span>

vim list mode:

^I<span class="hl com">/*</span>$
<span class="hl com">^I * test</span>$
<span class="hl com">^I */</span>$

In gitweb, this winds up looking something like:

   1         /*
   2     * test
   3     */

I tried both Firefox and Opera and saw the same behavior.

The desired output is:

   1         /*
   2          * test
   3          */

This can be accomplished by specifying "--replace-tabs=8" on the
highlight command line.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Acked-by: John 'Warthog9' Hawley <warthog9@eaglescrag.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agomake_absolute_path: return the input path if it points to our buffer
Carlos Martín Nieto [Wed, 16 Mar 2011 16:06:17 +0000 (17:06 +0100)]
make_absolute_path: return the input path if it points to our buffer

Some codepaths call make_absolute_path with its own return value as
input. In such a cases, return the path immediately.

This fixes a valgrind-discovered error, whereby we tried to copy a
string onto itself.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agovalgrind: ignore SSE-based strlen invalid reads
Carlos Martín Nieto [Wed, 16 Mar 2011 11:46:01 +0000 (12:46 +0100)]
valgrind: ignore SSE-based strlen invalid reads

Some versions of strlen use SSE to speed up the calculation and load 4
bytes at a time, even if it means reading past the end of the
allocated memory. This read is safe and when the strlen function is
inlined, it is not replaced by valgrind, which reports a
false-possitive.

Tell valgrind to ignore this particular error, as the read is, in
fact, safe. Current upstream-released version 3.6.1 is affected. Some
distributions have this fixed in their latest versions.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agovcs-svn: remove spurious semicolons
Jonathan Nieder [Wed, 16 Mar 2011 07:02:42 +0000 (02:02 -0500)]
vcs-svn: remove spurious semicolons

trp_gen is not a statement or function call, so it should not be
followed with a semicolon.  Noticed by gcc -pedantic.

 vcs-svn/repo_tree.c:41:81: warning: ISO C does not allow extra ';'
  outside of a function [-pedantic]

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agodiff --submodule: split into bite-sized pieces
Jonathan Nieder [Wed, 16 Mar 2011 07:14:11 +0000 (02:14 -0500)]
diff --submodule: split into bite-sized pieces

Introduce two functions:

 - prepare_submodule_summary prepares the revision walker
   to list changes in a submodule.  That is, it:

   * finds merge bases between the commits pointed to this
     path from before ("left") and after ("right") the change;
   * checks whether this is a fast-forward or fast-backward;
   * prepares a revision walk to list commits in the symmetric
     difference between the commits at each endpoint.

   It returns nonzero on error.

 - print_submodule_summary runs the revision walk and saves
   the result to a strbuf in --left-right format.

The goal is just readability.  No functional change intended.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocherry: split off function to print output lines
Jonathan Nieder [Wed, 16 Mar 2011 07:12:48 +0000 (02:12 -0500)]
cherry: split off function to print output lines

Readers uninterested in the details of "git cherry"'s output format
can see

print_commit('-', commit, verbose, abbrev);

and ignore the details.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agobranch: split off function that writes tracking info and commit subject
Jonathan Nieder [Wed, 16 Mar 2011 07:10:14 +0000 (02:10 -0500)]
branch: split off function that writes tracking info and commit subject

Introduce a add_verbose_info function that takes care of adding

 - an abbreviated object name;
 - a summary of the form [ahead x, behind y] of the relationship
   to the corresponding upstream branch;
 - a one line commit subject

for the tip commit of a branch, for use in "git branch -v" output.

No functional change intended.  This just unindents the code a little
and makes it easier to skip on first reading.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agostandardize brace placement in struct definitions
Jonathan Nieder [Wed, 16 Mar 2011 07:08:34 +0000 (02:08 -0500)]
standardize brace placement in struct definitions

In a struct definitions, unlike functions, the prevailing style is for
the opening brace to go on the same line as the struct name, like so:

 struct foo {
int bar;
char *baz;
 };

Indeed, grepping for 'struct [a-z_]* {$' yields about 5 times as many
matches as 'struct [a-z_]*$'.

Linus sayeth:

 Heretic people all over the world have claimed that this inconsistency
 is ...  well ...  inconsistent, but all right-thinking people know that
 (a) K&R are _right_ and (b) K&R are right.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocompat: make gcc bswap an inline function
Jonathan Nieder [Wed, 16 Mar 2011 07:00:49 +0000 (02:00 -0500)]
compat: make gcc bswap an inline function

Without this change, gcc -pedantic warns:

 cache.h: In function 'ce_to_dtype':
 cache.h:270:21: warning: ISO C forbids braced-groups within expressions [-pedantic]

An inline function is more readable anyway.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoenums: omit trailing comma for portability
Jonathan Nieder [Wed, 16 Mar 2011 06:59:10 +0000 (01:59 -0500)]
enums: omit trailing comma for portability

Since v1.7.2-rc0~23^2~2 (Add per-repository eol normalization,
2010-05-19), building with gcc -std=gnu89 -pedantic produces warnings
like the following:

 convert.c:21:11: warning: comma at end of enumerator list [-pedantic]

gcc is right to complain --- these commas are not permitted in C89.
In the spirit of v1.7.2-rc0~32^2~16 (2010-05-14), remove them.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'nd/struct-pathspec'
Junio C Hamano [Wed, 16 Mar 2011 07:17:05 +0000 (00:17 -0700)]
Merge branch 'nd/struct-pathspec'

* nd/struct-pathspec:
  declare 1-bit bitfields to be unsigned

13 years agodeclare 1-bit bitfields to be unsigned
Jonathan Nieder [Wed, 16 Mar 2011 03:42:32 +0000 (22:42 -0500)]
declare 1-bit bitfields to be unsigned

As "gcc -pedantic" notices, a two's complement 1-bit signed integer
cannot represent the value '1'.

 dir.c: In function 'init_pathspec':
 dir.c:1291:4: warning: overflow in implicit constant conversion [-Woverflow]

In the spirit of v1.7.1-rc1~10 (2010-04-06), 'unsigned' is what was
intended, so let's make the flags unsigned.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoUpdate draft release notes to 1.7.5
Junio C Hamano [Tue, 15 Mar 2011 22:17:54 +0000 (15:17 -0700)]
Update draft release notes to 1.7.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'jk/strbuf-vaddf'
Junio C Hamano [Tue, 15 Mar 2011 21:23:04 +0000 (14:23 -0700)]
Merge branch 'jk/strbuf-vaddf'

* jk/strbuf-vaddf:
  compat: fall back on __va_copy if available
  strbuf: add strbuf_vaddf
  compat: provide a fallback va_copy definition

13 years agoMerge branch 'mm/push-default-advice'
Junio C Hamano [Tue, 15 Mar 2011 21:22:55 +0000 (14:22 -0700)]
Merge branch 'mm/push-default-advice'

* mm/push-default-advice:
  push: better error message when no remote configured
  push: better error messages when push.default = tracking

13 years agoMerge branch 'jn/maint-instaweb-plack-fix'
Junio C Hamano [Tue, 15 Mar 2011 21:22:37 +0000 (14:22 -0700)]
Merge branch 'jn/maint-instaweb-plack-fix'

* jn/maint-instaweb-plack-fix:
  git-instaweb: Change how gitweb.psgi is made runnable as standalone app

13 years agoMerge branch 'sp/maint-fd-limit'
Junio C Hamano [Tue, 15 Mar 2011 21:22:23 +0000 (14:22 -0700)]
Merge branch 'sp/maint-fd-limit'

* sp/maint-fd-limit:
  sha1_file.c: Don't retain open fds on small packs
  mingw: add minimum getrlimit() compatibility stub
  Limit file descriptors used by packs

13 years agoMerge branch 'jc/checkout-orphan-warning'
Junio C Hamano [Tue, 15 Mar 2011 21:22:16 +0000 (14:22 -0700)]
Merge branch 'jc/checkout-orphan-warning'

* jc/checkout-orphan-warning:
  commit: give final warning when reattaching HEAD to leave commits behind

13 years agoMerge branch 'jh/maint-do-not-track-non-branches'
Junio C Hamano [Tue, 15 Mar 2011 21:22:13 +0000 (14:22 -0700)]
Merge branch 'jh/maint-do-not-track-non-branches'

* jh/maint-do-not-track-non-branches:
  branch/checkout --track: Ensure that upstream branch is indeed a branch

13 years agoMerge branch 'fk/maint-cvsimport-early-failure'
Junio C Hamano [Tue, 15 Mar 2011 21:22:09 +0000 (14:22 -0700)]
Merge branch 'fk/maint-cvsimport-early-failure'

* fk/maint-cvsimport-early-failure:
  git-cvsimport.perl: Bail out right away when reading from the server fails

13 years agoMerge branch 'jc/maint-apply-report-offset'
Junio C Hamano [Tue, 15 Mar 2011 21:22:02 +0000 (14:22 -0700)]
Merge branch 'jc/maint-apply-report-offset'

* jc/maint-apply-report-offset:
  apply -v: show offset count when patch did not apply exactly

13 years agoMerge branch 'jc/maint-apply-no-double-patch'
Junio C Hamano [Tue, 15 Mar 2011 21:22:00 +0000 (14:22 -0700)]
Merge branch 'jc/maint-apply-no-double-patch'

* jc/maint-apply-no-double-patch:
  apply: do not patch lines that were already patched

13 years agoMerge branch 'mr/hpux'
Junio C Hamano [Tue, 15 Mar 2011 21:21:47 +0000 (14:21 -0700)]
Merge branch 'mr/hpux'

* mr/hpux:
  git-compat-util.h: Honor HP C's noreturn attribute
  Makefile: add NO_FNMATCH_CASEFOLD to HP-UX section

13 years agoDocumentation: running test with --debug keeps "trash" directory
Piotr Krukowiecki [Tue, 15 Mar 2011 19:58:14 +0000 (20:58 +0100)]
Documentation: running test with --debug keeps "trash" directory

Signed-off-by: Piotr Krukowiecki <piotr.krukowiecki@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'jk/doc-credits' of git://github.com/peff/git
Junio C Hamano [Tue, 15 Mar 2011 20:32:09 +0000 (13:32 -0700)]
Merge branch 'jk/doc-credits' of git://github.com/peff/git

* 'jk/doc-credits' of git://github.com/peff/git:
  docs: point git.txt author credits to git-scm.com
  doc: add missing git footers
  doc: drop author/documentation sections from most pages

13 years agoMerge branch 'sp/maint-smart-http-sans-100-continue'
Junio C Hamano [Mon, 14 Mar 2011 18:59:10 +0000 (11:59 -0700)]
Merge branch 'sp/maint-smart-http-sans-100-continue'

* sp/maint-smart-http-sans-100-continue:
  smart-http: Really never use Expect: 100-continue

13 years agosmart-http: Really never use Expect: 100-continue
Shawn O. Pearce [Mon, 14 Mar 2011 18:28:17 +0000 (11:28 -0700)]
smart-http: Really never use Expect: 100-continue

libcurl may choose to try and use Expect: 100-continue for
any type of POST, not just a Transfer: chunked-encoding type.
Force it to disable this feature, as not all proxy servers support
100-continue and leaving it enabled can cause 1 second stalls during
the negotiation phase of fetch-pack/upload-pack.

In ("206b099d26 smart-http: Don't use Expect: 100-Continue") we
tried to disable this for only large POST bodies, but it should be
disabled for every POST body.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoDocumentation: "rebase <onto> <that>" stays on <that> branch upon exit
Drew Northup [Mon, 14 Mar 2011 15:47:37 +0000 (11:47 -0400)]
Documentation: "rebase <onto> <that>" stays on <that> branch upon exit

This change makes it clearer that the change to the history effected by
executing 'git rebase master' while on 'topic' branch, and by executing
'git rebase master topic' on any branch, will be the same; the implicit
checkout of the second form will remain after the rebase exits.

Signed-off-by: Drew Northup <drew.northup@maine.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoobject.h: Remove obsolete struct object_refs
Jakob Pfender [Mon, 14 Mar 2011 16:23:52 +0000 (17:23 +0100)]
object.h: Remove obsolete struct object_refs

7914053 (Remove unused object-ref code, 2008-02-25) removed all uses of
the structure from the code, but forgot to remove the type definition
itself.

Signed-off-by: Jakob Pfender <jpfender@elegosoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'pw/p4'
Junio C Hamano [Sun, 13 Mar 2011 08:10:06 +0000 (00:10 -0800)]
Merge branch 'pw/p4'

* pw/p4:
  git-p4: test clone @all
  git-p4: fix clone @all regression

13 years agogit-p4: test clone @all
Pete Wyckoff [Sat, 12 Mar 2011 16:24:49 +0000 (11:24 -0500)]
git-p4: test clone @all

Cloning a p4 depot by default generates a single commit.  The use
of the "@all" revision specifier instead tells git-p4 to import
all commits.  Check to make sure both these invocations work as
expected.

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogit-p4: fix clone @all regression
Pete Wyckoff [Sat, 12 Mar 2011 16:23:23 +0000 (11:23 -0500)]
git-p4: fix clone @all regression

e32e00d (git-p4: better message for "git-p4 sync" when not cloned,
2011-02-19) broke the use of the "@all" revision specifier, e.g.,

    git-p4 clone //depot/xxx@all

Fix it as per Tor Arvid's quick patch.

Signed-off-by: Pete Wyckoff <pw@padd.com>
Reported-by: Anatol Pomozov <anatol.pomozov@gmail.com>
Based-on-patch-by: Tor Arvid Lund <torarvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agodocs: point git.txt author credits to git-scm.com
Jeff King [Sun, 13 Mar 2011 03:00:38 +0000 (22:00 -0500)]
docs: point git.txt author credits to git-scm.com

There is a nice shortlog-ish output of the authors there. We
also point people directly to shortlog, but of course they
might be reading the documentation online or from a binary
package of git.

13 years agodoc: add missing git footers
Jeff King [Fri, 11 Mar 2011 06:08:48 +0000 (01:08 -0500)]
doc: add missing git footers

Almost every page has a footer that links back to the main
git(1) page. Let's add it on the few that are missing it.

13 years agodoc: drop author/documentation sections from most pages
Jeff King [Fri, 11 Mar 2011 05:52:08 +0000 (00:52 -0500)]
doc: drop author/documentation sections from most pages

The point of these sections is generally to:

  1. Give credit where it is due.

  2. Give the reader an idea of where to ask questions or
     file bug reports.

But they don't do a good job of either case. For (1), they
are out of date and incomplete. A much more accurate answer
can be gotten through shortlog or blame.  For (2), the
correct contact point is generally git@vger, and even if you
wanted to cc the contact point, the out-of-date and
incomplete fields mean you're likely sending to somebody
useless.

So let's drop the fields entirely from all manpages except
git(1) itself. We already point people to the mailing list
for bug reports there, and we can update the Authors section
to give credit to the major contributors and point to
shortlog and blame for more information.

Each page has a "This is part of git" footer, so people can
follow that to the main git manpage.

13 years agoMerge branch 'maint'
Junio C Hamano [Fri, 11 Mar 2011 06:45:49 +0000 (22:45 -0800)]
Merge branch 'maint'

* maint:
  Revert "core.abbrevguard: Ensure short object names stay unique a bit longer"

13 years agoRevert "core.abbrevguard: Ensure short object names stay unique a bit longer"
Junio C Hamano [Fri, 11 Mar 2011 06:41:14 +0000 (22:41 -0800)]
Revert "core.abbrevguard: Ensure short object names stay unique a bit longer"

This reverts commit 72a5b561fc1c4286bc7c5b0693afc076af261e1f, as adding
fixed number of hexdigits more than necessary to make one object name
locally unique does not help in futureproofing the uniqueness of names
we generate today.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoUpdate Release Notes to 1.7.5
Junio C Hamano [Thu, 10 Mar 2011 00:21:16 +0000 (16:21 -0800)]
Update Release Notes to 1.7.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'js/cherry-pick-usability'
Junio C Hamano [Wed, 9 Mar 2011 23:56:17 +0000 (15:56 -0800)]
Merge branch 'js/cherry-pick-usability'

* js/cherry-pick-usability:
  Teach commit about CHERRY_PICK_HEAD
  bash: teach __git_ps1 about CHERRY_PICK_HEAD
  Introduce CHERRY_PICK_HEAD
  t3507: introduce pristine-detach helper

13 years agoMerge branch 'js/checkout-untracked-symlink'
Junio C Hamano [Wed, 9 Mar 2011 23:54:04 +0000 (15:54 -0800)]
Merge branch 'js/checkout-untracked-symlink'

* js/checkout-untracked-symlink:
  do not overwrite untracked symlinks
  Demonstrate breakage: checkout overwrites untracked symlink with directory

13 years agoMerge branch 'so/submodule-no-update-first-time'
Junio C Hamano [Wed, 9 Mar 2011 23:53:32 +0000 (15:53 -0800)]
Merge branch 'so/submodule-no-update-first-time'

* so/submodule-no-update-first-time:
  t7406: "git submodule update {--merge|--rebase]" with new submodules
  submodule: no [--merge|--rebase] when newly cloned

13 years agoMerge branch 'maint'
Junio C Hamano [Wed, 9 Mar 2011 22:20:39 +0000 (14:20 -0800)]
Merge branch 'maint'

* maint:
  Fix typo in t/README
  ls-remote documentation: <refs> argument is optional
  Add Author and Documentation sections to git-for-each-ref.txt
  Documentation: remove redundant colons in git-for-each-ref.txt

13 years agoFix typo in t/README
Mathias Lafeldt [Wed, 9 Mar 2011 20:25:09 +0000 (21:25 +0100)]
Fix typo in t/README

Signed-off-by: Mathias Lafeldt <misfire@debugon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agols-remote documentation: <refs> argument is optional
Piotr Krukowiecki [Wed, 9 Mar 2011 20:03:48 +0000 (21:03 +0100)]
ls-remote documentation: <refs> argument is optional

Correct SYNOPSIS section.

Signed-off-by: Piotr Krukowiecki <piotr.krukowiecki@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoAdd Author and Documentation sections to git-for-each-ref.txt
Alexei Sholik [Tue, 8 Mar 2011 13:16:10 +0000 (15:16 +0200)]
Add Author and Documentation sections to git-for-each-ref.txt

Signed-off-by: Alexei Sholik <alcosholik@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoDocumentation: remove redundant colons in git-for-each-ref.txt
Alexei Sholik [Tue, 8 Mar 2011 13:16:09 +0000 (15:16 +0200)]
Documentation: remove redundant colons in git-for-each-ref.txt

Signed-off-by: Alexei Sholik <alcosholik@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'maint'
Junio C Hamano [Wed, 9 Mar 2011 05:37:23 +0000 (21:37 -0800)]
Merge branch 'maint'

* maint:
  SubmittingPatches: clarify the expected commit log description
  diff format documentation: clarify --cc and -c
  rev-list-options.txt: typo fix

13 years agotransport-helper.c: fix check for (size_t < 0)
Nicolas Kaiser [Fri, 4 Mar 2011 23:16:26 +0000 (00:16 +0100)]
transport-helper.c: fix check for (size_t < 0)

'bytes' is of type size_t which is unsigned thus can't be negative.  But
the assigned write() returns ssize_t, and -1 on error.

For testing < 0, 'bytes' needs to be of a signed type.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoSubmittingPatches: clarify the expected commit log description
Junio C Hamano [Wed, 9 Mar 2011 00:58:19 +0000 (16:58 -0800)]
SubmittingPatches: clarify the expected commit log description

Earlier, 47afed5 (SubmittingPatches: itemize and reflect upon well written
changes, 2009-04-28) added a discussion on the contents of the commit log
message, but the last part of the new paragraph didn't make much sense.
Reword it slightly to make it more readable.

Update the "quicklist" to clarify what we mean by "motivation" and
"contrast".  Also mildly discourage external references.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agodiff format documentation: clarify --cc and -c
Adam Monsen [Tue, 8 Mar 2011 20:51:37 +0000 (12:51 -0800)]
diff format documentation: clarify --cc and -c

The description was unclear if -c or --cc was the default (--cc is for
some commands), and incorrectly implied that the default applies to
all the diff generating commands.

Most importantly, "log" does not default to "--cc" (it defaults to
"--no-merges") and "log -p" obeys the user's wish to see non-combined
format.  Only "diff" (during merge and three-blob comparison) and
"show" use --cc as the default.

Signed-off-by: Adam Monsen <haircut@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agocompat: fall back on __va_copy if available
Jonathan Nieder [Tue, 8 Mar 2011 08:33:44 +0000 (02:33 -0600)]
compat: fall back on __va_copy if available

Since an obvious implementation of va_list is to make it a pointer
into the stack frame, implementing va_copy as "dst = src" will work on
many systems.  Platforms that use something different (e.g., a size-1
array of structs, to be assigned with *(dst) = *(src)) will need some
other compatibility macro, though.

Luckily, as the glibc manual hints, such systems tend to provide the
__va_copy macro (introduced in GCC in March, 1997).  By using that if
it is available, we can cover our bases pretty well.

Discovered by building with CC="gcc -std=c89" on an amd64 machine:

 $ make CC=c89 strbuf.o
 [...]
 strbuf.c: In function 'strbuf_vaddf':
 strbuf.c:211:2: error: incompatible types when assigning to type 'va_list'
  from type 'struct __va_list_tag *'
 make: *** [strbuf.o] Error 1

Explained-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agorev-list-options.txt: typo fix
Michael J Gruber [Tue, 8 Mar 2011 08:31:24 +0000 (09:31 +0100)]
rev-list-options.txt: typo fix

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogit-compat-util.h: Honor HP C's noreturn attribute
Michal Rokos [Mon, 7 Mar 2011 12:13:15 +0000 (13:13 +0100)]
git-compat-util.h: Honor HP C's noreturn attribute

HP C for Integrity servers (Itanium) gained support for noreturn
attribute sometime in 2006. It was released in Compiler Version
A.06.10 and made available in July 2006.

The __HP_cc define detects the HP C compiler version.  Precede the
__GNUC__ check so it works well when compiling with HP C using -Agcc
option that enables partial support for the GNU C dialect. The -Agcc
defines the __GNUC__ too.

Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMakefile: add NO_FNMATCH_CASEFOLD to HP-UX section
Michal Rokos [Mon, 7 Mar 2011 11:43:11 +0000 (12:43 +0100)]
Makefile: add NO_FNMATCH_CASEFOLD to HP-UX section

fnmatch() on HP-UX does not support the GNU FNM_CASEFOLD extension,
so set NO_FNMATCH_CASEFOLD to use the internal fnmatch implementation.

Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoapply -v: show offset count when patch did not apply exactly
Junio C Hamano [Fri, 4 Mar 2011 22:43:45 +0000 (14:43 -0800)]
apply -v: show offset count when patch did not apply exactly

When the line number the patch intended to touch does not match
the line in the version being patched, GNU patch reports that
it applied the hunk at a different line number, with how big an
offset.

Teach "git apply" to do the same under --verbose option.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'maint'
Junio C Hamano [Fri, 4 Mar 2011 23:02:45 +0000 (15:02 -0800)]
Merge branch 'maint'

* maint:
  Documentation: fix a typo in git-apply.txt
  init: remove unnecessary check

13 years agoMerge branch 'mh/p4'
Junio C Hamano [Fri, 4 Mar 2011 23:02:28 +0000 (15:02 -0800)]
Merge branch 'mh/p4'

* mh/p4:
  git-p4 submit: prevent 'Jobs' section from being removed from p4 change log

13 years agoMerge branch 'mg/maint-difftool-vim-readonly'
Junio C Hamano [Fri, 4 Mar 2011 23:02:27 +0000 (15:02 -0800)]
Merge branch 'mg/maint-difftool-vim-readonly'

* mg/maint-difftool-vim-readonly:
  mergetool-lib: call vim in readonly mode for diffs

13 years agoMerge branch 'jn/maint-commit-missing-template'
Junio C Hamano [Fri, 4 Mar 2011 23:02:27 +0000 (15:02 -0800)]
Merge branch 'jn/maint-commit-missing-template'

* jn/maint-commit-missing-template:
  commit: error out for missing commit message template

13 years agoMerge branch 'jk/diffstat-binary'
Junio C Hamano [Fri, 4 Mar 2011 23:02:27 +0000 (15:02 -0800)]
Merge branch 'jk/diffstat-binary'

* jk/diffstat-binary:
  diff: don't retrieve binary blobs for diffstat
  diff: handle diffstat of rewritten binary files

13 years agoMerge branch 'lt/rename-no-extra-copy-detection'
Junio C Hamano [Fri, 4 Mar 2011 23:02:27 +0000 (15:02 -0800)]
Merge branch 'lt/rename-no-extra-copy-detection'

* lt/rename-no-extra-copy-detection:
  diffcore-rename: improve estimate_similarity() heuristics
  diffcore-rename: properly honor the difference between -M and -C
  for_each_hash: allow passing a 'void *data' pointer to callback

13 years agoMerge branch 'jn/test-terminal-punt-on-osx-breakage'
Junio C Hamano [Fri, 4 Mar 2011 23:02:26 +0000 (15:02 -0800)]
Merge branch 'jn/test-terminal-punt-on-osx-breakage'

* jn/test-terminal-punt-on-osx-breakage:
  tests: skip terminal output tests on OS X

13 years agoMerge branch 'jk/fail-null-clone'
Junio C Hamano [Fri, 4 Mar 2011 23:02:26 +0000 (15:02 -0800)]
Merge branch 'jk/fail-null-clone'

* jk/fail-null-clone:
  clone: die when trying to clone missing local path

13 years agoMerge branch 'jc/grep--no-index-pathspec-fix'
Junio C Hamano [Fri, 4 Mar 2011 23:02:26 +0000 (15:02 -0800)]
Merge branch 'jc/grep--no-index-pathspec-fix'

* jc/grep--no-index-pathspec-fix:
  grep --no-index: honor pathspecs correctly

13 years agoapply: do not patch lines that were already patched
Junio C Hamano [Fri, 4 Mar 2011 20:25:34 +0000 (12:25 -0800)]
apply: do not patch lines that were already patched

When looking for a place to apply a hunk, we used to check lines that
match the preimage of it, starting from the line that the patch wants to
apply the hunk at, looking forward and backward with increasing offsets
until we find a match.

Colin Guthrie found an interesting case where this misapplied a patch that
wanted to touch a preimage that consists of

                        }
                }

                return 0;
        }

which is a rather unfortunately common pattern.

The target version of the file originally had only one such location, but
the hunk immediately before that created another instance of such block of
lines, and find_pos() happily reported that the preimage of the hunk
matched what it wanted to modify.

Oops.

By marking the lines application of earlier hunks touched and preventing
match_fragment() from considering them as a match with preimage of other
hunks, we can reduce such an accident.

I also considered to teach apply_one_fragment() to take the offset we have
found while applying the previous hunk into account when looking for a
match with find_pos(), but dismissed that approach, because it would
sometimes work better but sometimes worse, depending on the difference
between the version the patch was created against and the version the
patch is being applied.

This does _not_ prevent misapplication of patches to a file that has many
similar looking blocks of lines and a preimage cannot identify which one
of them should be applied.  For that, we would need to scan beyond the
first match in find_pos(), and issue a warning (or error out).  That will
be a separate topic.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoDocumentation: fix a typo in git-apply.txt
Michał Kiedrowicz [Thu, 3 Mar 2011 09:28:30 +0000 (10:28 +0100)]
Documentation: fix a typo in git-apply.txt

git-apply accepts the --cached option, not --cache.

Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoinit: remove unnecessary check
Nguyễn Thái Ngọc Duy [Thu, 3 Mar 2011 12:34:51 +0000 (19:34 +0700)]
init: remove unnecessary check

git_dir must always be non-NULL so "if (git_dir)" is unnecessary.
Before this code, if git_dir == NULL, it will default to
DEFAULT_GIT_DIR_ENVIRONMENT.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agopush: better error message when no remote configured
Matthieu Moy [Wed, 2 Mar 2011 20:12:11 +0000 (21:12 +0100)]
push: better error message when no remote configured

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agopush: better error messages when push.default = tracking
Matthieu Moy [Wed, 2 Mar 2011 20:12:10 +0000 (21:12 +0100)]
push: better error messages when push.default = tracking

A common scenario is to create a new branch and push it (checkout -b &&
push [--set-upstream]). In this case, the user was getting "The current
branch %s has no upstream branch.", which doesn't help much.

Provide the user a command to push the current branch. To avoid the
situation in the future, suggest --set-upstream.

While we're there, also improve the error message in the "detached HEAD"
case. We mention explicitly "detached HEAD" since this is the keyword to
look for in documentations.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'maint'
Junio C Hamano [Wed, 2 Mar 2011 23:26:44 +0000 (15:26 -0800)]
Merge branch 'maint'

* maint:
  verify-pack: add --stat-only to the synopsis section

13 years agosha1_file.c: Don't retain open fds on small packs
Shawn O. Pearce [Wed, 2 Mar 2011 18:01:54 +0000 (10:01 -0800)]
sha1_file.c: Don't retain open fds on small packs

If a pack file is small enough that its entire contents fits within
one mmap window, mmap the file and then immediately close its file
descriptor.  This reduces the number of file descriptors that are
needed to read from repositories with many tiny pack files, such
as one that has received 1000 pushes (and created 1000 small pack
files) since its last repack.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agomingw: add minimum getrlimit() compatibility stub
Erik Faye-Lund [Mon, 28 Feb 2011 21:13:22 +0000 (22:13 +0100)]
mingw: add minimum getrlimit() compatibility stub

We don't have getrlimit on Windows :( Limit of 2048 taken from MSDN:

  http://msdn.microsoft.com/en-us/library/6e3b887c(v=vs.71).aspx

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
13 years agoverify-pack: add --stat-only to the synopsis section
Junio C Hamano [Tue, 1 Mar 2011 19:26:22 +0000 (11:26 -0800)]
verify-pack: add --stat-only to the synopsis section

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'svn-fe' of git://repo.or.cz/git/jrn
Junio C Hamano [Tue, 1 Mar 2011 00:33:45 +0000 (16:33 -0800)]
Merge branch 'svn-fe' of git://repo.or.cz/git/jrn

* 'svn-fe' of git://repo.or.cz/git/jrn: (31 commits)
  fast-import: make code "-Wpointer-arith" clean
  vcs-svn: teach line_buffer about temporary files
  vcs-svn: allow input from file descriptor
  vcs-svn: allow character-oriented input
  vcs-svn: add binary-safe read function
  t0081 (line-buffer): add buffering tests
  vcs-svn: tweak test-line-buffer to not assume line-oriented input
  tests: give vcs-svn/line_buffer its own test script
  vcs-svn: make test-line-buffer input format more flexible
  vcs-svn: teach line_buffer to handle multiple input files
  vcs-svn: collect line_buffer data in a struct
  vcs-svn: replace buffer_read_string memory pool with a strbuf
  vcs-svn: eliminate global byte_buffer
  fast-import: add 'ls' command
  vcs-svn: Allow change nodes for root of tree (/)
  vcs-svn: Implement Prop-delta handling
  vcs-svn: Sharpen parsing of property lines
  vcs-svn: Split off function for handling of individual properties
  vcs-svn: Make source easier to read on small screens
  vcs-svn: More dump format sanity checks
  ...

13 years agofast-import: make code "-Wpointer-arith" clean
Jonathan Nieder [Mon, 28 Feb 2011 21:16:59 +0000 (15:16 -0600)]
fast-import: make code "-Wpointer-arith" clean

The dereference() function to peel a tree-ish and find the underlying
tree expects arithmetic to (void *) to work on byte addresses.  We
should be reading the text of objects through a char * anyway.

Noticed-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
13 years agoLimit file descriptors used by packs
Shawn O. Pearce [Mon, 28 Feb 2011 20:52:39 +0000 (12:52 -0800)]
Limit file descriptors used by packs

Rather than using 'errno == EMFILE' after a failed open() call
to indicate the process is out of file descriptors and an LRU
pack window should be closed, place a hard upper limit on the
number of open packs based on the actual rlimit of the process.

By using a hard upper limit that is below the rlimit of the current
process it is not necessary to check for EMFILE on every single
fd-allocating system call.  Instead reserving 25 file descriptors
makes it safe to assume the system call won't fail due to being over
the filedescriptor limit.  Here 25 is chosen as a WAG, but considers
3 for stdin/stdout/stderr, and at least a few for other Git code
to operate on temporary files.  An additional 20 is reserved as it
is not known what the C library needs to perform other services on
Git's behalf, such as nsswitch or name resolution.

This fixes a case where running `git gc --auto` in a repository
with more than 1024 packs (but an rlimit of 1024 open fds) fails
due to the temporary output file not being able to allocate a
file descriptor.  The output file is opened by pack-objects after
object enumeration and delta compression are done, both of which
have already opened all of the packs and fully populated the file
descriptor table.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoStart preparing release notes to 1.7.5
Junio C Hamano [Mon, 28 Feb 2011 20:28:20 +0000 (12:28 -0800)]
Start preparing release notes to 1.7.5

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogit-instaweb: Change how gitweb.psgi is made runnable as standalone app
Jakub Narebski [Sat, 26 Feb 2011 22:32:33 +0000 (23:32 +0100)]
git-instaweb: Change how gitweb.psgi is made runnable as standalone app

According to blog post "FindBin, __FILE__, $0 and PSGI woes"

  http://bulknews.typepad.com/blog/2011/02/findbin-__file__-0-and-psgi-woes.html

by Tatsuhiko Miyagawa, using 'if (__FILE__ eq $0)' in .psgi code
(to check if script was run from command line), is not supposed to work
since Plack 0.9971.

Replace it with one of proposed solutions; while at it return $app
explicitely, rather than implicitely by being a last expression.

This affects 'plackup' web server.

While at it cleanup whitespace.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>