~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/bazaar-vcs.org.kid

  • Committer: John Arbash Meinel
  • Date: 2009-03-27 22:29:55 UTC
  • mto: (3735.39.2 clean)
  • mto: This revision was merged to the branch mainline in revision 4280.
  • Revision ID: john@arbash-meinel.com-20090327222955-utifmfm888zerixt
Implement apply_delta_to_source which doesn't have to malloc another string.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
2
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
3
<?python
 
4
   def update_attrib(attrib, **kwargs):
 
5
      attrib = dict(attrib)
 
6
      attrib.update(kwargs)
 
7
      return attrib
 
8
?>
 
9
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#">
 
10
<head>
 
11
<script type="text/javascript" src=
 
12
"/htdocs/bazaarNew/js/opacity.js">
 
13
</script>
 
14
<link rel="shortcut icon" href=
 
15
"http://bazaar-vcs.org/Welcome?action=AttachFile&amp;do=get&amp;target=favicon.ico"
 
16
type="image/x-icon" />
 
17
<meta http-equiv="Content-Type" content=
 
18
"text/html; charset=us-ascii" />
 
19
<meta name="robots" content="index,follow" />
 
20
<title>Welcome - Bazaar Version Control</title>
 
21
 
 
22
<script type="text/javascript" src="http://bazaar-vcs.org/htdocs/common/js/common.js">
 
23
</script>
 
24
<script type="text/javascript">
 
25
//<![CDATA[
 
26
<!--// common functions
 
27
 
 
28
// We keep here the state of the search box
 
29
searchIsDisabled = false;
 
30
 
 
31
function searchChange(e) {
 
32
    // Update search buttons status according to search box content.
 
33
    // Ignore empty or whitespace search term.
 
34
    var value = e.value.replace(/\s+/, '');
 
35
    if (value == '' || searchIsDisabled) { 
 
36
        searchSetDisabled(true);
 
37
    } else {
 
38
        searchSetDisabled(false);
 
39
    }
 
40
}
 
41
 
 
42
function searchSetDisabled(flag) {
 
43
    // Enable or disable search
 
44
    document.getElementById('fullsearch').disabled = flag;
 
45
    document.getElementById('titlesearch').disabled = flag;
 
46
}
 
47
 
 
48
function searchFocus(e) {
 
49
    // Update search input content on focus
 
50
    if (e.value == 'Search') {
 
51
        e.value = '';
 
52
        e.className = '';
 
53
        searchIsDisabled = false;
 
54
    }
 
55
}
 
56
 
 
57
function searchBlur(e) {
 
58
    // Update search input content on blur
 
59
    if (e.value == '') {
 
60
        e.value = 'Search';
 
61
        e.className = 'disabled';
 
62
        searchIsDisabled = true;
 
63
    }
 
64
}
 
65
 
 
66
function actionsMenuInit(title) {
 
67
    // Initialize action menu
 
68
    for (i = 0; i < document.forms.length; i++) {
 
69
        var form = document.forms[i];
 
70
        if (form.className == 'actionsmenu') {
 
71
            // Check if this form needs update
 
72
            var div = form.getElementsByTagName('div')[0];
 
73
            var label = div.getElementsByTagName('label')[0];
 
74
            if (label) {
 
75
                // This is the first time: remove label and do buton.
 
76
                div.removeChild(label);
 
77
                var dobutton = div.getElementsByTagName('input')[0];
 
78
                div.removeChild(dobutton);
 
79
                // and add menu title
 
80
                var select = div.getElementsByTagName('select')[0];
 
81
                var item = document.createElement('option');
 
82
                item.appendChild(document.createTextNode(title));
 
83
                item.value = 'show';
 
84
                select.insertBefore(item, select.options[0]);
 
85
                select.selectedIndex = 0;
 
86
            }
 
87
        }
 
88
    }
 
89
}
 
90
//-->
 
91
//]]>
 
92
</script>
 
93
<link rel="stylesheet" type="text/css" charset="utf-8" media="all"
 
94
href="http://bazaar-vcs.org/htdocs/bazaarNew/css/common.css" />
 
95
<link rel="stylesheet" type="text/css" charset="utf-8" media=
 
96
"screen" href="http://bazaar-vcs.org/htdocs/bazaarNew/css/screen.css" />
 
