Hi! Property diffs =============== * We can create parseable prop patches * We can parse property patches * We can match property patches * We can write patched properties to tmp files * We can install those prop changes to files and dirs (not the wc-root dir yet)
Todo ------ * Decide on how we want notification for property patches. * Decide on how to handle SVN_ERR_ILLEGAL_TARGET (i.e. returned from svn_wc_prop_set() when trying to set svn:executable on a dir or svn:ignore on a file. * Decide on how to handle SVN_ERR_BAD_MIMETYPE (if svn:mime-type is not valid). * Allow wc-root dirs to be patched for props * Fix a bug in how 'svn diff' displays context lines for overlapping hunks when dealing with property diffs. (diff_test 54) * Make 'svn patch' notify if a property to be modified does not exist. * Make 'svn patch' notify if a property to be deleted does not exist. * Tests with different eol. * Tests with many different kinds of props on a target (add/del/mod). * Decide on how to handle binary props. Git diff format ================== * We can create add/del/mod/copy patches for WC-WC diffs (if using --git-diff flag and --show-copies-as-adds for copies) * We can create add/del/mod patches for URL->WC and URL->URL diffs * We can parse git diffs. Todo ------- * Remove the --git-diff flag and make the git diff format standard. The flag was introduced to avoid excessive use of #ifdefs and since I wrongly interpreted the git unidiff format to not include hunks for deleted paths. If someone has objections to use the git diff format as standard, do speak up! * Record copyfrom for URL->WC * Record copyfrom for URL->URL * Rearrange a bit in the patch code to allow us to keep the current behaviour for unidiff where we delete files where all lines are deleted and add files that did not previously exist. But we should also be able to handle explicit add/del/copy/move operations that were recorded from a git unidiff patch. * base85 encode binary content Note that we won't be able to track moves unless we start matching copyfrom with deleted paths and that may get a bit involved. We might just seattle for tracking copies at the moment. Cheers, Daniel