git.git
14 years agomktag: avoid %td in format string
Jonathan Nieder [Wed, 16 Mar 2011 05:14:22 +0000 (00:14 -0500)]
mktag: avoid %td in format string

Since v1.7.0-rc0~34 (make "mktag" a built-in, 2010-01-22), git mktag
uses the C99-style %td format to print ptrdiff_t values.  It falls
back to %d when NO_C99_FORMAT is set, on the assumption that pre-C99
systems probably are using 32-bit pointers.

But many modern systems are 64-bit and

 * sometimes one wants to test the NO_C99_FORMAT fallbacks using a
   modern development platform;
 * some platforms (I'm looking at you, msvc) have not gotten with the
   program and are still C89-only.

These ptrdiff_t values are offsets from the beginning of a buffer, so
a size_t or uintmax_t would work about as well.  Use the latter so we
can take advantage of the PRIuMAX fallback in git-compat-util.h, even
on C99-challenged systems with 64-bit pointers.

Signed-off-by: Jonathan Nieder <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agostash: copy the index using --index-output instead of cp -p
Johannes Sixt [Wed, 16 Mar 2011 08:18:49 +0000 (09:18 +0100)]
stash: copy the index using --index-output instead of cp -p

'git stash create' must operate with a temporary index. For this purpose,
it used 'cp -p' to create a copy. -p is needed to preserve the timestamp
of the index file. Now Jakob Pfender reported a certain combination of
a Linux NFS client, OpenBSD NFS server, and cp implementation where this
operation failed.

Luckily, the first operation in git-stash after copying the index is to
call 'git read-tree'. Therefore, use --index-output instead of 'cp -p'
to write the copy of the index.

--index-output requires that the specified file is on the same volume as
the source index, so that the lock file can be rename()d. For this reason,
the name of the temporary index is constructed in a way different from the
other temporary files. The code path of 'stash -p' also needs a temporary
index, but we do not use the new name because it does not depend on the
same precondition as --index-output.

Signed-off-by: Johannes Sixt <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agostash: fix incorrect quoting in cleanup of temporary files
Johannes Sixt [Wed, 16 Mar 2011 08:14:33 +0000 (09:14 +0100)]
stash: fix incorrect quoting in cleanup of temporary files

The * was inside the quotes, so that the pattern was never expanded and the
temporary files were never removed. As a consequence, 'stash -p' left a
.git-stash-*-patch file in $GIT_DIR. Other code paths did not leave files
behind because they removed the temporary file themselves, at least in
non-error paths.

Signed-off-by: Johannes Sixt <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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

14 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 <redacted>
14 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

14 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

14 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

14 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

14 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

14 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

14 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'

14 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

14 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

14 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

14 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 <redacted>
Acked-by: John 'Warthog9' Hawley <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agodiff --quiet: disable optimization when --diff-filter=X is used
Junio C Hamano [Wed, 16 Mar 2011 22:46:08 +0000 (15:46 -0700)]
diff --quiet: disable optimization when --diff-filter=X is used

The code notices that the caller does not want any detail of the changes
and only wants to know if there is a change or not by specifying --quiet.
And it breaks out of the loop when it knows it already found any change.

When you have a post-process filter (e.g. --diff-filter), however, the
path we found to be different in the previous round and set HAS_CHANGES
bit may end up being uninteresting, and there may be no output at the end.
The optimization needs to be disabled for such case.

Note that the f245194 (diff: change semantics of "ignore whitespace"
options, 2009-05-22) already disables this optimization by refraining
from setting HAS_CHANGES when post-process filters that need to inspect
the contents of the files (e.g. -S, -w) in diff_change() function.

Signed-off-by: Junio C Hamano <redacted>
14 years agogit-p4: test sync new branch
Pete Wyckoff [Wed, 16 Mar 2011 20:53:53 +0000 (16:53 -0400)]
git-p4: test sync new branch

Add two new unit tests.  One to test the feature that that
was added in e32e00d, and another to test the regression
that was fixed in the parent to this commit.

Signed-off-by: Pete Wyckoff <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agogit-p4: fix sync new branch regression
Pete Wyckoff [Wed, 16 Mar 2011 20:52:46 +0000 (16:52 -0400)]
git-p4: fix sync new branch regression

e32e00d (git-p4: better message for "git-p4 sync" when not
cloned, 2011-02-19) broke another use case, that of using
"git-p4 sync" to import a new branch into an existing repository.

Refine the fix again, on top of the fix in ac34efc.

Reported-by: Michael Horowitz <redacted>
Signed-off-by: Pete Wyckoff <redacted>
Tested-by: Michael Horowitz <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Acked-by: Jens Lehmann <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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

14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agogit-p4: Fix error message crash in P4Sync.commit.
Tor Arvid Lund [Tue, 15 Mar 2011 12:08:03 +0000 (13:08 +0100)]
git-p4: Fix error message crash in P4Sync.commit.

There is an error message that crashes the script because of an invalid ref
to the non-existing "path" variable. It is almost never printed, which
would explain why nobody encountered this problem before... But anyway,
this oneliner fixes it.

Signed-off-by: Tor Arvid Lund <redacted>
Acked-by: Pete Wyckoff <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agoTeach git-p4 to ignore case in perforce filenames if configured.
Tor Arvid Lund [Tue, 15 Mar 2011 12:08:02 +0000 (13:08 +0100)]
Teach git-p4 to ignore case in perforce filenames if configured.

When files are added to perforce, the path to that file has whichever case
configuration that exists on the machine of the user who added the file.
What does that mean? It means that when Alice adds a file

//depot/DirA/FileA.txt

... and Bob adds:

//depot/dirA/FileB.txt

... we may or may not get a problem. If a user sets the config variable
git-p4.ignorecase to "true", we will consider //depot/DirA and //depot/dirA
to be the same directory.

Signed-off-by: Tor Arvid Lund <redacted>
Acked-by: Pete Wyckoff <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agogit-p4: Teach gitConfig method about arguments.
Tor Arvid Lund [Tue, 15 Mar 2011 12:08:01 +0000 (13:08 +0100)]
git-p4: Teach gitConfig method about arguments.

With this patch, it is possible to call the gitConfig method with an optional
argument string, which will be passed to the "git config" executable. For
instance:

gitConfig("core.ignorecase", "--bool")

will ensure that you get the value "true", and won't have to check the returned
value for [1, true, on, yes].

Signed-off-by: Tor Arvid Lund <redacted>
Acked-by: Pete Wyckoff <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agogit-bisect.txt: example for bisecting with hot-fix
Michael J Gruber [Tue, 15 Mar 2011 21:24:56 +0000 (22:24 +0100)]
git-bisect.txt: example for bisecting with hot-fix

Give an example on how to bisect when older revisions need a hot-fix to
build, run or test. Triggered by the binutils/kernel issue at

http://thread.gmane.org/gmane.comp.gnu.binutils/52601/focus=1112779

Signed-off-by: Michael J Gruber <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agogit-bisect.txt: streamline run presentation
Michael J Gruber [Tue, 15 Mar 2011 21:24:55 +0000 (22:24 +0100)]
git-bisect.txt: streamline run presentation

Streamline the presentation of "bisect run" by removing one example
which does not introduce new concepts.

Signed-off-by: Michael J Gruber <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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

14 years agotests: scrub environment of GIT_* variables
Jonathan Nieder [Tue, 15 Mar 2011 10:10:45 +0000 (05:10 -0500)]
tests: scrub environment of GIT_* variables

Variables from the inherited environment that are meaningful to git
can break tests in undesirable ways.  For example,

GIT_PAGER=more sh t5400-send-pack.sh -v -i

hangs.  So unset all environment variables in the GIT_ namespace in
test-lib, with a few exceptions:

- GIT_TRACE* are useful for tracking down bugs exhibited by a failing
  test;

- GIT_DEBUG* are GIT_TRACE variables by another name, practically
  speaking.  They should probably be tweaked to follow the
  GIT_TRACE_foo scheme and use trace_printf machinery some time.

- GIT_USE_LOOKUP from v1.5.6-rc0~134^2~1 (sha1-lookup: more memory
  efficient search in sorted list of SHA-1, 2007-12-29) is about
  trying an alternate implementation strategy rather than changing
  semantics and it can be useful to compare performance with and
  without it set.

Signed-off-by: Jonathan Nieder <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agoconfig: drop support for GIT_CONFIG_NOGLOBAL
Jonathan Nieder [Tue, 15 Mar 2011 09:04:49 +0000 (04:04 -0500)]
config: drop support for GIT_CONFIG_NOGLOBAL

Now that test-lib sets $HOME to protect against pollution from user
settings, GIT_CONFIG_NOGLOBAL is not needed for use by the test
suite any more.  And as luck would have it, a quick code search
reveals no other users in the wild.

This patch does not affect GIT_CONFIG_NOSYSTEM, which is still
needed.

Helped-by: Jeff King <redacted>
Signed-off-by: Jonathan Nieder <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agogitattributes: drop support for GIT_ATTR_NOGLOBAL
Jonathan Nieder [Tue, 15 Mar 2011 09:04:15 +0000 (04:04 -0500)]
gitattributes: drop support for GIT_ATTR_NOGLOBAL

test-lib sets $HOME to protect against pollution from user settings,
so setting GIT_ATTR_NOGLOBAL would be redundant.  Simplify by
eliminating support for that environment variable altogether.

GIT_ATTR_NOGLOBAL was introduced in v1.7.4-rc0~208^2 (Add global and
system-wide gitattributes, 2010-09-01) as an undocumented feature for
use by the test suite.  It never ended up being used (neither within
git.git nor in other projects).

This patch does not affect GIT_ATTR_NOSYSTEM, which should still be
useful.

Helped-by: Jeff King <redacted>
Signed-off-by: Jonathan Nieder <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agotests: suppress system gitattributes
Jonathan Nieder [Tue, 15 Mar 2011 09:05:10 +0000 (04:05 -0500)]
tests: suppress system gitattributes

Set GIT_ATTR_NOSYSTEM in test-lib to make tests more reliable in two
ways:

 - an invalid GIT_ATTR_NOSYSTEM setting should not cause tests to fail
   with "fatal: bad config value for 'GIT_ATTR_NOSYSTEM'".

 - /etc/gitattributes should not change the outcome of tests.

Signed-off-by: Jonathan Nieder <redacted>
Improved-by: Jeff King <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agotests: stop worrying about obsolete environment variables
Jonathan Nieder [Tue, 15 Mar 2011 10:09:24 +0000 (05:09 -0500)]
tests: stop worrying about obsolete environment variables

After v0.99.7~99 (Retire support for old environment variables,
2005-09-09), there is no more need to unset a stray AUTHOR_NAME
variable that might have entered the test environment.

Signed-off-by: Jonathan Nieder <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agoupload-pack: Implement no-done capability
Shawn O. Pearce [Tue, 15 Mar 2011 00:59:40 +0000 (17:59 -0700)]
upload-pack: Implement no-done capability

If the client requests both multi_ack_detailed and no-done then
upload-pack is free to immediately send a PACK following its first
'ACK %s ready' message.  The upload-pack response actually winds
up being:

  ACK %s common
  ... (maybe more) ...
  ACK %s ready
  NAK
  ACK %s
  PACK.... the pack stream ....

For smart HTTP connections this saves one HTTP RPC, reducing
the overall latency for a trivial fetch.  For git:// and ssh://
a no-done option slightly reduces latency by removing one
server->client->server round-trip at the end of the common
ancestor negotiation.

Signed-off-by: Shawn O. Pearce <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agofetch-pack: Implement no-done capability
Shawn O. Pearce [Tue, 15 Mar 2011 00:59:39 +0000 (17:59 -0700)]
fetch-pack: Implement no-done capability

If enabled on the connection "multi_ack_detailed no-done" as a
pair allows the remote upload-pack process to send a PACK down
to the client as soon as a "ACK %s ready" message was also sent.

Over git:// and ssh:// where a bi-directional stream is in place
this has very little difference over the classical version that
waits for the client to send a "done\n" line by itself.  It does
slightly reduce the latency involved to start the pack stream as
there is one less round-trip from client->server required.

Over smart HTTP this avoids needing to send a final RPC that has
all of the prior common objects.  Instead the server is able to
return a pack as soon as its ready to.  For many common users the
smart HTTP fetch is now just 2 requests: GET .../info/refs, and
a POST .../git-upload-pack to not only negotiate but also receive
the pack stream.  Only users who have more than 32 local unshared
commits with the remote will need additional requests to negotiate
a common merge base.

Signed-off-by: Shawn O. Pearce <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agoupload-pack: More aggressively send 'ACK %s ready'
Shawn O. Pearce [Mon, 14 Mar 2011 23:48:39 +0000 (16:48 -0700)]
upload-pack: More aggressively send 'ACK %s ready'

If a client is merely following the remote (and has not made any
new commits itself), all "have %s" lines sent by the client will be
common to the server.  As all lines are common upload-pack never
calls ok_to_give_up() and does not compute if it has a good cut
point in the commit graph.

Without this computation the following client is going to send all
tagged commits, as these were determined to be COMMON_REF during the
initial advertisement, but the client does not parse their history
to transitively pass the COMMON flag and empty its queue of commits.

For git.git with 339 commit tags, it takes clients 11 rounds of
negotation to fully send all tagged commits and exhaust its queue
of things to send as common.  This is pretty slow for a client that
has not done any local development activity.

Force computing ok_to_give_up() and send "ACK %s ready" at the end
of the current round if this round only contained common objects
and ok_to_give_up() was therefore not called.  This may allow the
client to break early, avoiding transmission of the COMMON_REFs.

Signed-off-by: Shawn O. Pearce <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agofetch-pack: Finish negotation if remote replies "ACK %s ready"
Shawn O. Pearce [Mon, 14 Mar 2011 23:48:38 +0000 (16:48 -0700)]
fetch-pack: Finish negotation if remote replies "ACK %s ready"

If multi_ack_detailed was selected in the protocol capabilities
(both client and server are >= Git 1.6.6) the upload-pack side will
send "ACK %s ready" when it knows how to safely cut the graph and
produce a reasonable pack for the want list that was already sent
on the connection.

Upon receiving "ACK %s ready" there is no point in looking at
the remaining commits inside of rev_list.  Sending additional
"have %s" lines to the remote will not construct a smaller pack.
It is unlikely a commit older than the current cut point will have
a better delta base than the cut point itself has.

The original design of this code had fetch-pack empty rev_list by
marking a commit and its transitive ancestors COMMON whenever the
remote side said "ACK %s {continue,common}" and skipping over any
already COMMON commits during get_rev().  This approach does not
work when most of rev_list is actually COMMON_REF, commits that
are pointed to by a reference on the remote, which exist locally,
and which have not yet been sent to the remote as a "have %s" line.

Most of the common references are tags in the ref/tags namespace,
using points in the commit graph that are more than 1 commit apart.
In git.git itself, this is currently 340 tags, 339 of which point to
commits in the commit graph.  fetch-pack pushes all of these into
rev_list, but is unable to mark them COMMON and discard during a
remote's "ACK %s {continue,common}" because it does not parse through
the entire parent chain.  Not parsing the entire parent chain is
an optimization to avoid walking back to the roots of the repository.

Assuming the client is only following the remote (and does not make
its own local commits), the client needs 11 rounds to spin through
the entire list of tags (32 commits per round, ceil(339/32) == 11).
Unfortunately the server knows on the first "have %s" line that
it can produce a good pack, and does not need to see the remaining
320 tags in the other 10 rounds.

Over git:// and ssh:// this isn't as bad as it sounds, the client is
only transmitting an extra 16,000 bytes that it doesn't need to send.

Over smart HTTP, the client must do an additional 10 HTTP POST
requests, each of which incurs round-trip latency, and must upload
the entire state vector of all known common objects.  On the final
POST request, this is 16 KiB worth of data.

Fix all of this by clearing rev_list as soon as the remote side
says it can construct a pack.

Signed-off-by: Shawn O. Pearce <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agolist-objects.c: don't add an unparsed NULL as a pending tree
Junio C Hamano [Mon, 14 Mar 2011 19:29:50 +0000 (12:29 -0700)]
list-objects.c: don't add an unparsed NULL as a pending tree

"git rev-list --first-parent --boundary $commit^..$commit" segfaults on a
merge commit since 8d2dfc4 (process_{tree,blob}: show objects without
buffering, 2009-04-10), as it tried to dereference a commit that was
discarded as UNINTERESTING without being parsed (hence lacking "tree").

Signed-off-by: Junio C Hamano <redacted>
14 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

14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 years agogit stash: show status relative to current directory
Piotr Krukowiecki [Sat, 12 Mar 2011 08:57:46 +0000 (09:57 +0100)]
git stash: show status relative to current directory

git status shows modified paths relative to current directory, so it's
possible to copy&paste them directly, even if you're in a subdirectory.

But "git stash apply" always shows status from root of git repository.
This is misleading because you can't use the paths without modifications.

This is caused by changing directory to root of repository at the
beginning of git stash.

This patch makes git stash show status relative to current directory.
Instead of removing the "cd to toplevel", which would affect whole
script and might have other side-effects, the fix is to change directory
temporarily back to original dir just before displaying status.

Signed-off-by: Piotr Krukowiecki <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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

14 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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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 <redacted>
Reported-by: Anatol Pomozov <redacted>
Based-on-patch-by: Tor Arvid Lund <redacted>
Signed-off-by: Junio C Hamano <redacted>
14 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.

15 years agoMake the default abbrev length configurable
Linus Torvalds [Thu, 28 Oct 2010 18:28:04 +0000 (11:28 -0700)]
Make the default abbrev length configurable

The default of 7 comes from fairly early in git development, when
seven hex digits was a lot (it covers about 250+ million hash
values). Back then I thought that 65k revisions was a lot (it was what
we were about to hit in BK), and each revision tends to be about 5-10
new objects or so, so a million objects was a big number.

These days, the kernel isn't even the largest git project, and even
the kernel has about 220k revisions (_much_ bigger than the BK tree
ever was) and we are approaching two million objects. At that point,
seven hex digits is still unique for a lot of them, but when we're
talking about just two orders of magnitude difference between number
of objects and the hash size, there _will_ be collisions in truncated
hash values. It's no longer even close to unrealistic - it happens all
the time.

We should both increase the default abbrev that was unrealistically
small, _and_ add a way for people to set their own default per-project
in the git config file.

This is the first step to first make it configurable; the default of 7
is not raised yet.

Signed-off-by: Junio C Hamano <redacted>
15 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.

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

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

15 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 <redacted>
15 years agobash: complete 'git diff ...branc<TAB>'
SZEDER Gábor [Thu, 10 Mar 2011 18:12:29 +0000 (19:12 +0100)]
bash: complete 'git diff ...branc<TAB>'

While doing a final sanity check before merging a topic Bsomething, it
is a good idea to review what damage Bsomething branch would make, by
running:

    $ git diff ...Bsomething

Unfortunately, our completion script for 'git diff' doesn't offer
anything after '...'.  This is because 'git diff's completion function
invokes __git_complete_file() for non-option arguments to complete the
'<tree>:<path>' extended SHA-1 notation, but this helper function
doesn't support refs after '...' or '..'.  Completion of refs after
'...' or '..' is supported by the __git_complete_revlist() helper
function, but that doesn't support '<tree>:<path>'.

To support both '...<ref>' and '<tree>:<path>' notations for 'git
diff', this patch, instead of adding yet another helper function,
joins __git_complete_file() and __git_complete_revlist() into the new
common function __git_complete_revlist_file().  The old helper
functions __git_complete_file() and __git_complete_revlist() are
changed to be a direct wrapper around the new
__git_complete_revlist_file(), because they might be used in
user-supplied completion scripts and we don't want to break them.

This change will cause some wrong suggestions for other commands which
use __git_complete_file() ('git diff' and friends) or
__git_complete_revlist() ('git log' and friends), e.g. 'git diff
...master:Doc<TAB>' and 'git log master:Doc<TAB>' will complete the
path to 'Documentation/', although neither commands make any sense.
However, both of these were actively wrong to begin with as soon as
the user entered the ':', so there is no real harm done.

Suggested-by: Junio C Hamano <redacted>
Signed-off-by: SZEDER Gábor <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agobash: fix misindented esac statement in __git_complete_file()
SZEDER Gábor [Thu, 10 Mar 2011 18:12:28 +0000 (19:12 +0100)]
bash: fix misindented esac statement in __git_complete_file()

Signed-off-by: SZEDER Gábor <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agogit-log: put space after commit mark
Michael J Gruber [Thu, 10 Mar 2011 14:45:03 +0000 (15:45 +0100)]
git-log: put space after commit mark

Currently, commit marks (left, right, boundary, cherry) are output right
before the commit sha1, which makes it difficult to copy sha1s. Sample
output for "git log --oneline --cherry":

=049c269 t6007: test rev-list --cherry

Change this to

049c269 t6007: test rev-list --cherry

which matches exactly the current output of "git log --graph".

Leave "git rev-list" output as is (no space) so that they do not break.

Adjust "git-svn" which uses "git log --pretty=raw --boundary".

Signed-off-by: Michael J Gruber <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-shortlog basic messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:32 +0000 (23:42 +0000)]
i18n: git-shortlog basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-revert split up "could not revert/apply" message
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:31 +0000 (23:42 +0000)]
i18n: git-revert split up "could not revert/apply" message

