# # patch "cvs_repository.cc" # from [db3d8b176fbf65ffed77181ce884b5e3e82ada12] # to [f32171f07fe8b5e6f0832d8c81c8e3cfd06ebc76] # # patch "cvs_sync.hh" # from [c398b9d26609003d89ca14386eb0b9918ba17641] # to [09d0a18ffd2a9575fe7cdc105cb18f0ef4f80541] # --- cvs_repository.cc +++ cvs_repository.cc @@ -212,9 +212,10 @@ } while(begin!=std::string::npos); }; -void cvs_revision_nr::operator++(int) -{ if (parts.empty()) return; +const cvs_revision_nr &cvs_revision_nr::operator++(int) +{ if (parts.empty()) return *this; parts.back()++; + return *this; } std::string cvs_revision_nr::get_string() const @@ -1343,6 +1344,9 @@ if (new_iter==new_m.end()) // this file get's removed here { file_state fs; fs.since_when=i->time; + cvs_revision_nr rev=j->second->cvs_version; + rev++; + fs.cvs_version=rev.get_string(); fs.log_msg=i->changelog; fs.author=i->author; fs.dead=true; @@ -1413,7 +1417,7 @@ ("-r"+last_known_revision+"::").c_str(),(void*)0); std::string file_contents,initial_contents; - if(last==f->second.known_states.end()) + if(last==f->second.known_states.end() || last->dead) { last=f->second.known_states.begin(); I(last!=f->second.known_states.end()); std::set::iterator s2=last; --- cvs_sync.hh +++ cvs_sync.hh @@ -18,7 +18,7 @@ { std::vector parts; cvs_revision_nr(const std::string &x); - void operator++(int); + const cvs_revision_nr &operator++(int); std::string get_string() const; bool is_branch() const; bool is_parent_of(const cvs_revision_nr &child) const;