97
<link rel="stylesheet" type="text/css" charset="utf-8" media=
 
98
"print" href="http://bazaar-vcs.org/htdocs/bazaarNew/css/print.css" />
 
99
<link rel="stylesheet" type="text/css" charset="utf-8" media=
 
100
"projection" href="http://bazaar-vcs.org/htdocs/bazaarNew/css/projection.css" />
 
101
<link rel="stylesheet" type="text/css" charset="utf-8" media=
 
102
"screen" href="http://bazaar-vcs.org/htdocs/bazaarNew/css/v4.css" />
 
103
<link rel="stylesheet" type="text/css" charset="utf-8" media=
 
104
"screen" href="http://bazaar-vcs.org/htdocs/bazaarNew/css/screen2.css" />
 
105
<link rel="stylesheet" type="text/css" charset="utf-8" media=
 
106
"screen" href="http://bazaar-vcs.org/htdocs/bazaarNew/css/twoColumnsRight.css" />
 
107
<style type="text/css">
 
108
a.toc-backref
 
109
{
 
110
    color: black;
 
111
    text-decoration: none;
 
112
}
 
113
</style>
 
114
<link rel="alternate" title="Bazaar Version Control Recent Changes"
 
115
href="http://bazaar-vcs.org/RecentChanges?action=rss_rc&amp;ddiffs=1&amp;unique=1" type=
 
116
"application/rss+xml" />
 
117
<link rel="Start" href="http://bazaar-vcs.org/Welcome" />
 
118
<link rel="Alternate" title="Wiki Markup" href=
 
119
"http://bazaar-vcs.org/Welcome?action=raw" />
 
120
<link rel="Alternate" media="print" title="Print View" href=
 
121
"http://bazaar-vcs.org/Welcome?action=print" />
 
122
<link rel="Appendix" title="favicon.ico" href=
 
123
"http://bazaar-vcs.org/Welcome?action=AttachFile&amp;do=view&amp;target=favicon.ico" />
 
124
<link rel="Search" href="http://bazaar-vcs.org/FindPage" />
 
125
<link rel="Index" href="http://bazaar-vcs.org/TitleIndex" />
 
126
<link rel="Glossary" href="http://bazaar-vcs.org/WordIndex" />
 
127
<link rel="Help" href="http://bazaar-vcs.org/HelpOnFormatting" />
 
128
</head>
 
129
<body lang="en" dir="ltr" xml:lang="en">
 
130
<div id="page_header1_div"><script type="text/javascript">
 
131
//<![CDATA[
 
132
gui_editor_link_text = gui_editor_link_href = null;
 
133
//]]>
 
134
</script></div>
 
135
<div id="pageWrapper">
 
136
<hr class="hide" />
 
137
<div id="masthead" class="inside">
 
138
<div id="logoimage"><a href="http://bazaar-vcs.org/"><img src=
 
139
"http://bazaar-vcs.org/htdocs/bazaarNew/css/logo.png" width="144" height="149" alt=
 
140
"Bazaar" /></a></div>
 
141
<h1><a href="http://bazaar-vcs.org/">Bazaar</a></h1>
 
142
<p>GPL Distributed Version Control Software</p>
 
143
</div>
 
144
<hr class="hide" />
 
145
<div class="hnav">
 
146
<ul>
 
147
<li class="hide"><a class="hide" href="#skipToContent"><em>Skip
 
148
Navigation</em></a> <span class="divider">:</span></li>
 
149
<li><a href="http://bazaar-vcs.org/Documentation" id="hnav_learn" name=
 
150
"hnav_learn">Learn</a> <span class="divider">:</span></li>
 
151
<li><a href="http://bazaar-vcs.org/Download" id="hnav_get" name="hnav_get">Get</a>
 
152
<span class="divider">:</span></li>
 
153
<li><a href="http://bazaar-vcs.org/BzrSupport" id="hnav_community" name=
 
154
"hnav_community">Community</a> <span class="divider">:</span></li>
 
155
<li><a href="http://bazaar-vcs.org/BzrPlugins" id="hnav_plugins" name=
 
156
"hnav_plugins">Plugins</a></li>
 
157
</ul>
 
158
</div>
 
159
<div id="outerColumnContainer">
 
160
<div id="innerColumnContainer">
 
161
<hr class="hide" />
 
162
<div id="leftColumn">
 
