Commit Graph

35883 Commits

Author SHA1 Message Date
Karsten Blees
d11d1faff0 gitk: fix file name encoding in diff hunk headers
Decode file names from system encoding in all diff hunk header lines, not
just the first (i.e. print nice file names in 'rename from' / 'rename to' /
'Binary files' lines, too).

Signed-off-by: Karsten Blees <blees@dcon.de>
2012-05-28 21:18:49 -05:00
Karsten Blees
7779aa08ef git-gui: fix encoding in git-gui file browser
Assume git tree objects (i.e. output of git-ls-tree) are encoded in system
encoding, for display in the git-gui file browser.

Signed-off-by: Karsten Blees <blees@dcon.de>
2012-05-28 21:18:49 -05:00
Johannes Schindelin
06a920b96c git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 21:18:49 -05:00
Heiko Voigt
ee80db30ae git-gui: provide question helper for retry fallback on Windows
Make use of the new environment variable GIT_ASK_YESNO to support the
recently implemented fallback in case unlink, rename or rmdir fail for
files in use on Windows. The added dialog will present a yes/no question
to the the user which will currently be used by the windows compat layer
to let the user retry a failed file operation.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
2012-05-28 21:18:49 -05:00
Johannes Schindelin
f4a52ea3a7 git am: ignore dirty submodules
This fixes a rebase in the presence of dirty submodules. This is
orthogonal to the application of patches changing submodules.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 21:18:49 -05:00
Heiko Voigt
5f5050cc4a Revert "git-gui: set GIT_DIR and GIT_WORK_TREE after setup"
This reverts commit a9fa11fe5b.
2012-05-28 21:18:49 -05:00
Johannes Sixt
06b569dfce criss cross rename failure workaround
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 21:18:49 -05:00
Matthieu Moy
3190a2db3d bash-completion: don't add quoted space for ZSH (fix regression)
Commit a31e626 (completion: optimize refs completion) introduced a
regression for ZSH users: ref names were completed with a quoted trailing
space (i.e. "git checkout ma" completes to "git checkout master\ "). The
space is convenient for bash users since we use "-o nospace", but a
quoted space is worse than nothing. The absence of trailing space for ZSH
is a long-standing issue, that this patch is not fixing. We just fix the
regression by not appending a space when the shell is ZSH.

Original-patch-by: SZEDER Gábor <szeder@ira.uka.de>
Reported-by: Stefan Haller <lists@haller-berlin.de>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-28 21:18:49 -05:00
Pat Thoyts
5a87637c89 mingw: add tests for the hidden attribute on the git directory
With msysGit the .git directory is supposed to be hidden, unless it is
a bare git repository. Test this.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2012-05-28 21:18:49 -05:00
Erik Faye-Lund
4f09c8e577 mingw: do not hide bare repositories
As reported in msysGit issue 450 the recent change to set the windows
hidden attribute on the .git directory is being applied to bare git
directories. This patch excludes bare repositories.

Tested-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
2012-05-28 21:18:48 -05:00
Johannes Schindelin
d1d59b59a9 When initializing .git/, record the current setting of core.hideDotFiles
This is on Windows only, of course.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 21:18:48 -05:00
Erik Faye-Lund
e935419a58 core.hidedotfiles: hide '.git' dir by default
At least for cross-platform projects, it makes sense to hide the
files starting with a dot, as this is the behavior on Unix/MacOSX.

However, at least Eclipse has problems interpreting the hidden flag
correctly, so the default is to hide only the .git/ directory.

The config setting core.hideDotFiles therefore supports not only
'true' and 'false', but also 'dotGitOnly'.

[jes: clarified the commit message, made git init respect the setting
by marking the .git/ directory only after reading the config, and added
documentation, and rebased on top of current junio/next]

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 21:18:40 -05:00
Johannes Schindelin
58e44db1a2 Define NO_GETTEXT for Git for Windows
The dreaded "your vnsprintf is broken (returned -1)" error is back. At
least with the libintl version we have. So for the moment, just work
around the issue by _not_ using gettext.

