7
Edited: I mistakenly misrepresented my problem. A more accurate example now appears below.
I'd like to recursively walk all directories inside a target directory, and stop each recursive call after the first .git directory is found.
For example, if we have these paths:
/home/code/twitter/.git/
/home/code/twitter/some_file
/home/code/twitter/some_other_file
/home/code/facebook/.git/
/home/code/facebook/another_file
/home/code/configs/.git/
/home/code/configs/some_module/.git/
/home/code/configs/another_module/.git/
/home/code/some/unknown/depth/until/this/git/dir/.git/
/home/code/some/unknown/depth/until/this/git/dir/some_file
I want only these lines in the result:
/home/code/twitter
/home/code/facebook
/home/code/configs
/home/code/some/unknown/depth/until/this/git/dir/
The -maxdepth
won't help me here because I don't know how deep the first .git dir will be for each subdirectory of my target.
I thought find /home/code -type d -name .git -prune
would do it, but it's not working for me. What am I missing?
It appears that this may not be possible... I'll leave this question open in case anyone else discovers this in the future and has an answer. – Gabe Hollombe – 2014-04-05T03:47:45.370