On Sun, Apr 23, 2017 at 05:14:54PM -0700, Junio C Hamano wrote: > OK. I am wondering why we do not do > > rm -fr "$TRASH_DIRECTORY" > > and do this instead: > > cd "$(dirname "$remove_trash")" && > rm -rf "$(basename "$remove_trash")" > > in the original. It feels somewhat unnatural. I assumed the "cd" was there because some systems may be unhappy removing a directory which is our current working directory. That might just be superstition, though. The use of "basename" in the second does seem superfluous, since the trash directory should be the full path (I suspect it wasn't in the early days, though). > So perhaps we can simplify and make it more robust by doing this? > [...] > + if test -z "$debug" > + then > + test -d "$TRASH_DIRECTORY" || > + error "Tests passed but trash directory already removed before test cleanup; aborting" > + > + rm -fr "$TRASH_DIRECTORY" || > + error "Tests passed but test cleanup failed; aborting" > + fi That looks fine, assuming the answer to the "is the cwd important" question is "no". -Peff