> -----Original Message----- > From: David Weintraub [mailto:qazw...@gmail.com] > Sent: woensdag 14 maart 2012 2:14 > To: Simon Dean > Cc: Nico Kadel-Garcia; Les Mikesell; Andreas Krey; Giulio Troccoli; > users@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.d...@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