[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Feature Request: Option to *always* commit all the changes in the *entire* working copy.

From: Simon Large <simon.tortoisesvn_at_googlemail.com>
Date: Wed, 5 Aug 2009 22:46:20 +0100

2009/8/2 Nick Sabalausky <business4_at_semitwist.com>:
> Currently, if you do a commit from a subdirectory within the working copy,
> only the changes within that subdirectory are selected for the commit.
> I *never* want to do that, but it constantly happens to me by mistake, and
> since there's no notice that that happened, I don't always realize until
> it's too late (ie the changes have already been replaced by newer changes,
> and that particular snapshot that I *thought* I committed is lost forever,
> and that particular revision is effectively corrupted.)
> I consider this a very serious data loss problem. I need an option to
> disable that behavior and force all commits to auto-select all the changes
> in the working copy to be commited, and never just a subset of the changes.

This discussion/flame war could run and run. Let me explain, in what I
hope is a non-inflammatory manner, why this is not a data loss
situation and why it is very unlikely that your feature request will
be implemented.

There are 2 types of data loss that we consider. The most serious is
where you ask subversion to save something and it fails to do so. That
would be a very serious flaw in the system and would require urgent
attention. The second type is where you mistakenly tell subversion to
discard something and realise too late that you made a mistake. This
is certainly a user error, but if data that exists only on your hard
disk is about to be thrown away, where possible we try to give you a
get-out-of-jail card. For example when you revert local changes, the
changed file is first sent to the recycle bin.

Your case is covered by neither of these. No data has been lost - it's
all there on your hard disk. Again, this is user error. Subversion did
exactly what you asked it to. The only consequence is that you have
not saved an intermediate step in your revision control system, or
perhaps you have not saved all the files necessary to make every
commit fully buildable. I have done it myself. It's annoying but not
fatal and can be fixed by a second commit. 99% of the time when I
commit from a subdirectory it is because that is exactly what I want
to do. The changes I made in other directories are unrelated and I
want to keep the commits separate.

As others have pointed out, if you *always* want to commit from the
root of your working copy you can make a batch file to run the commit
rather than right clicking.

As to why this feature request is unlikely to make it into TSVN, I
have 2 reasons:

1. In the years that I have been watching this list I have never heard
a similar request from anyone else. While it is technically possible,
it would still be a lot of work to keep just one person happy (not
just the coding but also the documentation and the translation into 30
languages). This is a volunteer project and there are many more
pressing tasks and simply not enough hours in the day.

2. Because it would not suit most people it would have to be an
option, and we try to keep options to a minimum because it makes for
bad UI and general user confusion.

Naturally as this is an open source project you are very welcome to
modify the source yourself (which would overcome obstacle 1 above).
However if you were to submit a patch to get your change included in
the mainline code you would still need to overcome obstacle 2 and
convince us that there is a compelling reason to add another option.
On the evidence from the discussion so far that seems unlikely. Your
alternative then would be to maintain a private build.

Sorry I can't give you a more positive response.


:       ___
:  oo  // \\      "De Chelonian Mobile"
: (_,\/ \_/ \     TortoiseSVN
:   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
:   /_/   \_\     http://tortoisesvn.net
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2009-08-05 23:46:29 CEST

This is an archived mail posted to the TortoiseSVN Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.