Ah, I wish that my attempt at implementing a custom strbuf_vaddf() would
not have been brushed aside so rashly. Oh well. Time saved on maintaining
that thing, I guess (although more time went into working around coping
with existing implementations).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 21:17:21 -05:00
Sebastian Schuberth
5d4c2f391d Makefile: Do not use OLD_ICONV on MINGW anymore
We are building libiconv now the same way as upstream MinGW does, so we do
not need OLD_ICONV anymore when compiling Git either in msysGit or
mingwGitDevEnv.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
2012-05-28 21:17:21 -05:00
Johannes Schindelin
f6bf976724 Do not compile compat/**/*.c with -Wold-style-definition
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 21:17:21 -05:00
Johannes Schindelin
329f55c5c2 Make CFLAGS more strict
This is a gcc-ism, but as we use gcc exclusively, we can use them.

Taken from one of Junio's mails. (Reminded to cherry-pick this patch
by one of Karsten Blees' mails.)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 21:17:21 -05:00
Johannes Schindelin
608312df8a Start the merging-rebase to junio/next
This commit starts the rebase of b8f4288 to 37218b0
using 9de4cc5b4a as base.
2012-05-28 21:17:21 -05:00
Johannes Schindelin
b8f4288f79 Merge remote-tracking branch 'origin/devel' into devel
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 21:12:23 -05:00
dscho
229720e06b Merge pull request #13 from dscho/buildhive-fix
Work around a problem identified by BuildHive

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 19:10:16 -07:00
Johannes Schindelin
d7557dc5ba Work around a problem identified by BuildHive
Apparently the signal handling is not quite correct in the fsckobject
handling (most likely we rely on a side effect that lets us still output
some message after receiving a signal 13 but in the BuildHive setup this
fails intermittently).

As a consequence, the push in t5504 does fail as expected, but fails to
output anything (unexpected). Since this is good enough for now, let's
handle an empty output as success, too.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 19:58:50 -05:00
Johannes Schindelin
1772a8831d squash! POSIX style 2/2
Move this just before the commit "Win32: simplify internal mingw_spawn*
APIs" and give it a *much* better commit message.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 19:57:43 -05:00
Johannes Schindelin
c0fc88b9ec squash! POSIX style 1/2
This just reverts the previous commit (the one with the horrible commit
message). So just kill both commits.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-05-28 19:52:13 -05:00
Pierre le Riche
0d812d65fc squash! msysgit: Add the --large-address-aware linker directive to the makefile.
Use this commit message, rewrapped to 76 columns:
msysgit: Add the --large-address-aware linker directive to the makefile.

This has the effect of increasing the address space from 2GB to 4GB under
64-bit Windows, reducing the likelihood of an "out of memory" error when
e.g.  repacking a large repository.  The test suite passes with this
patch, with and without the MEM_TOP_DOWN flag added to all VirtualAlloc
calls.  While this is no guarantee that there are no issues with large
memory support (it could break Git on other setups than mine, for
example), it at least increases the chance that nothing obvious goes wrong
(such as errors introduced by faulty sign extension, say, with ssize_t).

