Commit Graph

78881 Commits

Author SHA1 Message Date
Johannes Schindelin
c2dafe8e18 Merge 'gitk' into HEAD 2017-11-29 11:34:50 +01:00
Johannes Schindelin
2d759af176 Merge branch 'msys2-git-gui'
This topic branch addresses the bug where Git for Windows 2.x' Git GUI
failed to generate a working shortcut via Repository>Create Desktop
Shortcut.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-29 11:34:49 +01:00
Johannes Schindelin
1783d64575 Merge 'git-gui' into HEAD 2017-11-29 11:34:49 +01:00
Johannes Schindelin
42686a6892 Merge 'readme' into HEAD
Add a README.md for GitHub goodness.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-29 11:34:49 +01:00
James J. Raden
5bb3a37383 gitk: make the "list references" default window width wider
When using remotes (with git-flow especially), the remote reference names
are almost always wordwrapped in the "list references" window because it's
somewhat narrow by default. It's possible to resize it with a mouse,
but it's annoying to have to do this every time, especially on Windows 10,
where the window border seems to be only one (1) pixel wide, thus making
the grabbing of the window border tricky.

Signed-off-by: James J. Raden <james.raden@gmail.com>
2017-11-29 11:34:35 +01:00
Johannes Schindelin
d0d36a2691 gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6
Tcl/Tk 8.6 introduced new events for the cursor left/right keys and
apparently changed the behavior of the previous event.

Let's work around that by using the new events when we are running with
Tcl/Tk 8.6 or later.

This fixes https://github.com/git-for-windows/git/issues/495

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-29 11:34:35 +01:00
Sebastian Schuberth
ce409edd28 gitk: Use an external icon file on Windows
Git for Windows now ships with the new Git icon from git-scm.com. Use that
icon file if it exists instead of the old procedurally drawn one.

This patch was sent upstream but so far no decision on its inclusion was
made, so commit it to our fork.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
2017-11-29 11:34:35 +01:00
Chris West (Faux)
3ccc1934be gitk: fix another invocation with an overly long command-line
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
2017-11-29 11:34:35 +01:00
Thomas Klaeger
3808df9dbc git-gui (Windows): use git-bash.exe if it is available
Git for Windows 2.x ships with an executable that starts the Git Bash
with all the environment variables and what not properly set up. It is
also adjusted according to the Terminal emulator option chosen when
installing Git for Windows (while `bash.exe --login -i` would always
launch with Windows' default console).

So let's use that executable (usually C:\Program Files\Git\git-bash.exe)
instead of `bash.exe --login -i` if its presence was detected.

This fixes https://github.com/git-for-windows/git/issues/490

Signed-off-by: Thomas Kläger <thomas.klaeger@10a.ch>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-29 11:34:34 +01:00
Johannes Schindelin
2be4dfadde git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-29 11:34:34 +01:00
Brendan Forster
2b94d4f8c0 Add an issue template
With improvements by Clive Chan, Adric Norris, Ben Bodenmiller and
Philip Oakley.

Signed-off-by: Clive Chan <cc@clive.io>
Signed-off-by: Adric Norris <landstander668@gmail.com>
Signed-off-by: Ben Bodenmiller <bbodenmiller@hotmail.com>
Signed-off-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: Brendan Forster <brendan@github.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-29 11:34:34 +01:00
Johannes Schindelin
8a1273d8c3 gitk: 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>
2017-11-29 11:34:34 +01:00
Heiko Voigt
1efc557576 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>
2017-11-29 11:34:34 +01:00
Johannes Schindelin
434e797402 README.md: Add a Windows-specific preamble
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-29 11:34:34 +01:00
Karsten Blees
431a71598f gitk: Unicode file name support
Assumes file names in git tree objects are UTF-8 encoded.

On most unix systems, the system encoding (and thus the TCL system
encoding) will be UTF-8, so file names will be displayed correctly.

On Windows, it is impossible to set the system encoding to UTF-8.
Changing the TCL system encoding (via 'encoding system ...', e.g. in the
startup code) is explicitly discouraged by the TCL docs.

Change gitk functions dealing with file names to always convert
from and to UTF-8.

Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-29 11:34:34 +01:00
Heiko Voigt
f27ad1b890 Revert "git-gui: set GIT_DIR and GIT_WORK_TREE after setup"
This reverts commit a9fa11fe5b.
2017-11-29 11:34:34 +01:00
Johannes Schindelin
3aa4d8b98a Add a Code of Conduct
It is better to state clearly expectations and intentions than to assume
quietly that everybody agrees.

This Code of Conduct is the Open Code of Conduct as per
http://todogroup.org/opencodeofconduct/ (the only modifications are the
adjustments to reflect that there is no "response team" in addition to the
Git for Windows maintainer, and the addition of the link to the Open Code
of Conduct itself).

