Public Methods | |
RecursivePass2 (CvsImplementation& cvs) | |
void | begin () |
void | filter (const cmt_string& line) |
Private Attributes | |
CvsImplementation& | m_cvs |
|
Definition at line 1724 of file cmt_cvs.cxx. 01724 : m_cvs (cvs) 01725 { 01726 } |
|
Reimplemented from Awk. Definition at line 1728 of file cmt_cvs.cxx. 01729 { 01730 } |
|
Reimplemented from Awk. Definition at line 1732 of file cmt_cvs.cxx. 01733 { 01734 //if (CmtSystem::testenv ("CMTTESTAWK")) cout << "RecursivePass2::filter" << endl; 01735 01742 History& h = History::instance (); 01743 01744 if (h.is_installed (line)) return; 01745 01746 h.install (line); 01747 01748 CmtSystem::cmt_string_vector words; 01749 01750 CmtSystem::split (line, " \t", words); 01751 01752 enum 01753 { 01754 need_package, 01755 need_version, 01756 need_path, 01757 no_need 01758 } state = need_package; 01759 01760 cmt_string package; 01761 cmt_string version; 01762 cmt_string path; 01763 01764 for (int i = 1; i < words.size (); i++) 01765 { 01766 const cmt_string& s = words[i]; 01767 01768 if (s[0] == '-') continue; 01769 01770 switch (state) 01771 { 01772 case need_package: 01773 package = s; 01774 state = need_version; 01775 break; 01776 case need_version: 01777 version = s; 01778 state = need_path; 01779 break; 01780 case need_path: 01781 path = s; 01782 state = no_need; 01783 break; 01784 } 01785 } 01786 01787 if (version.find ("*") != cmt_string::npos) 01788 { 01789 /* 01790 cout << "# ================= Package " << package 01791 << " version " << version << " " << path 01792 << " has wild cards and will not be considered." << endl; 01793 */ 01794 } 01795 else 01796 { 01797 m_cvs.checkout_package (path, package, version); 01798 } 01799 } |
|
Definition at line 115 of file cmt_cvs.cxx. |