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

RE: Feature request - SVN command to clean a working copy of all unversioned and ignored files and directories

From: Simon Dean <Simon.Dean_at_moneysupermarket.com>
Date: Wed, 14 Mar 2012 11:52:33 +0000

> -----Original Message-----
> From: Bert Huijben [mailto:bert_at_qqmail.nl]
> Sent: 14 March 2012 10:46
> To: 'David Weintraub'; Simon Dean
> Cc: 'Nico Kadel-Garcia'; 'Les Mikesell'; 'Andreas Krey'; 'Giulio Troccoli';
> users_at_subversion.apache.org
> Subject: RE: Feature request - SVN command to clean a working copy of all
> unversioned and ignored files and directories
>
> > -----Original Message-----
> > From: David Weintraub [mailto:qazwart_at_gmail.com]
> > Sent: woensdag 14 maart 2012 2:14
> > To: Simon Dean
> > Cc: Nico Kadel-Garcia; Les Mikesell; Andreas Krey; Giulio Troccoli;
> > users_at_subversion.apache.org
> > Subject: Re: Feature request - SVN command to clean a working copy of
> > all unversioned and ignored files and directories
> >
> > On Mon, Mar 12, 2012 at 1:05 PM, Simon Dean
> > <Simon.Dean_at_moneysupermarket.com> wrote:
> > > I suspect TortoiseSVN uses the official Subversion client code under
> > > the
> > hood.  There's no way they'd
> > > re-implement a whole SVN client from scratch.
> >
> > I don't know if Tortoise uses any Subversion command line client code,
> > but TortoiseSVN does use the official Subversion API libraries. That's
> > what made Subversion so different from CVS. With CVS, you either had
> > to reimplement the client yourself, or use the offical CVS client as a
> > backend. In Subversion you write your own client, and just use the
> > API.
> >
> > SVNKit is very different. SVNKit is a Java third party
> > reimplementation of the Subversion API, and it's not the complete API
> > either. On the other hand, the JavaHL API is a front end to the
> > official Subversion API.
> >
> > So, it's possible for someone to write a Subversion client that does
> > do a "clean up". In fact, the Jenkins Continuous build system has the
> > option of doing a thorough clean before doing an update.
> >
> > > Other people have commented on the fragility of the "clean" task of
> > > a
> build
> > script.  If you use things like NuGet
> > > and Bundler in codebases, they result in multiple directories that
> > > need
> > "cleaning" - e.g. .\vendor\bundle,
> > > .\packages etc.  You'd be surprised how many unversioned files
> > > creep
> into a CI
> > build when all you're relying
> > > on is the build script's "clean" task
> >
> > For some reason, the .NET/C# world is behind in this concept when
> > compared to the Java world. By default, there's a "clean" target in
> > VisualStudio builds, but it doesn't do a very good job of cleaning.
>
> The standard files produced by Visual Studio should clean up everything, but
> if you customize your build you should also customize the cleanup. (This
> assumes that you pass the same custom variables to the build as the cleanup
> step of MSBuild. If not it cleans up a different build)
>
> And Visual Studio makes adding custom build tasks very easy, but doesn't
> provide an easy way to add your own cleanup tasks. (I see too many scripts
> that just call things like xcopy and assume this magically cleans up)
>
>
> When running from Visual Studio it appears that there are leftovers, but this
> is mostly because the Intellisense uses the same infrastructure to get its
> information.
>
>
>
> If you do find places where the common tasks leave files behind please
> report them as Microsoft is still taking bug reports for Visual Studio 11.
>
> And if these are Subversion and/or AnkhSVN specific problems please also
> send me a mail so I might be able to reach out via a few other channels.
>
> Bert
>

I use Rake and Gradle (migrated to Gradle from Maven). Rake is used for .NET codebases and Gradle for Java. It's very easy for files to slip through a "clean" task. Problem is, a "clean" task doesn't "fail fast" (an agile principle which is also a more general principle: http://en.wikipedia.org/wiki/Fail-fast)

-----------------------------------------------------------------------------------------------------------------------------------------
The information contained in this message may be CONFIDENTIAL and is intended for the addressee only. Any unauthorised use, dissemination of the information, or copying of this message is prohibited. If you are not the addressee, please notify the sender immediately by return e-mail and delete this message. Although this e-mail and any attachments are believed to be free of any virus, or other defect which might affect any computer or system into which they are received and opened, it is the responsibility of the recipient to ensure that they are virus free and no responsibility is accepted by Moneysupermarket.com Financial Group Limited for any loss or damage from receipt or use thereof.
The views expressed are of the individual, and do not necessarily reflect the views of Moneysupermarket.com Financial Group Limited.
Moneysupermarket.com Limited is an appointed representative of Moneysupermarket.com Financial Group Limited, which is authorised and regulated by the Financial Services Authority (FSA FRN 303190).
Moneysupermarket.com Financial Group Limited, registered in England No. 3157344.
Registered Office: Moneysupermarket House, St. David’s Park, Ewloe, CH5 3UZ. Telephone 01244 665700.
Received on 2012-03-14 12:55:58 CET

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

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