Commit Graph

83813 Commits

Author SHA1 Message Date
Johannes Schindelin
a60968cf43 Merge branch 'colorize-push-errors'
To help users discern large chunks of white text (when the push
succeeds) from large chunks of white text (when the push fails), let's
add some color to the latter.

This closes https://github.com/git-for-windows/git/pull/1429 and fixes
https://github.com/git-for-windows/git/issues/1422

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:45:28 +02:00
Johannes Schindelin
6122cbba0b Merge branch 'dj/runtime-prefix'
Two more commits made it into the dj/runtime-prefix branch before being
merged into core Git's `master`. Let's take those two, too.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:45:24 +02:00
Johannes Schindelin
f32f44d98a Merge pull request #1679 from telezhnaya/win
vcxproj: change build logic
2018-05-29 19:45:20 +02:00
Johannes Schindelin
675ed7e528 Document the new color.* settings to colorize push errors/hints
Let's make it easier for users to find out how to customize these colors.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:44:47 +02:00
Jonathan Nieder
ccccb1bfd2 Makefile: quote $INSTLIBDIR when passing it to sed
f6a0ad4b (Makefile: generate Perl header from template file,
2018-04-10) moved code for generating the 'use lib' lines at the top
of perl scripts from the $(SCRIPT_PERL_GEN) rule to a separate
GIT-PERL-HEADER rule.

This rule first populates INSTLIBDIR and then substitutes it into the
GIT-PERL-HEADER using sed:

	INSTLIBDIR=... something ...
	sed -e 's=@@INSTLIBDIR@@='$$INSTLIBDIR'=g' $< > $@

Because $INSTLIBDIR is not surrounded by double quotes, the shell
splits it at each space, causing errors if INSTLIBDIR contains an $IFS
character:

 sed: 1: "s=@@INSTLIBDIR@@=/usr/l ...": unescaped newline inside substitute pattern

Add back the missing double-quotes to make it work again.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-05-29 19:44:47 +02:00
Olga Telezhnaia
866376b7fd vcxproj: change build logic
Add new condition to invoke vcpkg_install.bat: it's not enough to check
the presence of folder vcpkg. We need to check the presence of some
header files because this is one of the main goals of this script.
Previous build attempt could be aborted, so the folder will exist but
the project will not be built properly.

Signed-off-by: Olga Telezhnaia <olyatelezhnaya@gmail.com>
2018-05-29 19:44:47 +02:00
Johannes Schindelin
a8612f9919 Add a test to verify that push errors are colorful
This actually only tests whether the push errors/hints are colored if
the respective color.* config settings are `always`, but in the regular
case they default to `auto` (in which case we color the messages when
stderr is connected to an interactive terminal), therefore these tests
should suffice.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:44:47 +02:00
Jonathan Nieder
b30816f619 Makefile: remove unused @@PERLLIBDIR@@ substitution variable
Junio noticed that this variable is not quoted correctly when it is
passed to sed.  As a shell-quoted string, it should be inside
single-quotes like $(perllibdir_relative_SQ), not outside them like
$INSTLIBDIR.

In fact, this substitution variable is not used.  Simplify by removing
it.

Reported-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-05-29 19:44:47 +02:00
Ryan Dammrose
86e345ff3b push: colorize errors
This is an attempt to resolve an issue I experience with people that are
new to Git -- especially colleagues in a team setting -- where they miss
that their push to a remote location failed because the failure and
success both return a block of white text.

An example is if I push something to a remote repository and then a
colleague attempts to push to the same remote repository and the push
fails because it requires them to pull first, but they don't notice
because a success and failure both return a block of white text. They
then continue about their business, thinking it has been successfully
pushed.

This patch colorizes the errors and hints (in red and yellow,
respectively) so whenever there is a failure when pushing to a remote
repository that fails, it is more noticeable.

[jes: fixed a couple bugs, added the color.{advice,push,transport}
settings, refactored to use want_color_stderr().]

Signed-off-by: Ryan Dammrose ryandammrose@gmail.com
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:44:47 +02:00
Johannes Schindelin
43265bc831 color: introduce support for colorizing stderr
So far, we only ever asked whether stdout wants to be colorful. In the
upcoming patches, we will want to make push errors more prominent, which
are printed to stderr, though.

So let's refactor the want_color() function into a want_color_fd()
function (which expects to be called with fd == 1 or fd == 2 for stdout
and stderr, respectively), and then define the macro `want_color()` to
use the want_color_fd() function.

