I am writing a small tool for MacOS X to manage Darcs repos, as a wrapper around the Darcs command-line tool -- it has a change-aware repository browser, a visual differ, etc.
I am trying, at the moment, to implement a good user interface for pulling and pushing patches. Given an upstream repo, the user should be given a list of local patches that can be pushed and remote patches that can be pulled. Moreover, for each in- or outgoing patch you should be able to inspect the diffs in a two-pane view that shows the modified content in one pane and the original content in the other, akin to "diff -y". To do this, I need to find the contents of each side so that I can display them. The problem is that running "darcs pull --dry-run --verbose", for instance, does not yield sufficient information. A file change (hunk) only contains the file name and starting line number of the ancestor, but the push/pull output does not include the context. I believe I could also use "darcs changes --context", but this would only work locally -- to get the context of remote patches I would need to manually do the SSH connection to run "darcs changes" on the remote repo -- a pretty awkward hoop to jump through. Furthermore, once I have the context, I would still have to use "darcs changes" with "--to-match" in order to reconstruct the ancestor, piecing each hunk together to form the final content. This, too, is rather awkward. Added together, these steps will make the diffing extremely slow. Any ideas? Alexander. _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