163
<div class="inside"></div>
 
164
</div>
 
165
<hr class="hide" />
 
166
<div id="rightColumn">
 
167
<div class="inside">
 
168
<div id="searchbox">
 
169
<form name="search" method="get" action="http://bazaar-vcs.org/" id="search">
 
170
<div><input type="hidden" name="action" value="fullsearch" id=
 
171
"fullsearch" /> <input type="hidden" name="context" value="180" />
 
172
<input type="hidden" name="fullsearch" value="Text" /> <label for=
 
173
"search_q" py:content="'Search Wiki'">Search Bazaar</label> <input type="text" name="value"
 
174
id="search_q" value="" onfocus="searchFocus(this)" onblur=
 
175
"searchBlur(this)" onkeyup="searchChange(this)" onchange=
 
176
"searchChange(this)" alt="Search" /> <input type="submit" value=
 
177
"go" name="go" id="search_go" /></div>
 
178
</form>
 
179
</div>
 
180
<div id="searchform"></div>
 
181
<div id="username" class="vnav">
 
182
<h4>Website Links</h4>
 
183
<ul>
 
184
<li><a href="http://doc.bazaar-vcs.org">Documentation</a></li>
 
185
<li><a href="http://bazaar-vcs.org">Wiki</a></li>
 
186
</ul>
 
187
</div>
 
188
</div>
 
189
</div>
 
190
<div id="contentColumn" class="page_Welcome">
 
191
<hr class="hide" />
 
192
<div id="msg" class="vnav"></div>
 
193
<a name="skipToContent" id="skipToContent"></a>
 
194
<div class="inside" >
 
195
<!--<img id="navProtection" width="1" height="1" border="0" src="/htdocs/bazaarNew/css/spacer.gif" alt="" style="height: 1px"/>-->
 
196
<a py:match="item.tag == 'a' and 'href' not in item.attrib" py:content="item.text" py:attrs="update_attrib(item.attrib, style='color: black')"/>
 
197
<div dir="ltr" id="content" lang="en" xml:lang="en" py:content="body[:]"><span
 
198
class="anchor" id="top"></span> <span class="anchor" id="line-8"></span>
 
199
<h1 id="head-31592baed255c2a5cdfdaafb9521b837ea61021f">Performance
 
200
Drive Under Way</h1>
 
201
<span class="anchor" id="line-9"></span>
 
202
<p class="line879">There was substantial progress on performance
 
203
since 0.8. See <a href="/Performance/0.9">Performance/0.9</a>,
 
204
<a href="/Performance/0.10">Performance/0.10</a> and <a href=
 
205
"/Performance/0.11">Performance/0.11</a>. Thanks to everyone who
 
206
has contributed patches and ideas! The focus from here to 1.0 will
 
207
continue to be performance and documentation. Already there is work
 
208
in progress to: <span class="anchor" id="line-10"></span></p>
 
209
<span class="anchor" id="line-11"></span>
 
210
<ul>
 
211
<li>
 
212
<p class="line879">write a <a href="/SmartServer">SmartServer</a>
 
213
for high speed network operations (first look in 0.11).
 
214
<span class="anchor" id="line-12"></span></p>
 
215
</li>
 
216
<li>
 
217
<p class="line886">optimise file system access (tune our code and
 
218
data structures to minimise probable disk io and disk seeking)
 
219
<span class="anchor" id="line-13"></span></p>
 
220
</li>
 
221
<li>
 
222
<p class="line886">optimise file formats for performance without
 
223
sacrificing proven correctness and completeness <span class=
 
224
"anchor" id="line-14"></span></p>
 
225
</li>
 
226
<li>
 
227
<p class="line886">tune the codepaths that are most heavily used
 
228
<span class="anchor" id="line-15"></span></p>
 
229
</li>
 
230
<li>
 
231
<p class="line886">ensure that large imports are only done when
 
232
needed, and use lightweight imports where possible <span class=
 
233
"anchor" id="line-16"></span></p>
 
234
<span class="anchor" id="line-17"></span></li>
 
235
</ul>
 
236
<h1 id="head-ceb9b8e0146b0ce087048f495b2ff2964c5d57ec">News</h1>
 
237
<span class="anchor" id="line-18"></span>
 
238
<h2 id="head-39a1524e97c9a6ba89ecee7856cb1a2e68134373">27th
 
