Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Интерактивное сравнение в git-е           Максим Вуец             Black Perl              2011
Обычное сравнение
Обычное сравнение       ↓   Unified diff format
--- a/lib/Mojo/Cookie.pm+++ b/lib/Mojo/Cookie.pm@@ -21,7 +20,15 @@    s*  /x;  my $SEPARATOR_RE = qr/^s*;s*/;-my $VALUE_RE...
--- a/lib/Mojo/IOLoop.pm+++ b/lib/Mojo/IOLoop.pm@@ -452,75 +477,26 @@     delete $self->{_listening}; }-sub _accepting {+s...
Недостатки unidiff-а    Сложно читать сложные изменения
Недостатки unidiff-а    Сложно читать сложные изменения    Нет возможности сразу вносить правки
Недостатки unidiff-а    Сложно читать сложные изменения    Нет возможности сразу вносить правки    Далеко не все понимают е...
Интерактивное сравнение
Интерактивное сравнение           ↓      Плечом к плечу
Редактирование здесь и сейчас           ↑Интерактивное сравнение           ↓        Плечом к плечу
Mercurial            extdiff
Mercurial~/.hgrc   [extensions]       hgext.extdiff =   [extdiff]       cmd.idiff = winmerge       opts.idiff = -r
Mercurial  $ hg idiff
git      git-difftool
git~/.gitconfig    [diff]        tool = winmerge    [difftool "winmerge"]        cmd = "winmerge -r "$LOCAL" "$REMOTE""
git  $ git difftool
git  $GIT_EXTERNAL_DIFF
git  $GIT_EXTERNAL_DIFF path       old-file old-hex old-mode       new-file new-hex new-mode
git      git-idiff
git  mojo$ git-idiff 7b0d94^!
WinMerge
WinMerge
Beyond Compare
Beyond Compare
Araxis Merge
Araxis Merge
gvim + DirDiff
https://gist.github.com/228869
Спасибо!--- a/blackperl2011/interactive-git-diff.talk+++ b/blackperl2011/interactive-git-diff.talk@@ -1,1 +1,1 @@-$self->t...
Interactive git-diff
Interactive git-diff
Interactive git-diff
Interactive git-diff
Upcoming SlideShare
Loading in …5
×

Interactive git-diff

1,367 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Interactive git-diff

  1. 1. Интерактивное сравнение в git-е Максим Вуец Black Perl 2011
  2. 2. Обычное сравнение
  3. 3. Обычное сравнение ↓ Unified diff format
  4. 4. --- a/lib/Mojo/Cookie.pm+++ b/lib/Mojo/Cookie.pm@@ -21,7 +20,15 @@ s* /x; my $SEPARATOR_RE = qr/^s*;s*/;-my $VALUE_RE = qr/^([^;,]+)s*/;+my $VALUE_RE = qr/+ ^+ (+ "(?:|[^"])+" # Quoted+ |+ [^;,]+ # Unquoted+ )+ s*+/x; # "My Homer is not a communist. # He may be a liar, a pig, an idiot, a communist,
  5. 5. --- a/lib/Mojo/IOLoop.pm+++ b/lib/Mojo/IOLoop.pm@@ -452,75 +477,26 @@ delete $self->{_listening}; }-sub _accepting {+sub _activity { my ($self, $id) = @_; # Connection- my $c = $self->{_cs}->{$id};-[...]-- # Add socket to poll- $self->not_writing($id);-}+ return unless my $c = $self->{_cs}->{$id};-sub _active {- my ($self, $id) = @_;- return $self->{_cs}->{$id}->{active} = time;+ # Activity+ return $c->{active} = time; }
  6. 6. Недостатки unidiff-а Сложно читать сложные изменения
  7. 7. Недостатки unidiff-а Сложно читать сложные изменения Нет возможности сразу вносить правки
  8. 8. Недостатки unidiff-а Сложно читать сложные изменения Нет возможности сразу вносить правки Далеко не все понимают его в принципе
  9. 9. Интерактивное сравнение
  10. 10. Интерактивное сравнение ↓ Плечом к плечу
  11. 11. Редактирование здесь и сейчас ↑Интерактивное сравнение ↓ Плечом к плечу
  12. 12. Mercurial extdiff
  13. 13. Mercurial~/.hgrc [extensions] hgext.extdiff = [extdiff] cmd.idiff = winmerge opts.idiff = -r
  14. 14. Mercurial $ hg idiff
  15. 15. git git-difftool
  16. 16. git~/.gitconfig [diff] tool = winmerge [difftool "winmerge"] cmd = "winmerge -r "$LOCAL" "$REMOTE""
  17. 17. git $ git difftool
  18. 18. git $GIT_EXTERNAL_DIFF
  19. 19. git $GIT_EXTERNAL_DIFF path old-file old-hex old-mode new-file new-hex new-mode
  20. 20. git git-idiff
  21. 21. git mojo$ git-idiff 7b0d94^!
  22. 22. WinMerge
  23. 23. WinMerge
  24. 24. Beyond Compare
  25. 25. Beyond Compare
  26. 26. Araxis Merge
  27. 27. Araxis Merge
  28. 28. gvim + DirDiff
  29. 29. https://gist.github.com/228869
  30. 30. Спасибо!--- a/blackperl2011/interactive-git-diff.talk+++ b/blackperl2011/interactive-git-diff.talk@@ -1,1 +1,1 @@-$self->talk();+$self->shut_up(); 2011 Максим Вуец <http://maxim.vuets.name/> На условиях http://creativecommons.org/licenses/by-sa/3.0/

×