mercurial/localrepo.py
changeset 4267 b11a2fb59cf5
parent 4232 0d51eb296fb9
child 4270 cd7b36b7869c
equal deleted inserted replaced
4266:1b5c38e9d7aa 4267:b11a2fb59cf5
    86         try:
    86         try:
    87             self.ui.readconfig(self.join("hgrc"), self.root)
    87             self.ui.readconfig(self.join("hgrc"), self.root)
    88         except IOError:
    88         except IOError:
    89             pass
    89             pass
    90 
    90 
    91         v = self.ui.configrevlog()
    91         self.changelog = changelog.changelog(self.sopener)
    92         self.revlogversion = int(v.get('format', revlog.REVLOG_DEFAULT_FORMAT))
    92         self.sopener.defversion = self.changelog.version
    93         self.revlogv1 = self.revlogversion != revlog.REVLOGV0
    93         self.manifest = manifest.manifest(self.sopener)
    94         fl = v.get('flags', None)
       
    95         flags = 0
       
    96         if fl != None:
       
    97             for x in fl.split():
       
    98                 flags |= revlog.flagstr(x)
       
    99         elif self.revlogv1:
       
   100             flags = revlog.REVLOG_DEFAULT_FLAGS
       
   101 
       
   102         v = self.revlogversion | flags
       
   103         self.manifest = manifest.manifest(self.sopener, v)
       
   104         self.changelog = changelog.changelog(self.sopener, v)
       
   105 
    94 
   106         fallback = self.ui.config('ui', 'fallbackencoding')
    95         fallback = self.ui.config('ui', 'fallbackencoding')
   107         if fallback:
    96         if fallback:
   108             util._fallbackencoding = fallback
    97             util._fallbackencoding = fallback
   109 
       
   110         # the changelog might not have the inline index flag
       
   111         # on.  If the format of the changelog is the same as found in
       
   112         # .hgrc, apply any flags found in the .hgrc as well.
       
   113         # Otherwise, just version from the changelog
       
   114         v = self.changelog.version
       
   115         if v == self.revlogversion:
       
   116             v |= flags
       
   117         self.revlogversion = v
       
   118 
    98 
   119         self.tagscache = None
    99         self.tagscache = None
   120         self.branchcache = None
   100         self.branchcache = None
   121         self.nodetagscache = None
   101         self.nodetagscache = None
   122         self.filterpats = {}
   102         self.filterpats = {}
   491         return os.path.join(self.root, f)
   471         return os.path.join(self.root, f)
   492 
   472 
   493     def file(self, f):
   473     def file(self, f):
   494         if f[0] == '/':
   474         if f[0] == '/':
   495             f = f[1:]
   475             f = f[1:]
   496         return filelog.filelog(self.sopener, f, self.revlogversion)
   476         return filelog.filelog(self.sopener, f)
   497 
   477 
   498     def changectx(self, changeid=None):
   478     def changectx(self, changeid=None):
   499         return context.changectx(self, changeid)
   479         return context.changectx(self, changeid)
   500 
   480 
   501     def workingctx(self):
   481     def workingctx(self):
  1802 
  1782 
  1803         # write changelog data to temp files so concurrent readers will not see
  1783         # write changelog data to temp files so concurrent readers will not see
  1804         # inconsistent view
  1784         # inconsistent view
  1805         cl = None
  1785         cl = None
  1806         try:
  1786         try:
  1807             cl = appendfile.appendchangelog(self.sopener,
  1787             cl = appendfile.appendchangelog(self.sopener)
  1808                                             self.changelog.version)
       
  1809 
       
  1810             oldheads = len(cl.heads())
  1788             oldheads = len(cl.heads())
  1811 
  1789 
  1812             # pull off the changeset group
  1790             # pull off the changeset group
  1813             self.ui.status(_("adding changesets\n"))
  1791             self.ui.status(_("adding changesets\n"))
  1814             cor = cl.count() - 1
  1792             cor = cl.count() - 1
  1846         finally:
  1824         finally:
  1847             if cl:
  1825             if cl:
  1848                 cl.cleanup()
  1826                 cl.cleanup()
  1849 
  1827 
  1850         # make changelog see real files again
  1828         # make changelog see real files again
  1851         self.changelog = changelog.changelog(self.sopener,
  1829         self.changelog = changelog.changelog(self.sopener)
  1852                                              self.changelog.version)
       
  1853         self.changelog.checkinlinesize(tr)
  1830         self.changelog.checkinlinesize(tr)
  1854 
  1831 
  1855         newheads = len(self.changelog.heads())
  1832         newheads = len(self.changelog.heads())
  1856         heads = ""
  1833         heads = ""
  1857         if oldheads and newheads != oldheads:
  1834         if oldheads and newheads != oldheads: