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

Re: [TSVN] commit of missing files automatically selects removal

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2005-10-03 13:23:00 CEST

On 10/3/05, Matthias Wächter <matthias.waechter@tttech.com> wrote:
> Stefan Küng schrieb:
> > Because: *every* build system produces files (the so called output).
> > Adding those automatically? I would get killed by our users!
>
> Choose: You get killed by your users or get killed by me ;-)

Hmmm - killed by many or just by one...
I choose one!

> Of course, the delete is done by the user, but TSVN, opposed to SVN CLI,
> automatically selects the files for removal. Please, Stefan, at least
> _try_ to get my point and don't force me to be verbose to debug level 100.

Sorry, slight correction: the CL client *does* automatically delete
missing files on commit! So TSVN is just consistent.

And yes, I get your point. But you refuse to get mine.

> Again, you presume way too much about my certification process. Let me
> give you another example. What about README? Is it the dependency for
> anything in your Makefile? Usually not. Would you like it be removed
> from the repository if you accidentally deleted it from the WC? Usually

But usually, a build step doesn't remove the README file.

> In my argumental position, removed and added files are same by nature
> and should be treated the same (as in the CLI): A file that is part of

As mentioned above: the CLI treats them differently too.
And they're definitely not the same by nature.

Let me explain:
A build process usually creates a *lot* of files. You definitely don't
want all those files added to version control automatically.
A build process usually does *not* delete files. At the very least,
not important files. And you might not believe this, but if it does,
then I'd say that build process is broken. And it's not TSVN's job to
work around a broken build process.

> the repository but missing in WC is treated as a mistake, a missing file
> (marked with '!' at "svn status"). A file that is part of the WC but not
> yet in the repository is treated as a mistake as well, but an unknown
> new file (marked with '?' at "svn status").

You're assuming a lot here. What makes you think that "!" and "?" are mistakes?

> The only thing I request (or at least try to find sympathy for) is this
> equivalence. I argued about generated files that are removed by "make
> clean" and you told me that generated files are 'filetos non grata' in
> the repository, but that is only one possible item. It's about all the
> situations with deleted files, and all I ask for is a switch to enable
> or disable this current automatism.

While I sure understand your problem, I don't think that the majority
of TSVN/Subversion users have the same problem. That's because they
know that generated files should not be versioned at all, and if that
they have to be very careful about that.

We have a policy here in this project: no more options! The settings
dialog already is crowded with many, many options. To add another
option, you'd have to first find one we can get rid of instead. Only
in really important cases we *add* (not replace) another option.

To solve your problem, I suggest to slightly modify your makefile:
instead of removing the versioned file, just set it to size 0. Or
remove it and immediately create an empty file again.

> For a lot of projects this is the best way. The main cause for this is
> repository space and lack of dependency tracking for generated files,
> not philosophy, you know.

I really doubt that. TSVN exists for over two years now, and you're
the very first person to even mention that you *must* have generated
files versioned. All others who reported such problems before agreed
that they're better adjust their setup.
So "a lot of projects" is an exaggeration.

> Well, if your position is _that_ rock-solid, I ask you to remove the
> feature "Delete files / folders from source control" from the
> "TortoiseSVN" tab because it is a useless feature - remove it and tell
> the people to simply delete the file since it will be committed anyway.
> If the feature stays in the tool it misleads people in that they think
> they have to delete the file using this TSVN function to get it into the
> commit list.

Have you ever tried to remove a folder without using that command? Try
it! If you then still think that this is a useless feature, we can
discuss this again.

Stefan

--
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Mon Oct 3 13:23:48 2005

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

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