Split up the "could not %s %s... %s" message into "could not revert
%s... %s" and "could not apply %s... %s". This makes it easier for
translators to understand the message.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-revert literal "me" messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:30 +0000 (23:42 +0000)]
i18n: git-revert literal "me" messages

Translate messages that use the `me' variable. These are all error
messages referencing the command name, so the name shouldn't be
translated.

Reported-by: Jonathan Nieder <redacted>
Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-revert "Your local changes" message
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:29 +0000 (23:42 +0000)]
i18n: git-revert "Your local changes" message

Translate the "Your local changes [...]" message without using the
`me' variable, instead split up the two messages so translators can
translate the whole messages as-is.

Reported-by: Jonathan Nieder <redacted>
Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-revert basic messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:28 +0000 (23:42 +0000)]
i18n: git-revert basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-notes GIT_NOTES_REWRITE_MODE error message
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:27 +0000 (23:42 +0000)]
i18n: git-notes GIT_NOTES_REWRITE_MODE error message

Use sprintf format for the error message that's displayed if
GIT_NOTES_REWRITE_MODE is invalid, and leave a note in a TRANSLATORS
comment indicating what the message means.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-notes basic commands
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:26 +0000 (23:42 +0000)]
i18n: git-notes basic commands

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-gc "Auto packing the repository" message
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:25 +0000 (23:42 +0000)]
i18n: git-gc "Auto packing the repository" message

