Hello, Attached is a simple script exposing a possible bug when git alias is combined with git commands in script. It should be pretty self-explanatory. Check what it does and execute it. On my Linux and OSX, both with git 2.5.1 behave the same, ie. git add fails even the file "test" is in $PWD. Summary: $GIT_WORK_TREE persists in env, and then some git commands operate on repo in $PWD (like git log), while some others (like git add) operate on repo in $GIT_WORK_TREE, making it inconsistent and results in very unexpected results. Cheers, Tuomo --- #!/bin/sh # setup a test repo mkdir bar cd bar git init echo "test" > bar git add bar git commit -m "test commit in bar" echo "adding this will fail later on" > test cd .. # setup a repo with an alias and script alias will execute mkdir foo cd foo git init cat >foo.sh <<EOF #!/bin/sh -x cd $PWD/../bar env | egrep "^(GIT_WORK_TREE|PWD)" echo "Git log works (bar log shows up):" git log --oneline | head -1 echo "Git add does not (tries to add files in GIT_WORK_TREE=foo, while PWD=bar):" git add test EOF chmod 755 foo.sh cat >>.git/config <<EOF [alias] foo = !$PWD/foo.sh EOF git add foo.sh git commit -m "committing foo.sh" # run test via alias git foo -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html