239
September 2006 - 0.11rc2 released</h2>
 
240
<span class="anchor" id="line-19"></span>
 
241
<p class="line879">bzr 0.11rc2 has been released. This release
 
242
candidate corrects two regressions that occured from 0.10. Windows
 
243
developers and users with very large source trees should upgrade
 
244
immediately. Release <a class="https" href=
 
245
"https://lists.canonical.com/archives/bazaar-ng/2006q3/017581.html">
 
246
announcement</a> or <a class="http" href=
 
247
"http://bazaar-vcs.org/releases/src/bzr-0.11rc2.tar.gz">download
 
248
now</a>. For details of the original 0.11 release candidate, see
 
249
the <a class="https" href=
 
250
"https://lists.canonical.com/archives/bazaar-ng/2006q3/017502.html">
 
251
announcement</a>. <span class="anchor" id="line-20"></span></p>
 
252
<span class="anchor" id="line-21"></span>
 
253
<h2 id="head-9940b3014f81c7b8ca65aa3235341588859d09dd">4th
 
254
September 2006 - 0.10 released</h2>
 
255
<span class="anchor" id="line-22"></span>
 
256
<p class="line879">bzr 0.10 has been released after a smooth beta
 
257
period. <a class="http" href=
 
258
"http://bazaar-vcs.org/releases/src/bzr-0.10.tar.gz">download it
 
259
now</a>! <span class="anchor" id="line-23"></span></p>
 
260
<span class="anchor" id="line-24"></span>
 
261
<h1 id="head-c2a87bc7d0bc411d33e18585154e534201115501">What is
 
262
Bazaar?</h1>
 
263
<span class="anchor" id="line-25"></span>
 
264
<p class="line879">Bazaar is a decentralized revision control
 
265
system designed to be easy for developers and end users alike.
 
266
Decentralized revision control systems give people the ability to
 
267
work over the internet using the <a class="http" href=
 
268
"http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar">bazaar
 
269
development model</a>. When you use Bazaar, you can commit to your
 
270
own branches of your favorite free software projects without
 
271
needing special permission. For more information, see: <span class=
 
272
"anchor" id="line-26"></span></p>
 
273
<span class="anchor" id="line-27"></span>
 
274
<ul>
 
275
<li>
 
276
<p class="line903"><a href="/Bzr">What Is Bazaar?</a> <span class=
 
277
"anchor" id="line-28"></span></p>
 
278
</li>
 
279
<li>
 
280
<p class="line903"><a href="/WhoUsesBzr">Who Uses Bazaar?</a>
 
281
<span class="anchor" id="line-29"></span></p>
 
282
</li>
 
283
<li>
 
284
<p class="line903"><a href="/BzrFeatures">Bazaar Features</a>
 
285
<span class="anchor" id="line-30"></span></p>
 
286
</li>
 
287
<li>
 
288
<p class="line903"><a href="/FAQ">FAQ</a> (Frequently Asked
 
289
Questions) <span class="anchor" id="line-31"></span></p>
 
290
</li>
 
291
<li>
 
292
<p class="line903"><a href="/BzrGlossary">Bazaar Glossary</a>
 
293
<span class="anchor" id="line-32"></span></p>
 
294
</li>
 
295
<li>
 
296
<p class="line903"><a href="/ReleaseRoadmap">What's Coming</a> (the
 
297
release roadmap) <span class="anchor" id="line-33"></span></p>
 
298
<span class="anchor" id="line-34"></span></li>
 
299
</ul>
 
300
<h1 id="head-54a84f21f8314a452aecfb4e2da59fcb246fee7b">Where do I
 
301
get it?</h1>
 
302
<span class="anchor" id="line-35"></span>
 
303
<p class="line886">The easiest place to get Bazaar is with your
 
304
distribution. Do not despair if your distribution does not have
 
305
Bazaar, as plain installation is still easy. <span class="anchor"
 
306
id="line-36"></span></p>
 
307
<span class="anchor" id="line-37"></span>
 
308
<ul>
 
309
<li>
 
310
<p class="line903"><a href="/DistroDownloads">Packages</a> -
 
311
Downloads for various distributions <span class="anchor" id=
 
312
"line-38"></span></p>
 
313
</li>
 
314
<li>
 
