Commit Graph

36318 Commits

Author SHA1 Message Date
Cezary Zawadka
1f2997104f Allow using UNC path for git repository
[efl: moved MinGW-specific part to compat/]

[jes: fixed compilation on non-Windows]

Signed-off-by: Cezary Zawadka <czawadka@gmail.com>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-06-19 23:23:06 +01:00
Johannes Schindelin
8909b8fe62 Add a Windows-specific fallback to getenv("HOME");
This fixes msysGit issue 482 properly.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-06-19 23:23:04 +01:00
bert Dvornik
761b4b7945 send-email: handle Windows paths for display just like we do for processing
In git-send-email.perl, here are two checks to determine if
$smtp_server is an absolute path (so it'll be treated as a mailer) or
not (so it'll be treated as a hostname).  The one that handles actual
mail processing has been taught to recognize Windows pathnames by
commit 33b2e81f.

The other check is just to tell the user what happened, so it's far
less important, but the current state is that we will still claim to
the user that c:/foo/bar is a server. =)  This makes the second check
consistent with the first.

Signed-off-by: bert Dvornik <dvornik+git@gmail.com>
2012-06-19 23:23:02 +01:00
Erik Faye-Lund
4b25069d3b send-email: accept absolute path even on Windows
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-06-19 23:23:01 +01:00
Johannes Schindelin
bafdd26078 Let deny.currentBranch=updateInstead ignore submodules
They are not affected by the update anyway.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-06-19 23:22:59 +01:00
Johannes Schindelin
0498033d00 Add a few more values for receive.denyCurrentBranch
For a long time, this developer thought that Git's insistence that
pushing into the current branch is evil was completely merited.

Just for fun, the original patch tried to show people that Git is right
there, and that it causes more trouble than it does good when Git allows
you to try to update the working tree for fast-forwards, or to detach the
HEAD, depending on some config settings.

Surprisingly, the opposite was shown.

So here is the support for two new options you can give the config
variable receive.denyCurrentBranch:

'updateInstead':
	Try to merge the working tree with the new tip of the branch
	(which can lead to really horrible merge conflicts).

'detachInstead':
	Detach the HEAD, thereby avoiding a disagreement between the
	HEAD and the index (as well as the working tree), possibly
	leaving the local user wondering how on earth her HEAD became
	so detached.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-06-19 23:22:57 +01:00
Chris West (Faux)
1afc7f3e3f Fix another invocation of git from gitk with an overly long command-line
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
2012-06-19 23:22:55 +01:00
Johannes Schindelin
c473d83bed Work around the command line limit on Windows
On Windows, there are dramatic problems when a command line grows
beyond PATH_MAX, which is restricted to 8191 characters on XP and
later (according to http://support.microsoft.com/kb/830473).

Work around this by just cutting off the command line at that length
(actually, at a space boundary) in the hope that only negative
refs are chucked: gitk will then do unnecessary work, but that is
still better than flashing the gitk window and exiting with exit
status 5 (which no Windows user is able to make sense of).

The first fix caused Tcl to fail to compile the regexp, see msysGit issue
427. Here is another fix without using regexp, and using a more relaxed
command line length limit to fix the original issue 387.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-06-19 23:22:53 +01:00
Karsten Blees
372187fd8e 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-06-19 23:22:52 +01:00
Karsten Blees
29b7a525d9 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-06-19 23:22:50 +01:00
Johannes Schindelin
88d4d5101f git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-06-19 23:22:48 +01:00
Heiko Voigt
2c9612aa6b 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-06-19 23:22:46 +01:00
Johannes Schindelin
f253aa1bd1 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-06-19 23:22:44 +01:00
Heiko Voigt
1f8569bcf4 Revert "git-gui: set GIT_DIR and GIT_WORK_TREE after setup"
This reverts commit a9fa11fe5b.
2012-06-19 23:22:42 +01:00
Johannes Sixt
35e992781e criss cross rename failure workaround
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-06-19 23:22:41 +01:00
Matthieu Moy
b1c82af0a7 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-06-19 23:22:38 +01:00
Pat Thoyts
e576f98109 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-06-19 23:22:36 +01:00
Erik Faye-Lund
fa13c7a024 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-06-19 23:22:34 +01:00
Johannes Schindelin
5caa82c928 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-06-19 23:22:32 +01:00
Erik Faye-Lund
57350c6c42 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-06-19 23:22:31 +01:00
Pierre le Riche
9ec032678c 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-06-19 23:22:29 +01:00
Johannes Schindelin
7f12b90757 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-06-19 23:22:27 +01:00
Sebastian Schuberth
bb8196c542 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-06-19 23:22:25 +01:00
Johannes Schindelin
dc89c5e743 Do not compile compat/**/*.c with -Wold-style-definition
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-06-19 23:22:23 +01:00
Johannes Schindelin
b7be013eed 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-06-19 23:22:22 +01:00
Pat Thoyts
33a1ede708 Start the merging-rebase to junio/next
This commit starts the rebase of f299a20 to 4f8abc6
using abe12437f4 as base.
2012-06-19 23:22:18 +01:00
Junio C Hamano
4f8abc6d28 Sync with v1.7.11
# By Junio C Hamano (2) and Vincent van Ravesteijn (1)
* master:
  Git 1.7.11
  Git 1.7.10.5
  Do not autosquash in case of an implied interactive rebase
2012-06-17 14:07:46 -07:00
Junio C Hamano
0ce2e396ee Git 1.7.11
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.7.11
2012-06-17 14:07:15 -07:00
Junio C Hamano
a890c998de Sync with 1.7.10.5 2012-06-17 14:05:53 -07:00
Junio C Hamano
785ee4960c Git 1.7.10.5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.7.10.5
2012-06-17 14:04:15 -07:00
Vincent van Ravesteijn
941cab3a78 Do not autosquash in case of an implied interactive rebase
The option to autosquash is only used in case of an interactive rebase.
When merges are preserved, rebase uses an interactive rebase internally,
but in this case autosquash should still be disabled.

Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-17 14:01:42 -07:00
Junio C Hamano
ca4effd8bc Merge branch 'js/maint-fast-export-mark-error' into maint
"git fast-export" did not give a readable error message when the same
mark erroneously appeared twice in the --import-marks input.
2012-06-17 14:00:03 -07:00
Junio C Hamano
b465d9982e Merge branch 'master' into next
# By Jonathan Nieder (2) and others
* master:
  diff: Only count lines in show_shortstats
  perl/Makefile: install Git::SVN::* when NO_PERL_MAKEMAKER=yes, too
  perl/Makefile.PL: warn about duplicate module list in perl/Makefile
  l10n: it.po: translate 212 new messages
2012-06-15 15:02:15 -07:00
Junio C Hamano
7dba3f73e9 Merge git://github.com/git-l10n/git-po
Updated Italian translations.

* git://github.com/git-l10n/git-po:
  l10n: it.po: translate 212 new messages
2012-06-15 15:01:16 -07:00
Junio C Hamano
0b6e913c8b Merge branch 'as/diff-shortstat-ignore-binary'
# By Alexander Strasser
* as/diff-shortstat-ignore-binary:
  diff: Only count lines in show_shortstats
2012-06-15 15:00:53 -07:00
Alexander Strasser
de9658b511 diff: Only count lines in show_shortstats
Do not mix byte and line counts. Binary files have byte counts;
skip them when accumulating line insertions/deletions.

The regression was introduced in e18872b.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-15 15:00:04 -07:00
Jonathan Nieder
1fd8f97f6e perl/Makefile: install Git::SVN::* when NO_PERL_MAKEMAKER=yes, too
v1.7.11-rc1~12^2~2 (2012-05-27) and friends split some git-svn code
into separate modules but did not update the fallback rules to install
them when NO_PERL_MAKEMAKER is set.  Add the appropriate rules so
users without MakeMaker can use git-svn again.

Affected modules: Git::SVN::Prompt, Git::SVN::Fetcher,
Git::SVN::Editor, Git::SVN::Ra, Git::SVN::Memoize::YAML.

Reported-by: Adam Roben <adam@roben.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmali.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-15 13:24:06 -07:00
Jonathan Nieder
d22e567770 perl/Makefile.PL: warn about duplicate module list in perl/Makefile
Adding or removing a module requires modifying both files to support
builds with and without MakeMaker.  Add a comment to remind patch
authors and reviewers at the crucial moment.

Longer term, it would be nicer to maintain a single list, perhaps in a
separate file used by both build systems.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-15 13:22:52 -07:00
Marco Paolone
7594112513 l10n: it.po: translate 212 new messages
Signed-off-by: Marco Paolone <marcopaolone@gmail.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2012-06-14 14:20:15 +02:00
Junio C Hamano
8698a94dad Merge branch 'master' into next
# By SZEDER Gábor (2) and Ramsay Jones (1)
* master:
  completion: remove credential helpers from porcelain commands
  completion: put main git and gitk completion functions back into git namespace
  gitweb: Skip 'modification times' tests when no date parser available
2012-06-13 11:49:46 -07:00
Junio C Hamano
2ae48a9bb8 Merge branch 'rj/gitweb-test-sans-date-parser'
Regression fix to t9501 introduced at 0f3ddd4

* rj/gitweb-test-sans-date-parser:
  gitweb: Skip 'modification times' tests when no date parser available
2012-06-13 11:48:54 -07:00
Junio C Hamano
2cf4cfa7e9 Merge branch 'fc/git-complete-helper-fix'
* fc/git-complete-helper-fix:
  completion: put main git and gitk completion functions back into git namespace
2012-06-13 11:47:11 -07:00
SZEDER Gábor
1dad5c14f9 completion: remove credential helpers from porcelain commands
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-13 10:24:46 -07:00
SZEDER Gábor
93b291e071 completion: put main git and gitk completion functions back into git namespace
Commit 7f02f3d7 (completion: rename internal helpers _git and _gitk,
2012-05-19) renamed said functions to _main_git() and _main_gitk(),
respectively.  By convention the name of our git-completion-specific
functions start with '_git' or '__git' prefix, so rename those
functions once again to put them back into our "namespace".  Use the
two underscore prefix, because _git_main() could be mistaken for the
completion function of the (not yet existing) 'git main' command.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-13 10:23:54 -07:00
Ramsay Jones
2a8a4490c2 gitweb: Skip 'modification times' tests when no date parser available
The If-Modified-Since support in Gitweb is conditional on the
availability of a date parser from either the HTTP::Date or
Time::ParseDate modules. If a suitable parser is not available,
then the corresponding 'modification times' tests should be skipped.

Introduce the DATE_PARSER test prerequisite and use it to skip
all of the dependent tests.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-12 13:23:17 -07:00
Junio C Hamano
94bee058f5 Sync with 1.7.11-rc3
# By Jiang Xin (2) and others
# Via Junio C Hamano (5) and Jiang Xin (1)
* master:
  Git 1.7.11-rc3
  api-credential.txt: document that helpers field is filled-in automatically
  fast-export: report SHA-1 instead of gibberish when marks exist already
  l10n: de.po: translate 27 new messages
  l10n: Update  po/vi.po to v1.7.11.rc2.2.gb694fbb
  l10n: zh_CN.po: translate 27 new messages
  l10n: Update git.pot (27 new, 1 removed messages)
2012-06-12 09:11:08 -07:00
Junio C Hamano
9bea2b5896 Git 1.7.11-rc3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.7.11-rc3
2012-06-12 09:10:52 -07:00
Junio C Hamano
3a2c13551e Merge git://github.com/git-l10n/git-po
Updates to German, Vietnamese and simplified Chinese translation.

* git://github.com/git-l10n/git-po:
  l10n: de.po: translate 27 new messages
  l10n: Update  po/vi.po to v1.7.11.rc2.2.gb694fbb
  l10n: zh_CN.po: translate 27 new messages
  l10n: Update git.pot (27 new, 1 removed messages)
2012-06-12 09:08:35 -07:00
Jiang Xin
3482b14465 Merge git://github.com/ralfth/git-po-de
By Ralf Thielow
via Ralf Thielow
* github.com/ralfth/git-po-de:
  l10n: de.po: translate 27 new messages
2012-06-12 23:41:05 +08:00
Junio C Hamano
73a6e3c794 Merge branch 'mm/api-credentials-doc'
* mm/api-credentials-doc:
  api-credential.txt: document that helpers field is filled-in automatically
2012-06-12 08:40:16 -07:00