Commit Graph

28584 Commits

Author SHA1 Message Date
Johannes Schindelin
d1bc99481f 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-03-30 13:41:56 -05:00
Johannes Schindelin
c57ff98b36 Work around funny CR issue
This is really a problem with shell scripts being called on msysGit,
but there are more important bugs to fix for the moment.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-03-30 13:41:56 -05:00
Pat Thoyts
805627e4cc 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-03-30 13:41:56 -05:00
Johannes Schindelin
116eff9bc2 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-03-30 13:41:56 -05:00
Heiko Voigt
674b65a543 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-03-30 13:41:56 -05:00
Heiko Voigt
13e143f894 Revert "git-gui: set GIT_DIR and GIT_WORK_TREE after setup"
This reverts commit a9fa11fe5b.
2012-03-30 13:41:56 -05:00
Johannes Sixt
ade9eff183 criss cross rename failure workaround
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2012-03-30 13:41:56 -05:00
Johannes Schindelin
fada95a7eb 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-03-30 13:41:55 -05:00
Erik Faye-Lund
1d396a8177 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-03-30 13:41:55 -05:00
Karsten Blees
0eb988904c MSVC: link dynamically to the CRT
Dynamic linking is generally preferred over static linking, and MSVCRT.dll
has been integral part of Windows for a long time.

This also fixes linker warnings for _malloc and _free in zlib.lib, which
seems to be compiled for MSVCRT.dll already.

The DLL version also exports some of the CRT initialization functions,
which are hidden in the static libcmt.lib (e.g. __wgetmainargs, required by
subsequent Unicode patches).

Signed-off-by: Karsten Blees <blees@dcon.de>
2012-03-30 13:41:55 -05:00
Matthieu Moy
451eb620d9 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-03-30 13:41:55 -05:00
Junio C Hamano
44a73f2dae Merge branch 'master' into next
* master:
  config: remove useless assignment
2012-03-28 23:47:26 -07:00
Junio C Hamano
074b16b106 Merge branch 'mm/push-default-switch-warning' into next
This resurrects an ancient patch I wrote during a discussion we had in the
1.6.3-1.6.4 era.  This should probably come after ct/advise-push-default
topic and at that point the advise messages need to be rephrased, taking
the future default change into account.

* mm/push-default-switch-warning:
  push: start warning upcoming default change for push.default

Conflicts:
	builtin/push.c
2012-03-28 23:47:10 -07:00
Junio C Hamano
62764ae865 Merge branch 'ct/advise-push-default' into next
Breaks down the cases in which "git push" fails due to non-ff into three
categories, and gives separate advise messages.  This should be a good
change regardless of mm/push-default-switch-warning topic.

* ct/advise-push-default:
  clean up struct ref's nonfastforward field
  push: Provide situational hints for non-fast-forward errors
2012-03-28 23:47:03 -07:00
René Scharfe
b3065bdc03 config: remove useless assignment
v1.7.9-8-g270a344 (config: stop using config_exclusive_filename) replaced
config_exclusive_filename with given_config_file.  In one case this
resulted in a self-assignment, which is reported by clang as a warning.
Remove the useless code.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-28 15:19:17 -07:00
Junio C Hamano
59406684b6 Sync with 1.7.10-rc3
* master:
  Git 1.7.10-rc3
  correct a few doubled-word nits in comments and documentation
  correct spelling: an URL -> a URL
2012-03-28 11:19:37 -07:00
Junio C Hamano
455cf268db Git 1.7.10-rc3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.7.10-rc3
2012-03-28 11:18:42 -07:00
Jim Meyering
65c2b2b509 correct a few doubled-word nits in comments and documentation
Found by running this command:
$ git ls-files -z|xargs -0 perl -0777 -n \
 -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \
 -e '  {' \
 -e '    $n = ($` =~ tr/\n/\n/ + 1);' \
 -e '    ($v = $&) =~ s/\n/\\n/g;' \
 -e '    print "$ARGV:$n:$v\n";' \
 -e '  }'