315
<p class="line903"><a href="/OfficialDownloads">Source</a> - Source
 
316
downloads <span class="anchor" id="line-39"></span></p>
 
317
</li>
 
318
<li>
 
319
<p class="line903"><a href="/WindowsDownloads">Windows</a> -
 
320
Downloads for windows <span class="anchor" id="line-40"></span></p>
 
321
<span class="anchor" id="line-41"></span></li>
 
322
</ul>
 
323
<h1 id="head-400b61668c5f3ab729ffbfeed0f9fc93e853044e">How do I
 
324
install it?</h1>
 
325
<span class="anchor" id="line-42"></span>
 
326
<p class="line879">Installation for Bazaar is a snap. Supported
 
327
operating systems include Linux, FreeBSD, Windows (Native &amp;
 
328
Cygwin) and Solaris. If you can run Python 2.4, then you can run
 
329
Bazaar. <span class="anchor" id="line-43"></span></p>
 
330
<span class="anchor" id="line-44"></span>
 
331
<ul>
 
332
<li>
 
333
<p class="line903"><a href="/DistroDownloads">Packages</a> -
 
334
Downloads for various distributions <span class="anchor" id=
 
335
"line-45"></span></p>
 
336
</li>
 
337
<li>
 
338
<p class="line903"><a href="/Installation">Generic</a> - Generic
 
339
Installation Instructions. <span class="anchor" id=
 
340
"line-46"></span></p>
 
341
</li>
 
342
<li>
 
343
<p class="line903"><a href="/BzrOnPureWindows">Native Windows</a> -
 
344
Installation of Bazaar on Native windows. <span class="anchor" id=
 
345
"line-47"></span></p>
 
346
<span class="anchor" id="line-48"></span></li>
 
347
</ul>
 
348
<h1 id="head-6350ee8bfd03b56b430e775595af1eb29ac7bdb4">How do I use
 
349
it?</h1>
 
350
<span class="anchor" id="line-49"></span>
 
351
<p class="line886">Included are the pearls of wisdom from people
 
352
that have already branched off into a new world of development.
 
353
<span class="anchor" id="line-50"></span></p>
 
354
<span class="anchor" id="line-51"></span>
 
355
<ul>
 
356
<li>
 
357
<p class="line903"><a href="/Documentation">Documents</a> - The
 
358
main documentation page for Bazaar. <span class="anchor" id=
 
359
"line-52"></span></p>
 
360
</li>
 
361
<li>
 
362
<p class="line903"><a href="/IntroductionToBzr">Introduction</a> -
 
363
Introduction to Bazaar gives a walkthough of the simpler commands.
 
364
<span class="anchor" id="line-53"></span></p>
 
365
</li>
 
366
<li>
 
367
<p class="line903"><a href="/QuickHackingWithBzr">Mini Tutorial</a>
 
368
- The five minutes Bazaar Tutorial. <span class="anchor" id=
 
369
"line-54"></span></p>
 
370
</li>
 
371
<li>
 
372
<p class="line903"><a href="/BzrRevisionSpec">Revision Specs</a> -
 
373
Arguments for -r that can be given with "bzr log", "bzr merge" and
 
374
such. <span class="anchor" id="line-55"></span></p>
 
375
<span class="anchor" id="line-56"></span></li>
 
376
</ul>
 
377
<h1 id="head-148c5debbd034308b67411c490e69555ee5a03a3">How does it
 
378
compare?</h1>
 
379
<span class="anchor" id="line-57"></span>
 
380
<p class="line886">If you're familiar with other version control
 
381
systems, you might like to see a quick comparison to them, or read
 
382
guidelines to help you understand how to use bzr most effectively
 
383
given your current experience. <span class="anchor" id=
 
384
"line-58"></span></p>
 
385
<span class="anchor" id="line-59"></span>
 
386
<ul>
 
387
<li>
 
388
<p class="line903"><a href="/BzrForCVSUsers">BzrForCVSUsers</a> -
 
389
Learning Bazaar for CVS users. <span class="anchor" id=
 
390
"line-60"></span></p>
 
391
</li>
 
392
<li>
 
393
<p class="line903"><a href="/BzrForGITUsers">BzrForGITUsers</a> -
 
394
(In progress) Learning Bazaar for GIT users <span class="anchor"
 
395
id="line-61"></span></p>
 
396
</li>
 
