# # patch "ChangeLog" # from [8a816d743b0255ec73fb9430dfe379194dc235a6] # to [2ccc53103b02bcd4d06ba6a1e33a91930cec2cc9] # # patch "paths.cc" # from [d902cf18519d9367d6f22dcc1ba7678246c01c9e] # to [26464ca4b80695e425d29baf3a9d968da57e84a9] # ======================================================================== --- ChangeLog 8a816d743b0255ec73fb9430dfe379194dc235a6 +++ ChangeLog 2ccc53103b02bcd4d06ba6a1e33a91930cec2cc9 @@ -1,5 +1,10 @@ 2005-08-25 Nathaniel Smith + * paths.cc (not_in_bookkeeping_dir): Handle "MT" case. + Update tests to make sure it sticks... + +2005-08-25 Nathaniel Smith + * unit_tests.{cc,hh} (init_unit_test_suite): Remove path_component_tests. * unix/fs.cc (tilde_expand): Another compile fix. ======================================================================== --- paths.cc d902cf18519d9367d6f22dcc1ba7678246c01c9e +++ paths.cc 26464ca4b80695e425d29baf3a9d968da57e84a9 @@ -144,7 +144,7 @@ static inline bool not_in_bookkeeping_dir(std::string const & path) { - return (path.size() < 3) || (path.substr(0, 3) != "MT/"); + return (path.size() < 3 && path != "MT") || (path.substr(0, 3) != "MT/"); } file_path::file_path(file_path::source_type type, std::string const & path) @@ -521,6 +521,7 @@ char const * baddies[] = {"/foo", "../bar", "MT/blah", + "MT", "//blah", "\\foo", "..", @@ -591,6 +592,7 @@ check_fp_normalizes_to("..", "a"); check_fp_normalizes_to("../..", ""); check_fp_normalizes_to("MT/foo", "a/b/MT/foo"); + check_fp_normalizes_to("MT", "a/b/MT"); initial_rel_path.unset(); }