view templates/header.tmpl @ 1031:503aaf19a040

Rewrite log command. New version is faster and more featureful. The original implementation of log walked backwards through history, which had terrible behaviour. It took several minutes to view complete kernel change history on a fast machine, for example. The rewrite uses a windowed approach to walk hunks of history forwards, while still giving results in reverse order. This reduces run time from five minutes to five seconds on my system. In addition, the rewrite uses our normal name handling mechanisms, so you can run a command like "hg log net/ipv4/**.c" and get a useful answer. It optimises for three different cases (no arguments, only files, and anything goes), so it performs well in all circumstances I've tested.
author Bryan O'Sullivan <bos@serpentine.com>
date Wed, 24 Aug 2005 12:39:10 -0700
parents dbe0ce2ae196
children 2073e5a71008
line wrap: on
line source

Content-type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
<!--
a { text-decoration:none; }
.parity0 { background-color: #dddddd; }
.parity1 { background-color: #eeeeee; }
.lineno { width: 60px; color: #aaaaaa; font-size: smaller; }
.plusline { color: green; }
.minusline { color: red; }
.atline { color: purple; }
.annotate { font-size: smaller; text-align: right; padding-right: 1em; }
.buttons a {
  background-color: #666666;
  padding: 2pt;
  color: white;
  font-family: sans;
  font-weight: bold;
}
.metatag {
  background-color: #888888;
  color: white;
  text-align: right; 
}

/* Common */
pre { margin: 0; }


/* Changelog entries */
.changelogEntry { width: 100%; }
.changelogEntry th { font-weight: normal; text-align: right; vertical-align: top; width: 15%;}
.changelogEntry th.age, .changelogEntry th.firstline { font-weight: bold; }
.changelogEntry th.firstline { text-align: left; width: inherit; }

/* Tag entries */
#tagEntries { list-style: none; margin: 0; padding: 0; }
#tagEntries .tagEntry { list-style: none; margin: 0; padding: 0; }
#tagEntries .tagEntry span.node { font-family: monospace; }

/* Changeset entry */
#changesetEntry { }
#changesetEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
#changesetEntry th.files, #changesetEntry th.description { vertical-align: top; }

/* File diff view */
#filediffEntry { }
#filediffEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }

-->
</style>