Why not just git grep -E ...?
That wouldn't work then the doubled words are separated by a newline.
This is derived from a Makefile syntax-check rule in gnulib's maint.mk:
  http://git.sv.gnu.org/cgit/gnulib.git/tree/top/maint.mk

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-28 11:18:35 -07:00
Jim Meyering
a7793a7491 correct spelling: an URL -> a URL
Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-28 08:47:23 -07:00
Junio C Hamano
ed9bf0022f Merge branch 'master' into next to sync with l10n updates
* master:
  tests: unset COLUMNS inherited from environment
  Add url of Swedish l10n team in TEAMS file
  l10n: Review zh_CN translation for Git 1.7.10-rc1
  Update Swedish translation (724t0f0u).
  l10n: Update zh_CN translation for Git 1.7.10-rc1
  l10n: Update git.pot (1 new message)
2012-03-27 16:27:05 -07:00
Junio C Hamano
59012e20f8 l10n updates for Git 1.7.10-rc1
* 'master' of git://github.com/git-l10n/git-po:
  Add url of Swedish l10n team in TEAMS file
  l10n: Review zh_CN translation for Git 1.7.10-rc1
  Update Swedish translation (724t0f0u).
  l10n: Update zh_CN translation for Git 1.7.10-rc1
  l10n: Update git.pot (1 new message)
2012-03-27 08:39:18 -07:00
Zbigniew Jędrzejewski-Szmek
b1d645b58a tests: unset COLUMNS inherited from environment
$COLUMNS must be unset to not interfere with the tests. The tests
already ignore the terminal size because output is redirected to a
file, but COLUMNS overrides terminal size detection and changes the
test output away from the standard 80.

Reported-by: Jeff King <peff@peff.net>
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-27 07:56:57 -07:00
Jiang Xin
3601b1d359 Add url of Swedish l10n team in TEAMS file
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-03-27 17:11:34 +08:00
Jiang Xin
90e6ef5320 l10n: Review zh_CN translation for Git 1.7.10-rc1
Overall review of the zh_CN translation:

 - Distinguish the translations of index and stage, though they are the
   same thing.

 - Many other fixes, e.g., add the lost periods at the end of translated
   sentences.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2012-03-27 16:09:03 +08:00
Peter Krefting
0e641b1f95 Update Swedish translation (724t0f0u).
- Update for 1.7.10-rc1.
- Add a missing -e when generaring the "Untracked files" message.
- Fixed some wordings after playing with the localized version.
2012-03-27 16:09:03 +08:00
Jeff King
e339aa92ae clean up struct ref's nonfastforward field
Each ref structure contains a "nonfastforward" field which
is set during push to show whether the ref rewound history.
Originally this was a single bit, but it was changed in
f25950f (push: Provide situational hints for non-fast-forward
errors) to an enum differentiating a non-ff of the current
branch versus another branch.

However, we never actually set the member according to the
enum values, nor did we ever read it expecting anything but
a boolean value. But we did use the side effect of declaring
the enum constants to store those values in a totally
different integer variable. The code as-is isn't buggy, but
the enum declaration inside "struct ref" is somewhat
misleading.

Let's convert nonfastforward back into a single bit, and
then define the NON_FF_* constants closer to where they
would be used (they are returned via the "int *nonfastforward"
parameter to transport_push, so we can define them there).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-26 12:59:04 -07:00
Junio C Hamano
74cd462aaf Merge branch 'master' into next
* master:
  Update draft release notes to 1.7.10
  Git 1.7.9.5
  grep doc: add --break / --heading / -W to synopsis
  Documentation: improve description of GIT_EDITOR and preference order
  documentation: fix alphabetic ordered list for git-rebase man page
