"Alexander Kitaev" <alex@tmate.org> wrote on 03/14/2005 02:33:07 PM:
> Recently I noticed, that when commiting files from different Eclipse
> projects that are checked out from the same repository (and actualy
share a
> common wc root - Eclipse workspace) - Subclipse divides changes into
> separate commits, which virtually removes all advantages if subversion
> transaction feature - instead of one atomic change user gets several
ones
> (up to the number of projects), which is especially annoying when small
> change were applied to let say 100 projects - one will get 100
transactions
> instead of one.
>
> What I would like to suggest is to change Subclipse commit behaviour the
> following way:
>
> - Try to commit all modified files in all projects. JavaHL, as well as
> JavaSVN will check whether files belong to the same repository and will
> throw an exception if files are from the different repositories. However
> commit will proceed normally when files are from the same repository and
may
> be committed with the single commit operation.
> - If exception was caught on the first attempt (and there is a
> distinguishing message in the exception, so it is possible to separate
auth
> or connection failure from the multiple repositories commit attempt
> failure), use the old way.
>
> Other possibility is to run "status" command on the workspace root (or
> project parent directory(ies)) to make sure that files to be comitted
> belongs to the same working copy.
Would this be nice? Yes. But I do not think it is as easy as you make it
sound. First off, the majority of the time these projects will
essentially be separate WC's, even if they come from the same repository.
This is because the parent folder (the Eclipse workspace) is not also a
WC. Some people will know enough about how this all works to make a
master WC outside their workspace which contains all of these projects and
then individually import those projects into Eclipse and then "register"
them with Subclipse. In that case, there is a master WC folder and in
theory they could be committed with a single commit. However, since this
master WC is not located under the Eclipse workspace, I am not at all
convinced that it is readily visible to us within Eclipse using the
Eclipse resource API's.
If you want to try to tackle this and submit a patch I would be glad to
review it, but I think this is going to be a lot more difficult than you
think it is. When I have this situation, I typically jump over to the
command line to do a commit of my master WC so that I can get everything
in a single transaction, but for most changes I will just commit multiple
transactions.
Mark
_____________________________________________________________________________
Scanned for SoftLanding Systems, Inc. by IBM Email Security Management Services powered by MessageLabs.
_____________________________________________________________________________
Received on Tue Mar 15 06:44:20 2005