# # patch "ChangeLog" # from [f4d6dae7d7fb0a87a80374b3228a6c8d82739b5d] # to [3474c0c9a32726d8e449d564160ecdc12bf66557] # # patch "commands.cc" # from [ce68f95207372b740bfff6dbafcec35d06b74cfe] # to [4832def516c508f5c5497320020c9b96fa131af4] # ======================================================================== --- ChangeLog f4d6dae7d7fb0a87a80374b3228a6c8d82739b5d +++ ChangeLog 3474c0c9a32726d8e449d564160ecdc12bf66557 @@ -1,5 +1,11 @@ 2005-08-26 Nathaniel Smith + * commands.cc (cat): Hack so that 'cat file REV PATH' works + correctly both inside and outside of working copy, interpreting + path slightly differently in each case. + +2005-08-26 Nathaniel Smith + * tests/t_normalized_filenames.at: Internal unnormalized pathnames are no longer silently normalized, but rather a hard error. Adjust test accordingly. ======================================================================== --- commands.cc ce68f95207372b740bfff6dbafcec35d06b74cfe +++ commands.cc 4832def516c508f5c5497320020c9b96fa131af4 @@ -1289,7 +1289,13 @@ { revision_id rid; complete(app, idx(args, 1)(), rid); - file_path fp = file_path_internal_from_user(idx(args, 2)); + // paths are interpreted as standard external ones when we're in a + // working copy, but as project-rooted external ones otherwise + file_path fp; + if (app.found_working_copy) + fp = file_path_external(idx(args, 2)); + else + fp = file_path_internal_from_user(idx(args, 2)); manifest_id mid; app.db.get_revision_manifest(rid, mid); manifest_map m;