<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>Patch Viewer</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="The Bugzilla Guide - 2.20.1 
    Release"
HREF="index.html"><LINK
REL="UP"
TITLE="Using Bugzilla"
HREF="using.html"><LINK
REL="PREVIOUS"
TITLE="Filing Bugs"
HREF="bugreports.html"><LINK
REL="NEXT"
TITLE="Hints and Tips"
HREF="hintsandtips.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide - 2.20.1 
    Release</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="bugreports.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 6. Using Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="hintsandtips.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="patchviewer"
>6.8. Patch Viewer</A
></H1
><P
>Viewing and reviewing patches in Bugzilla is often difficult due to
    lack of context, improper format and the inherent readability issues that
    raw patches present.  Patch Viewer is an enhancement to Bugzilla designed
    to fix that by offering increased context, linking to sections, and
    integrating with Bonsai, LXR and CVS.</P
><P
>Patch viewer allows you to:</P
><P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
>View patches in color, with side-by-side view rather than trying
      to interpret the contents of the patch.</TD
></TR
><TR
><TD
>See the difference between two patches.</TD
></TR
><TR
><TD
>Get more context in a patch.</TD
></TR
><TR
><TD
>Collapse and expand sections of a patch for easy
      reading.</TD
></TR
><TR
><TD
>Link to a particular section of a patch for discussion or
      review</TD
></TR
><TR
><TD
>Go to Bonsai or LXR to see more context, blame, and
      cross-references for the part of the patch you are looking at</TD
></TR
><TR
><TD
>Create a rawtext unified format diff out of any patch, no
      matter what format it came from</TD
></TR
></TBODY
></TABLE
><P
></P
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="patchviewer_view"
>6.8.1. Viewing Patches in Patch Viewer</A
></H2
><P
>The main way to view a patch in patch viewer is to click on the
      "Diff" link next to a patch in the Attachments list on a bug. You may
      also do this within the edit window by clicking the "View Attachment As
      Diff" button in the Edit Attachment screen.</P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="patchviewer_diff"
>6.8.2. Seeing the Difference Between Two Patches</A
></H2
><P
>To see the difference between two patches, you must first view the
      newer patch in Patch Viewer.  Then select the older patch from the
      dropdown at the top of the page ("Differences between [dropdown] and
      this patch") and click the "Diff" button. This will show you what
      is new or changed in the newer patch.</P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="patchviewer_context"
>6.8.3. Getting More Context in a Patch</A
></H2
><P
>To get more context in a patch, you put a number in the textbox at
      the top of Patch Viewer ("Patch / File / [textbox]") and hit enter.
      This will give you that many lines of context before and after each
      change. Alternatively, you can click on the "File" link there and it
      will show each change in the full context of the file. This feature only
      works against files that were diffed using "cvs diff".</P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="patchviewer_collapse"
>6.8.4. Collapsing and Expanding Sections of a Patch</A
></H2
><P
>To view only a certain set of files in a patch (for example, if a
      patch is absolutely huge and you want to only review part of it at a
      time), you can click the "(+)" and "(-)" links next to each file (to
      expand it or collapse it). If you want to collapse all files or expand
      all files, you can click the "Collapse All" and "Expand All" links at the
      top of the page.</P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="patchviewer_link"
>6.8.5. Linking to a Section of a Patch</A
></H2
><P
>To link to a section of a patch (for example, if you want to be
      able to give someone a URL to show them which part you are talking
      about) you simply click the "Link Here" link on the section header. The
      resulting URL can be copied and used in discussion. (Copy Link
      Location in Mozilla works as well.)</P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="patchviewer_bonsai_lxr"
>6.8.6. Going to Bonsai and LXR</A
></H2
><P
>To go to Bonsai to get blame for the lines you are interested in,
      you can click the "Lines XX-YY" link on the section header you are
      interested in. This works even if the patch is against an old
      version of the file, since Bonsai stores all versions of the file.</P
><P
>To go to LXR, you click on the filename on the file header
      (unfortunately, since LXR only does the most recent version, line
      numbers are likely to rot).</P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="patchviewer_unified_diff"
>6.8.7. Creating a Unified Diff</A
></H2
><P
>If the patch is not in a format that you like, you can turn it
      into a unified diff format by clicking the "Raw Unified" link at the top
      of the page.</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="bugreports.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="hintsandtips.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Filing Bugs</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="using.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Hints and Tips</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>