Merge branch 'maint'
* maint: GIT 1.5.2.4 Teach read-tree 2-way merge to ignore intermediate symlinks git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree} git-gui: Don't linewrap within console windows git-gui: Correct ls-tree buffering problem in browser git-gui: Skip nicknames when selecting author initials git-gui: Ensure windows shortcuts always have .bat extension git-gui: Include a Push action on the left toolbar git-gui: Bind M1-P to push action git-gui: Don't bind F5/M1-R in all windows git-gui: Unlock the index when cancelling merge dialog git-gui: properly popup error if gitk should be started but is not installed
This commit is contained in:
commit
237ce836e7
28
Documentation/RelNotes-1.5.2.4.txt
Normal file
28
Documentation/RelNotes-1.5.2.4.txt
Normal file
@ -0,0 +1,28 @@
|
||||
GIT v1.5.2.4 Release Notes
|
||||
==========================
|
||||
|
||||
Fixes since v1.5.2.3
|
||||
--------------------
|
||||
|
||||
* Bugfixes
|
||||
|
||||
- "git-gui" bugfixes, including a handful fixes to run it
|
||||
better on Cygwin/MSYS.
|
||||
|
||||
- "git checkout" failed to switch back and forth between
|
||||
branches, one of which has "frotz -> xyzzy" symlink and
|
||||
file "xyzzy/filfre", while the other one has a file
|
||||
"frotz/filfre".
|
||||
|
||||
- "git prune" used to segfault upon seeing a commit that is
|
||||
referred to by a tree object (aka "subproject").
|
||||
|
||||
- "git diff --name-status --no-index" mishandled an added file.
|
||||
|
||||
- "git apply --reverse --whitespace=warn" still complained
|
||||
about whitespaces that a forward application would have
|
||||
introduced.
|
||||
|
||||
* Documentation Fixes and Updates
|
||||
|
||||
- A handful documentation updates.
|
50
t/t2007-checkout-symlink.sh
Executable file
50
t/t2007-checkout-symlink.sh
Executable file
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2007 Junio C Hamano
|
||||
|
||||
test_description='git checkout to switch between branches with symlink<->dir'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success setup '
|
||||
|
||||
mkdir frotz &&
|
||||
echo hello >frotz/filfre &&
|
||||
git add frotz/filfre &&
|
||||
test_tick &&
|
||||
git commit -m "master has file frotz/filfre" &&
|
||||
|
||||
git branch side &&
|
||||
|
||||
echo goodbye >nitfol &&
|
||||
git add nitfol
|
||||
test_tick &&
|
||||
git commit -m "master adds file nitfol" &&
|
||||
|
||||
git checkout side &&
|
||||
|
||||
git rm --cached frotz/filfre &&
|
||||
mv frotz xyzzy &&
|
||||
ln -s xyzzy frotz &&
|
||||
git add xyzzy/filfre frotz &&
|
||||
test_tick &&
|
||||
git commit -m "side moves frotz/ to xyzzy/ and adds frotz->xyzzy/"
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'switch from symlink to dir' '
|
||||
|
||||
git checkout master
|
||||
|
||||
'
|
||||
|
||||
rm -fr frotz xyzzy nitfol &&
|
||||
git checkout -f master || exit
|
||||
|
||||
test_expect_success 'switch from dir to symlink' '
|
||||
|
||||
git checkout side
|
||||
|
||||
'
|
||||
|
||||
test_done
|
@ -495,6 +495,9 @@ static void verify_absent(const char *path, const char *action,
|
||||
if (o->index_only || o->reset || !o->update)
|
||||
return;
|
||||
|
||||
if (has_symlink_leading_path(path, NULL))
|
||||
return;
|
||||
|
||||
if (!lstat(path, &st)) {
|
||||
int cnt;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user