# # # patch "cvs_sync.cc" # from [d98db29243e2f441e53e7f5c8e2d900987936417] # to [ce1b7af383279f1cca9a123efdd32df20f1667b8] # # patch "cvs_sync.hh" # from [1429f43c5aa04ea1ab1b4bce7afc7504a49181b6] # to [6c3d9f26df30fc016c53b8bd2afc25112e215df1] # ============================================================ --- cvs_sync.cc d98db29243e2f441e53e7f5c8e2d900987936417 +++ cvs_sync.cc ce1b7af383279f1cca9a123efdd32df20f1667b8 @@ -887,6 +887,20 @@ // join adjacent check ins (same author, same changelog) join_edge_parts(edges.begin()); + if (!branch_point.empty()) + { time_t root_time(0); + // FIXME: look for this edge already in the database + if (edges.begin()!=edges.end()) root_time=edges.begin()->time-1; + std::set::iterator root_edge + =edges.insert(cvs_edge(branch+" branching point",root_time,repo.app.signing_key())).second; + for (std::map::const_iterator i=branch_point.begin();i!=branch_point.end();++i) + { file_state fs(root_edge->time,i->second.get_string()); + fs.log_msg=root_edge->changelog; + fs.autorh=root_edge->author; + files[i->first].known_states.insert(fs); + } + } + // get the contents for (std::map::iterator i=files.begin();i!=files.end();++i) { std::string file_contents; ============================================================ --- cvs_sync.hh 1429f43c5aa04ea1ab1b4bce7afc7504a49181b6 +++ cvs_sync.hh 6c3d9f26df30fc016c53b8bd2afc25112e215df1 @@ -1,4 +1,4 @@ -// copyright (C) 2005 Christof Petig +// copyright (C) 2005-2006 Christof Petig // all rights reserved. // licensed to the public under the terms of the GNU GPL (>= 2) // see the file COPYING for details