Don't lose files that replace file externals, when they are replaced by actual file. The regression test for this issue uncovered the commit fix in r1663991, but the change to db_base_remove() in this revision resolves the problem in a different way.
* subversion/libsvn_wc/externals.c (svn_wc__external_remove): When deleting a file external, request addition of a not-present marker in its place.
* subversion/libsvn_wc/wc-queries.sql (STMT_DELETE_BASE_RECURSIVE): Include node itself.
* subversion/libsvn_wc/wc_db.c (db_base_remove): Detect if a deleted file external really needs to be replaced by a marker. Update caller.
* subversion/tests/cmdline/externals_tests.py (file_external_to_normal_file): New test. (test_list): Add file_external_to_normal_file.
* subversion/tests/libsvn_wc/op-depth-test.c (check_db_rows): Don't use print_row before all values are set in the row struct to avoid segfaults. (revert_file_externals): Expect not_present rows to appear.