[PT: Resolves github issue #12]

Signed-off-by: Pierre le Riche <github@pleasedontspam.me>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2012-05-28 19:46:37 -05:00
Pierre le Riche
5fdb6263e8 msysgit: Add the --large-address-aware linker directive to the makefile.
This has the effect of increasing the address space from 2GB to 4GB under
64-bit Windows, reducing the likelihood of an "out of memory" error when e.g.
repacking a large repository.  The test suite passes with this patch, with and
without the MEM_TOP_DOWN flag added to all VirtualAlloc calls.  While this is
no guarantee that there are no issues with large memory support (it could break
Git on other setups than mine, for example), it at least increases the chance
that nothing obvious goes wrong (such as errors introduced by faulty sign
extension, say, with ssize_t).

[PT: Resolves github issue #12]

Signed-off-by: Pierre le Riche <github@pleasedontspam.me>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2012-05-28 14:26:28 +01:00
Junio C Hamano
37218b06ca Sync with 1.7.11-rc0
By Junio C Hamano (2) and others
* master:
  Git 1.7.11-rc0
  Git 1.7.10.3
  fmt-merge-message: add empty line between tag and signature verification
  config doc: remove confusion about relative GIT_DIR from FILES section
2012-05-25 12:21:03 -07:00
Junio C Hamano
befc5ed379 Git 1.7.11-rc0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.7.11-rc0
2012-05-25 12:19:45 -07:00
Junio C Hamano
4acf8e85dc Merge branch 'sp/sh-windows-pwd'
* sp/sh-windows-pwd:
  git-sh-setup: define workaround wrappers before they are used
2012-05-25 12:08:26 -07:00
Junio C Hamano
7903e66a3e Merge branch 'mh/test-keep-prove-cache'
By Michael Haggerty
* mh/test-keep-prove-cache:
  t/Makefile: retain cache t/.prove across prove runs
2012-05-25 12:08:21 -07:00
Junio C Hamano
3501b89fb5 Merge branch 'rs/dir-strbuf-read-recursive-fix'
Simplification for the codepath to read directories recursively.

By René Scharfe
* rs/dir-strbuf-read-recursive-fix:
  dir: simplify fill_directory()
  dir: respect string length argument of read_directory_recursive()
2012-05-25 12:07:52 -07:00
Junio C Hamano
b19ea23473 Merge branch 'fc/git-complete-helper-fix'
Resurrects old behaviour of _git/_gitk for external users.
2012-05-25 12:07:09 -07:00
Junio C Hamano
aed79af5d9 Merge branch 'ap/checkout-no-progress-for-non-tty'
The progress indicator for a large "git checkout" was sent to stderr
even if it is not a terminal.
2012-05-25 12:06:34 -07:00
Junio C Hamano
9972c8ea49 Merge branch 'jk/format-person-part-buffer-limit'
Avoid buffer overflow in format_person_part() function
2012-05-25 12:06:16 -07:00
Junio C Hamano
407abbabe5 Merge branch 'jk/pretty-commit-header-incomplete-line'
Fixes error codepath when a malformed commit object has a header line
chomped in the middle.
2012-05-25 12:05:35 -07:00
Junio C Hamano
500cf7cbb4 Merge branch 'jk/ident-split-fix'
An author/committer name that is a single character was mishandled as an
invalid name by mistake.
2012-05-25 12:05:26 -07:00
Junio C Hamano
0bc8bea2b4 Merge branch 'rs/xdiff-fast-hash-fix'
Fixes compilation issue on 32-bit in an earlier series.
2012-05-25 12:05:02 -07:00
Junio C Hamano
ec04a275b4 Merge branch 'mh/ref-api'
Fixes a performance regression in the earlier series.
2012-05-25 12:04:36 -07:00
Junio C Hamano
fca9e0013e Merge branch 'rs/maint-grep-F'
"git grep -e '$pattern'", unlike the case where the patterns are read from
a file, did not treat individual lines in the given pattern argument as
separate regular expressions as it should.
2012-05-25 12:04:19 -07:00
Junio C Hamano
4f64464023 Sync with 1.7.10.3 2012-05-25 11:36:25 -07:00
Junio C Hamano
26e5c5d093 Git 1.7.10.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.7.10.3
2012-05-25 11:28:43 -07:00
Junio C Hamano
69e82602b9 Merge branch 'hv/submodule-alt-odb' into maint
When a submodule repository uses alternate object store mechanism, some
commands that were started from the superproject did not notice it and
failed with "No such object" errors.  The subcommands of "git submodule"
command that recursed into the submodule in a separate process were OK;
only the ones that cheated and peeked directly into the submodule's
repository from the primary process were affected.

By Heiko Voigt
* hv/submodule-alt-odb:
  teach add_submodule_odb() to look for alternates
2012-05-25 11:26:38 -07:00
Junio C Hamano
98eb3fc6cb Merge branch 'bp/diff-no-index-strbuf-fix' into maint
The directory path used in "git diff --no-index", when it recurses
down, was broken with a recent update after v1.7.10.1 release.

By Bobby Powers
* bp/diff-no-index-strbuf-fix:
  diff --no-index: don't leak buffers in queue_diff
  diff --no-index: reset temporary buffer lengths on directory iteration
2012-05-25 11:25:36 -07:00
Linus Torvalds
a3347b988a fmt-merge-message: add empty line between tag and signature verification
When adding the information from a tag, put an empty line between the
message of the tag and the commented-out signature verification
information.

At least for the kernel workflow, I often end up re-formatting the message
that people send me in the tag data. In that situation, putting the tag
message and the tag signature verification back-to-back then means that
normal editor "reflow parapgraph" command will get confused and think that
the signature is a continuation of the last message paragraph.

So I always end up having to first add an empty line, and then go back and
reflow the last paragraph. Let's just do it in git directly.

The extra vertical space also makes the verification visually stand out
more from the user-supplied message, so it looks a bit more readable to me
too, but that may be just an odd personal preference.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-25 11:24:08 -07:00
Jonathan Nieder
ec84e069af config doc: remove confusion about relative GIT_DIR from FILES section
From the FILES section of the git-config(1) manual:

	$GIT_DIR/config::
		Repository specific configuration file. (The filename is
		of course relative to the repository root, not the working
		directory.)

That's confusing because $GIT_DIR really is relative to the working
directory.

	$ GIT_DIR=.git GIT_EDITOR='pwd; echo editing'
	$ export GIT_DIR GIT_EDITOR
	$ git config --edit --local
	/home/jrn/src/git/Documentation
	editing .git/config

It turns out that the comment is a remnant from older days when the
heading said ".git/config" (which is indeed relative to the top of the
worktree).

It was only when the heading was changed to refer more precisely to
<git dir>/config (see v1.5.3.2~18, AsciiDoc tweak to avoid leading
dot, 2007-09-14) that the parenthesis stopped making sense.  Remove
it.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-25 11:22:02 -07:00
Junio C Hamano
c8d54c02a6 Merge branch 'mh/ref-api' into next
Will merge to master.

By Michael Haggerty
* mh/ref-api:
  Avoid sorting if references are added to ref_cache in order
2012-05-24 20:52:08 -07:00
Junio C Hamano
dc473bdeba Merge branch 'ap/checkout-no-progress-for-non-tty' into next
Will merge to master.

By Avery Pennarun
* ap/checkout-no-progress-for-non-tty:
  checkout: no progress messages if !isatty(2).
2012-05-24 20:52:07 -07:00
Junio C Hamano
cf56fe6187 Merge branch 'jk/fetch-pack-remove-dups-optim' into next
The way "fetch-pack" that is given multiple references to fetch tried to
remove duplicates was very inefficient.

Will merge to master.

By Jeff King
* jk/fetch-pack-remove-dups-optim:
  fetch-pack: sort incoming heads list earlier
2012-05-24 20:52:05 -07:00
Junio C Hamano
7148763faa Merge branch 'jk/ident-gecos-strbuf' into next
Fixes quite a lot of brokenness when ident information needs to be taken
from the system and cleans up the code.

Will merge to master.

By Jeff King
* jk/ident-gecos-strbuf:
  format-patch: do not use bogus email addresses in message ids
  ident: reject bogus email addresses with IDENT_STRICT
  ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT
  format-patch: use GIT_COMMITTER_EMAIL in message ids
  ident: let callers omit name with fmt_indent
  ident: refactor NO_DATE flag in fmt_ident
  ident: reword empty ident error message
2012-05-24 20:52:04 -07:00
Jeff King
59f9b8a9a9 format-patch: do not use bogus email addresses in message ids
We can ask git_committer_info to be strict about coming up
with an email, which will die automatically on a poorly
configured machine. This is better than letting invalid
message-ids into the wild.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-24 20:50:19 -07:00
Jeff King
8c5b1ae1b2 ident: reject bogus email addresses with IDENT_STRICT
If we come up with a hostname like "foo.(none)" because the
user's machine is not fully qualified, we should reject this
in strict mode (e.g., when we are making a commit object),
just as we reject an empty gecos username.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-24 20:50:05 -07:00
Junio C Hamano
f24d01c354 Merge branch 'master' into next
By Jeff King (1) and Junio C Hamano (1)
* master:
  Update draft release notes to 1.7.10.3
  osxkeychain: pull make config from top-level directory
2012-05-24 17:40:20 -07:00