Add nvm_tree_contains_path function
diff --git a/nvm.sh b/nvm.sh
index 1991ddc..609474d 100644
--- a/nvm.sh
+++ b/nvm.sh
@@ -53,6 +53,19 @@
   export NVM_NODEJS_ORG_MIRROR="http://nodejs.org/dist"
 fi
 
+nvm_tree_contains_path() {
+  local tree
+  tree="$1"
+  local path
+  path="$2"
+  local pathdir
+  pathdir=$(dirname "$path")
+  while [ "$pathdir" != "" ] && [ "$pathdir" != "." ] && [ "$pathdir" != "/" ] && [ "$pathdir" != "$tree" ]; do
+    pathdir=$(dirname "$pathdir")
+  done
+  [ "$pathdir" = "$tree" ]
+}
+
 # Traverse up in directory tree to find containing folder
 nvm_find_up() {
   local path
diff --git a/test/fast/Unit tests/nvm_tree_contains_path b/test/fast/Unit tests/nvm_tree_contains_path
new file mode 100755
index 0000000..0ddfb86
--- /dev/null
+++ b/test/fast/Unit tests/nvm_tree_contains_path
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+cleanup () {
+  rm tmp/node
+  rmdir tmp
+  rm tmp2/node
+  rmdir tmp2
+}
+die () { echo $@ ; cleanup; exit 1; }
+
+. ../../../nvm.sh
+
+mkdir -p tmp
+touch -p tmp/node
+mkdir -p tmp2
+touch -p tmp2/node
+
+nvm_tree_contains_path tmp tmp/node || die '"tmp" should contain "tmp/node"'
+
+nvm_tree_contains_path tmp tmp2/node && die '"tmp" should not contain "tmp2/node"'
+
+nvm_tree_contains_path tmp2 tmp2/node || die '"tmp2" should contain "tmp2/node"'
+
+nvm_tree_contains_path tmp2 tmp/node && die '"tmp2" should not contain "tmp/node"'
+
+cleanup
+