Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Nov 28, 2014
  1. dscho

    Merge pull request #285 from dscho/readme

    dscho authored
    Update README.md
  2. dscho

    Remove the dysfunctional link to tip4commit

    dscho authored
    Due to the lack of donations, tip4commit removed us from their list.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  3. dscho

    README: Git for Windows is currently switching to the Git for Windows…

    dscho authored
    … SDK
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Commits on Sep 2, 2014
  1. dscho

    Merge pull request #239 from sschuberth/taskkill

    dscho authored
    git-gui/gitk: Do not use a Cygwin-specific kill flag on Windows
Commits on Aug 29, 2014
  1. Sebastian Schuberth

    git-gui/gitk: Do not use a Cygwin-specific kill flag on Windows

    sschuberth authored
    Windows does not necessarily mean Cygwin, it could also be MSYS. The
    latter ships with a version of "kill" that does not understand "-f". In
    msysgit this was addressed shipping Cygwin's version of kill.
    
    Properly fix this by using the stock Windows "taskkill" command instead,
    which is available since Windows XP Professional.
    
    Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Commits on Aug 16, 2014
  1. Karsten Blees

    Merge pull request #231 from kblees/kb/msysgit-2.1.0

    kblees authored
    Rebasing merge to Git v2.1.0
  2. Karsten Blees

    fixup! remote-helper: check helper status after import/export

    kblees authored
    One effect of checking the remote helper status is that SPI exit codes no
    longer bubble up to the porcelain layer - so we shouldn't test for this.
    
    Signed-off-by: Karsten Blees <blees@dcon.de>
  3. Karsten Blees

    Merge pull request #122 from kblees/kb/long-paths-v2

    kblees authored
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  4. Karsten Blees
  5. Karsten Blees

    Merge pull request #181 from kasal/tests-no-posix

    kblees authored
    Revert "test: fix t7001 cp to use POSIX options"
  6. Karsten Blees

    Merge remote-tracking branch 't-b/sideband-bug'

    kblees authored
    This will allow us to work around the push issues pointed out in
    #101.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  7. Karsten Blees

    Merge pull request #115 from msysgit/tip4commit

    kblees authored
    Mention tip4commit
  8. Karsten Blees

    Merge 'fix-is-exe' into HEAD

    kblees authored
  9. Karsten Blees

    Merge 'fix-externals' into HEAD

    kblees authored
  10. Karsten Blees
  11. Karsten Blees

    Merge 'remote-hg-prerequisites' into HEAD

    kblees authored
    These fixes were necessary for Sverre Rabbelier's remote-hg to work,
    but for some magic reason they are not necessary for the current
    remote-hg. Makes you wonder how that one gets away with it.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  12. Karsten Blees
  13. Karsten Blees

    Merge branch 'some-CR-fixes'

    kblees authored
    This branch contains some hacks so that Git produces less CR, and then
    some tests.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  14. Karsten Blees
  15. Karsten Blees
  16. Karsten Blees

    Merge 'gitweb-syntax' into HEAD

    kblees authored
  17. Karsten Blees

    Merge 'gitk' into HEAD

    kblees authored
  18. Karsten Blees

    Merge 'git-gui' into HEAD

    kblees authored
  19. Karsten Blees
  20. Karsten Blees
  21. Karsten Blees

    Merge 'am-submodules' into HEAD

    kblees authored
  22. Karsten Blees

    Merge 'hide-dotgit' into HEAD

    kblees authored
  23. Karsten Blees

    Merge 'unicode' into HEAD

    kblees authored
  24. Karsten Blees
  25. Karsten Blees

    Win32: fix 'lstat("dir/")' with long paths

    kblees authored
    Use a suffciently large buffer to strip the trailing slash.
    
    Signed-off-by: Karsten Blees <blees@dcon.de>
  26. Karsten Blees

    Win32: support long paths

    kblees authored
    Windows paths are typically limited to MAX_PATH = 260 characters, even
    though the underlying NTFS file system supports paths up to 32,767 chars.
    This limitation is also evident in Windows Explorer, cmd.exe and many
    other applications (including IDEs).
    
    Particularly annoying is that most Windows APIs return bogus error codes
    if a relative path only barely exceeds MAX_PATH in conjunction with the
    current directory, e.g. ERROR_PATH_NOT_FOUND / ENOENT instead of the
    infinitely more helpful ERROR_FILENAME_EXCED_RANGE / ENAMETOOLONG.
    
    Many Windows wide char APIs support longer than MAX_PATH paths through the
    file namespace prefix ('\\?\' or '\\?\UNC\') followed by an absolute path.
    Notable exceptions include functions dealing with executables and the
    current directory (CreateProcess, LoadLibrary, Get/SetCurrentDirectory) as
    well as the entire shell API (ShellExecute, SHGetSpecialFolderPath...).
    
    Introduce a handle_long_path function to check the length of a specified
    path properly (and fail with ENAMETOOLONG), and to optionally expand long
    paths using the '\\?\' file namespace prefix. Short paths will not be
    modified, so we don't need to worry about device names (NUL, CON, AUX).
    
    Contrary to MSDN docs, the GetFullPathNameW function doesn't seem to be
    limited to MAX_PATH (at least not on Win7), so we can use it to do the
    heavy lifting of the conversion (translate '/' to '\', eliminate '.' and
    '..', and make an absolute path).
    
    Add long path error checking to xutftowcs_path for APIs with hard MAX_PATH
    limit.
    
    Add a new MAX_LONG_PATH constant and xutftowcs_long_path function for APIs
    that support long paths.
    
    While improved error checking is always active, long paths support must be
    explicitly enabled via 'core.longpaths' option. This is to prevent end
    users to shoot themselves in the foot by checking out files that Windows
    Explorer, cmd/bash or their favorite IDE cannot handle.
    
    Test suite:
    Test the case is when the full pathname length of a dir is close
    to 260 (MAX_PATH).
    Bug report and an original reproducer by Andrey Rogozhnikov:
    #122 (comment)
    
    Thanks-to: Martin W. Kirst <maki@bitkings.de>
    Thanks-to: Doug Kelly <dougk.ff7@gmail.com>
    Signed-off-by: Karsten Blees <blees@dcon.de>
    Original-test-by: Andrey Rogozhnikov <rogozhnikov.andrey@gmail.com>
    Signed-off-by: Stepan Kasal <kasal@ucw.cz>
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  27. vangdfang Karsten Blees

    Add a test demonstrating a problem with long submodule paths

    vangdfang authored kblees committed
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  28. Karsten Blees

    fscache: load directories only once

    kblees authored
    If multiple threads access a directory that is not yet in the cache, the
    directory will be loaded by each thread. Only one of the results is added
    to the cache, all others are leaked. This wastes performance and memory.
    
    On cache miss, add a future object to the cache to indicate that the
    directory is currently being loaded. Subsequent threads register themselves
    with the future object and wait. When the first thread has loaded the
    directory, it replaces the future object with the result and notifies
    waiting threads.
    
    Signed-off-by: Karsten Blees <blees@dcon.de>
  29. Karsten Blees

    Win32: add a cache below mingw's lstat and dirent implementations

    kblees authored
    Checking the work tree status is quite slow on Windows, due to slow lstat
    emulation (git calls lstat once for each file in the index). Windows
    operating system APIs seem to be much better at scanning the status
    of entire directories than checking single files.
    
    Add an lstat implementation that uses a cache for lstat data. Cache misses
    read the entire parent directory and add it to the cache. Subsequent lstat
    calls for the same directory are served directly from the cache.
    
    Also implement opendir / readdir / closedir so that they create and use
    directory listings in the cache.
    
    The cache doesn't track file system changes and doesn't plug into any
    modifying file APIs, so it has to be explicitly enabled for git functions
    that don't modify the working copy.
    
    Note: in an earlier version of this patch, the cache was always active and
    tracked file system changes via ReadDirectoryChangesW. However, this was
    much more complex and had negative impact on the performance of modifying
    git commands such as 'git checkout'.
    
    Signed-off-by: Karsten Blees <blees@dcon.de>
  30. Karsten Blees

    add infrastructure for read-only file system level caches

    kblees authored
    Add a macro to mark code sections that only read from the file system,
    along with a config option and documentation.
    
    This facilitates implementation of relatively simple file system level
    caches without the need to synchronize with the file system.
    
    Enable read-only sections for 'git status' and preload_index.
    
    Signed-off-by: Karsten Blees <blees@dcon.de>
Something went wrong with that request. Please try again.