fetch: add ability to fetch into a remote tracking branch
[git-cola.git] / test / fixtures / diff.txt
blobce31e66e40bcc8f1918d3c8a6cdc1a4447d187df
1 @@ -6,10 +6,21 @@ from cola import gitcmds
2  from cola import gitcfg
3  
4  
5 +class DiffSource(object):
6 +    def get(self, head, amending, filename, cached, reverse):
7 +        return gitcmds.diff_helper(head=head,
8 +                                   amending=amending,
9 +                                   filename=filename,
10 +                                   with_diff_header=True,
11 +                                   cached=cached,
12 +                                   reverse=reverse)
15  class DiffParser(object):
16      """Handles parsing diff for use by the interactive index editor."""
17      def __init__(self, model, filename='',
18 -                 cached=True, reverse=False):
19 +                 cached=True, reverse=False,
20 +                 diff_source=None):
22          self._header_re = re.compile('^@@ -(\d+),(\d+) \+(\d+),(\d+) @@.*')
23          self._header_start_re = re.compile('^@@ -(\d+) \+(\d+),(\d+) @@.*')
24 @@ -29,13 +40,11 @@ class DiffParser(object):
25          self.diff_sel = []
26          self.selected = []
27          self.filename = filename
28 +        self.diff_source = diff_source or DiffSource()
30 -        (header, diff) = gitcmds.diff_helper(head=self.head,
31 -                                             amending=self.amending,
32 -                                             filename=filename,
33 -                                             with_diff_header=True,
34 -                                             cached=cached,
35 -                                             reverse=cached or reverse)
36 +        (header, diff) = self.diff_source.get(self.head, self.amending,
37 +                                              filename, cached,
38 +                                              cached or reverse)
39          self.model = model
40          self.diff = diff
41          self.header = header
42 @@ -43,11 +52,10 @@ class DiffParser(object):
44          # Always index into the non-reversed diff
45          self.fwd_header, self.fwd_diff = \
46 -            gitcmds.diff_helper(head=self.head,
47 -                                amending=self.amending,
48 -                                filename=filename,
49 -                                with_diff_header=True,
50 -                                cached=cached)
51 +                self.diff_source.get(self.head,
52 +                                     self.amending,
53 +                                     filename,
54 +                                     cached, False)
56      def write_diff(self,filename,which,selected=False,noop=False):
57          """Writes a new diff corresponding to the user's selection."""