Tags:
create new tag
, view all tags

This topic is probably premature -- I should do some research on the output capabilities of diff, but I came across this specific example (below) of diff output that is very hard to utilize -- I cannot spot the difference without a thorough search.

Well, in fact I gave up -- I don't see any difference.

I like Word style diffs. In a Word style diff, if one word is changed, you would see the paragraph only once, you would see the deleted word with strikethroughs and the new word underlined or in bold (Word lets you set options for the display of the deleted and added word, including the use of color).

Here is an incidental example:

Aside: If the difference change is this hard to find, why do I care? If the small difference is the addition or deletion of the word "not" somewhere in a contract, it could be a very significant change. Am I going to have contracts written in TWiki? Maybe -- I am thinking about using TWiki as a collaboration tool to create specifications and contracts, with the final specification or contract "snapshotted" and stored in a less mutable form, perhaps with a GPG (?) signature.

On the other hand, persons making changes that are cosmetic only (fixing typos, addition or deletion of white space, or similar) may wish to consider checking the "Minor change, don't notify" checkbox.


Difference Topic RenameTheMainWeb (r1.8 - 10 Jun 2001 - <a href="/cgi-bin/view/Main/RichardDonkin">RichardDonkin)
Changed:
&lt;
<

Just being able to change the %MAINWEB% variable is not quite enough. Apart from searching for all of the hard-coded references to Main in every web (all those Main.SomeRandomTopics!) the site-master would have to go through and change all of the ``conceptual references'' in all of the content -- all of the places where it's assumed that the ``Main'' web is the the ``Main'' that shipped with the TWiki distribution. I doubt that anyone who hasn't developed a TWikiClone has taken the trouble to modify the web structure so that ``Main'' is called something else.

>
>

Just being able to change the Main variable is not quite enough. Apart from searching for all of the hard-coded references to Main in every web (all those Main.SomeRandomTopics!) the site-master would have to go through and change all of the ``conceptual references'' in all of the content -- all of the places where it's assumed that the ``Main'' web is the the ``Main'' that shipped with the TWiki distribution. I doubt that anyone who hasn't developed a TWikiClone has taken the trouble to modify the web structure so that ``Main'' is called something else.

-- RandyKramer - 11 Jun 2001



I'd certainly like to see better diff output. In GenericMetaDataStoreForTopics I suggested we move from using rcsdiff to a Perl module. On top we can put several different views of the differnces (to be honest we could do that we rcsdiff output, but if think this route would be cleaner. See for example the Web CVS for TWiki e.g. http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/twiki/twiki/bin/viewfile.diff?r1=1.10&r2=1.11, with drop down at the end of the page. None of these do comparisons at the word level, but I don't see why this shouldn't be done as an option.

So, what's needed is someone with some time to code ...

-- JohnTalintyre - 11 Jun 2001

The reason there is no apparent difference in the above diff is that I made a small markup only change in RenameTheMainWeb (from one sort of <nop> to another) - see the comment about non-standard markup and Mozilla in BrowserIssues.

This does raise the need for a 'view source' that works even on previous revisions of a page - without this, it's hard to see what might have changed even if you know where it was. See ViewRawPage for a patch that would do this (though perhaps this feature should be configurable, i.e. normally omitted from standard templates).

I think I did check the 'minor change' box on Preview, but I don't think this affects the .changes file and hence the WebChanges search - doesn't it only affect WebNotify?

-- RichardDonkin - 11 Jun 2001

Thanks, that may be the case -- I'll have to test it. I do know it showed up in the recent changes, and it may be nice for an option to ignore minor changes there as well. (That might be a two part option -- the editor would have to check "Minor change, don't notify" which would designate changes as minor, but the viewer of the recent changes page could have an option to view or not view the changes that have been designated as minor.) (I know, I have a tendency to go overboard.)

-- RandyKramer - 12 Jun 2001