And then also add a macro `want_color_stderr()`, for convenience and
for documentation.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:44:47 +02:00
Johannes Schindelin
ff27edf756 Merge branch 'cb/bash-completion-ls-files-processing' into next
Shell completion (in contrib) that gives list of paths have been
optimized somewhat.

* cb/bash-completion-ls-files-processing:
  completion: improve ls-files filter performance

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

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:44:44 +02:00
Johannes Schindelin
bb52f38098 Merge pull request #1645 from ZCube/master
Support windows container.
2018-05-29 19:44:40 +02:00
Johannes Schindelin
e052b458e2 Merge branch 'ab/install-symlinks'
The build procedure learned to optionally use symbolic links
(instead of hardlinks and copies) to install "git-foo" for built-in
commands, whose binaries are all identical.

* ab/install-symlinks:
  Makefile: optionally symlink libexec/git-core binaries to bin/git
  Makefile: add a gitexecdir_relative variable
  Makefile: fix broken bindir_relative variable

[jes: merged into Git for Windows early, to facilitate work on skipping
the builtins entirely if desired, if I ever find the time to work on
this...]

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:44:26 +02:00
Johannes Schindelin
2403238cfa Merge branch 'ctrl-c'
This is part two of the Ctrl+C story, where part one is
https://github.com/git-for-windows/MSYS2-packages/commit/f4fda0f30aa.

Part one took care of extending the signal handling in the MSYS2 runtime
such that non-MSYS2 processes "receive" a SIGINT by injecting a remote
thread that runs kernel32!CtrlRoutine as if GenerateConsoleCtrlHandler()
had been called (but in contrast to the latter, only one process is
targeted at a time, not every process attached to the same Console) into
the process that needs to be interrupted as well as into all of the
spawned child processes.

Part two now takes care of removing the misguided "kill all spawned
children" atexit() handler, and it also installs a ConsoleCtrl handler
to run Git's SIGINT handlers, such as the one waiting for the pager to
exit.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:43:46 +02:00
Johannes Schindelin
6adee4211c Merge branch 'quote-braces'
This merges https://github.com/git-for-windows/git/pull/1637 with an
added regression test and a new commit message ready for the next
merging rebase (where the faulty commit will be amended).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:43:42 +02:00
Johannes Schindelin
9c10a1e63a Merge branch 'dj/runtime-prefix'
This topic branch first reverts a couple of conflicting patches and then
cherry-picks Dan Jacques' patches to support RUNTIME_PREFIX also on
other platforms than Windows. The original patches are already well
under way into the next Git version, and we just take them early to give
it a bit more testing.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:43:13 +02:00
Johannes Schindelin
e8fd228cdb Merge pull request #1567 from derrickstolee/whitespace
CONTRIBUTING.md: check for whitespace before submitting
2018-05-29 19:42:50 +02:00
Johannes Schindelin
fdc4dbbe97 Merge pull request #1567 from derrickstolee/whitespace
CONTRIBUTING.md: check for whitespace before submitting
2018-05-29 19:42:36 +02:00
Johannes Schindelin
5cbcf3be46 Merge pull request #1564 from git-for-windows/larsxschneider-patch-1
CONTRIBUTING.md: Fix typo
2018-05-29 19:42:22 +02:00
Johannes Schindelin
3ad6dd671f Merge pull request #1548 from alejandro5042/master
Document how $HOME is set on Windows
2018-05-29 19:42:10 +02:00
Johannes Schindelin
03fcbe8ef6 Merge branch 'fix-unc-buffer-overflow'
This fixes `git status` in a Git worktree at the top of a file share.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:41:59 +02:00
Johannes Schindelin
64bf4905d2 Merge pull request #1529 from derrickstolee/contributing
Rewrite CONTRIBUTING.md to be a guide for new developers on Windows
2018-05-29 19:41:55 +02:00
Johannes Schindelin
c7e384e89f Merge pull request #1468 from atetubou/fscache_checkout_flush
checkout.c: enable fscache for checkout again
2018-05-29 19:41:37 +02:00
Johannes Schindelin
4a796c00a6 Merge branch 'fix-terminal-prompt'
This fixes the issue identified in

	https://github.com/git-for-windows/git/issues/1498

where Git would not fall back to reading credentials from a Win32
Console when the credentials could not be read from the terminal via the
Bash hack (that is necessary to support running in a MinTTY).

