Menu

#31 Finish xxdiff-patch

open
None
7
2004-11-04
2003-09-12
Wayne Price
No

Would be very handy if you could do something like:

cvs diff myfile.cpp | xxdiff

and xxdiff takes the output from the 'cvs diff' (or in
fact, any diff command) and displays it in the GUI.

Discussion

  • Martin Blais

    Martin Blais - 2003-12-25

    Logged In: YES
    user_id=10996

    oh, yes, i've been wanting to implement this one for a
    while, that is, input would be one file, and one patch.

    actually, you could very easily write a simple script that
    patches the file and then spawns xxdiff on the results.
    plus you get all the smarts that are in patch.

     
  • Martin Blais

    Martin Blais - 2004-11-03
    • assigned_to: nobody --> blais
     
  • Martin Blais

    Martin Blais - 2004-11-04
    • summary: CVS and/or stdin support --> Finish xxdiff-patch
     
  • Martin Blais

    Martin Blais - 2004-11-04
    • priority: 5 --> 7
     
  • Nobody/Anonymous

    Hi

    I am currently investigating how to do this for a group of developers I support. What we basically want to have is a feature like:

    git diff <1st revision> <2nd revision> | xxdiff <reference directory-tree, normally 1st revision> -

    The xxdiff or diff viewer programm we would be using would thus take a directory-tree and a preprocessed diff output as input and from this visualize the result like you would be diffing two individual directory-trees.

    I am currently hacking on a script that does this, but its using kompare as the diff viewer, because kompare already has that feature.
    The following is crucial for acceptance:
    -performance, we want it to be faster and more effizient that just checking out both versions from the version control system and running a diff viewer on the directories.
    -usability, in the current version of kompare its not usable for a bigger list of files, because the filebrowser is taking to much display area and is unintuitive to use

    I think xxdiff-patch would fit for that purpose or could be scripted to do it easily, please work on this or let me know what are your plans for it, maybe i can help out.

    I think one way to do it would be:

    1 Identify all files touched by the diff/patch (can be done by lsdiff from patchutils)

    2 Copy those to a temp directory, apply the patch

    3 Start xxdiff or other diff viewer, restricting it to this list of files

    4 Apropriatly merge back the results if need be and cleanup

    My only concern here is that this might turn out inefficient when diffing lots of files, depending on the design of xxdiff (does it creates this temporary files again?).

    Best Regards, Gruessle
    Simon.Braunschmidt@gmail.com

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.