On 12.08.2014 18:09, Alexey Neyman wrote:
> Speaking of 'wish' items:
> - How hard would be to implement client-side hooks? I know TortoiseSVN
> has them, but they're local - and to be really useful, they need to be
> propagated from the repository. And it would be nice to have them
> supported by the default commandline client. If they were supported,
> the tasks like the ones described above could be relegated to the
> client side, and the server-side hooks could then just reject the
> commit if the client failed to run the script.
There are far too many reasons against them to count here, starting with
security problems. I don't want to guess why TSVN supports them; I can
guess that it has an easier time of it than the generic client, since
TSVN is platform-specific.
> - How hard would be to allow modifications to a transaction by
> pre-commit? If it is just the issue of client-side caches going stale
> - can a "shadow transaction" be created that records all the
> modifications by the pre-commit script and then sends it back to the
> client to apply to the WC?
For a start, this would require a major change in the wire protocol,
where the server would, as a response to a successful commit, report any
additional "magic" changes to the client. The problem with this is that
it is error prone; the response may never arrive, for any number of
reasons. Therefore, the client could not mark commtited items up-to-date
until and unless it received the response. Since at least the DAV
protocol is stateless, this implies all sorts of complications and the
introduction of intermediate states in the working copy.
In short: yes, it'd be hard.
Branko Čibej | Director of Subversion
WANdisco | Realising the impossibilities of Big Data
Received on 2014-08-12 18:31:38 CEST