def _buildmeta(ui, repo, args, partial=False, skipuuid=False): if repo is None: raise error.RepoError("There is no Mercurial repository" " here (.hg not found)") dest = None validateuuid = False if len(args) == 1: dest = args[0] validateuuid = True elif len(args) > 1: raise error.Abort('rebuildmeta takes 1 or no arguments') url = repo.ui.expandpath(dest or repo.ui.config('paths', 'default-push') or repo.ui.config('paths', 'default') or '') meta = svnmeta.SVNMeta(repo, skiperrorcheck=True) svn = None if meta.subdir is None: svn = svnrepo.svnremoterepo(ui, url).svn meta.subdir = svn.subdir youngest = 0 startrev = 0 branchinfo = {} if not partial: hgutil.unlinkpath(meta.revmap_file, ignoremissing=True) revmap = meta.revmap if partial: try: # we can't use meta.lastpulled here because we are bootstraping the # lastpulled and want to keep the cached value on disk during a # partial rebuild foundpartialinfo = False youngestpath = os.path.join(meta.metapath, 'lastpulled') if os.path.exists(youngestpath): youngest = util.load(youngestpath) lasthash = revmap.lasthash if len(revmap) > 0 and lasthash: startrev = repo[lasthash].rev() + 1 branchinfo = util.load(meta.branch_info_file) foundpartialinfo = True if not foundpartialinfo: ui.status('missing some metadata -- doing a full rebuild\n') partial = False except IOError, err: if err.errno != errno.ENOENT: raise ui.status('missing some metadata -- doing a full rebuild\n') except AttributeError: ui.status('no metadata available -- doing a full rebuild\n')
def svnmeta(self, uuid=None, subdir=None, skiperrorcheck=False): return svnmeta.SVNMeta(self, uuid, subdir, skiperrorcheck)
def svnmeta(self, uuid=None, subdir=None): return svnmeta.SVNMeta(self, uuid, subdir)