mercurial/patch.py
changeset 23663 a9853fc172d2
parent 23662 bc7d90c966d2
child 23664 377124ba6b10
equal deleted inserted replaced
23662:bc7d90c966d2 23663:a9853fc172d2
  1794 
  1794 
  1795     if opts.git:
  1795     if opts.git:
  1796         revs = None
  1796         revs = None
  1797 
  1797 
  1798     modifiedset, addedset, removedset = set(modified), set(added), set(removed)
  1798     modifiedset, addedset, removedset = set(modified), set(added), set(removed)
       
  1799     # Fix up modified and added, since merged-in additions appear as
       
  1800     # modifications during merges
       
  1801     for f in modifiedset.copy():
       
  1802         if f not in ctx1:
       
  1803             addedset.add(f)
       
  1804             modifiedset.remove(f)
  1799     for f in sorted(modified + added + removed):
  1805     for f in sorted(modified + added + removed):
  1800         to = None
  1806         to = None
  1801         tn = None
  1807         tn = None
  1802         dodiff = True
  1808         dodiff = True
  1803         header = []
  1809         header = []
  1805             to = getfilectx(f, ctx1).data()
  1811             to = getfilectx(f, ctx1).data()
  1806         if f not in removedset:
  1812         if f not in removedset:
  1807             tn = getfilectx(f, ctx2).data()
  1813             tn = getfilectx(f, ctx2).data()
  1808         a, b = f, f
  1814         a, b = f, f
  1809         if opts.git or losedatafn:
  1815         if opts.git or losedatafn:
  1810             if f in addedset or (f in modifiedset and to is None):
  1816             if f in addedset:
  1811                 mode = gitmode[ctx2.flags(f)]
  1817                 mode = gitmode[ctx2.flags(f)]
  1812                 if f in copy or f in copyto:
  1818                 if f in copy or f in copyto:
  1813                     if opts.git:
  1819                     if opts.git:
  1814                         if f in copy:
  1820                         if f in copy:
  1815                             a = copy[f]
  1821                             a = copy[f]
  1841                     else:
  1847                     else:
  1842                         losedatafn(f)
  1848                         losedatafn(f)
  1843                 if not opts.git and not tn:
  1849                 if not opts.git and not tn:
  1844                     # regular diffs cannot represent new empty file
  1850                     # regular diffs cannot represent new empty file
  1845                     losedatafn(f)
  1851                     losedatafn(f)
  1846             elif f in removedset or (f in modifiedset and tn is None):
  1852             elif f in removedset:
  1847                 if opts.git:
  1853                 if opts.git:
  1848                     # have we already reported a copy above?
  1854                     # have we already reported a copy above?
  1849                     if ((f in copy and copy[f] in addedset
  1855                     if ((f in copy and copy[f] in addedset
  1850                          and copyto[copy[f]] == f) or
  1856                          and copyto[copy[f]] == f) or
  1851                         (f in copyto and copyto[f] in addedset
  1857                         (f in copyto and copyto[f] in addedset