#
# patch "ChangeLog"
# from [01efb07825a66872a8400a5deb665c76b71f6e5b]
# to [5983a31df9f39a73b4e61b58e7dd2c46c0f5858f]
#
# patch "app_state.cc"
# from [b8c84fd7d7240c97d342629836583cc1ac06d17b]
# to [92734e46c4a6a9ce393b5c8a6256a1c81cb90a9f]
#
# patch "change_set.cc"
# from [744dd543b1867870b97ebfb41d24436ec36a7445]
# to [6bcdb918b63b567fd5f75d78a9b10703926b21e7]
#
# patch "change_set.hh"
# from [163e6e69aa161c2d673df594a6b714ffcd3aee0d]
# to [c9d0a8fa88d57ae3e6d479d2d62a1e5ea0016ed3]
#
# patch "commands.cc"
# from [db0ce86b24b1091ca667a4416827cc6494e97988]
# to [e906b13585b94293e8afb716d074d7ae412dc0dc]
#
# patch "inodeprint.cc"
# from [b798c91a49790e97796d257d50f7e0c605daba23]
# to [529f367b3cbb60dc5eae0b7e0ff089b617afb4d9]
#
# patch "manifest.cc"
# from [51bdafd0a76234da858cc479e7d4c99ddf90527c]
# to [f69a4a7d11f78b7b5fae2c03113b127d62891aec]
#
# patch "rcs_import.cc"
# from [2f155daece17f48756d7c866ce417a4a5c1ef7ac]
# to [6a279d2f8e166c40298eeec637593c82e5462d0d]
#
# patch "restrictions.cc"
# from [03e4eb83e836f713c20e4d1f94fe26f792e18d51]
# to [78d220a74de9051def3807502d7d3598ca1e994c]
#
# patch "work.cc"
# from [6aad7b52e0799c32f82169a1d7546c09a4444a4e]
# to [ff8c34d524010170c8946c1eb76116aa1ba84c2a]
#
========================================================================
--- ChangeLog 01efb07825a66872a8400a5deb665c76b71f6e5b
+++ ChangeLog 5983a31df9f39a73b4e61b58e7dd2c46c0f5858f
@@ -1,5 +1,12 @@
2005-08-24 Nathaniel Smith
+ * app_state.cc, change_set.cc, change_set.hh, commands.cc:
+ * inodeprint.cc, manifest.cc, rcs_import.cc, restrictions.cc:
+ * work.cc: Audit all calls to file_path() to add internal/external
+ notation.
+
+2005-08-24 Nathaniel Smith
+
* app_state.cc: More paths.hh conversion.
(app_state::prefix): Remove.
* commands.cc: Remove uses of app.prefix.
========================================================================
--- app_state.cc b8c84fd7d7240c97d342629836583cc1ac06d17b
+++ app_state.cc 92734e46c4a6a9ce393b5c8a6256a1c81cb90a9f
@@ -152,9 +152,7 @@
vector const & paths,
bool respect_ignore)
{
- // this can't be a file-global static, because file_path's initializer
- // depends on another global static being defined.
- static file_path dot(".");
+ static file_path root(internal, "");
restrictions.clear();
for (vector::const_iterator i = paths.begin(); i != paths.end(); ++i)
{
@@ -166,7 +164,7 @@
continue;
}
- N(p == dot || valid_paths.find(p) != valid_paths.end(),
+ N(p == root || valid_paths.find(p) != valid_paths.end(),
F("unknown path '%s'\n") % p());
L(F("'%s' added to restricted path set\n") % p());
@@ -177,16 +175,14 @@
// assume current directory
if ((depth != -1) && restrictions.empty())
{
- restrictions.insert(dot);
+ restrictions.insert(file_path(external, "."));
}
}
bool
app_state::restriction_includes(file_path const & path)
{
- // this can't be a file-global static, because file_path's initializer
- // depends on another global static being defined.
- static file_path dot(".");
+ static file_path root(internal, "");
if (restrictions.empty())
{
return true;
@@ -199,7 +195,7 @@
// careful about what goes in to the restricted path set we just
// check for this special case here.
- if ((!user_supplied_depth) && restrictions.find(dot) != restrictions.end())
+ if ((!user_supplied_depth) && restrictions.find(root) != restrictions.end())
{
return true;
}
@@ -212,7 +208,7 @@
{
L(F("checking restricted path set for '%s'\n") % test.string());
- file_path p(test.string());
+ file_path p(internal, test.string());
path_set::const_iterator i = restrictions.find(p);
if (i != restrictions.end())
@@ -232,7 +228,7 @@
++branch_depth;
}
- if (user_supplied_depth && (restrictions.find(dot) != restrictions.end()))
+ if (user_supplied_depth && (restrictions.find(root) != restrictions.end()))
{
return (branch_depth <= max_depth);
}
========================================================================
--- change_set.cc 744dd543b1867870b97ebfb41d24436ec36a7445
+++ change_set.cc 6bcdb918b63b567fd5f75d78a9b10703926b21e7
@@ -2775,19 +2775,19 @@
{
parser.sym();
parser.str(t1);
- cs.add_file(file_path(t1));
+ cs.add_file(file_path(internal, t1));
}
else if (parser.symp(syms::delete_file))
{
parser.sym();
parser.str(t1);
- cs.delete_file(file_path(t1));
+ cs.delete_file(file_path(internal, t1));
}
else if (parser.symp(syms::delete_dir))
{
parser.sym();
parser.str(t1);
- cs.delete_dir(file_path(t1));
+ cs.delete_dir(file_path(internal, t1));
}
else if (parser.symp(syms::rename_file))
{
@@ -2795,8 +2795,8 @@
parser.str(t1);
parser.esym(syms::to);
parser.str(t2);
- cs.rename_file(file_path(t1),
- file_path(t2));
+ cs.rename_file(file_path(internal, t1),
+ file_path(internal, t2));
}
else if (parser.symp(syms::rename_dir))
{
@@ -2804,8 +2804,8 @@
parser.str(t1);
parser.esym(syms::to);
parser.str(t2);
- cs.rename_dir(file_path(t1),
- file_path(t2));
+ cs.rename_dir(file_path(internal, t1),
+ file_path(internal, t2));
}
else
break;
@@ -2887,7 +2887,7 @@
parser.hex(src);
parser.esym(syms::to);
parser.hex(dst);
- cs.deltas.insert(std::make_pair(file_path(path),
+ cs.deltas.insert(std::make_pair(file_path(internal, path),
std::make_pair(file_id(src),
file_id(dst))));
}
@@ -3103,20 +3103,24 @@
{
change_set cs;
- cs.delete_file(file_path("usr/lib/zombie"));
- cs.add_file(file_path("usr/bin/cat"),
+ cs.delete_file(file_path(internal, "usr/lib/zombie"));
+ cs.add_file(file_path(internal, "usr/bin/cat"),
file_id(hexenc("adc83b19e793491b1c6ea0fd8b46cd9f32e592fc")));
- cs.add_file(file_path("usr/local/bin/dog"),
+ cs.add_file(file_path(internal, "usr/local/bin/dog"),
file_id(hexenc("adc83b19e793491b1c6ea0fd8b46cd9f32e592fc")));
- cs.rename_file(file_path("usr/local/bin/dog"), file_path("usr/bin/dog"));
- cs.rename_file(file_path("usr/bin/cat"), file_path("usr/local/bin/chicken"));
- cs.add_file(file_path("usr/lib/libc.so"),
+ cs.rename_file(file_path(internal, "usr/local/bin/dog"),
+ file_path(internal, "usr/bin/dog"));
+ cs.rename_file(file_path(internal, "usr/bin/cat"),
+ file_path(internal, "usr/local/bin/chicken"));
+ cs.add_file(file_path(internal, "usr/lib/libc.so"),
file_id(hexenc("435e816c30263c9184f94e7c4d5aec78ea7c028a")));
// FIXME: this should be valid, but our directory semantics are broken. Re-add
// tests for things like this when fixing directory semantics! (see bug tracker)
- // cs.rename_dir(file_path("usr/lib"), file_path("usr/local/lib"));
- cs.rename_dir(file_path("some/dir"), file_path("some/other/dir"));
- cs.apply_delta(file_path("usr/local/bin/chicken"),
+ // cs.rename_dir(file_path(internal, "usr/lib"),
+ // file_path(internal, "usr/local/lib"));
+ cs.rename_dir(file_path(internal, "some/dir"),
+ file_path(internal, "some/other/dir"));
+ cs.apply_delta(file_path(internal, "usr/local/bin/chicken"),
file_id(hexenc("c6a4a6196bb4a744207e1a6e90273369b8c2e925")),
file_id(hexenc("fe18ec0c55cbc72e4e51c58dc13af515a2f3a892")));
spin_change_set(cs);
@@ -3138,22 +3142,23 @@
change_set cs;
manifest_map a;
- a.insert(std::make_pair(file_path("usr/lib/zombie"),
+ a.insert(std::make_pair(file_path(internal, "usr/lib/zombie"),
file_id(hexenc("92ceb3cd922db36e48d5c30764e0f5488cdfca28"))));
- cs.delete_file(file_path("usr/lib/zombie"));
- cs.add_file(file_path("usr/bin/cat"),
+ cs.delete_file(file_path(internal, "usr/lib/zombie"));
+ cs.add_file(file_path(internal, "usr/bin/cat"),
file_id(hexenc("adc83b19e793491b1c6ea0fd8b46cd9f32e592fc")));
- cs.add_file(file_path("usr/local/dog"),
+ cs.add_file(file_path(internal, "usr/local/dog"),
file_id(hexenc("adc83b19e793491b1c6ea0fd8b46cd9f32e592fc")));
- a.insert(std::make_pair(file_path("usr/foo"),
+ a.insert(std::make_pair(file_path(internal, "usr/foo"),
file_id(hexenc("9a4d3ae90b0cc26758e17e1f80229a13f57cad6e"))));
- cs.rename_file(file_path("usr/foo"), file_path("usr/bar"));
- cs.apply_delta(file_path("usr/bar"),
+ cs.rename_file(file_path(internal, "usr/foo"),
+ file_path(internal, "usr/bar"));
+ cs.apply_delta(file_path(internal, "usr/bar"),
file_id(hexenc("9a4d3ae90b0cc26758e17e1f80229a13f57cad6e")),
file_id(hexenc("fe18ec0c55cbc72e4e51c58dc13af515a2f3a892")));
- a.insert(std::make_pair(file_path("usr/quuux"),
+ a.insert(std::make_pair(file_path(internal, "usr/quuux"),
file_id(hexenc("fe18ec0c55cbc72e4e51c58dc13af515a2f3a892"))));
- cs.apply_delta(file_path("usr/quuux"),
+ cs.apply_delta(file_path(internal, "usr/quuux"),
file_id(hexenc("fe18ec0c55cbc72e4e51c58dc13af515a2f3a892")),
file_id(hexenc("c6a4a6196bb4a744207e1a6e90273369b8c2e925")));
@@ -3178,20 +3183,20 @@
{
change_set cs1, cs2, csa;
- cs1.add_file(file_path("usr/lib/zombie"),
+ cs1.add_file(file_path(internal, "usr/lib/zombie"),
file_id(hexenc("adc83b19e793491b1c6ea0fd8b46cd9f32e592fc")));
- cs1.rename_file(file_path("usr/lib/apple"),
- file_path("usr/lib/orange"));
- cs1.rename_dir(file_path("usr/lib/moose"),
- file_path("usr/lib/squirrel"));
+ cs1.rename_file(file_path(internal, "usr/lib/apple"),
+ file_path(internal, "usr/lib/orange"));
+ cs1.rename_dir(file_path(internal, "usr/lib/moose"),
+ file_path(internal, "usr/lib/squirrel"));
dump_change_set("neutralize target", cs1);
- cs2.delete_file(file_path("usr/lib/zombie"));
- cs2.rename_file(file_path("usr/lib/orange"),
- file_path("usr/lib/apple"));
- cs2.rename_dir(file_path("usr/lib/squirrel"),
- file_path("usr/lib/moose"));
+ cs2.delete_file(file_path(internal, "usr/lib/zombie"));
+ cs2.rename_file(file_path(internal, "usr/lib/orange"),
+ file_path(internal, "usr/lib/apple"));
+ cs2.rename_dir(file_path(internal, "usr/lib/squirrel"),
+ file_path(internal, "usr/lib/moose"));
dump_change_set("neutralizer", cs2);
@@ -3223,20 +3228,20 @@
{
change_set cs1, cs2, csa;
- cs1.delete_file(file_path("usr/lib/zombie"));
- cs1.rename_file(file_path("usr/lib/orange"),
- file_path("usr/lib/apple"));
- cs1.rename_dir(file_path("usr/lib/squirrel"),
- file_path("usr/lib/moose"));
+ cs1.delete_file(file_path(internal, "usr/lib/zombie"));
+ cs1.rename_file(file_path(internal, "usr/lib/orange"),
+ file_path(internal, "usr/lib/apple"));
+ cs1.rename_dir(file_path(internal, "usr/lib/squirrel"),
+ file_path(internal, "usr/lib/moose"));
dump_change_set("non-interference A", cs1);
- cs2.add_file(file_path("usr/lib/zombie"),
+ cs2.add_file(file_path(internal, "usr/lib/zombie"),
file_id(hexenc("adc83b19e793491b1c6ea0fd8b46cd9f32e592fc")));
- cs2.rename_file(file_path("usr/lib/pear"),
- file_path("usr/lib/orange"));
- cs2.rename_dir(file_path("usr/lib/spy"),
- file_path("usr/lib/squirrel"));
+ cs2.rename_file(file_path(internal, "usr/lib/pear"),
+ file_path(internal, "usr/lib/orange"));
+ cs2.rename_dir(file_path(internal, "usr/lib/spy"),
+ file_path(internal, "usr/lib/squirrel"));
dump_change_set("non-interference B", cs2);
@@ -3299,43 +3304,47 @@
void combine() { do_combine = true; }
void add_file(which_t which, std::string const & path, file_id fid = fid1)
{
- getit(which).add_file(file_path(path), fid);
+ getit(which).add_file(file_path(internal, path), fid);
if (do_combine)
- combined.add_file(file_path(path), fid);
+ combined.add_file(file_path(internal, path), fid);
}
void apply_delta(which_t which, std::string const & path,
file_id from_fid,
file_id to_fid)
{
- getit(which).apply_delta(file_path(path), from_fid, to_fid);
+ getit(which).apply_delta(file_path(internal, path), from_fid, to_fid);
if (do_combine)
- combined.apply_delta(file_path(path), from_fid, to_fid);
+ combined.apply_delta(file_path(internal, path), from_fid, to_fid);
}
void delete_file(which_t which, std::string const & path)
{
- getit(which).delete_file(file_path(path));
+ getit(which).delete_file(file_path(internal, path));
if (do_combine)
- combined.delete_file(file_path(path));
+ combined.delete_file(file_path(internal, path));
}
void delete_dir(which_t which, std::string const & path)
{
- getit(which).delete_dir(file_path(path));
+ getit(which).delete_dir(file_path(internal, path));
if (do_combine)
- combined.delete_dir(file_path(path));
+ combined.delete_dir(file_path(internal, path));
}
void rename_file(which_t which,
std::string const & path1, std::string const & path2)
{
- getit(which).rename_file(file_path(path1), file_path(path2));
+ getit(which).rename_file(file_path(internal, path1),
+ file_path(internal, path2));
if (do_combine)
- combined.rename_file(file_path(path1), file_path(path2));
+ combined.rename_file(file_path(internal, path1),
+ file_path(internal, path2));
}
void rename_dir(which_t which,
std::string const & path1, std::string const & path2)
{
- getit(which).rename_dir(file_path(path1), file_path(path2));
+ getit(which).rename_dir(file_path(internal, path1),
+ file_path(internal, path2));
if (do_combine)
- combined.rename_dir(file_path(path1), file_path(path2));
+ combined.rename_dir(file_path(internal, path1),
+ file_path(internal, path2));
}
void run()
{
========================================================================
--- change_set.hh 163e6e69aa161c2d673df594a6b714ffcd3aee0d
+++ change_set.hh c9d0a8fa88d57ae3e6d479d2d62a1e5ea0016ed3
@@ -74,7 +74,7 @@
inline bool
null_name(file_path const & p)
{
- return p().empty();
+ return p.empty();
}
inline bool
========================================================================
--- commands.cc db0ce86b24b1091ca667a4416827cc6494e97988
+++ commands.cc e906b13585b94293e8afb716d074d7ae412dc0dc
@@ -1121,8 +1121,8 @@
change_set::path_rearrangement work;
get_path_rearrangement(work);
- build_rename(file_path(external, idx(args, 0)()),
- file_path(external, idx(args, 1)()),
+ build_rename(file_path(external, idx(args, 0)),
+ file_path(external, idx(args, 1)),
m_old, work);
put_path_rearrangement(work);
@@ -1247,7 +1247,7 @@
if (args.size() == 1)
{
- read_localized_data(file_path(idx(args, 0)()), dat, app.lua);
+ read_localized_data(file_path(external, idx(args, 0)), dat, app.lua);
}
else
{
@@ -2121,7 +2121,7 @@
read_attr_map(attr_data, attrs);
}
- file_path path(external, idx(args,1)());
+ file_path path(external, idx(args,1));
N(file_exists(path), F("file '%s' not found") % path);
bool attrs_modified = false;
@@ -3453,7 +3453,6 @@
OPT_REVISION)
{
revision_id rid;
- file_path file;
if (app.revision_selectors.size() == 0)
app.require_working_copy();
@@ -3461,7 +3460,7 @@
if ((args.size() != 1) || (app.revision_selectors.size() > 1))
throw usage(name);
- file=file_path(idx(args, 0)());
+ file_path file(external, idx(args, 0));
if (app.revision_selectors.size() == 0)
get_revision_id(rid);
else
@@ -3500,7 +3499,7 @@
throw usage(name);
if (args.size() > 0)
- file=file_path(idx(args, 0)()); /* specified a file */
+ file = file_path(external, idx(args, 0)); /* specified a file */
set< pair > frontier;
========================================================================
--- inodeprint.cc b798c91a49790e97796d257d50f7e0c605daba23
+++ inodeprint.cc 529f367b3cbb60dc5eae0b7e0ff089b617afb4d9
@@ -42,7 +42,7 @@
file_name = dat().substr(file_name_begin);
else
file_name = dat().substr(file_name_begin, pos - file_name_begin);
- ipm.insert(inodeprint_entry(file_path(file_name),
+ ipm.insert(inodeprint_entry(file_path(internal, file_name),
hexenc(ident)));
// skip past the '\n'
++pos;
========================================================================
--- manifest.cc 51bdafd0a76234da858cc479e7d4c99ddf90527c
+++ manifest.cc f69a4a7d11f78b7b5fae2c03113b127d62891aec
@@ -227,7 +227,8 @@
file_name = dat().substr(file_name_begin);
else
file_name = dat().substr(file_name_begin, pos - file_name_begin);
- man.insert(manifest_entry(file_path(file_name), hexenc(ident)));
+ man.insert(manifest_entry(file_path(internal, file_name),
+ hexenc(ident)));
// skip past the '\n'
++pos;
}
========================================================================
--- rcs_import.cc 2f155daece17f48756d7c866ce417a4a5c1ef7ac
+++ rcs_import.cc 6a279d2f8e166c40298eeec637593c82e5462d0d
@@ -781,7 +781,7 @@
if (last_slash!=std::string::npos && last_slash>=5
&& ss.substr(last_slash-5,6)=="Attic/")
ss.erase(last_slash-5,6);
- curr_file = file_path(ss);
+ curr_file = file_path(internal, ss);
curr_file_interned = path_interner.intern(ss);
}
@@ -1484,7 +1484,7 @@
for (cvs_cluster::entry_map::const_iterator i = c.entries.begin();
i != c.entries.end(); ++i)
{
- file_path pth(cvs.path_interner.lookup(i->first));
+ file_path pth(internal, cvs.path_interner.lookup(i->first));
file_id fid(cvs.file_version_interner.lookup(i->second.version));
if (i->second.live)
{
========================================================================
--- restrictions.cc 03e4eb83e836f713c20e4d1f94fe26f792e18d51
+++ restrictions.cc 78d220a74de9051def3807502d7d3598ca1e994c
@@ -63,7 +63,7 @@
std::string::size_type j = std::string::npos;
while ((j = (*i)().rfind('/', j)) != std::string::npos)
{
- file_path dir((*i)().substr(0, j));
+ file_path dir(internal, (*i)().substr(0, j));
if (intermediate_paths.find(dir) != intermediate_paths.end()) break;
if (paths.find(dir) != paths.end()) break;
intermediate_paths.insert(dir);
========================================================================
--- work.cc 6aad7b52e0799c32f82169a1d7546c09a4444a4e
+++ work.cc ff8c34d524010170c8946c1eb76116aa1ba84c2a
@@ -594,7 +594,7 @@
void
get_attr_path(file_path & a_path)
{
- a_path = file_path(attr_file_name);
+ a_path = file_path(internal, attr_file_name);
L(F("attribute map path is %s\n") % a_path);
}
@@ -622,7 +622,7 @@
{
parser.sym();
parser.str(file);
- file_path fp(file);
+ file_path fp(internal, file);
while (parser.symp() &&
!parser.symp(syms::file))