# # patch "file_io.cc" # from [fdddd0679bf078928895c065c8c8b89446f2109a] # to [b2d95fa7fa81a155be876dae0979b35ba4996242] # # patch "file_io.hh" # from [4669a23f6108b4bd226fa27596dde91e4636b484] # to [59b844f392fd70821fd0c395a88ac8808d9937b9] # # patch "git.cc" # from [71b9f618b658a4d5e176910c28077801c632b98b] # to [d0cf487c80bf4647df36b0377850570f697db1a5] # ======================================================================== --- file_io.cc fdddd0679bf078928895c065c8c8b89446f2109a +++ file_io.cc b2d95fa7fa81a155be876dae0979b35ba4996242 @@ -390,9 +390,8 @@ } } -static void -read_data_impl(fs::path const & p, - data & dat) +void +read_data(fs::path const & p, data & dat) { if (!fs::exists(p)) throw oops("file '" + p.string() + "' does not exist"); @@ -428,13 +427,13 @@ void read_data(local_path const & path, data & dat) { - read_data_impl(localized(path), dat); + read_data(localized(path), dat); } void read_data(file_path const & path, data & dat) { - read_data_impl(localized(path), dat); + read_data(localized(path), dat); } void @@ -442,7 +441,7 @@ base64< gzip > & dat) { data data_plain; - read_data_impl(localized(path), data_plain); + read_data(localized(path), data_plain); gzip data_compressed; base64< gzip > data_encoded; encode_gzip(data_plain, data_compressed); @@ -508,7 +507,7 @@ else { N(fs::exists(localized(path)), F("file '%s' does not exist") % path); - read_data_impl(localized(path), dat); + read_data(localized(path), dat); } } ======================================================================== --- file_io.hh 4669a23f6108b4bd226fa27596dde91e4636b484 +++ file_io.hh 59b844f392fd70821fd0c395a88ac8808d9937b9 @@ -83,6 +83,7 @@ void move_dir(local_path const & old_path, local_path const & new_path); +void read_data(fs::path const & path, data & data); void read_data(local_path const & path, data & data); void read_data(local_path const & path, base64< gzip > & data); void read_data(file_path const & path, data & data); ======================================================================== --- git.cc 71b9f618b658a4d5e176910c28077801c632b98b +++ git.cc d0cf487c80bf4647df36b0377850570f697db1a5 @@ -731,9 +731,14 @@ } virtual void visit_file(file_path const & path) { + L(F("Processing tag file '%s'") % path()); + data refdata; - L(F("Processing tag file '%s'") % path()); - read_data(file_path(git.db.path.string() + "/refs/tags/" + path()), refdata); + fs::path abspath = git.db.path; + abspath /= "refs/tags"; + abspath /= path(); + read_data(abspath, refdata); + import_unresolved_git_tag(git, app, path(), refdata().substr(0, 40)); } virtual ~tags_tree_walker() {}