Changeset 759
- Timestamp:
- Jan 29, 2009, 12:51:35 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bin/svndigest.cc
r749 r759 166 166 std::vector<std::string> dates; 167 167 dates.reserve(log.commits().size()); 168 for (size_t i=0; i<log.commits().size(); ++i) { 169 assert(static_cast<svn_revnum_t>(i)==log.commits()[i].revision()); 170 dates.push_back(log.commits()[i].date()); 168 size_t rev = 0; 169 for (SVNlog::container::const_iterator iter=log.commits().begin(); 170 iter!=log.commits().end(); ++iter) { 171 assert(static_cast<svn_revnum_t>(rev)==iter->revision()); 172 assert(++rev); 173 dates.push_back(iter->date()); 171 174 } 172 GnuplotFE::instance()->set_dates(dates);173 175 } 174 176 if (chdir(option->targetdir().c_str()) ) { -
trunk/lib/Node.cc
r757 r759 78 78 return svninfo_.last_changed_author(); 79 79 assert(log().commits().size()); 80 return log(). commits().back().author();80 return log().latest_commit().author(); 81 81 } 82 82 … … 145 145 return svninfo_.last_changed_rev(); 146 146 assert(log().commits().size()); 147 return log(). commits().back().revision();147 return log().latest_commit().revision(); 148 148 } 149 149 … … 318 318 std::map<int, svn_revnum_t> year2rev; 319 319 SVNlog log(path()); 320 typedef std::vector<Commitment>::const_iterator LogIterator;321 for (LogIterator i=log.commits().begin(); i <log.commits().end(); ++i){320 typedef SVNlog::container::const_iterator LogIterator; 321 for (LogIterator i=log.commits().begin(); i!=log.commits().end(); ++i){ 322 322 time_t sec = str2time(i->date()); 323 323 tm* timeinfo = gmtime(&sec); -
trunk/lib/SVNlog.cc
r756 r759 30 30 #include <sstream> 31 31 #include <string> 32 #include <vector>33 32 34 33 namespace theplu { … … 56 55 { 57 56 58 std::vector<Commitment>::const_reverse_iterator iter = commits().rbegin();57 SVNlog::container::const_reverse_iterator iter = commits().rbegin(); 59 58 for ( ; iter!= commits().rend(); ++iter) 60 59 if (iter->author() == name) … … 67 66 { 68 67 assert(commits().size()); 69 return commits().back();68 return *commits().rbegin(); 70 69 } 71 70 … … 73 72 const Commitment& SVNlog::latest_commit(std::string name) const 74 73 { 75 std::vector<Commitment>::const_reverse_iterator iter = commits().rbegin();74 SVNlog::container::const_reverse_iterator iter = commits().rbegin(); 76 75 for ( ; iter!= commits().rend(); ++iter) 77 76 if (iter->author() == name) … … 100 99 if (msg) 101 100 message = msg; 102 lb->commits. push_back(Commitment(a, date, message, rev));101 lb->commits.insert(lb->commits.end(), Commitment(a, date, message, rev)); 103 102 return SVN_NO_ERROR; 104 103 } … … 113 112 SVNlog& operator+=(SVNlog& lhs, const SVNlog& rhs) 114 113 { 115 SVNlog log; 116 log.commits().reserve(std::max(lhs.commits().size(), rhs.commits().size())); 117 std::set_union(lhs.commits().begin(), lhs.commits().end(), 118 rhs.commits().begin(), rhs.commits().end(), 119 std::back_inserter(log.commits()), LessRevision()); 120 lhs.swap(log); 114 lhs.commits().insert(rhs.commits().begin(), rhs.commits().end()); 121 115 return lhs; 122 116 } -
trunk/lib/SVNlog.h
r693 r759 28 28 29 29 #include <string> 30 #include < vector>30 #include <set> 31 31 32 32 #include <subversion-1/svn_client.h> … … 44 44 class SVNlog { 45 45 public: 46 /** 47 container used to store log 48 */ 49 typedef std::set<Commitment, LessRevision> container; 50 46 51 /** 47 52 Default constructor. Creates empty log. … … 65 70 \return Commitments 66 71 */ 67 inline const std::vector<Commitment>& commits(void) const72 inline const container& commits(void) const 68 73 { return lb_.commits; } 69 74 … … 71 76 \return Commitments 72 77 */ 73 inline std::vector<Commitment>& commits(void)78 inline container& commits(void) 74 79 { return lb_.commits; } 75 80 … … 110 115 */ 111 116 struct log_receiver_baton { 112 std::vector<Commitment>commits;117 container commits; 113 118 } lb_; 114 119 -
trunk/lib/first_page.cc
r751 r759 84 84 { 85 85 assert(log.commits().size()); 86 Date begin(log.commits() [0].date());87 Date end(log. commits().back().date());86 Date begin(log.commits().begin()->date()); 87 Date end(log.latest_commit().date()); 88 88 std::string timefmt("%a %b %e %H:%M:%S %Y"); 89 89 … … 102 102 os << end.difftime(begin); 103 103 os << "</td></tr>\n" 104 << "<tr><td>Smallest Revision:</td><td>" << log.commits()[0].revision() 105 << "</td></tr>\n" 106 << "<tr><td>Largest Revision:</td><td>" <<log.commits().back().revision() 104 << "<tr><td>Smallest Revision:</td><td>" 105 << log.commits().begin()->revision() 106 << "</td></tr>\n" 107 << "<tr><td>Largest Revision:</td><td>" << log.latest_commit().revision() 107 108 << "</td></tr>\n" 108 109 << "<tr><td>Revision Count:</td><td>" << log.commits().size() … … 175 176 const size_t maxlength = 80; 176 177 const Configuration& conf = Configuration::instance(); 177 typedef std::vector<Commitment>::const_reverse_iterator iter; 178 typedef SVNlog::container::const_reverse_iterator iter; 179 size_t count = 0; 178 180 for (iter i=log.commits().rbegin(); 179 i < std::min(log.commits().rbegin()+10,log.commits().rend()); ++i) {181 i != log.commits().rend() && count<10; ++i) { 180 182 os << "<tr><td>" 181 183 << anchor(std::string("classic/")+i->author()+"/total/index.html", … … 216 218 217 219 os << "</td></tr>\n"; 220 ++count; 218 221 } 219 222 os << "</table></div>\n";
Note: See TracChangeset
for help on using the changeset viewer.