|  | #!/bin/sh | 
|  |  | 
|  | test_description='git commit races' | 
|  | . ./test-lib.sh | 
|  |  | 
|  | test_expect_success 'race to create orphan commit' ' | 
|  | write_script hare-editor <<-\EOF && | 
|  | git commit --allow-empty -m hare | 
|  | EOF | 
|  | test_must_fail env EDITOR=./hare-editor git commit --allow-empty -m tortoise -e && | 
|  | git show -s --pretty=format:%s >subject && | 
|  | grep hare subject && | 
|  | test -z "$(git show -s --pretty=format:%P)" | 
|  | ' | 
|  |  | 
|  | test_expect_success 'race to create non-orphan commit' ' | 
|  | write_script airplane-editor <<-\EOF && | 
|  | git commit --allow-empty -m airplane | 
|  | EOF | 
|  | git checkout --orphan branch && | 
|  | git commit --allow-empty -m base && | 
|  | git rev-parse HEAD >base && | 
|  | test_must_fail env EDITOR=./airplane-editor git commit --allow-empty -m ship -e && | 
|  | git show -s --pretty=format:%s >subject && | 
|  | grep airplane subject && | 
|  | git rev-parse HEAD^ >parent && | 
|  | test_cmp base parent | 
|  | ' | 
|  |  | 
|  | test_done |