Browse Source

Loosen "working file will be lost" check in Porcelain-ish

This uses the previous update to read-tree in Porcelain-ish
commands "git checkout" and "git merge" to loosen the check
when switching branches.

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Junio C Hamano 18 years ago
parent
commit
1127148089
  1. 5
      git-checkout.sh
  2. 2
      git-merge.sh

5
git-checkout.sh

@ -161,7 +161,7 @@ then
git-read-tree --reset -u $new git-read-tree --reset -u $new
else else
git-update-index --refresh >/dev/null git-update-index --refresh >/dev/null
merge_error=$(git-read-tree -m -u $old $new 2>&1) || ( merge_error=$(git-read-tree -m -u --exclude-per-directory=.gitignore $old $new 2>&1) || (
case "$merge" in case "$merge" in
'') '')
echo >&2 "$merge_error" echo >&2 "$merge_error"
@ -172,7 +172,8 @@ else
git diff-files --name-only | git update-index --remove --stdin && git diff-files --name-only | git update-index --remove --stdin &&
work=`git write-tree` && work=`git write-tree` &&
git read-tree --reset -u $new && git read-tree --reset -u $new &&
git read-tree -m -u --aggressive $old $new $work || exit git read-tree -m -u --aggressive --exclude-per-directory=.gitignore $old $new $work ||
exit


if result=`git write-tree 2>/dev/null` if result=`git write-tree 2>/dev/null`
then then

2
git-merge.sh

@ -264,7 +264,7 @@ f,*)
echo "Updating $(git-rev-parse --short $head)..$(git-rev-parse --short $1)" echo "Updating $(git-rev-parse --short $head)..$(git-rev-parse --short $1)"
git-update-index --refresh 2>/dev/null git-update-index --refresh 2>/dev/null
new_head=$(git-rev-parse --verify "$1^0") && new_head=$(git-rev-parse --verify "$1^0") &&
git-read-tree -u -v -m $head "$new_head" && git-read-tree -v -m -u --exclude-per-directory=.gitignore $head "$new_head" &&
finish "$new_head" "Fast forward" finish "$new_head" "Fast forward"
dropsave dropsave
exit 0 exit 0

Loading…
Cancel
Save