I've changed:

    log.error('Failed to checkout/update module: ' + module.name)
    module.changeState(STATE_FAILED,REASON_UPDATE_FAILED)

to the following. It's an update not a checkout if 'exists' evaluates to
true. The 'changeState' on a module will propagate an error to all children
(projects) and a project will propagate it to all (non-optional) dependees.
As such, we are now logging it (in various places) and then settign this
wierd -- "success but ..." state.

    log.error('Failed to checkout/update module: ' + module.name)
    if not exists:
        module.changeState(STATE_FAILED,REASON_UPDATE_FAILED)
    else:
        module.addError('*** Failed to update from source control. Stale
contents ***')
        # Black mark for this repository
        repository=module.getRepository()
        repository.addError('*** Failed to update %s from source control.
Stale contents ***' \
                    % module.getName())
        # Kinda bogus, but better than nowt (for now)
        module.changeState(STATE_SUCCESS,REASON_UPDATE_FAILED)

When I get more time I'll modify the statistics for the repository, and keep
track of such failures.

regards,

Adam


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to