This document summarizes an algorithm for distributed depth-first search (DDFS) of a graph. It begins with background on depth-first search and discusses previous DDFS algorithms. It then presents a new DDFS algorithm that uses dynamic backtracking to reduce the number of return messages. Each node tracks its lowest ancestor split point to bypass returning messages up the tree until that point. The algorithm constructs the DFS tree by exploring neighbors with forward messages and backing up with return messages. Its message and time complexity is between |V| and 2|V|-2, an improvement over previous DDFS algorithms.