Hi! Just trying to sort out what work lays ahead.
Things todo for property diffs ------------------------------- 1) Make svn diff print diff headers even if we have just property changes. 2) Make svn patch able to match (compare streams) property hunks 3) Make svn patch able to apply (write to stream) property hunks 4) Make svn patch able to install (copy contents of stream to target location) property hunks. Observe that it means that we should be able to deal with directories too since a property can be set on either a dir or a file. 5) Make parse_next_hunk() record the operation {del/add/mod} on properties. 6) Make svn patch able to install property hunks with the help of the operation kind. 7) Make svn patch do proper notifications for property hunks. 8) Write tests that applies both text and property changes. 9) Find a way to split/extend/<make new new encapsulating type for> patch_target_t. It needs to both handle props and texts. Much of the code expects a patch_target_t argument. 10) Abort if we find binary diffs for properties? Things todo for git diffs --------------------------- 1) Make svn diff create git diffs for copied paths without --show-copies-as-adds. 2) Move the writing of git diff headers from libsvn_client to libsvn_diff. If we do that, we'd have to move the creation of diff labels too. 3) Make the git diff parser more strict. 4) Be able to install added/deleted/copied paths. Moved is too hard at the moment. Note that we don't want to abandon the current way of detecting adds/dels for patches in non-git-format. 5) Disallow the --git-diff flag for URL-URL diffs until we support copyfrom detection. Maybe disallow it for URL->WC too. We can only detect the copyfrom for the WC changes. 6) Do base85 encoding of binary contents. Cheers, Daniel