I see. Well, I decided that they should be allowed to select a folder as long as it's empty, I'd handle deleting it before running the add command if it's empty (which come to think of it is a bug since I use the same code for push and pull). I'll fix that.

As for if it's empty or not, I was not preventing the command from being run on the non-empty folder, the command however would report the error to the user.  I figured it's more clear for them to try with a non-empty folder to learn from the error why they can't do subtree on that folder, than to not even give them the option.