internal virtual void Enlist(HgFilelog hgFilelog, HgTransaction hgTransaction) { log.Debug("enlisting filelog '{0}'", hgFilelog.Path.FullPath); hgTransaction.AddJournalEntry("data/" + hgFilelog.Path.FullPath.TrimStart('/') + ".i", hgFilelog.Revlog.IndexPath); if(!hgFilelog.Revlog.InlineData) hgTransaction.AddJournalEntry("data/" + hgFilelog.Path.FullPath.TrimStart('/') + ".d", hgFilelog.Revlog.DataPath); }
internal override void Enlist(HgFilelog hgFilelog, HgTransaction hgTransaction) { underlyingStore.Enlist(hgFilelog, hgTransaction); }
private IEnumerable<uint> GetFileHistory(HgFilelog filelog, HgNodeID startNodeID) { var entries = filelog.Revlog.Entries. OrderByDescending(e => e.Revision). SkipWhile(e => e.NodeID != startNodeID). ToList(); foreach(var entry in entries) { yield return entry.LinkRevision; var file = GetFile(new HgManifestFileEntry(filelog.Path, entry.NodeID)); if(file.CopyInfo != null) { var sourceFilelog = GetFilelog(file.CopyInfo.Path); if(sourceFilelog == null) yield break; foreach(var changeset in GetFileHistory(sourceFilelog, file.CopyInfo.NodeID)) yield return changeset; yield break; } if(entry.FirstParentRevisionNodeID == HgNodeID.Null) yield break; } // foreach }
public void Enlist(HgFilelog hgFilelog) { hgStore.Enlist(hgFilelog, this); }