62 Commits

Author SHA1 Message Date
Brad King
80282b749f ENH: Rewrite CTest Update implementation
This adds a new VCS update implementation to the cmCTestVC hierarchy and
removes it from cmCTestUpdateHandler.  The new implementation has the
following advantages:

  - Factorized implementation instead of monolithic function
  - Logs vcs tool output as it is parsed (less memory, inline messages)
  - Uses one global svn log instead of one log per file
  - Reports changes on cvs branches (instead of latest trunk change)
  - Generates simpler Update.xml (only one Directory element per dir)

Shared components of the new implementation appear in cmCTestVC and may
be re-used by subclasses for other VCS tools in the future.
2009-02-25 14:42:45 -05:00
Brad King
de3dedb4ea ENH: Factor out VCS work tree revision checks
This moves checks of the work tree revision before and after update from
cmCTestUpdateHandler::ProcessHandler into the cmCTestVC hierarchy.
2009-02-24 12:52:36 -05:00
Brad King
d76bc78a12 ENH: Factor out nightly start time computation
Move generation of the nightly start time string from
cmCTestUpdateHandler::ProcessHandler into cmCTestVC.
2009-02-24 12:50:48 -05:00
Brad King
fdd0d2a32b ENH: Factor out svn work tree cleanup
This removes work tree cleanup from cmCTestUpdateHandler and adds an
interface for it in cmCTestVC with an implementation in cmCTestSVN.
2009-02-24 12:50:15 -05:00
Brad King
6bdc2b5d99 ENH: Add cmCTestCVS and cmCTestSVN
These cmCTestVC subclasses will implement interaction with CVS and SVN
tools.
2009-02-24 10:39:55 -05:00
Brad King
0d66aa3915 ENH: Factor out VCS tool detection
In cmCTestUpdateHandler, this factors out version control tool detection
from the monolithic cmCTestUpdateHandler::ProcessHandler to separate
methods.  This also places priority on detection of the tool managing
the source tree since using any other tool will cause errors.
2009-02-24 09:09:43 -05:00
Brad King
844df75676 ENH: Factor out initial checkout method
This moves the initial checkout code from the monolithic
cmCTestUpdateHandler::ProcessHandler to a separate method
cmCTestUpdateHandler::InitialCheckout.
2009-02-24 09:09:14 -05:00
Brad King
a6c0784489 ENH: Refactor quoting of VCS tool command
Previously we pre-quoted the command line tool path.  This avoids it by
quoting the command everywhere it is used, thus preserving access to the
original, unquoted command.
2009-02-23 15:59:39 -05:00
Brad King
57a1d0093e ENH: Remove generation of unused Update.xml parts
This removes generation of some Update.xml content that is not used by
any Dart1, Dart2, or CDash servers:
  - Revisions elements
  - Directory attribute of File elements
  - File elements within Author elements
