@@ -608,11 +608,7 @@ def action_copy_change_right_down(self, *args):
608608 self .copy_chunk (
609609 src , dst , self .get_action_chunk (src , dst ), copy_up = False )
610610
611- def pull_all_non_conflicting_changes (self , direction ):
612- assert direction in (- 1 , 1 )
613- dst = self ._get_focused_pane ()
614- src = dst + direction
615- assert src in range (self .num_panes )
611+ def pull_all_non_conflicting_changes (self , src , dst ):
616612 merger = merge .Merger ()
617613 merger .differ = self .linediffer
618614 merger .texts = self .buffer_texts
@@ -622,11 +618,20 @@ def pull_all_non_conflicting_changes(self, direction):
622618 self .on_textbuffer_begin_user_action ()
623619 self .textbuffer [dst ].set_text (mergedfile )
624620 self .on_textbuffer_end_user_action ()
621+
625622 def resync ():
626623 self ._sync_vscroll_lock = False
627624 self ._sync_vscroll (self .scrolledwindow [src ].get_vadjustment (), src )
628625 self .scheduler .add_task (resync )
629626
627+ def action_pull_all_changes_left (self , * args ):
628+ src , dst = self .get_action_panes (- 1 , reverse = True )
629+ self .pull_all_non_conflicting_changes (src , dst )
630+
631+ def action_pull_all_changes_right (self , * args ):
632+ src , dst = self .get_action_panes (+ 1 , reverse = True )
633+ self .pull_all_non_conflicting_changes (src , dst )
634+
630635 def merge_all_non_conflicting_changes (self ):
631636 dst = 1
632637 merger = merge .Merger ()
0 commit comments