Split up the "Auto packing the repository" message into quiet and
verbose variants to make translation easier.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-gc basic messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:24 +0000 (23:42 +0000)]
i18n: git-gc basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-describe basic messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:23 +0000 (23:42 +0000)]
i18n: git-describe basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-clean clean.requireForce messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:22 +0000 (23:42 +0000)]
i18n: git-clean clean.requireForce messages

Split up the "clean.requireForce set/defaults to true..." die()
message to make it easier to translate.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-clean basic messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:21 +0000 (23:42 +0000)]
i18n: git-clean basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-bundle basic messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:20 +0000 (23:42 +0000)]
i18n: git-bundle basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-archive basic messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:19 +0000 (23:42 +0000)]
i18n: git-archive basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-status "renamed: " message
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:18 +0000 (23:42 +0000)]
i18n: git-status "renamed: " message

Gettextize the "renamed: %s -> %s" message which appears as part of
git-status(1) output. Two tests in t4001-diff-rename.sh explicitly
checked for this message. Change them to skip under
GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-status "Initial commit" message
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:17 +0000 (23:42 +0000)]
i18n: git-status "Initial commit" message

Gettextize the "# Initial commit" message. A test in t7501-commit.sh
explicitly checked for this message. Change it to skip under
GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-status "Changes to be committed" message
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:16 +0000 (23:42 +0000)]
i18n: git-status "Changes to be committed" message