Tested in a Powershell window.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:41:33 +02:00
Johannes Schindelin
57ef4a4db0 Merge branch 'fix-vcxproj-generation'
We ran out of GUIDs in the script generating Visual Studio project
files. This topic branch fixes that issue once and for all, by
generating the GUIDs.

For extra goodness, we now generate GUIDs that are not random, but are
generated from the SHA-256 checksums of the target file of the project.
That way, the project<->GUID mapping is stable.

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

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:41:29 +02:00
Johannes Schindelin
0735d7460e git_setup_gettext: plug memory leak
The system_path() function returns a freshly-allocated string. We need
to release it.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:33 +02:00
Clemens Buchacher
a8c25e7a41 completion: improve ls-files filter performance
From the output of ls-files, we remove all but the leftmost path
component and then we eliminate duplicates. We do this in a while loop,
which is a performance bottleneck when the number of iterations is large
(e.g. for 60000 files in linux.git).

$ COMP_WORDS=(git status -- ar) COMP_CWORD=3; time _git

real    0m11.876s
user    0m4.685s
sys     0m6.808s

Replacing the loop with the cut command improves performance
significantly:

$ COMP_WORDS=(git status -- ar) COMP_CWORD=3; time _git

real    0m1.372s
user    0m0.263s
sys     0m0.167s

The measurements were done with Msys2 bash, which is used by Git for
Windows.

When filtering the ls-files output we take care not to touch absolute
paths. This is redundant, because ls-files will never output absolute
paths. Remove the unnecessary operations.

The issue was reported here:
https://github.com/git-for-windows/git/issues/1533

Signed-off-by: Clemens Buchacher <drizzd@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-05-29 19:40:33 +02:00
Johannes Schindelin
a833d4bd1e mingw: Windows Docker volumes are *not* symbolic links
... even if they may look like them.

As looking up the target of the "symbolic link" (just to see whether it
starts with `/ContainerMappedDirectories/`) is pretty expensive, we
do it when we can be *really* sure that there is a possibility that this
might be the case.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: JiSeop Moon <zcube@zcube.kr>
2018-05-29 19:40:33 +02:00
Ævar Arnfjörð Bjarmason
9b07ad9056 Makefile: optionally symlink libexec/git-core binaries to bin/git
Add a INSTALL_SYMLINKS option which if enabled, changes the default
hardlink installation method to one where the relevant binaries in
libexec/git-core are symlinked back to ../../bin, instead of being
hardlinked.

This new option also overrides the behavior of the existing
NO_*_HARDLINKS variables which in some cases would produce symlinks
within to libexec/, e.g. "git-add" symlinked to "git" which would be
copy of the "git" found in bin/, now "git-add" in libexec/ is always
going to be symlinked to the "git" found in the bin/ directory.

This option is being added because:

 1) I think it makes what we're doing a lot more obvious. E.g. I'd
    never noticed that the libexec binaries were really just hardlinks
    since e.g. ls(1) won't show that in any obvious way. You need to
    start stat(1)-ing things and look at the inodes to see what's
    going on.

 2) Some tools have very crappy support for hardlinks, e.g. the Git
    shipped with GitLab is much bigger than it should be because
    they're using a chef module that doesn't know about hardlinks, see
    https://github.com/chef/omnibus/issues/827

    I've also ran into other related issues that I think are explained
    by this, e.g. compiling git with debugging and rpm refusing to
    install a ~200MB git package with 2GB left on the FS, I think that
    was because it doesn't consider hardlinks, just the sum of the
    byte size of everything in the package.

As for the implementation, the "../../bin" noted above will vary given
some given some values of "../.." and "bin" depending on the depth of
the gitexecdir relative to the destdir, and the "bindir" target,
e.g. setting "bindir=/tmp/git/binaries gitexecdir=foo/bar/baz" will do
the right thing and produce this result:

    $ file /tmp/git/foo/bar/baz/git-add
    /tmp/git/foo/bar/baz/git-add: symbolic link to ../../../binaries/git

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-05-29 19:40:33 +02:00
Johannes Schindelin
e72d9af79a mingw: really handle SIGINT
Previously, we did not install any handler for Ctrl+C, but now we really
want to because the MSYS2 runtime learned the trick to call the
ConsoleCtrlHandler when Ctrl+C was pressed.

