Code

Loosen "working file will be lost" check in Porcelain-ish
authorJunio C Hamano <junkio@cox.net>
Tue, 5 Dec 2006 00:07:57 +0000 (16:07 -0800)
committerJunio C Hamano <junkio@cox.net>
Wed, 6 Dec 2006 07:25:52 +0000 (23:25 -0800)
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>
git-checkout.sh
git-merge.sh

index 737abd0c094ae6cfb201fb46c28f4962a9826a02..4192a99fec1e137599b250a4f65c1b1e4201c601 100755 (executable)
@@ -161,7 +161,7 @@ then
     git-read-tree --reset -u $new
 else
     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
        '')
                echo >&2 "$merge_error"
@@ -172,7 +172,8 @@ else
        git diff-files --name-only | git update-index --remove --stdin &&
        work=`git write-tree` &&
        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`
        then
index 272f004622572ad2aed62268d9a75cac5a8fa751..397b33f8d33b67018669cb4610a2051407fc3eb7 100755 (executable)
@@ -264,7 +264,7 @@ f,*)
        echo "Updating $(git-rev-parse --short $head)..$(git-rev-parse --short $1)"
        git-update-index --refresh 2>/dev/null
        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"
        dropsave
        exit 0