aboutsummaryrefslogtreecommitdiff
path: root/paludis/fs_merger.cc
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-29 10:55:45 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-31 11:36:04 +0100
commit6ef97b0bd5fa6462bbd27ab28b753814518e1f2b (patch)
tree0b06670cec1d4cd5555f793ca0610602e7451599 /paludis/fs_merger.cc
parent07adeeb6f48bab15107e2e92c9dd37c9168789a5 (diff)
downloadpaludis-6ef97b0bd5fa6462bbd27ab28b753814518e1f2b.tar.gz
paludis-6ef97b0bd5fa6462bbd27ab28b753814518e1f2b.tar.xz
Support merging subdirectories
Diffstat (limited to 'paludis/fs_merger.cc')
-rw-r--r--paludis/fs_merger.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/paludis/fs_merger.cc b/paludis/fs_merger.cc
index 58c032048..7d5d85aeb 100644
--- a/paludis/fs_merger.cc
+++ b/paludis/fs_merger.cc
@@ -978,3 +978,18 @@ FSMerger::on_sym_main(bool is_check, const FSEntry & src, const FSEntry & dst)
} while (false);
}
+FSEntry
+FSMerger::canonicalise_root_path(const FSEntry & f)
+{
+ return f.realpath();
+}
+
+void
+FSMerger::do_dir_recursive(bool is_check, const FSEntry & src, const FSEntry & dst)
+{
+ if ((! is_check) && (! dst.is_directory()))
+ throw MergerError("Destination directory '" + stringify(dst) + "' is not a directory");
+
+ Merger::do_dir_recursive(is_check, src, dst);
+}
+