[Completely revamped, based on the Covenant 1.4 by Brendan Forster]

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-29 11:34:34 +01:00
Johannes Schindelin
0cf6f62d61 Start the merging-rebase to v2.15.1
This commit starts the rebase of 59ca2efea1 to b5b69059f7
2017-11-29 11:32:28 +01:00
Johannes Schindelin
2b9dc9b294 Merge pull request #1380 from atetubou/revert_fscache
Revert "enable fscache while iterating every local refs"
2017-11-28 12:26:28 +01:00
Takuto Ikuta
0b74f7743d fixup! enable fscache while iterating every local refs
This reverts commit 09ccec45e3.

Using fscache here is not right way. It is better to specify
OBJECT_INFO_QUICK flag for has_object_file instead, as was done in Pull
Request #1379. This flag prevents directory list up for each refs also.

Signed-off-by: Takuto Ikuta <tikuta@chromium.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-28 12:23:36 +01:00
Johannes Schindelin
289598f694 Merge pull request #1379 from atetubou/object_info_quick
fetch-pack: specify OBJECT_INFO_QUICK to remove duplicate prepare_pac…
2017-11-28 12:22:24 +01:00
Takuto Ikuta
ff4a78355c fetch-pack: use OBJECT_INFO_QUICK to avoid extra prepare_packed_git call
When I run git fetch, git tries to find object for each local and remote
refs.  Without specifying OBJECT_INFO_QUICK, has_object_file list up
entries in pack directory for each calls.

This patch makes git fetch fast for the repositories having large number
of refs, especially for windows because it's directory list up api is
much slower than linux.

Note: this patch was developed independently also by Jeff King:
https://public-inbox.org/git/20171120202920.7ppcwmzkxifywtoj@sigill.intra.peff.net/

Signed-off-by: Takuto Ikuta <tikuta@chromium.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-28 12:18:19 +01:00
Junio C Hamano
9b185bef0c Git 2.15.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.15.1
2017-11-28 13:39:14 +09:00
Junio C Hamano
b201e96f94 Merge branch 'rs/config-write-section-fix' into maint
There was a recent semantic mismerge in the codepath to write out a
section of a configuration section, which has been corrected.

* rs/config-write-section-fix:
  config: flip return value of write_section()
2017-11-28 13:38:33 +09:00
Junio C Hamano
3aaabcfd40 Merge branch 'js/for-each-ref-remote-name-and-ref'
The "--format=..." option "git for-each-ref" takes learned to show
the name of the 'remote' repository and the ref at the remote side
that is affected for 'upstream' and 'push' via "%(push:remotename)"
and friends.

* js/for-each-ref-remote-name-and-ref:
  for-each-ref: test :remotename and :remoteref
  for-each-ref: let upstream/push report the remote ref name
  for-each-ref: let upstream/push optionally report the remote name

