mirror of
https://github.com/git/git.git
synced 2026-02-07 00:05:02 +00:00
@@ -1655,7 +1655,12 @@ repeat:
|
||||
if (gle == ERROR_ACCESS_DENIED &&
|
||||
(attrs = GetFileAttributesW(wpnew)) != INVALID_FILE_ATTRIBUTES) {
|
||||
if (attrs & FILE_ATTRIBUTE_DIRECTORY) {
|
||||
errno = EISDIR;
|
||||
DWORD attrsold = GetFileAttributesW(wpold);
|
||||
if (attrsold == INVALID_FILE_ATTRIBUTES ||
|
||||
!(attrsold & FILE_ATTRIBUTE_DIRECTORY))
|
||||
errno = EISDIR;
|
||||
else if (!_wrmdir(wpnew))
|
||||
goto repeat;
|
||||
return -1;
|
||||
}
|
||||
if ((attrs & FILE_ATTRIBUTE_READONLY) &&
|
||||
|
||||
@@ -31,7 +31,11 @@ test_expect_success \
|
||||
mkdir bar &&
|
||||
echo "zzz" >bar/zzz &&
|
||||
echo "#!/bin/sh" >exec.sh &&
|
||||
chmod +x exec.sh &&
|
||||
{
|
||||
test_have_prereq !POSIXPERM ||
|
||||
chmod +x exec.sh
|
||||
} &&
|
||||
echo "utf-8" >utf-8.file &&
|
||||
svn_cmd import -m "import for git svn" . "$svnrepo" >/dev/null
|
||||
) &&
|
||||
rm -rf import &&
|
||||
@@ -117,7 +121,7 @@ test_expect_success "$name" '
|
||||
|
||||
|
||||
name='remove executable bit from a file'
|
||||
test_expect_success "$name" '
|
||||
test_expect_success !MINGW "$name" '
|
||||
rm -f "$GIT_DIR"/index &&
|
||||
git checkout -f -b mybranch5 ${remotes_git_svn} &&
|
||||
chmod -x exec.sh &&
|
||||
@@ -130,7 +134,7 @@ test_expect_success "$name" '
|
||||
|
||||
|
||||
name='add executable bit back file'
|
||||
test_expect_success "$name" '
|
||||
test_expect_success !MINGW "$name" '
|
||||
chmod +x exec.sh &&
|
||||
git update-index exec.sh &&
|
||||
git commit -m "$name" &&
|
||||
@@ -141,7 +145,7 @@ test_expect_success "$name" '
|
||||
|
||||
|
||||
name='executable file becomes a symlink to file'
|
||||
test_expect_success "$name" '
|
||||
test_expect_success !MINGW "$name" '
|
||||
rm exec.sh &&
|
||||
ln -s file exec.sh &&
|
||||
git update-index exec.sh &&
|
||||
@@ -153,8 +157,11 @@ test_expect_success "$name" '
|
||||
|
||||
name='new symlink is added to a file that was also just made executable'
|
||||
|
||||
test_expect_success "$name" '
|
||||
chmod +x file &&
|
||||
test_expect_success !MINGW "$name" '
|
||||
{
|
||||
test_have_prereq !POSIXPERM ||
|
||||
chmod +x file
|
||||
} &&
|
||||
ln -s file exec-2.sh &&
|
||||
git update-index --add file exec-2.sh &&
|
||||
git commit -m "$name" &&
|
||||
@@ -165,7 +172,7 @@ test_expect_success "$name" '
|
||||
test -h "$SVN_TREE"/exec-2.sh'
|
||||
|
||||
name='modify a symlink to become a file'
|
||||
test_expect_success "$name" '
|
||||
test_expect_success !MINGW "$name" '
|
||||
echo git help >help &&
|
||||
rm exec-2.sh &&
|
||||
cp help exec-2.sh &&
|
||||
@@ -181,11 +188,13 @@ test_expect_success "$name" '
|
||||
name="commit with UTF-8 message: locale: $GIT_SVN_LC_ALL"
|
||||
LC_ALL="$GIT_SVN_LC_ALL"
|
||||
export LC_ALL
|
||||
test_expect_success UTF8 "$name" "
|
||||
echo '# hello' >> exec-2.sh &&
|
||||
git update-index exec-2.sh &&
|
||||
git commit -m 'éï∏' &&
|
||||
git svn set-tree HEAD"
|
||||
test_expect_success UTF8 "$name" '
|
||||
rm -f "$GIT_DIR"/index &&
|
||||
git checkout -f -b mybranch5 ${remotes_git_svn} &&
|
||||
echo "# hello" >> utf-8.file &&
|
||||
git update-index utf-8.file &&
|
||||
git commit -m "éï∏" &&
|
||||
git svn set-tree HEAD'
|
||||
unset LC_ALL
|
||||
|
||||
name='test fetch functionality (svn => git) with alternate GIT_SVN_ID'
|
||||
@@ -214,7 +223,7 @@ tree d667270a1f7b109f5eb3aaea21ede14b56bfdd6e
|
||||
tree 8f51f74cf0163afc9ad68a4b1537288c4558b5a4
|
||||
EOF
|
||||
|
||||
test_expect_success "$name" "test_cmp a expected"
|
||||
test_expect_success !MINGW "$name" "test_cmp a expected"
|
||||
|
||||
test_expect_success 'exit if remote refs are ambigious' "
|
||||
git config --add svn-remote.svn.fetch \
|
||||
|
||||
@@ -23,8 +23,11 @@ test_expect_success 'setup svnrepo' '
|
||||
"$svnrepo/pr ject/branches/$scary_uri" &&
|
||||
svn_cmd cp -m "leading dot" "$svnrepo/pr ject/trunk" \
|
||||
"$svnrepo/pr ject/branches/.leading_dot" &&
|
||||
svn_cmd cp -m "trailing dot" "$svnrepo/pr ject/trunk" \
|
||||
"$svnrepo/pr ject/branches/trailing_dot." &&
|
||||
{
|
||||
test_have_prereq MINGW ||
|
||||
svn_cmd cp -m "trailing dot" "$svnrepo/pr ject/trunk" \
|
||||
"$svnrepo/pr ject/branches/trailing_dot."
|
||||
} &&
|
||||
svn_cmd cp -m "trailing .lock" "$svnrepo/pr ject/trunk" \
|
||||
"$svnrepo/pr ject/branches/trailing_dotlock.lock" &&
|
||||
svn_cmd cp -m "reflog" "$svnrepo/pr ject/trunk" \
|
||||
@@ -45,7 +48,10 @@ test_expect_success 'test clone with funky branch names' '
|
||||
git rev-parse "refs/remotes/origin/more%20fun%20plugin!" &&
|
||||
git rev-parse "refs/remotes/origin/$scary_ref" &&
|
||||
git rev-parse "refs/remotes/origin/%2Eleading_dot" &&
|
||||
git rev-parse "refs/remotes/origin/trailing_dot%2E" &&
|
||||
{
|
||||
test_have_prereq MINGW ||
|
||||
git rev-parse "refs/remotes/origin/trailing_dot%2E"
|
||||
} &&
|
||||
git rev-parse "refs/remotes/origin/trailing_dotlock%2Elock" &&
|
||||
git rev-parse "refs/remotes/origin/$non_reflog"
|
||||
)
|
||||
|
||||
@@ -35,7 +35,10 @@ test_expect_success 'enable auto-props config' '
|
||||
|
||||
test_expect_success 'add files matching auto-props' '
|
||||
echo "#!$SHELL_PATH" >exec1.sh &&
|
||||
chmod +x exec1.sh &&
|
||||
{
|
||||
test_have_prereq !POSIXPERM ||
|
||||
chmod +x exec1.sh
|
||||
} &&
|
||||
echo "hello" >hello.txt &&
|
||||
echo bar >bar &&
|
||||
git add exec1.sh hello.txt bar &&
|
||||
@@ -49,7 +52,10 @@ test_expect_success 'disable auto-props config' '
|
||||
|
||||
test_expect_success 'add files matching disabled auto-props' '
|
||||
echo "#$SHELL_PATH" >exec2.sh &&
|
||||
chmod +x exec2.sh &&
|
||||
{
|
||||
test_have_prereq !POSIXPERM ||
|
||||
chmod +x exec2.sh
|
||||
} &&
|
||||
echo "world" >world.txt &&
|
||||
echo zot >zot &&
|
||||
git add exec2.sh world.txt zot &&
|
||||
@@ -65,7 +71,10 @@ test_expect_success 'check resulting svn repository' '
|
||||
cd svnrepo &&
|
||||
|
||||
# Check properties from first commit.
|
||||
test "x$(svn_cmd propget svn:executable exec1.sh)" = "x*" &&
|
||||
{
|
||||
test_have_prereq !POSIXPERM ||
|
||||
test "x$(svn_cmd propget svn:executable exec1.sh)" = "x*"
|
||||
} &&
|
||||
test "x$(svn_cmd propget svn:mime-type exec1.sh)" = \
|
||||
"xapplication/x-shellscript" &&
|
||||
test "x$(svn_cmd propget svn:mime-type hello.txt)" = "xtext/plain" &&
|
||||
@@ -73,7 +82,10 @@ test_expect_success 'check resulting svn repository' '
|
||||
test "x$(svn_cmd propget svn:mime-type bar)" = "x" &&
|
||||
|
||||
# Check properties from second commit.
|
||||
test "x$(svn_cmd propget svn:executable exec2.sh)" = "x*" &&
|
||||
{
|
||||
test_have_prereq !POSIXPERM ||
|
||||
test "x$(svn_cmd propget svn:executable exec2.sh)" = "x*"
|
||||
} &&
|
||||
test "x$(svn_cmd propget svn:mime-type exec2.sh)" = "x" &&
|
||||
test "x$(svn_cmd propget svn:mime-type world.txt)" = "x" &&
|
||||
test "x$(svn_cmd propget svn:eol-style world.txt)" = "x" &&
|
||||
|
||||
@@ -91,7 +91,7 @@ test_expect_success 'fetch continues after authors-file is fixed' '
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'fresh clone with svn.authors-file in config' '
|
||||
test_expect_success !MINGW 'fresh clone with svn.authors-file in config' '
|
||||
(
|
||||
rm -r "$GIT_DIR" &&
|
||||
test x = x"$(git config svn.authorsfile)" &&
|
||||
|
||||
Reference in New Issue
Block a user