filetree icon indicating copy to clipboard operation
filetree copied to clipboard

FileTree nukes SVN metadata

Open dalehenrich opened this issue 11 years ago • 4 comments

In SVN 1.6, the SVN meta data is stored in each directory and FileTree wipes out the whole directory structure when it writes out a package which plays havoc with SVN .. see http://forum.world.st/FileTree-queries-tp4655472p4656119.html..

dalehenrich avatar Nov 20 '12 23:11 dalehenrich

The reason why we did this was to cater for deletions / renaming / moving of classes. I suppose we could only wipe .st files. We may end up with empty directories if a class was moved or deleted. But then the .svn files will still be there. It may be ok to leave the empty directories? I think git doesn't even care about writing empty directories. If someone uses svn, they can then write a little cleanup script for those. Renaming a package may cause a bit more trouble.

ottobehrens avatar Nov 21 '12 07:11 ottobehrens

Here's Chris' description of his patch:

I think all I did was to move the contents of recursiveDelete into 
MCFileTreeFileDirectoryUtils class>>deleteAll: and guard clause on 
directory names from an ignore list. This isn't really very satisfactory 
because 2.0 uses FileSystem and other Smalltalk dialects would 
presumably require the same treatment as well.

dalehenrich avatar Nov 21 '12 15:11 dalehenrich

@ottobehrens, yeah I thought nuking the directory was a clean trick .. other Cypress variants include additional structure in their packages, so building the structure from scratch is the preferred solution ...

But... if SVN is not supported well, there should be a way to accomodate it ...

dalehenrich avatar Nov 21 '12 15:11 dalehenrich

hmmm, a .filetreepreserve file? Opposite of .filetreeignore:)

dalehenrich avatar Nov 21 '12 15:11 dalehenrich