

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. |
1.2.3 written by Dimitri van Heesch,
© 1997-2000