# # # patch "rcs_import.cc" # from [cb206243cd52a2180c86e62ed029a3ba519ea681] # to [d83929275c34b9abe19898647abbc778dc5b03a2] # ============================================================ --- rcs_import.cc cb206243cd52a2180c86e62ed029a3ba519ea681 +++ rcs_import.cc d83929275c34b9abe19898647abbc778dc5b03a2 @@ -1667,36 +1667,18 @@ class blob_label_writer label = (FL("blob %d: commit\\n") % v).str(); - if (b.begin() != b.end()) - { - string author, clog; - const shared_ptr< cvs_commit > ce = - boost::static_pointer_cast(*b.begin()); + string author, clog; + const shared_ptr< cvs_commit > ce = + boost::static_pointer_cast(*b.begin()); - cvs.split_authorclog(ce->authorclog, author, clog); - label += author + "\\n"; + cvs.split_authorclog(ce->authorclog, author, clog); + label += author + "\\n"; - // poor man's escape... - for (unsigned int i = 0; i < clog.length(); ++i) - if (clog[i] < 32) - clog[i] = ' '; - label += "\\\"" + clog + "\\\"\\n"; - - label += "\\n"; - - for (blob_event_iter i = b.begin(); i != b.end(); i++) - { - const shared_ptr< cvs_commit > ce = - boost::static_pointer_cast(*i); - - label += cvs.path_interner.lookup(ce->path); - label += "@"; - label += cvs.rcs_version_interner.lookup(ce->rcs_version); - label += "\\n"; - } - } - else - label += "-- empty --"; + // poor man's escape... + for (unsigned int i = 0; i < clog.length(); ++i) + if (clog[i] < 32) + clog[i] = ' '; + label += "\\\"" + clog + "\\\"\\n"; } else if (b.get_digest().is_branch()) { @@ -1708,6 +1690,7 @@ class blob_label_writer boost::static_pointer_cast(*b.begin()); label += cvs.branchname_interner.lookup(cb->branchname); + label += "\\n"; } else if (b.get_digest().is_tag()) { @@ -1719,12 +1702,36 @@ class blob_label_writer boost::static_pointer_cast(*b.begin()); label += cvs.tag_interner.lookup(cb->tag); + label += "\\n"; } else { - label = (FL("blob %d: unknow type") % v).str(); + label = (FL("blob %d: unknow type\\n") % v).str(); } + // print the time of the blob + label += (FL("time: %d\\n") % (*b.begin())->time).str(); + label += "\\n"; + + // print the contents of the blob, i.e. the single files + if (b.begin() != b.end()) + for (blob_event_iter i = b.begin(); i != b.end(); i++) + { + label += cvs.path_interner.lookup((*i)->path); + + if (b.get_digest().is_commit()) + { + const shared_ptr< cvs_commit > ce = + boost::static_pointer_cast(*i); + + label += "@"; + label += cvs.rcs_version_interner.lookup(ce->rcs_version); + } + label += "\\n"; + } + else + label += "-- empty --"; + out << "[label=\"" << label << "\"]"; } };