wiki:Features/AutoDiff
Last modified 3 years ago Last modified on 09/22/11 11:43:03

<-back

Edit -> Auto-Diff draft


Margin Markers

Revision 16300 marks a new milestone in Padre version control system (VCS) support. You can now type and Padre will automatically calculate differences and display them as margin markers.

  • plus (added), dark green.
  • minus (deleted), red.
  • right arrow marker (changed), blue.

You can click then on those margin markers to show what has actually been added, deleted or changed.

diff-icons


Diff-Box

Just wanted to say that I recently added a differences popup window to Padre's editor.

  • You can now traverse all differences in your current document (via Ctrl + comma).
  • The dialog shows you what was added, deleted or changed at the current difference and enables you to revert the change if needed.
  • Padre can also automatically detect and find differences against your local repository (subversion or git) or the locally saved document.

diff-box


Note two Tabs -> 8 Chr per Tab = 16 charters indent Ouch!


Diff-Box


  • suggest 1 Tab = 2 charters, will maximise the diff-box real-estate.

Previous Diff

Up Move to Previous Diff.

Next Diff

Down Move to Next Diff.

Revert

Revert Revert current Diff.


VCS

To Diff against VCS you need to enable feature_vcs_support = TRUE in Tool->Preferences->Advanced

Currently supported vcs.

  • SUBVERSION => 'SVN',
  • GIT => 'Git',

Miscellaneous

Q, I do not see any content in the Diff-Box for add, only changed and deleted.

A, aha...

that's the trick
you get old text in your diff box
so you can revert it
if you add new lines, then nothing
get it?


Q, So the diff stuff is relying on the underlying VCS tools and not an internal Padre thing.

A, svn => does a trick by reading .svn\file to diff in memory

git => git show HEAD:$filename and then diff in memory
diff in memory using Algorithm::Diff
so they are not network bound
and it is a background task... svn or git failed... fallback to editor buffer against saved document diff
and the cool thing is that you can revert what's changed...


Q, Until you save it?

A, local => until you save

svn project => svn diff
git project => git diff


ToDo

  • MERCURIAL => 'Mercurial',
  • BAZAAR => 'Bazaar',
  • CVS => 'CVS',


__END__

<-back

Attachments