# # # patch "ChangeLog" # from [f971b25ca4e2179c7e9f1e626b97c094e3d9762c] # to [2f112bf7d675476f4defdfbd335bc02c1836ed13] # # patch "work.cc" # from [d65751261528f62d15f8881504c19ae6c7049190] # to [be9eb83e519a1395626b2b29868af63e46a958c2] # ============================================================ --- ChangeLog f971b25ca4e2179c7e9f1e626b97c094e3d9762c +++ ChangeLog 2f112bf7d675476f4defdfbd335bc02c1836ed13 @@ -1,5 +1,11 @@ 2006-02-25 Nathaniel Smith + * work.cc (attach_node): Apparently the tests depend on update + clobbering existing non-versioned files... and we don't have a + good solution _anyway_, so just go back to clobbering them. + +2006-02-25 Nathaniel Smith + * cset.cc (root_dir_test, invalid_csets_test): Don't test that root dir stuff fails. Test that it works. ============================================================ --- work.cc d65751261528f62d15f8881504c19ae6c7049190 +++ work.cc be9eb83e519a1395626b2b29868af63e46a958c2 @@ -892,9 +892,6 @@ bookkeeping_path src_pth = path_for_nid(nid); file_path dst_pth(dst); - require_path_is_nonexistent(dst_pth, - F("path '%s' already exists, cannot create") % dst_pth); - // Possibly just write data out into the workspace, if we're doing // a file-create (not a dir-create or file/dir rename). if (!path_exists(src_pth)) @@ -912,6 +909,16 @@ } } + // FIXME: it is weird to do this here, instead of up above, but if we do it + // up above a lot of tests break. those tests are arguably broken -- they + // depend on 'update' clobbering existing, non-versioned files -- but + // putting this up there doesn't actually help, since if we abort in the + // middle of an update to avoid clobbering a file, we just end up leaving + // the working copy in an inconsistent state instead. so for now, we leave + // this check down here. + require_path_is_nonexistent(dst_pth, + F("path '%s' already exists, cannot create") % dst_pth); + // If we get here, we're doing a file/dir rename, or a dir-create. std::map::const_iterator i = rename_add_drop_map.find(src_pth);