2012-03-26 12:38:54 -07:00
Junio C Hamano
fae9d761c7 Update draft release notes to 1.7.10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-26 12:38:34 -07:00
Junio C Hamano
ee459baa5c Sync with 1.7.9.5 2012-03-26 12:30:51 -07:00
Junio C Hamano
8ced9c90a2 Git 1.7.9.5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.7.9.5
2012-03-26 12:29:25 -07:00
Junio C Hamano
79efeae69d Merge branch 'jn/maint-fast-import-empty-ls' into maint
* jn/maint-fast-import-empty-ls:
  fast-import: don't allow 'ls' of path with empty components
  fast-import: leakfix for 'ls' of dirty trees
2012-03-26 12:10:25 -07:00
Junio C Hamano
bda02ebc39 Merge branch 'ph/rerere-doc' into maint
* ph/rerere-doc:
  rerere: Document 'rerere remaining'
2012-03-26 12:10:12 -07:00
Junio C Hamano
ed6ce4382b Merge branch 'ms/maint-config-error-at-eol-linecount' into maint
* ms/maint-config-error-at-eol-linecount:
  config: report errors at the EOL with correct line number
2012-03-26 12:10:05 -07:00
Mark Lodato
a12c6b0149 grep doc: add --break / --heading / -W to synopsis
All of the other options were included in the synopsis, so it makes
sense to include these as well.

Signed-off-by: Mark Lodato <lodatom@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-26 12:06:48 -07:00
Rodrigo Silva (MestreLion)
36384c979d Documentation: improve description of GIT_EDITOR and preference order
Previously GIT_EDITOR was not listed in git(1) "Environment Variables" section,
which could be very confusing to users. Include it in "other" subsection along
with a link to git-var(1), since that is the page that fully describes all
places where editor can be set and also their preference order.

Also, git-var(1) did not say that hardcoded fallback 'vi' may have been changed
at build time. A user could be puzzled if 'nano' pops up even when none of the
mentioned environment vars or config.editor are set. Clarify this.

Ideally, the build system should be changed to reflect the chosen fallback
editor when creating the man pages. Not sure if that is even possible though.

Signed-off-by: Rodrigo Silva (MestreLion) <linux@rodrigosilva.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-26 10:46:07 -07:00
Nelson Benitez Leon
d3f2475c01 documentation: fix alphabetic ordered list for git-rebase man page
An alphabetic ordered list (a.) is converted to numerical in
the man page (1.) so context comments naming 'a' were confusing,
fix that by not using ordered list notation for 'a' anb 'b' items.

Signed-off-by: Nelson Benitez Leon <nelsonjesus.benitez@seap.minhap.es>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-26 10:28:55 -07:00
Junio C Hamano
ab9883ec2f Merge gitk updates in
* master:
  gitk: Teach gitk to respect log.showroot
  gitk: Add menu items for comparing a commit with the marked commit
  gitk: Speed up resolution of short SHA1 ids
  gitk: Use symbolic font names "sans" and "monospace" when available
  gitk: Skip over AUTHOR/COMMIT_DATE when searching all fields
  gitk: Make "git describe" output clickable, too
  gitk: Fix the display of files when filtered by path
  gitk: Use a tabbed dialog to edit preferences
  gitk: Use "gitk: repo-top-level-dir" as window title
2012-03-25 22:14:56 -07:00
Junio C Hamano
b476064544 Merge gitk changes from Paul Mackerras at git://ozlabs.org/~paulus/gitk
* git://ozlabs.org/~paulus/gitk:
  gitk: Teach gitk to respect log.showroot
  gitk: Add menu items for comparing a commit with the marked commit
  gitk: Speed up resolution of short SHA1 ids
  gitk: Use symbolic font names "sans" and "monospace" when available
  gitk: Skip over AUTHOR/COMMIT_DATE when searching all fields
  gitk: Make "git describe" output clickable, too
  gitk: Fix the display of files when filtered by path
  gitk: Use a tabbed dialog to edit preferences
  gitk: Use "gitk: repo-top-level-dir" as window title
2012-03-24 01:30:30 -07:00
Marcus Karlsson
b2b76d1069 gitk: Teach gitk to respect log.showroot
In early days, all projects managed by git (except for git itself) had the
product of a fairly mature development history in their first commit, and
it was deemed unnecessary clutter to show additions of these thousands of
paths as a patch.

