2.0.7 (May 16 2018) -Removed a stupid debug print that had inadvertedly been left in the redefine- root-part. 2.0.6 (Apr 17 2018) -Fixed a bug where delete nodes could incorrectly be dropped, potentially causing errors on import. 2.0.5 (Oct 25 2017) -Fixed a bug where redefine-root would not detect the non-workable situation of the (new) root repository being moved from somewhere else. 2.0.4 (Aug 21 2017) -Fixed a bug in the logic that could potentielly produce unimportable dump files in repositories with complicated recursive copying/branching. -Fixed a bug that was introduced in 2.0.3, where the --redefine-root feature could produce a segfault. 2.0.3 (Jun 1 2017) -Fixed a problem where an internal logic error would be encountered if someone at some point had copied the root directory somewhere. This can apparently be accomplished by doing "svn cp -m 'foo' . file:///path/to/repo/path/inside/repo" from the repo root, when it's checked out locally. (Seriously, svn? WTF!?) 2.0.2 (Jun 28 2016) -Fixed a bug (or svn "surprise" - whatever) in the mergeinfo handling. Turns out that some repositories contain other characters than I had previously encountered in their mergeinfo data, which could lead to unimportable dump files. This fix should be fairly brute force and solid - at least until the svn authors decide to add emojis to the mergeinfo. :-P 2.0.1 (Feb 19 2016) -Fixed another bug in the delete node restoration logic, where the program could be fooled into restoring a delete node for a file that didn't exist provided some special circumstances. -Fixed a bug in mergeinfo handling, which could produce invalid output. 2.0.0 (Dec 19 2015) -No actual changes. RC3 was promoted to 2.0.0. 2.0.0 RC 3 (Dec 5 2015) -Fixed a bug in the previous bugfix. The logic basically went from not being aggressive enough, to being too aggressive, meaning that it could try to delete things that hadn't been included, which would result in a broken file. 2.0.0 RC 2 (Nov 29 2015) -Fixed a bug in the delete node restoration logic. (Could cause files to not be deleted, even when they ought to be.) 2.0.0 RC 1 (Nov 28 2015) -Fixed a bug in the parameter parsing introduced in beta 2, that could cause some parameters to be ignored. -Added the option to query svndumpsanitizer for the reason a particular file or folder is included. 2.0.0 beta 2 (Nov 22 2015) -Feature parity brought back to v1 levels, meaning redefine-root works again - at least partially. When it works it should work as well as the verion in v1, and when it doesn't it should realize that things won't work and not even try, which v1 didn't. -Deleting cruft feature is back. It's not active by default, but if you want it, it's there. 2.0.0 beta 1 (Nov 15 2015) -MASSIVE REWRITE of the sanitizing logic. Should now be able to filter out everything that's not either requested or necessary for repo consistency. -Improved merge handling. -Improved execution speed (at the price of higher memory consumption). -Redefined root doesn't work in this version due to problems alluded to in the 1.2.10 version. -Deleting cruft feature doesn't work because there's a risk of it papering over bugs. (Also I'm lazy.) 1.2.12 (Sep 27 2015) -Turned out that the fix in 1.2.9 was insufficient - or rather it re-intrduced a lesser version of the bug that 1.2.1 fixed. So pre-1.2.1 could leave too much stuff in the repo, 1.2.1 - 1.2.8 could leave stuff out (causing unusable dump file) and 1.2.9 - 1.2.11 could leave too much in, though not as much as pre-1.2.1. All of these things would only surface with repos crafted a certain way. I also almost got a brain aneurysm from staring at the code, and parsing file paths in my mind. If I find another bug in this part of the code, I will probably run screaming into the woods and become Amish. 1.2.11 (Sep 25 2015) -Minor code refactoring/cleanup (add_slash_to was put in its own function). 1.2.10 (Sep 19 2015) -Fixed a problem with how redefine root handles tricky corner-cases where the root is being redefined to something that has previously held data that has since been moved inside the tree that is being kept, and now "redefined back" to the previous position. 1.2.9 (Sep 13 2015) -Fixed a bug introduced in 1.2.1. When using the include strategy, now instead of sometimes including files that shouldn't have been, it would exclude files that should have been included. (This would have been noticed by failure to import the sanitized dump, so no need to worry about maybe missing something important...) The bug would only manifest on certain repositories. 1.2.8 (Feb 6 2015) -Merged a patch from dufreyne that fixed an issue with Windows stdout output. 1.2.7 (Jan 27 2015) -Merged a patch from squeek502 to improve compatibility with different Windows compilers. 1.2.6 (Jul 27 2014) -Fixed a bug that stems from the fact that it's apparently possible to have NULL characters in an SVN commit message. (WTF, subversion authors!?) These messages would unsurprisingly get truncated at that character, resulting in entries with incorrect lengths. 1.2.5 (Jul 4 2014) -Fixed a memory leak introduced in 1.2.4. 1.2.4 (Jun 28 2014) -Fixed a bug in the logic that with some repositories could cause invalid dump files when using excludes. -Added the ability to print out the version. (Don't know why I hadn't done that until now.) 1.2.3 (Dec 8 2013) -Fixed a bug that under some circumstances would return an invalid (undefined) pointer when trying to redefine the root dir. -Fixed a bug that could cause a segfault rather than an informative error message when invalid parameters were passed to redefine root. 1.2.2 (Nov 12 2013) -Fixed a bug that under some circumstances could pass a NULL pointer to strcmp and crash. -Rewind-command has been replaced with fseeko, because it for some reason fails on windows when the file size grows huge. (>120GB) 1.2.1 (Aug 8 2013) -Fixed a bug in the logic, that sometimes included files that shouldn't have been. -Fixed a bug that sometimes added a deleting revision, even though none was needed. (The revision was empty, and thus fairly benign, but unnecessary.) -Fixed a bug that under some circumstances caused a slight memory leak. 1.2.0 (Jul 25 2013) -Added the ability to direct output to stdout instead of a file. 1.1.1 (Apr 10 2013) -Refactored the most used malloc operations to their own function to make the code more readable. 1.1.0 (Mar 21 2013) -Added the "redefine root" feature. This should take care of the most common need to move files around in the repo. 1.0.2 (Jan 18 2013) -Added $ergi0's WIN32 patch 1.0.1 (Nov 26 2012) -Due to a brain fart on my part, the bug with the deleting revision was only partially fixed in 1.0.0. Now it should be gone for good. 1.0.0 (Nov 23 2012) -Fixed a bug that under some circumstances could create a final deleting revision that contained paths that should not have been deleted. -Fixed a silly mistake in the help text 0.8.5 (Mar 23 2012) -Fixed a bug that under some circumstances could create a final deleting revision that contained multiple identical delete nodes, and thus caused an error when loading the dump file. 0.8.4 (Jan 27 2012) -Still more problems turned up with the redundant newlines remover. This time I didn't even bother to troubleshoot it. I simpy decided that this cosmetic feature wasn't worth all the pain it caused, so I rolled back to 0.8.1 and applied the renumbering bugfix from 0.8.3 to it. 0.8.3 (Jan 26 2012) -The "cosmetic" newlines removing feature contained a subtle, but potentially very annoying bug. If someone had made a commit comment using 3 or more consequtive newlines, svndumpsanitizer would write 2 and drop the rest - causing the data size field to be off. Any import operation would naturally barf on this. It should be fixed now, though. -Fixed another bug in the renumbering feature, which under certain circumstances could cause the added deleting revision to be numbered as revision 0, instead of the next available revision. 0.8.2 (Dec 31 2011) -Added a feature which prevents useless newlines from being written to the outfile. This is mostly an aesthetic feature, since svnadmin ignores redundant newlines, but visually inspecting small repositories that have been filtered out from large ones becomes easier when you don't have to search for islands of data in vast oceans of newlines. 0.8.1 (Dec 29 2011) -Fixed a logic bug (Actually a "Huh? Svn dump files can work that way too?"-bug) in the new renumbering feature. -Fixed a minor bug in how the output messages behave. 0.8.0 (Dec 24 2011) -Added the drop-empty-revisions-and-renumber-the-rest feature. -Added a feature that allows a user who (foolishly) has created a directory in the repository root that starts with a hyphen to esacpe that hyphen with a slash. 0.7.1 (Dec 1 2011) -Fixed a bug in the code that determines which nodes are no longer necessary to keep that on certain repositories would cause a segfault (by doing a string operation on a NULL pointer). 0.7.0 (Nov 14 2011) -Added output that informs the user what the program is up to, in order to make it more user friendly. -Cleaned up the code that deletes the superfluous nodes, to eliminate redundant delete operations. -Fixed yet another bug in the logic that determines which nodes to keep. -Released the code on github for visibility and user convenience. 0.6.3 (Oct 1 2011) -Fixed a bug in the logic that decides which nodes must be kept due to dependencies. (Turned out svn dump files didn't quite behave the way I expected them to.) --- (Sep 7 2011) -No actual release, but I added the debugging tool "dumpstrip" which allows people to strip the sensitive data from their dump files and send in just the metadata for debugging analysis. 0.6.2 (Sep 1 2011) -Fixed a bug in the logic that decides which nodes to keep, that would leave some reporitories broken and impossible to import. 0.6.1 (Aug 31 2011) -Fixed a bug that left the last byte of a removed binary file in the output file. 0.6.0 (Aug 24 2011) -Added help functionality. 0.5.2 (Aug 16 2011) -Fixed a bug in the node analyzing logic. 0.5.1 (Aug 15 2011) -First public release