Hi, Daniel, Von: Daniel Shahaf [mailto:d...@daniel.shahaf.name]
> Markus Schaber wrote on Mon, Jul 25, 2011 at 15:57:00 +0200: > > Hi, Stefan, > > > > Von: Stefan Sperling [mailto:s...@elego.de] > > > > So I'm not only "detaching" subdirectories, but also "re-implanting" > > > > them afterwards. > > > > > > Sounds like what you really need is this as-of-yet not implemented > > > feature: > > > http://subversion.tigris.org/issues/show_bug.cgi?id=3625 > > > > Yes, that one would definitely help. :-) > > > > Maybe extending "svn diff" and "svn patch" to preserve > > copy/rename/history information would already be half of that > > implementation? A "shelve" subdir under .svn/ could then be used to > > store the diff files. > > > > That's one solution. > > However, wc.db already has the ability to represent multiple related trees > (via op_depth), so another way would be to extend that into storing not > only the post-'svn patch' trees too, and then merging them in the usual > way. (which may require repository communication, or storing the pre- > patch tree locally too...) I think your suggestion sounds a little bit more complex to start with. Shelving of patches in .svn/shelve/ can be implemented independently of the diff/patch extension (with the disadvantage of losing history for now), and can even be implemented as an external tool / script. Extending the "diff" and "patch" commands to preserve history (maybe just by a pointer to url@rev) has benefits for other uses (like sending patches to someone else). > Perhaps you'd be interested in contributing to the implementation of this > feature? Yes, I am, but I've only very limited time to work on it while being at home. Best regards, Markus Schaber