"git log" learned to show the patch for the initial commit without requiring
--root command line option at 0f03ca9 (config option log.showroot to show
the diff of root commits, 2006-11-23).

Teach gitk to respect log.showroot.

[paulus@samba.org: Cleaned up the Tcl a bit, use --bool on the
 git config call]

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2012-03-24 16:44:12 +11:00
Junio C Hamano
1bdf608349 Sync with Git 1.7.10-rc2
Git 1.7.10-rc2
2012-03-23 15:11:48 -07:00
Junio C Hamano
c16df57c5a Git 1.7.10-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.7.10-rc2
2012-03-23 15:11:24 -07:00
Junio C Hamano
eb2c67ccbd .mailmap: unify various old mail addresses of gitster
"git shortlog -s -e" should show a single current address with this.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-23 14:40:39 -07:00
Junio C Hamano
f47ff5afe4 Merge branch 'am/completion-zsh-fix'
* am/completion-zsh-fix:
  contrib/completion: "local var=()" is misinterpreted as func-decl by zsh
2012-03-23 14:36:21 -07:00
Junio C Hamano
0df81d860e Merge branch 'dw/gitweb-doc-grammo'
Typofix.

* dw/gitweb-doc-grammo:
  Documentation/gitweb: trivial English fixes
2012-03-23 14:36:13 -07:00
D Waitzman
c32c959165 Documentation/gitweb: trivial English fixes
Change "it's" to "its" where a possessive is intended.  Also add two
missing "the" that were noticed by Ben Walton.

Signed-off-by: David Waitzman <djw@bbn.com>
2012-03-23 11:22:04 -07:00
Paul Mackerras
6febdede5a gitk: Add menu items for comparing a commit with the marked commit
Sometimes one wants to see the different between two commits that are
a long distance apart in the graph display.  This is difficult to do
with the "Diff this -> selected" and "Diff selected -> this" menu
items because the need to maintain the selection means that one can't
use the find facilities or the reference list window to navigate from
one to the other.

This provides an alternative using the mark.  Having found one commit,
one marks it with the "Mark this commit" menu item, then navigates to
the other commit and uses the new "Diff this -> marked commit" and/or
"Diff marked commit -> this" menu items.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2012-03-23 22:07:27 +11:00
Alex Merry
471dcfdbb2 contrib/completion: "local var=()" is misinterpreted as func-decl by zsh
Certain versions of zsh seems to treat

    local var=()

as a function declaration, rather than an assignment of an empty array,
although its documentation does not suggest that this should be the case.

With zsh 4.3.15 on Fedora Core 15, this causes

  __git_ps1 " (%s)"

to trigger an error message:

  local:2: command not found: svn_url_pattern

when GIT_PS1_SHOWUPSTREAM="auto".

Signed-off-by: Alex Merry <dev@randomguy3.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-21 10:02:39 -07:00
Junio C Hamano
c004001ab6 Merge branch 'nl/http-proxy-more' into next
The code to talk to http proxies learn to use the same credential
API used to talk to the final http destinations.

Will defer til 1.7.10.

* nl/http-proxy-more:
  http: rename HTTP_REAUTH to HTTP_AUTH_RETRY
  http: Avoid limit of retrying request only twice
  http: handle proxy authentication failure (error 407)
  http: handle proxy proactive authentication
  http: try http_proxy env var when http.proxy config option is not set
2012-03-20 15:54:59 -07:00
Junio C Hamano
3092a2b4ce Merge branch 'nl/rebase-i-cheat-sheet' into next
Not urgent.

* nl/rebase-i-cheat-sheet:
  rebase -i: remind that the lines are top-to-bottom
2012-03-20 15:54:58 -07:00
Junio C Hamano
b675ec11ca Merge branch 'zj/test-cred-helper-nicer-prove' into next
Minor improvement to t0303.
Not urgent.

* zj/test-cred-helper-nicer-prove:
  t0303: resurrect commit message as test documentation
  t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER
2012-03-20 15:54:58 -07:00