This is the final iteration that made it into upstream Git's master
branch and that started out as 8148ee40ad (Merge branch
'mingw/ref-filter-remote-name', 2017-10-29).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-27 21:02:29 +01:00
Johannes Schindelin
b3b51d13db fixup! Merge branch 'mingw/ref-filter-remote-name'
This reverts 8148ee40ad (Merge branch 'mingw/ref-filter-remote-name',
2017-10-29) in preparation for merging a newer iteration of the patch
series that made it into upstream Git's master branch.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-11-27 20:57:52 +01:00
Junio C Hamano
7bc77766e1 A bit more fixes for 2.15.1
We've been waiting long enough, a few more would not hurt ;-)

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-11-27 10:58:31 +09:00
Junio C Hamano
80a0e0fdd6 Merge branch 'ma/reduce-heads-leakfix' into maint
Leak fixes.

* ma/reduce-heads-leakfix:
  reduce_heads: fix memory leaks
  builtin/merge-base: free commit lists
2017-11-27 10:57:02 +09:00
Junio C Hamano
03e8004f06 Merge branch 'ma/bisect-leakfix' into maint
Leak fixes.

* ma/bisect-leakfix:
  bisect: fix memory leak when returning best element
  bisect: fix off-by-one error in `best_bisection_sorted()`
  bisect: fix memory leak in `find_bisection()`
  bisect: change calling-convention of `find_bisection()`
2017-11-27 10:57:02 +09:00
Junio C Hamano
df481b99ef Merge branch 'rs/apply-fuzzy-match-fix' into maint
A fix for an ancient bug in "git apply --ignore-space-change" codepath.

* rs/apply-fuzzy-match-fix:
  apply: avoid out-of-bounds access in fuzzy_matchlines()
2017-11-27 10:57:02 +09:00
Junio C Hamano
b51df7d306 Merge branch 'ad/submitting-patches-title-decoration' into maint
Doc update around use of "format-patch --subject-prefix" etc.

* ad/submitting-patches-title-decoration:
  doc/SubmittingPatches: correct subject guidance
2017-11-27 10:57:01 +09:00
Junio C Hamano
95bf6151dc Merge branch 'rs/imap-send-next-arg-fix' into maint
Error checking in "git imap-send" for empty response has been
improved.

* rs/imap-send-next-arg-fix:
  imap-send: handle missing response codes gracefully
  imap-send: handle NULL return of next_arg()
2017-11-27 10:57:00 +09:00
Todd Zullinger
7d22aec681 RelNotes: minor typo fixes in 2.15.1 draft
Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-11-26 12:49:23 +09:00
Johannes Schindelin
cf9318d188 Merge pull request #1372 from atetubou/enable_fscache_fetch
enable fscache while iterating every local refs
2017-11-26 00:26:52 +01:00
Takuto Ikuta
09ccec45e3 enable fscache while iterating every local refs
When I do git fetch, git reads entries in .git/objects/pack for every refs in local repository.

By enabling fscache, directory list up in .git/objects/pack for each refs is cached.
Without fscache, such behavior causes long running time when we do git fetch in local repository having many refs.

This patch improves execution time in such case, especially in very large repository like chromium.
In my windows workstation, this patch improves git fetch time from more than 3 minutes to less than 20 seconds for chromium repository.

Signed-off-by: Takuto Ikuta <tikuta@chromium.org>
2017-11-24 11:37:33 +09:00
Junio C Hamano
95a731ce92 Almost ready for 2.15.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-11-21 14:07:08 +09:00
Junio C Hamano
1c89be1db2 Merge branch 'rs/sequencer-rewrite-file-cleanup' into maint
Code cleanup.

* rs/sequencer-rewrite-file-cleanup:
  sequencer.c: check return value of close() in rewrite_file()
  sequencer: use O_TRUNC to truncate files
  sequencer: factor out rewrite_file()
2017-11-21 14:05:33 +09:00
Junio C Hamano
01e0c53c73 Merge branch 'cb/t4201-robustify' into maint
A test update.