The content was generated only because the original Dart1 Tcl client
generated it, but the content was never used.
2009-02-17 11:37:18 -05:00
Brad King
1b499f0019 BUG: Fix svn update logic for modified files
The main svn update parsing loop in cmCTestUpdateHandler previously had
a logic error because the variable 'res' was not reset for each
iteration.  For a locally modified file it would report the update info
for the previous non-modified file, or nothing if there was no previous
file.  This fixes the logic by setting variable 'res' in both control
paths for each iteration.  See issue #8168.
2009-02-16 10:01:43 -05:00
Brad King
354f7eb9ab STYLE: Fix spelling in cmCTestUpdateHandler
This renames the variable 'numModiefied' to 'numModified' to fix its
spelling.  It also renames 'modifiedOrConflict' to 'notLocallyModified'
to describe its purpose (rather than the opposite of its purpose).
See issue #8168.
2009-02-16 10:00:58 -05:00
Brad King
dc13914cd6 ENH: Create cmXMLSafe to help escapes in XML
This class provides easy syntax to efficiently insert blocks of data
into XML documents with proper escapes.  It replaces the old
cmCTest::MakeXMLSafe and cmSystemTools::MakeXMLSafe methods which
allocated extra memory instead of directly streaming the data.
2009-02-05 16:31:37 -05:00
Brad King
447f5b303e ENH: Divide CTest file submission list by part
This splits the list of files for CTest to submit into those belonging
to each part.  The set is recombined just before submission.  Later this
will allow piecewise submissions.
2009-01-12 10:37:55 -05:00
Brad King
f0e6000827 BUG: Manage LC_MESSAGES with an object
This moves management of the LC_MESSAGES environment variable into an
automatic variable.  Previously if an error occurred the original
environment value was not restored.  This makes the fix to issue #5936
more robust.
2009-01-06 14:58:30 -05:00
Brad King
c2d2a412b8 STYLE: Remove trailing whitespace 2009-01-06 14:41:56 -05:00
Bill Hoffman
935e984900 BUG: use LC_MESSAGES = C instead of en_EN 2008-10-19 10:44:16 -04:00
Brad King
9d1f471845 BUG: Fix recognition of files deleted from CVS
The output of "cvs update" contains a line such as one of

  cvs update: `foo.txt' is no longer in the repository
  cvs update: foo.txt is no longer in the repository
  cvs update: warning: foo.txt is not (any longer) pertinent

when file "foo.txt" has been removed in the version to which the update
occurs.  Previously only the first case would be recognized.  This fixes
the regular expression to match all these cases.
2008-10-18 12:07:15 -04:00
Bill Hoffman
74e606a270 ENH: play it safe and restore the value of LC_MESSAGES 2008-10-10 09:36:16 -04:00
Bill Hoffman
d306ab66b1 ENH: make sure LC_MESSAGES is en_EN so that we can parse the output of svn and cvs 2008-10-10 09:23:49 -04:00
Bill Hoffman
32bc02d660 BUG: undo fix for 7292 because a switched file should show up as an odd thing on the dashbaord 2008-10-01 12:46:45 -04:00
Bill Hoffman
3864910681 BUG: fix for bug 7292, svn parsing flagged errors or conflicts for switched or locked files 2008-09-09 13:12:46 -04:00
Bill Hoffman
5a36673807 STYLE: line length 2008-01-31 16:38:45 -05:00
Bill Hoffman
21e6791789 ENH: remove warnings 2008-01-30 11:54:55 -05:00
Bill Hoffman
c4093afc52 ENH: enhancements for cdash, include system information and better time entries 2008-01-30 11:17:36 -05:00
Bill Hoffman
1d250298d0 ENH: fatal error if cvs update fails 2007-08-03 16:42:47 -04:00
Andy Cedilnik
5418998e46 STYLE: Fix typo 2006-10-26 11:01:52 -04:00
Andy Cedilnik
870f2aeb2e BUG: Replace some errors with warnings 2006-10-13 10:27:01 -04:00
Andy Cedilnik
609af5c969 ENH: Add svn cleanup before running svn 2006-03-15 09:23:35 -05:00
Andy Cedilnik
862f5df25c STYLE: Fix some style issues 2006-03-10 15:03:09 -05:00
Andy Cedilnik
6503a0eecc STYLE: Fix some style issues 2006-03-09 11:17:10 -05:00
Bill Hoffman
62e4c3f22a ENH: add extra thing for svn X status output 2006-01-27 11:19:22 -05:00
Andy Cedilnik
5007cbce3b BUG: Fix the problem with update.xml.tmp not being coppied 2005-12-13 15:16:46 -05:00
Andy Cedilnik
eff0013b3b ENH: More output 2005-10-19 11:00:28 -04:00
Andy Cedilnik
ca90e8002b ENH: Better handling of removed files and remove warning 2005-07-22 08:40:16 -04:00
Andy Cedilnik
a2acc029ae ENH: Add support for detecting files that were removed 2005-07-21 15:54:57 -04:00
Andy Cedilnik
3e99368485 ENH: Add default update options 2005-07-11 11:59:51 -04:00
Andy Cedilnik
6ca7664b90 BUG: Remove warning when using CVS 2005-07-11 11:16:14 -04:00
Andy Cedilnik
1b578d3180 ENH: Several improvements with the way things are handled. Also, support multiple submited files 2005-06-23 13:04:18 -04:00
Andy Cedilnik
d9dc9b54a6 ENH: Add superclass for all commands and handlers. Improve handlers to have initialization code, and start initializing ctest when start is invoked 2005-06-17 13:04:56 -04:00
Andy Cedilnik
2cc5ed49d1 ENH: Several improvements to CTest:
1. Support for showing line numbers when debugging ctest --show-line-numbers
2. Modify the ctest initialization code, so that it can be delayed
3. Handlers now have corresponding command if they were invoked from the command (so far only update actually use that)
4. Start command is simplified and the functionality is moved to CTest
5. Update can perform initial checkout if CTEST_CHECKOUT_COMMAND is set
6. Add test that checks out kwsys and perform tests on the fresh checkout
2005-06-16 13:18:21 -04:00
Andy Cedilnik
a95a4b000d ENH: Separate standard output and standard error for problematic commands 2005-06-14 11:42:53 -04:00
Andy Cedilnik
7f7cf5ee6b COMP: Remove ERROR reserved word or something and replace with ERROR_MESSAGE 2005-05-31 18:40:43 -04:00
Andy Cedilnik
f6e5a878fc ENH: Add support for writing output file. While doing that, redesign the way ctest does output. There may still be problems with commands failing, but that should be fixed by applying the similar concept to whole CMake 2005-05-31 17:32:40 -04:00
Andy Cedilnik
37f2d32686 ENH: Allow spaces in update command 2005-05-04 11:16:53 -04:00
Andy Cedilnik
de57a86298 ENH: Cleanups 2005-05-03 09:40:16 -04:00
Andy Cedilnik
094dd40d2e COMP: Remove warnings 2005-04-26 11:09:29 -04:00
Andy Cedilnik
f3ed1207ad ENH: Support for modified and conflicts in subversion 2005-04-24 13:57:11 -04:00
Andy Cedilnik
d6f9fd9f4e BUG: Remember if there was update error 2005-04-24 12:32:56 -04:00
Brad King
98d872c90e COMP: Commented out unused variable until the corresponding logic is finished. 2005-04-22 13:52:36 -04:00
Andy Cedilnik
dadd974d97 ENH: Reorganize a bit and make sure to report an error if there are modified files or conflicts 2005-04-21 18:23:28 -04:00