Changeset 292
- Timestamp:
- May 8, 2007, 5:06:18 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Trac.cc
r291 r292 36 36 {} 37 37 38 bool Trac::changeset(std::string::const_iterator& first, 39 const std::string::const_iterator& last) 40 { 41 if (changeset1(first, last)) 42 return true; 43 if (changeset2(first, last)) 44 return true; 45 if (changeset3(first, last)) 46 return true; 47 return false; 48 } 49 50 51 bool Trac::changeset1(std::string::const_iterator& first, 52 const std::string::const_iterator& last) 53 { 54 if (first==last) 55 return false; 56 if (*first != 'r') 57 return false; 58 const std::string::const_iterator first_orig(first); 59 ++first; 60 std::string rev = match(first, last, Digit()); 61 if (rev.empty()){ 62 first = first_orig; 63 return false; 64 } 65 std::string href(Configuration::instance().trac_root()+"changeset/"+rev); 66 hs_.stream() << anchor(href, std::string(first_orig,first)); 67 return true; 68 } 69 70 71 bool Trac::changeset2(std::string::const_iterator& first, 72 const std::string::const_iterator& last) 73 { 74 if (first==last) 75 return false; 76 if (*first != '[') 77 return false; 78 const std::string::const_iterator first_orig(first); 79 ++first; 80 std::string rev = match(first, last, Digit()); 81 if (rev.empty() || first==last || *first!=']'){ 82 first = first_orig; 83 return false; 84 } 85 ++first; 86 std::string href(Configuration::instance().trac_root()+"changeset/"+rev); 87 hs_.stream() << anchor(href, std::string(first_orig,first)); 88 return true; 89 } 90 91 92 bool Trac::changeset3(std::string::const_iterator& first, 93 const std::string::const_iterator& last) 94 { 95 if (first==last) 96 return false; 97 const std::string::const_iterator first_orig(first); 98 if (match(first, last, "changeset:").empty()){ 99 first = first_orig; 100 return false; 101 } 102 std::string rev = match(first, last, Digit()); 103 if (rev.empty()){ 104 first = first_orig; 105 return false; 106 } 107 std::string href(Configuration::instance().trac_root()+"changeset/"+rev); 108 hs_.stream() << anchor(href, std::string(first_orig,first)); 109 return true; 110 } 111 112 38 113 void Trac::print(std::string str) 39 114 { … … 45 120 continue; 46 121 if (comment(first, str.end())) 122 continue; 123 if (changeset(first, str.end())) 47 124 continue; 48 125 hs_ << *first; -
trunk/lib/Trac.h
r290 r292 53 53 const std::string::const_iterator& last); 54 54 55 bool changeset1(std::string::const_iterator& first, 56 const std::string::const_iterator& last); 57 58 bool changeset2(std::string::const_iterator& first, 59 const std::string::const_iterator& last); 60 61 bool changeset3(std::string::const_iterator& first, 62 const std::string::const_iterator& last); 63 55 64 bool comment(std::string::const_iterator& first, 56 65 const std::string::const_iterator& last); -
trunk/test/repo/db/current
r289 r292 1 491i 11 50 1i 1
Note: See TracChangeset
for help on using the changeset viewer.