* cb/t4201-robustify:
  t4201: make use of abbreviation in the test more robust
2017-11-21 14:05:33 +09:00
Junio C Hamano
b2a276830f Merge branch 'tz/fsf-address-update' into maint
Replace the mailing address of FSF to a URL, as FSF prefers.

* tz/fsf-address-update:
  Replace Free Software Foundation address in license notices
  Replace Free Software Foundation address in license notices
2017-11-21 14:05:32 +09:00
Junio C Hamano
8ff22f5a88 Merge branch 'ad/rebase-i-serie-typofix' into maint
Typofix.

* ad/rebase-i-serie-typofix:
  rebase -i: fix comment typo
2017-11-21 14:05:32 +09:00
Junio C Hamano
5a80d1dd9c Merge branch 'jk/info-alternates-fix' into maint
We used to add an empty alternate object database to the system
that does not help anything; it has been corrected.

* jk/info-alternates-fix:
  link_alt_odb_entries: make empty input a noop
2017-11-21 14:05:31 +09:00
Junio C Hamano
8e3e51a3a7 Merge branch 'ab/pcre-v2' into maint
Building with NO_LIBPCRE1_JIT did not disable it, which has been fixed.

* ab/pcre-v2:
  grep: fix NO_LIBPCRE1_JIT to fully disable JIT
2017-11-21 14:05:30 +09:00
Junio C Hamano
b77b96e29b Merge branch 'sr/wrapper-quote-filenames' into maint
Some error messages did not quote filenames shown in it, which have
been fixed.

* sr/wrapper-quote-filenames:
  wrapper.c: consistently quote filenames in error messages
2017-11-21 14:05:29 +09:00
Junio C Hamano
6baa11dc2a Merge branch 'bw/rebase-i-ignored-submodule-fix' into maint
"git rebase -i" recently started misbehaving when a submodule that
is configured with 'submodule.<name>.ignore' is dirty; this has
been corrected.

* bw/rebase-i-ignored-submodule-fix:
  wt-status: actually ignore submodules when requested
2017-11-21 14:05:29 +09:00
René Scharfe
782c030ea2 config: flip return value of write_section()
d9bd4cbb9c (config: flip return value of store_write_*()) made
write_section() follow the convention of write(2) to return -1 on error
and the number of written bytes on success.  3b48045c6c (Merge branch
'sd/branch-copy') changed it back to returning 0 on error and 1 on
success, but left its callers still checking for negative values.

Let write_section() follow the convention of write(2) again to meet the
expectations of its callers.

Reported-by: Jeff King <peff@peff.net>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-11-18 20:38:40 +09:00
Junio C Hamano
5a1f5c3060 Start preparation for 2.15.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-11-15 12:05:22 +09:00
Junio C Hamano
266b87b90b Merge branch 'ks/mailmap' into maint
* ks/mailmap:
  mailmap: use Kaartic Sivaraam's new address
2017-11-15 12:05:04 +09:00
Junio C Hamano
2d35c507d2 Merge branch 'jm/relnotes-2.15-typofix' into maint
Typofix.

* jm/relnotes-2.15-typofix:
  fix typos in 2.15.0 release notes
2017-11-15 12:05:04 +09:00
Junio C Hamano
da2b4ee388 Merge branch 'cn/diff-indent-no-longer-is-experimental' into maint
Doc update.

* cn/diff-indent-no-longer-is-experimental:
  diff: --indent-heuristic is no longer experimental
2017-11-15 12:05:04 +09:00
Junio C Hamano
74ef46558e Merge branch 'js/mingw-redirect-std-handles' into maint
MinGW updates.

* js/mingw-redirect-std-handles:
  mingw: document the standard handle redirection
  mingw: optionally redirect stderr/stdout via the same handle
  mingw: add experimental feature to redirect standard handles
2017-11-15 12:05:03 +09:00