The interpretation of how important the change can be best left to the reader, than the person making the change. The person making the change should tick one of the boxes:

 - This is a gramatical/formatting correction
 - No change in semantics; just a minor change in the wording 
   of the sentence
 - Added/Removed/Changed information to a paragraph
 - Major change affecting multiple paragraphs

And ideally, we could have the software do this for us, rather than user do this.

Tracking changes are important. One of the problems we have had in our installation of TWiki is that people can't track the changes easily. Email is still a good model for collaboration because people get triggerred by the email-received event, and can act on it according to different priorities. To incorporate this model into wiki concept is an important challenge. Simple "notify me" won't do it; it should be more than that. The "type of change" as defined above will help in that (i.e. I will subscribe to the topic to notify me for only major changes). An yet higher level of "personalization" of tracking the changes would be to let the topic writer define the changes that are meaningful for the topic. For example, if I am maintaining a list of restaurents, the changes would be:

  - Added/removed a restaurent information
  - Added more info to specific restaurent

and so on. Eventually it should be the way humans communicate the change by email: Something like: "I just added a new section to the document we are writing. Can you review it?". That is more natural, and allows us to retain the human aspects involved in collaboration. So the big challenge is, what is the best way to capture the changes and integrate them into personalizable emails? I even thought that the easiest thing is to first make a change in twiki, and then to also add a personalized message to the group that is tracking the change, to be sent as email - all in single interface.

-- VinodKulkarni - 14 Jun 2001

How about using the RCS comment field for that purpose? Just add a small box to the edit page, where you can enter a short revision description.

-- PeterKlausner - 24 Jun 2001

I find that even with a well used source code control system, people often fail to fill in good revision contents. Given the nature of TWiki I think it even less likely that people will do this. I think even the current two checkboxes (release lock and minor change) are not understood or used by most users.

I'd rather see a new function to add a comment to a topic, rather than comments for revisions. Having said that, the next version of TWiki has attachments in RCS and the comment field is used.

-- JohnTalintyre - 25 Jun 2001

See WordDiff for discussion of word-level diffs. This would not be a hard thing to do using GNU wdiff.

-- RichardDonkin - 01 Aug 2001

There is a gpl-ed bit of code called ediff.el (documentation, code) that does a very nice colored diff based on gnu diffutils's diff. One is able to identify exactly which part of lines and even whole paragraphs have changed (type M-X ediff in emacs or xemacs, choose the files to be compared, then choose options "ignore whitespace" and "auto-refine", maybe also "hilighting" in case it is not a default in your distribution), so merely reformatting paragraphs do not lead to diffs. Unfortunately it is written in emacs-lisp and must be used interactively (jump from one change to next), but it could be a good source of inspiration. The interactive ediff-merge is also much more powerful than the one in cvs etc, as it allows to merge two different changes in one line (no conflict here) and even when paragraphs have been reformatted. Obviously, this should better be done interactively.

Here is a picture of what the output looks like (copied from ediff.jpg), where option "ignore whitespace" was not selected (so the string "at once" is marked as a change despite beeing only on a different line):

ediff.jpg

-- WolfgangSlany - 31 Dec 2003

Another example of a beautiful (line) diff: http://dev.rubyonrails.com/changeset/991

-- ArthurClemens - 20 Aug 2005

Has anyone successfully used something besides rdiff? I really want diffs down to the character level like most other wikis.

-- RyanKnoll - 23 Feb 2006

CompareRevisionsAddOn is a bet in this direction. Hope someone will raise it to Dakar eventually.

-- SteffenPoulsen - 23 Feb 2006

CompareRevisionsAddOn has now been updated to Dakar

-- JChristophFuchs - 27 Feb 2006

Excellent! - Thanks a bunch, will try it out asap.

-- SteffenPoulsen - 27 Feb 2006

Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg ediff.jpg r1 manage 189.1 K 2003-12-31 - 11:52 WolfgangSlany  
Edit | Attach | Watch | Print version | History: r18 < r17 < r16 < r15 < r14 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r18 - 2006-02-27 - SteffenPoulsen
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.