397
<li>
 
398
<p class="line903"><a href="/RcsComparisons">RcsComparisons</a> -
 
399
Comparison table of functionality and performance with Bazaar, GIT,
 
400
Mercurial, SVN and other VCS systems. <span class="anchor" id=
 
401
"line-62"></span></p>
 
402
<span class="anchor" id="line-63"></span></li>
 
403
</ul>
 
404
<h1 id="head-e966f9f6520262482dc713218b2a916600636f14">How can I
 
405
get Help?</h1>
 
406
<span class="anchor" id="line-64"></span>
 
407
<p class="line879">Our primary page for getting help is the
 
408
<a href="/BzrSupport">BzrSupport</a> page. <span class="anchor" id=
 
409
"line-65"></span></p>
 
410
<span class="anchor" id="line-66"></span>
 
411
<ul>
 
412
<li>
 
413
<p class="line903"><a class="https" href=
 
414
"https://launchpad.net/products/bzr/+bugs">Bug Tracker</a> - You
 
415
can check here to see if someone else is experiencing the same
 
416
problem that you are. <span class="anchor" id="line-67"></span></p>
 
417
</li>
 
418
<li>
 
419
<p class="line903"><a class="http" href=
 
420
"http://lists.canonical.com/mailman/listinfo/bazaar-ng">Mailing
 
421
List</a> - A high volume list focused upon Bazaar development and
 
422
support. <span class="anchor" id="line-68"></span></p>
 
423
</li>
 
424
<li>
 
425
<p class="line886">IRC - #bzr on irc.freenode.net <span class=
 
426
"anchor" id="line-69"></span></p>
 
427
<span class="anchor" id="line-70"></span></li>
 
428
</ul>
 
429
<h1 id="head-45d36005ff61e184525081c9c40ed26ded3c8f02">How can I
 
430
contribute?</h1>
 
431
<span class="anchor" id="line-71"></span>
 
432
<p class="line879">Our primary development doc page is <a href=
 
433
"/BzrDevelopment">BzrDevelopment</a>. <span class="anchor" id=
 
434
"line-72"></span></p>
 
435
<span class="anchor" id="line-73"></span>
 
436
<ul>
 
437
<li>
 
438
<p class="line903"><a href="/BzrDevelopment">Development
 
439
Instructions</a> - We keep our main development instructions here.
 
440
<span class="anchor" id="line-74"></span></p>
 
441
</li>
 
442
<li>
 
443
<p class="line903"><a href="/OfficialDownloads">Source Code</a> -
 
444
Source code to get hacking with. <span class="anchor" id=
 
445
"line-75"></span></p>
 
446
</li>
 
447
<li>
 
448
<p class="line903"><a class="https" href=
 
449
"https://launchpad.net/products/bzr/+specs">Specifications</a> -
 
450
Specifications list which things are being worked on today and are
 
451
likely to be worked on next. <span class="anchor" id=
 
452
"line-76"></span></p>
 
453
</li>
 
454
<li>
 
455
<p class="line903"><a class="https" href=
 
456
"https://launchpad.net/products/bzr/+bugs">BugTracker</a> - Open
 
457
bugs that you can work on. <span class="anchor" id=
 
458
"line-77"></span></p>
 
459
<span class="anchor" id="line-78"></span></li>
 
460
</ul>
 
461
<p class="line879">You are also welcome to improve this wiki site.
 
462
To edit pages, please <a href="/UserPreferences">register</a>.
 
463
Anonymous editing is disabled to prevent spammer attacks.
 
464
<span class="anchor" id="line-79"></span></p>
 
465
<span class="anchor" id="bottom"></span></div>
 
466
</div>
 
467
<div class="clear mozclear"></div>
 
468
</div>
 
469
</div>
 
470
<div class="hide" id="nsFooterClear"><!-- for NS4's sake --></div>
 
471
<hr class="hide" />
 
472
<div id="footer" class="inside">
 
473
<p style="margin:0;">&copy; 2006 - <a href=
 
474
"http://canonical.com/">Canonical Ltd.</a></p>
 
475
<div id="endofpage"></div>
 
476
<div id="footer_custom_html"></div>
 
477
<div id="footer_links"></div>
 
478
</div>
 
479
<hr class="hide" /></div>
 
480
</div>
 
481
</body>
 
482
</html>