With this, hitting Ctrl+C while `git log` is running will only terminate
the Git process, but not the pager. This finally matches the behavior on
Linux and on macOS.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:33 +02:00
Derrick Stolee
d061861e53 CONTRIBUTING.md: check for whitespace before submitting
Whitespace errors are easy to create but hard to check manually. Add
two git commands that detect these whitespace errors to the commit
cleanup section of CONTRIBUTING.md.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
2018-05-29 19:40:33 +02:00
Lars Schneider
a9375f0558 CONTRIBUTING.md: Fix typo
Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
2018-05-29 19:40:33 +02:00
Alejandro Barreto
2eafc0ee70 Document how $HOME is set on Windows
Git documentation refers to $HOME and $XDG_CONFIG_HOME often, but does not specify how or where these values come from on Windows where neither is set by default. The new documentation reflects the behavior of setup_windows_environment() in compat/mingw.c.

Signed-off-by: Alejandro Barreto <alejandro.barreto@ni.com>
2018-05-29 19:40:33 +02:00
Johannes Schindelin
0ea9243625 setup_git_directory(): handle UNC root paths correctly
When working in the root directory of a file share (this is only
possible in Git Bash and Powershell, but not in CMD), the current
directory is reported without a trailing slash.

This is different from Unix and standard Windows directories: both / and
C:\ are reported with a trailing slash as current directories.

If a Git worktree is located there, Git is not quite prepared for that:
while it does manage to find the .git directory/file, it returns as
length of the top-level directory's path *one more* than the length of
the current directory, and setup_git_directory_gently() would then
return an undefined string as prefix.

In practice, this undefined string usually points to NUL bytes, and does
not cause much harm. Under rare circumstances that are really involved
to reproduce (and not reliably so), the reported prefix could be a
suffix string of Git's exec path, though.

A careful analysis determined that this bug is unlikely to be
exploitable, therefore we mark this as a regular bug fix.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:33 +02:00
Derrick Stolee
b7e290b78c CONTRIBUTING.md: add guide for first-time contributors
Getting started contributing to Git can be difficult on a Windows machine.
CONTRIBUTING.md contains a guide to getting started, including detailed
steps for setting up build tools, running tests, and submitting patches
to upstream.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
2018-05-29 19:40:33 +02:00
Takuto Ikuta
36eb19e449 checkout.c: enable fscache for checkout again
This is retry of #1419.

I added flush_fscache macro to flush cached stats after disk writing
with tests for regression reported in #1438 and #1442.

git checkout checks each file path in sorted order, so cache flushing does not
make performance worse unless we have large number of modified files in
a directory containing many files.

Using chromium repository, I tested `git checkout .` performance when I
delete 10 files in different directories.
With this patch:
TotalSeconds: 4.307272
TotalSeconds: 4.4863595
TotalSeconds: 4.2975562
Avg: 4.36372923333333

Without this patch:
TotalSeconds: 20.9705431
TotalSeconds: 22.4867685
TotalSeconds: 18.8968292
Avg: 20.7847136

I confirmed this patch passed all tests in t/ with core_fscache=1.

Signed-off-by: Takuto Ikuta <tikuta@chromium.org>
2018-05-29 19:40:33 +02:00
Johannes Schindelin
5e1fedad9a mingw (git_terminal_prompt): turn on echo explictly
It turns out that when running in a Powershell window, we need to turn
on ENABLE_ECHO_INPUT because the default would be *not* to echo
anything.

This also ensures that we use the input mode where all input is read
until the user hits the Return key.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:33 +02:00
Johannes Schindelin
8a1236495e .github: Add configuration for the Sentiment Bot
The sentiment bot will help detect when things get too heated.
Hopefully.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:33 +02:00
Johannes Schindelin
4f7753fb8c buildsystems(Vcproj): auto-generate GUIDs
We ran out GUIDs. Again. But there is no need to: we can generate them
semi-randomly from the target file name of the project.

Note: the Vcproj generator is probably only interesting for historical
reasons; nevertheless, the Vcxproj generator in the Git for Windows
project is based on the Vcproj generator and it is better to backport
the fix than to let Vcproj have the hard-coded list of GUIDs.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:33 +02:00
Johannes Schindelin
6c28c81930 gettext: avoid initialization if the locale dir is not present
The runtime of a simple `git.exe version` call on Windows is currently
dominated by the gettext setup, adding a whopping ~150ms to the ~210ms
total.

Given that this cost is added to each and every git.exe invocation goes
through common-main's invocation of git_setup_gettext(), and given that
scripts have to call git.exe dozens, if not hundreds, of times, this is
a substantial performance penalty.

