On 28.01.2015 10:54, Stefan Sperling wrote:
> I'd like to start a vote about merging the pin-externals branch to trunk.
I think this is ready to be merged to trunk, but there are two
outstanding issues that really need to be addressed before we release:
* When the source of the copy is the repository, the current
implementation can potentially open and close a zillion RA sessions.
It does not even attempt to detect if they're sessions to the same
repository, and consequently does not reuse sessions. A lot of work
has been spent in reducing the number of RA sessions opened during
an operation, so this is really unacceptable.
* When the target is the working copy, the current implementation
overrides the ignore-externals flag during the copy until the
externals are pinned. However, no attempt is made to remember the
original value of this flag. Also, I think there's a fundamental
problem with the approach to pinning when the WC is the target: if
the copy succeeds, but pinning the externals fails for whatever
reason -- even a cancellation -- the working copy will be in an
inconsistent state. IMO, the code should queue up WC work items for
the actual pinning, so that the pinning can be rolled forward (or
reverted) completely, not left in a half-baked state.
Received on 2015-01-31 10:45:19 CET