Gettextize the "# Changes to be committed:" messages. Several tests
explicitly checked for this message. Change them to skip under
GETTEXT_POISON=YesPlease.

Since these tests didn't check for the rest of the git-status(1)
output this change has been split up from the "git-status basic
messages" patch.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-status shortstatus messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:15 +0000 (23:42 +0000)]
i18n: git-status shortstatus messages

Make the messages added in v1.7.2-rc0~54^2~1 translatable. Some of
these could use the to be implemented plural support in the gettext
library.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-status "nothing to commit" messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:14 +0000 (23:42 +0000)]
i18n: git-status "nothing to commit" messages

Gettextize the "nothing to commit" messages. Many tests explicitly
checked for this message. Change them to skip under
GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-status basic messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:13 +0000 (23:42 +0000)]
i18n: git-status basic messages

Gettextize the most common git-status messages. Many tests checked for
these explicitly. Change them to skip under GETTEXT_POISON=YesPlease.

Some of the tests in t7508-status.sh needed to be split up when I
added C_LOCALE_OUTPUT to them, since parts of them affected later
tests (some of which aren't being skipped) indirectly.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-push "prevent you from losing" message
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:12 +0000 (23:42 +0000)]
i18n: git-push "prevent you from losing" message

Gettextize the "To prevent you from losing history" message. A test in
lib-httpd.sh and another in t5541-http-push.sh explicitly checked for
this message. Change them to skip under GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-push basic messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:11 +0000 (23:42 +0000)]
i18n: git-push basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-tag tag_template message
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:10 +0000 (23:42 +0000)]
i18n: git-tag tag_template message

Mark the tag_template message as translatable with N_() and then use
it later with _(). We need to skip a test under GETTEXT_POISON that
relies on the output having a leading newline.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
15 years agoi18n: git-tag basic messages
Ævar Arnfjörð Bjarmason [Tue, 22 Feb 2011 23:42:09 +0000 (23:42 +0000)]
i18n: git-tag basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Signed-off-by: Junio C Hamano <redacted>
git clone https://git.99rst.org/PROJECT