# # # patch "ChangeLog" # from [79d4040b207faf02d9ca455a309e1d8bf094283c] # to [4a774a030409294b2c81ff2abb0a37a7bf2a2f88] # # patch "rcs_import.cc" # from [885c49c4f3164436ea5ec2624d793dc20f965e38] # to [33b49bfbce18ea908565c0171f5883483753f1d5] # ============================================================ --- ChangeLog 79d4040b207faf02d9ca455a309e1d8bf094283c +++ ChangeLog 4a774a030409294b2c81ff2abb0a37a7bf2a2f88 @@ -1,5 +1,12 @@ 2006-04-04 Markus Schiltknecht + * rcs_import.cc: bracking the branch assocciated + with cvs_event and cvs_cluster. + In the cluster_consumer, we then connect the branch + to the previous revision id. + +2006-04-04 Markus Schiltknecht + * rcs_import.cc: removed cvs_cluster.first_time in favour of start_time and end_time. This later allows checking for overlapping commits. ============================================================ --- rcs_import.cc 885c49c4f3164436ea5ec2624d793dc20f965e38 +++ rcs_import.cc 33b49bfbce18ea908565c0171f5883483753f1d5 @@ -62,6 +62,7 @@ ET_BRANCH } event_type; +struct cvs_branch; struct cvs_event @@ -86,6 +87,7 @@ cvs_version version; cvs_path path; vector tags; + shared_ptr branch; bool operator<(cvs_event const & other) const { @@ -638,6 +640,7 @@ // before branching, we rely on the sort logic to put the branch // event after the commit cvs_event be(ET_BRANCH, curr_commit.time, curr_commit.path, cvs); + be.branch = b; cvs.stk.top()->append_event(be); } @@ -1007,6 +1010,7 @@ cvs_author author; cvs_changelog changelog; set tags; + shared_ptr branch; cvs_cluster(event_type ty, time_t t, @@ -1210,6 +1214,7 @@ { if (((*j)->start_time >= time_of_last_cluster_touching_this_file) && ((*j)->type == ET_BRANCH) + && ((*j)->branch == i->branch) && ((*j)->entries.find(i->path) == (*j)->entries.end())) { L(FL("picked existing cluster (branchpoint) [t:%d-%d] [t:%d]\n") @@ -1247,6 +1252,7 @@ i->time, i->author, i->changelog)); + target->branch = i->branch; } clusters.insert(target); @@ -1648,9 +1654,7 @@ else if (c.type == ET_BRANCH) { /* set the parent revision id of the branch */ -#if 0 - b->parent_rid = parent_rid; - b->has_parent_rid = true; -#endif + c.branch->parent_rid = parent_rid; + c.branch->has_parent_rid = true; } }