Branch: refs/heads/master
Home:
https://github.com/msysgit/git
Commit: 82cc187b952b8d6539bcb72ea5c63469409c919a
https://github.com/msysgit/git/commit/82cc187b952b8d6539bcb72ea5c63469409c919a
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M compat/mingw.c
M compat/mingw.h
M compat/win32/dirent.c
M lockfile.c
Log Message:
-----------
MinGW: Add symlink support for NTFS on windows
This patch implements git support for NTFS symbolic link type reparse points.
* There is a specific privelege required to create symbolic links that is not
generally associated with a standard user. This part is up to the user to worry
about.
* NTFS reparse points differentiate between file and directory links. This
patch assumes file links are meant. (A separate patch will develop this
further).
* This patch is not intended to implement symbolic links in the shell utilities.
This means that as of when this was written, bash and gnu utilities do not
handle them.
* Windows chdir behaves differently to *nix, and we need to unravel symbolic
links for various operations to work as expected.
* For efficiency, as much as possible of the calls are done with wchar_t, before
being converted to utf-8. This is as much about avoiding dealing with windows
default encoding as anything else.
* resolve_symlink needed to be replaced in lockfile.c since there are some
issues with recognising absolute paths, as well as for efficiency with
wchar_t.
This work was based on a combination of patches developed by the following
people:
original-by: Johannes Schindelin <
johannes....@gmx.de>
original-by: Thorvald Natvig <
sli...@users.sourceforge.net>
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: 75b8a678eed3282cf3ae45624b950c22a3eff136
https://github.com/msysgit/git/commit/75b8a678eed3282cf3ae45624b950c22a3eff136
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M entry.c
M git-compat-util.h
Log Message:
-----------
MinGW: Allow passing the symlink target type from index information.
Required for msysgit which needs to know whether the target of a symbolic link
is a directory or file.
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: eabcbcca480d38f62c40255c77e98bf26b4126c7
https://github.com/msysgit/git/commit/eabcbcca480d38f62c40255c77e98bf26b4126c7
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M compat/mingw.c
M compat/mingw.h
Log Message:
-----------
mingw: Create directory/file symlink from information available
Windows NTFS symbolic links require specifying whether the target is a file or
directory at creation time. This can partially be done by interrogating the
filesystem, however when creating symbolic links that are within a repository,
there can be no guarantee of the order of creation.
This patch enables the code to allow interrogation of the git cache to determine
whether a target will be a file or a directory.
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: 4d733b96311256c91f4f28d115af699ab67730dd
https://github.com/msysgit/git/commit/4d733b96311256c91f4f28d115af699ab67730dd
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M t/t0050-filesystem.sh
M t/t4004-diff-rename-symlink.sh
M t/test-lib.sh
Log Message:
-----------
test: Work around lack of windows native symlink support in current msys
The current msys does not have support for NTFS symlinks. This includes in
'ln', 'test', 'rm'.
Here the commands are overridden to use windows cmd.exe instead of msys.
The implementation of test is quite expensive but works for the test.
'rm' needs to handle many scenarios. Symlinks are not supported at all by the
msys version.
* 'rm -rf' equivalent needs to first delete the files, and then the directories.
* Directory symbolic links need to use cmd.exe 'rmdir'
* file symbolic links need to use 'del'.
* A couple of places use 'rm -rf' on a mix of files and directories, so needs to
be split up.
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: dda0d3d4797f9dd68620624a097017a8e8b8fce1
https://github.com/msysgit/git/commit/dda0d3d4797f9dd68620624a097017a8e8b8fce1
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M t/t0000-basic.sh
M t/t1504-ceiling-dirs.sh
M t/t2201-add-update-typechange.sh
M t/t3010-ls-files-killed-modified.sh
M t/t4011-diff-symlink.sh
M t/t4023-diff-rename-typechange.sh
M t/t4115-apply-symlink.sh
M t/t5000-tar-tree.sh
Log Message:
-----------
test: Don't have dangling symlinks in tests (for msys)
There are 2 reasons for this:
* Under windows, ln() must determine whether the target is a directory or a
file before creating the link.
* msys doesn't handle dangling NTFS symlinks well (for example 'ls' will abort
at that point, claiming the file doesn't exist).
So I have reordered commands to make sure our symlinks don't dangle from the
time of their creation.
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: 4a8368035c88b63afd4fc9352b0897c62475245b
https://github.com/msysgit/git/commit/4a8368035c88b63afd4fc9352b0897c62475245b
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M t/t0060-path-utils.sh
M t/test-lib.sh
Log Message:
-----------
test: Factor abspath_of_dir for testing 'absolute paths'
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: a662ef721c6f99e33674265cb15c8c2ce4efc05c
https://github.com/msysgit/git/commit/a662ef721c6f99e33674265cb15c8c2ce4efc05c
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M t/test-lib.sh
Log Message:
-----------
test: Implement mingw abspath_of_dir
needed to translate /c/ -> c: for comparison.
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: 2fa9ecaad498f67d94f425e7681e49c2e5b48465
https://github.com/msysgit/git/commit/2fa9ecaad498f67d94f425e7681e49c2e5b48465
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M t/t3903-stash.sh
M t/test-lib.sh
Log Message:
-----------
test: Factor out 'check_symlink' for stash tests
Required by msysgit while the msys core does not handle reading NTFS
Symbolic-Link Reparse Points.
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: 3259ff97c32291def09d5b2548159cc6c08b1561
https://github.com/msysgit/git/commit/3259ff97c32291def09d5b2548159cc6c08b1561
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M t/test-lib.sh
Log Message:
-----------
test: Override 'check_symlink' to work with incomplete mingw
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: 1919ecfdb90631da47279fe5a275f8a3a7a32b73
https://github.com/msysgit/git/commit/1919ecfdb90631da47279fe5a275f8a3a7a32b73
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M contrib/workdir/git-new-workdir
Log Message:
-----------
contrib: make git-new-workdir work with windows symlinks.
Required for tests to work.
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: 0a7779352af7cf83a54db1f3eb0e457744e8f3da
https://github.com/msysgit/git/commit/0a7779352af7cf83a54db1f3eb0e457744e8f3da
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M t/t7800-difftool.sh
M t/test-lib.sh
Log Message:
-----------
test: Differentiate ability for gnu utils to handle symlinks from git
t7800 failed under symlink enabled msysgit without symlink enabled perl/msys
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: 1930ec69ec7b64c35a6377c62867b2061fd7b93c
https://github.com/msysgit/git/commit/1930ec69ec7b64c35a6377c62867b2061fd7b93c
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-21 (Sat, 21 Jun 2014)
Changed paths:
M t/t3900-i18n-commit.sh
Log Message:
-----------
test: Fixup 3900 i38n quoting
Failure of test_when_finished caused test to fail
required for overridden rm () to work without error
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: db19ecf4b0187cc28baf1ef5f6b8bd70b5c69ab1
https://github.com/msysgit/git/commit/db19ecf4b0187cc28baf1ef5f6b8bd70b5c69ab1
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-24 (Tue, 24 Jun 2014)
Changed paths:
M t/t5000-tar-tree.sh
M t/t5001-archive-attr.sh
M t/t5003-archive-zip.sh
M t/t5004-archive-corner-cases.sh
M t/t9300-fast-import.sh
M t/test-lib-functions.sh
M t/test-lib.sh
Log Message:
-----------
test: Introduce binary compare function
In msysgit there were some crashes caused by the line conversions
when comparing binary files.
I've also used the patch originally by Stepan Kasal to extend coverage
of binary compares.
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: 3e5df5d00ca1d5d9be8ad615541d20168ea659bc
https://github.com/msysgit/git/commit/3e5df5d00ca1d5d9be8ad615541d20168ea659bc
Author: Michael Geddes <
mic...@frog.wheelycreek.net>
Date: 2014-06-24 (Tue, 24 Jun 2014)
Changed paths:
M t/t5801-remote-helpers.sh
Log Message:
-----------
test: Fix remote failure test to use correct env variable
The test was using the wrong testgit variable helper to cause the failure.
I still don't know why this test wasn't failing on all machines.
Signed-off-by: Michael Geddes <
mic...@frog.wheelycreek.net>
Commit: 840d1f9d282082a304c72066036a642c35a1883e
https://github.com/msysgit/git/commit/840d1f9d282082a304c72066036a642c35a1883e
Author: dscho <
johannes....@gmx.de>
Date: 2014-06-24 (Tue, 24 Jun 2014)
Changed paths:
M compat/mingw.c
M compat/mingw.h
M compat/win32/dirent.c
M contrib/workdir/git-new-workdir
M entry.c
M git-compat-util.h
M lockfile.c
M t/t0000-basic.sh
M t/t0050-filesystem.sh
M t/t0060-path-utils.sh
M t/t1504-ceiling-dirs.sh
M t/t2201-add-update-typechange.sh
M t/t3010-ls-files-killed-modified.sh
M t/t3900-i18n-commit.sh
M t/t3903-stash.sh
M t/t4004-diff-rename-symlink.sh
M t/t4011-diff-symlink.sh
M t/t4023-diff-rename-typechange.sh
M t/t4115-apply-symlink.sh
M t/t5000-tar-tree.sh
M t/t5001-archive-attr.sh
M t/t5003-archive-zip.sh
M t/t5004-archive-corner-cases.sh
M t/t5801-remote-helpers.sh
M t/t7800-difftool.sh
M t/t9300-fast-import.sh
M t/test-lib-functions.sh
M t/test-lib.sh
Log Message:
-----------
Merge pull request #172 from frogonwheels/mrg/symlink-v6
Symlink support
Compare:
https://github.com/msysgit/git/compare/7e872d24a9bd...840d1f9d2820