This is particularly pointless when considering that Git for Windows
ships without localization (to keep the installer's size to a bearable
~34MB): all that time setting up gettext is for naught.

So let's be smart about it and skip setting up gettext if the locale
directory is not even present.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:33 +02:00
JiSeop Moon
63a2744a73 mingw: move the file_attr_to_st_mode() function definition
In preparation for making this function a bit more complicated (to allow
for special-casing the `ContainerMappedDirectories` in Windows
containers, which look like a symbolic link, but are not), let's move it
out of the header.

Signed-off-by: JiSeop Moon <zcube@zcube.kr>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:33 +02:00
Ævar Arnfjörð Bjarmason
f7e556ecab Makefile: add a gitexecdir_relative variable
This variable will be e.g. "libexec/git-core" if
gitexecdir=/tmp/git/libexec/git-core is given. It'll be used by a
subsequent change.

This is stolen from the yet-to-be integrated (needs resubmission)
"Makefile: add Perl runtime prefix support" patch on the mailing
list. See
<20180108030239.92036-3-dnj@google.com> (https://public-inbox.org/git/20180108030239.92036-3-dnj@google.com/).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-05-29 19:40:33 +02:00
Derrick Stolee
4a8f277bc7 CODE_OF_CONDUCT: Rename CONTRIBUTING.md to CODE_OF_CONDUCT.md
The current CONTRIBUTING.md file is actually a code of conduct. This is
a valuable document, but is misnamed. A following patch will replace
CONTRIBUTING.md with a guide to contributing to Git using a Windows machine.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
2018-05-29 19:40:33 +02:00
Takuto Ikuta
b401cbc250 fetch-pack.c: enable fscache for stats under .git/objects
When I do git fetch, git call file stats under .git/objects for each
refs. This takes time when there are many refs.

By enabling fscache, git takes file stats by directory traversing and that
improved the speed of fetch-pack for repository having large number of
refs.

In my windows workstation, this improves the time of `git fetch` for
chromium repository like below. I took stats 3 times.

* With this patch
TotalSeconds: 9.9825165
TotalSeconds: 9.1862075
TotalSeconds: 10.1956256
Avg: 9.78811653333333

* Without this patch
TotalSeconds: 15.8406702
TotalSeconds: 15.6248053
TotalSeconds: 15.2085938
Avg: 15.5580231

Signed-off-by: Takuto Ikuta <tikuta@chromium.org>
2018-05-29 19:40:33 +02:00
Johannes Schindelin
b339cda9c5 mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
To support Git Bash running in a MinTTY, we use a dirty trick to access
the MSYS2 pseudo terminal: we execute a Bash snippet that accesses
/dev/tty.

The idea was to fall back to writing to/reading from CONOUT$/CONIN$ if
that Bash call failed because Bash was not found.

However, we should fall back even in other error conditions, because we
have not successfully read the user input. Let's make it so.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:33 +02:00
Johannes Schindelin
b661461dbd add --edit: truncate the patch file
If there is already a .git/ADD_EDIT.patch file, we fail to truncate it
properly, which could result in very funny errors.

Let's just truncate it and not worry about it too much.

Reported by J Wyman.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:33 +02:00
Johannes Schindelin
5885f3bb06 Merge pull request #1450 from shiftkey/schannel-norevoke-support
adding http.schannel.checkRevoke support
2018-05-29 19:41:02 +02:00
Johannes Schindelin
640970bb09 Merge branch 'inherit-only-stdhandles'
When spawning child processes, we do want them to inherit the standard
handles so that we can talk to them. We do *not* want them to inherit
any other handle, as that would hold a lock to the respective files
(preventing them from being renamed, modified or deleted), and the child
process would not know how to access that handle anyway.

Happily, there is an API to make that happen. It is supported in Windows
Vista and later, which is exactly what we promise to support in Git for
Windows for the time being.

This also means that we lift, at long last, the target Windows version
from Windows XP to Windows Vista.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:58 +02:00
Johannes Schindelin
732f6a8ee8 Merge pull request #1426 from atetubou/fetch_pack
fetch-pack.c: enable fscache for stats under .git/objects
2018-05-29 19:40:41 +02:00
Johannes Schindelin
27e4c41de2 buildsystems(vcxproj): auto-generate GUIDs
We ran out GUIDs. Again. But there is no need to: we can generate them
semi-randomly from the target file name of the project.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2018-05-29 19:40:33 +02:00