blob: 708cf675ee4ab93210abe77c550fa4539a36db3e [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
Junio C Hamano9d971152012-12-19 00:43:115<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
Junio C Hamanoac12f0e2014-09-19 22:32:516<meta name="generator" content="AsciiDoc 8.6.9" />
Junio C Hamano68cf15a2010-11-06 01:01:597<title>git-update-index(1)</title>
Junio C Hamano1a4e8412005-12-27 08:17:238<style type="text/css">
Junio C Hamano9d971152012-12-19 00:43:119/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
10
11/* Default font. */
12body {
13 font-family: Georgia,serif;
14}
15
16/* Title font. */
17h1, h2, h3, h4, h5, h6,
18div.title, caption.title,
19thead, p.table.header,
20#toctitle,
21#author, #revnumber, #revdate, #revremark,
22#footer {
23 font-family: Arial,Helvetica,sans-serif;
Junio C Hamano1a4e8412005-12-27 08:17:2324}
25
26body {
27 margin: 1em 5% 1em 5%;
28}
29
Junio C Hamanoba4b9282008-07-06 05:20:3130a {
31 color: blue;
32 text-decoration: underline;
33}
34a:visited {
35 color: fuchsia;
36}
Junio C Hamano1a4e8412005-12-27 08:17:2337
38em {
39 font-style: italic;
Junio C Hamano68cf15a2010-11-06 01:01:5940 color: navy;
Junio C Hamano1a4e8412005-12-27 08:17:2341}
42
43strong {
44 font-weight: bold;
Junio C Hamano68cf15a2010-11-06 01:01:5945 color: #083194;
Junio C Hamano1a4e8412005-12-27 08:17:2346}
47
Junio C Hamano1a4e8412005-12-27 08:17:2348h1, h2, h3, h4, h5, h6 {
49 color: #527bbd;
Junio C Hamano1a4e8412005-12-27 08:17:2350 margin-top: 1.2em;
51 margin-bottom: 0.5em;
52 line-height: 1.3;
53}
54
Junio C Hamanoba4b9282008-07-06 05:20:3155h1, h2, h3 {
Junio C Hamano1a4e8412005-12-27 08:17:2356 border-bottom: 2px solid silver;
57}
58h2 {
Junio C Hamano1a4e8412005-12-27 08:17:2359 padding-top: 0.5em;
60}
Junio C Hamanoba4b9282008-07-06 05:20:3161h3 {
62 float: left;
63}
64h3 + * {
65 clear: left;
66}
Junio C Hamano9d971152012-12-19 00:43:1167h5 {
68 font-size: 1.0em;
69}
Junio C Hamano1a4e8412005-12-27 08:17:2370
71div.sectionbody {
Junio C Hamano1a4e8412005-12-27 08:17:2372 margin-left: 0;
73}
74
75hr {
76 border: 1px solid silver;
77}
78
79p {
80 margin-top: 0.5em;
81 margin-bottom: 0.5em;
82}
83
Junio C Hamano68cf15a2010-11-06 01:01:5984ul, ol, li > p {
85 margin-top: 0;
86}
Junio C Hamano9d971152012-12-19 00:43:1187ul > li { color: #aaa; }
88ul > li > * { color: black; }
Junio C Hamano68cf15a2010-11-06 01:01:5989
Junio C Hamanoac12f0e2014-09-19 22:32:5190.monospaced, code, pre {
91 font-family: "Courier New", Courier, monospace;
92 font-size: inherit;
93 color: navy;
Junio C Hamano1a4e8412005-12-27 08:17:2394 padding: 0;
95 margin: 0;
96}
Junio C Hamanoac12f0e2014-09-19 22:32:5197pre {
98 white-space: pre-wrap;
99}
Junio C Hamano1a4e8412005-12-27 08:17:23100
Junio C Hamano9d971152012-12-19 00:43:11101#author {
Junio C Hamano1a4e8412005-12-27 08:17:23102 color: #527bbd;
Junio C Hamano1a4e8412005-12-27 08:17:23103 font-weight: bold;
Junio C Hamanoba4b9282008-07-06 05:20:31104 font-size: 1.1em;
Junio C Hamano1a4e8412005-12-27 08:17:23105}
Junio C Hamano9d971152012-12-19 00:43:11106#email {
Junio C Hamano1a4e8412005-12-27 08:17:23107}
Junio C Hamano9d971152012-12-19 00:43:11108#revnumber, #revdate, #revremark {
Junio C Hamano1a4e8412005-12-27 08:17:23109}
110
Junio C Hamano9d971152012-12-19 00:43:11111#footer {
Junio C Hamano1a4e8412005-12-27 08:17:23112 font-size: small;
113 border-top: 2px solid silver;
114 padding-top: 0.5em;
115 margin-top: 4.0em;
116}
Junio C Hamano9d971152012-12-19 00:43:11117#footer-text {
Junio C Hamano1a4e8412005-12-27 08:17:23118 float: left;
119 padding-bottom: 0.5em;
120}
Junio C Hamano9d971152012-12-19 00:43:11121#footer-badges {
Junio C Hamano1a4e8412005-12-27 08:17:23122 float: right;
123 padding-bottom: 0.5em;
124}
125
Junio C Hamano9d971152012-12-19 00:43:11126#preamble {
Junio C Hamano68cf15a2010-11-06 01:01:59127 margin-top: 1.5em;
128 margin-bottom: 1.5em;
129}
Junio C Hamano9d971152012-12-19 00:43:11130div.imageblock, div.exampleblock, div.verseblock,
Junio C Hamano1a4e8412005-12-27 08:17:23131div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
132div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22133 margin-top: 1.0em;
Junio C Hamano1a4e8412005-12-27 08:17:23134 margin-bottom: 1.5em;
135}
136div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22137 margin-top: 2.0em;
138 margin-bottom: 2.0em;
139 margin-right: 10%;
140 color: #606060;
Junio C Hamano1a4e8412005-12-27 08:17:23141}
142
143div.content { /* Block element content. */
144 padding: 0;
145}
146
147/* Block element titles. */
148div.title, caption.title {
Junio C Hamano68cf15a2010-11-06 01:01:59149 color: #527bbd;
Junio C Hamano1a4e8412005-12-27 08:17:23150 font-weight: bold;
151 text-align: left;
152 margin-top: 1.0em;
153 margin-bottom: 0.5em;
154}
155div.title + * {
156 margin-top: 0;
157}
158
159td div.title:first-child {
160 margin-top: 0.0em;
161}
162div.content div.title:first-child {
163 margin-top: 0.0em;
164}
165div.content + div.title {
166 margin-top: 0.0em;
167}
168
169div.sidebarblock > div.content {
170 background: #ffffee;
Junio C Hamano9d971152012-12-19 00:43:11171 border: 1px solid #dddddd;
172 border-left: 4px solid #f0f0f0;
Junio C Hamano1a4e8412005-12-27 08:17:23173 padding: 0.5em;
174}
175
176div.listingblock > div.content {
Junio C Hamano9d971152012-12-19 00:43:11177 border: 1px solid #dddddd;
178 border-left: 5px solid #f0f0f0;
179 background: #f8f8f8;
Junio C Hamano1a4e8412005-12-27 08:17:23180 padding: 0.5em;
181}
182
Junio C Hamano7bd050f2011-09-22 06:32:22183div.quoteblock, div.verseblock {
184 padding-left: 1.0em;
185 margin-left: 1.0em;
Junio C Hamano68cf15a2010-11-06 01:01:59186 margin-right: 10%;
Junio C Hamano9d971152012-12-19 00:43:11187 border-left: 5px solid #f0f0f0;
188 color: #888;
Junio C Hamano1a4e8412005-12-27 08:17:23189}
Junio C Hamano7bd050f2011-09-22 06:32:22190
Junio C Hamano68cf15a2010-11-06 01:01:59191div.quoteblock > div.attribution {
192 padding-top: 0.5em;
Junio C Hamano1a4e8412005-12-27 08:17:23193 text-align: right;
194}
Junio C Hamano68cf15a2010-11-06 01:01:59195
Junio C Hamano9d971152012-12-19 00:43:11196div.verseblock > pre.content {
197 font-family: inherit;
198 font-size: inherit;
Junio C Hamano68cf15a2010-11-06 01:01:59199}
200div.verseblock > div.attribution {
201 padding-top: 0.75em;
202 text-align: left;
203}
204/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
Junio C Hamanoba4b9282008-07-06 05:20:31205div.verseblock + div.attribution {
206 text-align: left;
207}
Junio C Hamano1a4e8412005-12-27 08:17:23208
209div.admonitionblock .icon {
210 vertical-align: top;
211 font-size: 1.1em;
212 font-weight: bold;
213 text-decoration: underline;
214 color: #527bbd;
215 padding-right: 0.5em;
216}
217div.admonitionblock td.content {
218 padding-left: 0.5em;
Junio C Hamano7bd050f2011-09-22 06:32:22219 border-left: 3px solid #dddddd;
Junio C Hamano1a4e8412005-12-27 08:17:23220}
221
222div.exampleblock > div.content {
Junio C Hamano7bd050f2011-09-22 06:32:22223 border-left: 3px solid #dddddd;
224 padding-left: 0.5em;
Junio C Hamano1a4e8412005-12-27 08:17:23225}
226
Junio C Hamano1a4e8412005-12-27 08:17:23227div.imageblock div.content { padding-left: 0; }
Junio C Hamanoac12f0e2014-09-19 22:32:51228span.image img { border-style: none; vertical-align: text-bottom; }
Junio C Hamano68cf15a2010-11-06 01:01:59229a.image:visited { color: white; }
Junio C Hamano1a4e8412005-12-27 08:17:23230
231dl {
232 margin-top: 0.8em;
233 margin-bottom: 0.8em;
234}
235dt {
236 margin-top: 0.5em;
237 margin-bottom: 0;
Junio C Hamano68cf15a2010-11-06 01:01:59238 font-style: normal;
239 color: navy;
Junio C Hamano1a4e8412005-12-27 08:17:23240}
241dd > *:first-child {
Junio C Hamano68cf15a2010-11-06 01:01:59242 margin-top: 0.1em;
Junio C Hamano1a4e8412005-12-27 08:17:23243}
244
245ul, ol {
246 list-style-position: outside;
247}
Junio C Hamano68cf15a2010-11-06 01:01:59248ol.arabic {
249 list-style-type: decimal;
250}
251ol.loweralpha {
Junio C Hamano1a4e8412005-12-27 08:17:23252 list-style-type: lower-alpha;
253}
Junio C Hamano68cf15a2010-11-06 01:01:59254ol.upperalpha {
255 list-style-type: upper-alpha;
256}
257ol.lowerroman {
258 list-style-type: lower-roman;
259}
260ol.upperroman {
261 list-style-type: upper-roman;
262}
263
264div.compact ul, div.compact ol,
265div.compact p, div.compact p,
266div.compact div, div.compact div {
267 margin-top: 0.1em;
268 margin-bottom: 0.1em;
269}
Junio C Hamano1a4e8412005-12-27 08:17:23270
Junio C Hamano1a4e8412005-12-27 08:17:23271tfoot {
272 font-weight: bold;
273}
Junio C Hamano68cf15a2010-11-06 01:01:59274td > div.verse {
275 white-space: pre;
276}
Junio C Hamano68cf15a2010-11-06 01:01:59277
278div.hdlist {
Junio C Hamano1a4e8412005-12-27 08:17:23279 margin-top: 0.8em;
280 margin-bottom: 0.8em;
281}
Junio C Hamano68cf15a2010-11-06 01:01:59282div.hdlist tr {
283 padding-bottom: 15px;
Junio C Hamanoba4b9282008-07-06 05:20:31284}
Junio C Hamano68cf15a2010-11-06 01:01:59285dt.hdlist1.strong, td.hdlist1.strong {
286 font-weight: bold;
287}
288td.hdlist1 {
Junio C Hamano1a4e8412005-12-27 08:17:23289 vertical-align: top;
Junio C Hamano68cf15a2010-11-06 01:01:59290 font-style: normal;
Junio C Hamano1a4e8412005-12-27 08:17:23291 padding-right: 0.8em;
Junio C Hamano68cf15a2010-11-06 01:01:59292 color: navy;
Junio C Hamano1a4e8412005-12-27 08:17:23293}
Junio C Hamano68cf15a2010-11-06 01:01:59294td.hdlist2 {
Junio C Hamano1a4e8412005-12-27 08:17:23295 vertical-align: top;
296}
Junio C Hamano68cf15a2010-11-06 01:01:59297div.hdlist.compact tr {
298 margin: 0;
299 padding-bottom: 0;
300}
301
302.comment {
303 background: yellow;
304}
Junio C Hamano1a4e8412005-12-27 08:17:23305
Junio C Hamano7bd050f2011-09-22 06:32:22306.footnote, .footnoteref {
307 font-size: 0.8em;
308}
309
310span.footnote, span.footnoteref {
311 vertical-align: super;
312}
313
314#footnotes {
315 margin: 20px 0 20px 0;
316 padding: 7px 0 0 0;
317}
318
319#footnotes div.footnote {
320 margin: 0 0 5px 0;
321}
322
323#footnotes hr {
324 border: none;
325 border-top: 1px solid silver;
326 height: 1px;
327 text-align: left;
328 margin-left: 0;
329 width: 20%;
330 min-width: 100px;
331}
332
Junio C Hamano9d971152012-12-19 00:43:11333div.colist td {
334 padding-right: 0.5em;
335 padding-bottom: 0.3em;
336 vertical-align: top;
337}
338div.colist td img {
339 margin-top: 0.3em;
Junio C Hamano1a4e8412005-12-27 08:17:23340}
Junio C Hamanoba4b9282008-07-06 05:20:31341
Junio C Hamano9d971152012-12-19 00:43:11342@media print {
343 #footer-badges { display: none; }
344}
345
346#toc {
Junio C Hamano7bd050f2011-09-22 06:32:22347 margin-bottom: 2.5em;
348}
349
Junio C Hamano9d971152012-12-19 00:43:11350#toctitle {
Junio C Hamanoba4b9282008-07-06 05:20:31351 color: #527bbd;
Junio C Hamanoba4b9282008-07-06 05:20:31352 font-size: 1.1em;
353 font-weight: bold;
354 margin-top: 1.0em;
355 margin-bottom: 0.1em;
356}
357
Junio C Hamanoac12f0e2014-09-19 22:32:51358div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
Junio C Hamanoba4b9282008-07-06 05:20:31359 margin-top: 0;
360 margin-bottom: 0;
361}
362div.toclevel2 {
363 margin-left: 2em;
364 font-size: 0.9em;
365}
366div.toclevel3 {
367 margin-left: 4em;
368 font-size: 0.9em;
369}
370div.toclevel4 {
371 margin-left: 6em;
372 font-size: 0.9em;
373}
Junio C Hamano9d971152012-12-19 00:43:11374
375span.aqua { color: aqua; }
376span.black { color: black; }
377span.blue { color: blue; }
378span.fuchsia { color: fuchsia; }
379span.gray { color: gray; }
380span.green { color: green; }
381span.lime { color: lime; }
382span.maroon { color: maroon; }
383span.navy { color: navy; }
384span.olive { color: olive; }
385span.purple { color: purple; }
386span.red { color: red; }
387span.silver { color: silver; }
388span.teal { color: teal; }
389span.white { color: white; }
390span.yellow { color: yellow; }
391
392span.aqua-background { background: aqua; }
393span.black-background { background: black; }
394span.blue-background { background: blue; }
395span.fuchsia-background { background: fuchsia; }
396span.gray-background { background: gray; }
397span.green-background { background: green; }
398span.lime-background { background: lime; }
399span.maroon-background { background: maroon; }
400span.navy-background { background: navy; }
401span.olive-background { background: olive; }
402span.purple-background { background: purple; }
403span.red-background { background: red; }
404span.silver-background { background: silver; }
405span.teal-background { background: teal; }
406span.white-background { background: white; }
407span.yellow-background { background: yellow; }
408
409span.big { font-size: 2em; }
410span.small { font-size: 0.6em; }
411
412span.underline { text-decoration: underline; }
413span.overline { text-decoration: overline; }
414span.line-through { text-decoration: line-through; }
415
Junio C Hamanoac12f0e2014-09-19 22:32:51416div.unbreakable { page-break-inside: avoid; }
417
Junio C Hamano9d971152012-12-19 00:43:11418
419/*
420 * xhtml11 specific
421 *
422 * */
423
424div.tableblock {
425 margin-top: 1.0em;
426 margin-bottom: 1.5em;
427}
428div.tableblock > table {
429 border: 3px solid #527bbd;
430}
431thead, p.table.header {
432 font-weight: bold;
433 color: #527bbd;
434}
435p.table {
436 margin-top: 0;
437}
438/* Because the table frame attribute is overriden by CSS in most browsers. */
439div.tableblock > table[frame="void"] {
440 border-style: none;
441}
442div.tableblock > table[frame="hsides"] {
443 border-left-style: none;
444 border-right-style: none;
445}
446div.tableblock > table[frame="vsides"] {
447 border-top-style: none;
448 border-bottom-style: none;
449}
450
451
452/*
453 * html5 specific
454 *
455 * */
456
457table.tableblock {
458 margin-top: 1.0em;
459 margin-bottom: 1.5em;
460}
461thead, p.tableblock.header {
462 font-weight: bold;
463 color: #527bbd;
464}
465p.tableblock {
466 margin-top: 0;
467}
468table.tableblock {
469 border-width: 3px;
470 border-spacing: 0px;
471 border-style: solid;
472 border-color: #527bbd;
473 border-collapse: collapse;
474}
475th.tableblock, td.tableblock {
476 border-width: 1px;
477 padding: 4px;
478 border-style: solid;
479 border-color: #527bbd;
480}
481
482table.tableblock.frame-topbot {
483 border-left-style: hidden;
484 border-right-style: hidden;
485}
486table.tableblock.frame-sides {
487 border-top-style: hidden;
488 border-bottom-style: hidden;
489}
490table.tableblock.frame-none {
491 border-style: hidden;
492}
493
494th.tableblock.halign-left, td.tableblock.halign-left {
495 text-align: left;
496}
497th.tableblock.halign-center, td.tableblock.halign-center {
498 text-align: center;
499}
500th.tableblock.halign-right, td.tableblock.halign-right {
501 text-align: right;
502}
503
504th.tableblock.valign-top, td.tableblock.valign-top {
505 vertical-align: top;
506}
507th.tableblock.valign-middle, td.tableblock.valign-middle {
508 vertical-align: middle;
509}
510th.tableblock.valign-bottom, td.tableblock.valign-bottom {
511 vertical-align: bottom;
512}
513
514
515/*
516 * manpage specific
517 *
518 * */
519
520body.manpage h1 {
Junio C Hamano68cf15a2010-11-06 01:01:59521 padding-top: 0.5em;
522 padding-bottom: 0.5em;
523 border-top: 2px solid silver;
524 border-bottom: 2px solid silver;
525}
Junio C Hamano9d971152012-12-19 00:43:11526body.manpage h2 {
Junio C Hamano68cf15a2010-11-06 01:01:59527 border-style: none;
528}
Junio C Hamano9d971152012-12-19 00:43:11529body.manpage div.sectionbody {
530 margin-left: 3em;
Junio C Hamano68cf15a2010-11-06 01:01:59531}
532
533@media print {
Junio C Hamano9d971152012-12-19 00:43:11534 body.manpage div#toc { display: none; }
Junio C Hamano68cf15a2010-11-06 01:01:59535}
Junio C Hamanoac12f0e2014-09-19 22:32:51536
537
Junio C Hamano1a4e8412005-12-27 08:17:23538</style>
Junio C Hamano7bd050f2011-09-22 06:32:22539<script type="text/javascript">
540/*<![CDATA[*/
Junio C Hamano7bd050f2011-09-22 06:32:22541var asciidoc = { // Namespace.
542
543/////////////////////////////////////////////////////////////////////
544// Table Of Contents generator
545/////////////////////////////////////////////////////////////////////
546
547/* Author: Mihai Bazon, September 2002
548 * http://students.infoiasi.ro/~mishoo
549 *
550 * Table Of Content generator
551 * Version: 0.4
552 *
553 * Feel free to use this script under the terms of the GNU General Public
554 * License, as long as you do not remove or alter this notice.
555 */
556
557 /* modified by Troy D. Hanson, September 2006. License: GPL */
558 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
559
560// toclevels = 1..4.
561toc: function (toclevels) {
562
563 function getText(el) {
564 var text = "";
565 for (var i = el.firstChild; i != null; i = i.nextSibling) {
566 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
567 text += i.data;
568 else if (i.firstChild != null)
569 text += getText(i);
570 }
571 return text;
572 }
573
574 function TocEntry(el, text, toclevel) {
575 this.element = el;
576 this.text = text;
577 this.toclevel = toclevel;
578 }
579
580 function tocEntries(el, toclevels) {
581 var result = new Array;
Junio C Hamanoac12f0e2014-09-19 22:32:51582 var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
Junio C Hamano7bd050f2011-09-22 06:32:22583 // Function that scans the DOM tree for header elements (the DOM2
584 // nodeIterator API would be a better technique but not supported by all
585 // browsers).
586 var iterate = function (el) {
587 for (var i = el.firstChild; i != null; i = i.nextSibling) {
588 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
589 var mo = re.exec(i.tagName);
590 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
591 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
592 }
593 iterate(i);
594 }
595 }
596 }
597 iterate(el);
598 return result;
599 }
600
601 var toc = document.getElementById("toc");
Junio C Hamano9d971152012-12-19 00:43:11602 if (!toc) {
603 return;
604 }
605
606 // Delete existing TOC entries in case we're reloading the TOC.
607 var tocEntriesToRemove = [];
608 var i;
609 for (i = 0; i < toc.childNodes.length; i++) {
610 var entry = toc.childNodes[i];
Junio C Hamanoac12f0e2014-09-19 22:32:51611 if (entry.nodeName.toLowerCase() == 'div'
Junio C Hamano9d971152012-12-19 00:43:11612 && entry.getAttribute("class")
613 && entry.getAttribute("class").match(/^toclevel/))
614 tocEntriesToRemove.push(entry);
615 }
616 for (i = 0; i < tocEntriesToRemove.length; i++) {
617 toc.removeChild(tocEntriesToRemove[i]);
618 }
619
620 // Rebuild TOC entries.
Junio C Hamano7bd050f2011-09-22 06:32:22621 var entries = tocEntries(document.getElementById("content"), toclevels);
622 for (var i = 0; i < entries.length; ++i) {
623 var entry = entries[i];
624 if (entry.element.id == "")
625 entry.element.id = "_toc_" + i;
626 var a = document.createElement("a");
627 a.href = "#" + entry.element.id;
628 a.appendChild(document.createTextNode(entry.text));
629 var div = document.createElement("div");
630 div.appendChild(a);
631 div.className = "toclevel" + entry.toclevel;
632 toc.appendChild(div);
633 }
634 if (entries.length == 0)
635 toc.parentNode.removeChild(toc);
636},
637
638
639/////////////////////////////////////////////////////////////////////
640// Footnotes generator
641/////////////////////////////////////////////////////////////////////
642
643/* Based on footnote generation code from:
644 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
645 */
646
647footnotes: function () {
Junio C Hamano9d971152012-12-19 00:43:11648 // Delete existing footnote entries in case we're reloading the footnodes.
649 var i;
Junio C Hamano7bd050f2011-09-22 06:32:22650 var noteholder = document.getElementById("footnotes");
Junio C Hamano9d971152012-12-19 00:43:11651 if (!noteholder) {
652 return;
653 }
654 var entriesToRemove = [];
655 for (i = 0; i < noteholder.childNodes.length; i++) {
656 var entry = noteholder.childNodes[i];
Junio C Hamanoac12f0e2014-09-19 22:32:51657 if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
Junio C Hamano9d971152012-12-19 00:43:11658 entriesToRemove.push(entry);
659 }
660 for (i = 0; i < entriesToRemove.length; i++) {
661 noteholder.removeChild(entriesToRemove[i]);
662 }
663
664 // Rebuild footnote entries.
665 var cont = document.getElementById("content");
Junio C Hamano7bd050f2011-09-22 06:32:22666 var spans = cont.getElementsByTagName("span");
667 var refs = {};
668 var n = 0;
669 for (i=0; i<spans.length; i++) {
670 if (spans[i].className == "footnote") {
671 n++;
Junio C Hamano9d971152012-12-19 00:43:11672 var note = spans[i].getAttribute("data-note");
673 if (!note) {
674 // Use [\s\S] in place of . so multi-line matches work.
675 // Because JavaScript has no s (dotall) regex flag.
676 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
677 spans[i].innerHTML =
678 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
679 "' title='View footnote' class='footnote'>" + n + "</a>]";
680 spans[i].setAttribute("data-note", note);
681 }
Junio C Hamano7bd050f2011-09-22 06:32:22682 noteholder.innerHTML +=
683 "<div class='footnote' id='_footnote_" + n + "'>" +
684 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
685 n + "</a>. " + note + "</div>";
Junio C Hamano7bd050f2011-09-22 06:32:22686 var id =spans[i].getAttribute("id");
687 if (id != null) refs["#"+id] = n;
688 }
689 }
690 if (n == 0)
691 noteholder.parentNode.removeChild(noteholder);
692 else {
693 // Process footnoterefs.
694 for (i=0; i<spans.length; i++) {
695 if (spans[i].className == "footnoteref") {
696 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
697 href = href.match(/#.*/)[0]; // Because IE return full URL.
698 n = refs[href];
699 spans[i].innerHTML =
700 "[<a href='#_footnote_" + n +
701 "' title='View footnote' class='footnote'>" + n + "</a>]";
702 }
703 }
704 }
Junio C Hamano9d971152012-12-19 00:43:11705},
706
707install: function(toclevels) {
708 var timerId;
709
710 function reinstall() {
711 asciidoc.footnotes();
712 if (toclevels) {
713 asciidoc.toc(toclevels);
714 }
715 }
716
717 function reinstallAndRemoveTimer() {
718 clearInterval(timerId);
719 reinstall();
720 }
721
722 timerId = setInterval(reinstall, 500);
723 if (document.addEventListener)
724 document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
725 else
726 window.onload = reinstallAndRemoveTimer;
Junio C Hamano7bd050f2011-09-22 06:32:22727}
728
729}
Junio C Hamano9d971152012-12-19 00:43:11730asciidoc.install();
Junio C Hamano7bd050f2011-09-22 06:32:22731/*]]>*/
732</script>
Junio C Hamano1a4e8412005-12-27 08:17:23733</head>
Junio C Hamano9d971152012-12-19 00:43:11734<body class="manpage">
Junio C Hamano1a4e8412005-12-27 08:17:23735<div id="header">
736<h1>
737git-update-index(1) Manual Page
738</h1>
739<h2>NAME</h2>
740<div class="sectionbody">
741<p>git-update-index -
Junio C Hamano7c73c662007-01-19 00:37:50742 Register file contents in the working tree to the index
Junio C Hamano1a4e8412005-12-27 08:17:23743</p>
744</div>
745</div>
Junio C Hamano7bd050f2011-09-22 06:32:22746<div id="content">
Junio C Hamano9d971152012-12-19 00:43:11747<div class="sect1">
Junio C Hamano68cf15a2010-11-06 01:01:59748<h2 id="_synopsis">SYNOPSIS</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23749<div class="sectionbody">
Junio C Hamano7e9f6b72006-02-22 10:44:55750<div class="verseblock">
Junio C Hamano9d971152012-12-19 00:43:11751<pre class="content"><em>git update-index</em>
Junio C Hamano1a4e8412005-12-27 08:17:23752 [--add] [--remove | --force-remove] [--replace]
Junio C Hamano46338f52006-05-04 00:46:44753 [--refresh] [-q] [--unmerged] [--ignore-missing]
Junio C Hamanod75148a2014-04-08 19:48:38754 [(--cacheinfo &lt;mode&gt;,&lt;object&gt;,&lt;file&gt;)&#8230;]
Junio C Hamano1a4e8412005-12-27 08:17:23755 [--chmod=(+|-)x]
Junio C Hamano3d1b5a12013-05-17 23:34:02756 [--[no-]assume-unchanged]
757 [--[no-]skip-worktree]
Junio C Hamanodfccbb02008-05-26 01:16:14758 [--ignore-submodules]
Junio C Hamanod30e7ef2015-12-10 22:27:17759 [--[no-]split-index]
Junio C Hamano9099a7c2016-02-10 23:42:05760 [--[no-|test-|force-]untracked-cache]
Junio C Hamano8a0a21e2006-08-24 07:37:45761 [--really-refresh] [--unresolve] [--again | -g]
Junio C Hamano1a4e8412005-12-27 08:17:23762 [--info-only] [--index-info]
Junio C Hamanob76a6862012-05-02 22:02:46763 [-z] [--stdin] [--index-version &lt;n&gt;]
Junio C Hamano1a4e8412005-12-27 08:17:23764 [--verbose]
Junio C Hamano9d971152012-12-19 00:43:11765 [--] [&lt;file&gt;&#8230;]</pre>
766<div class="attribution">
Junio C Hamano68cf15a2010-11-06 01:01:59767</div></div>
Junio C Hamano1a4e8412005-12-27 08:17:23768</div>
Junio C Hamano9d971152012-12-19 00:43:11769</div>
770<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:31771<h2 id="_description">DESCRIPTION</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23772<div class="sectionbody">
Junio C Hamano68cf15a2010-11-06 01:01:59773<div class="paragraph"><p>Modifies the index or directory cache. Each file mentioned is updated
Junio C Hamano1a4e8412005-12-27 08:17:23774into the index and any <em>unmerged</em> or <em>needs updating</em> state is
Junio C Hamanoba4b9282008-07-06 05:20:31775cleared.</p></div>
Junio C Hamanoa28a9202012-06-21 07:08:23776<div class="paragraph"><p>See also <a href="git-add.html">git-add(1)</a> for a more user-friendly way to do some of
Junio C Hamanoba4b9282008-07-06 05:20:31777the most common operations on the index.</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:59778<div class="paragraph"><p>The way <em>git update-index</em> handles files it is told about can be modified
Junio C Hamanoba4b9282008-07-06 05:20:31779using the various options:</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:23780</div>
Junio C Hamano9d971152012-12-19 00:43:11781</div>
782<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:31783<h2 id="_options">OPTIONS</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23784<div class="sectionbody">
Junio C Hamano68cf15a2010-11-06 01:01:59785<div class="dlist"><dl>
786<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23787--add
788</dt>
789<dd>
790<p>
Junio C Hamano68cf15a2010-11-06 01:01:59791 If a specified file isn&#8217;t in the index already then it&#8217;s
Junio C Hamano1a4e8412005-12-27 08:17:23792 added.
793 Default behaviour is to ignore new files.
794</p>
795</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59796<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23797--remove
798</dt>
799<dd>
800<p>
Junio C Hamano68cf15a2010-11-06 01:01:59801 If a specified file is in the index but is missing then it&#8217;s
Junio C Hamano1a4e8412005-12-27 08:17:23802 removed.
Junio C Hamano341071d2006-06-04 07:24:48803 Default behavior is to ignore removed file.
Junio C Hamano1a4e8412005-12-27 08:17:23804</p>
805</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59806<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23807--refresh
808</dt>
809<dd>
810<p>
811 Looks at the current index and checks to see if merges or
812 updates are needed by checking stat() information.
813</p>
814</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59815<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23816-q
817</dt>
818<dd>
819<p>
820 Quiet. If --refresh finds that the index needs an update, the
821 default behavior is to error out. This option makes
Junio C Hamano1aa40d22010-01-21 17:46:43822 <em>git update-index</em> continue anyway.
Junio C Hamano1a4e8412005-12-27 08:17:23823</p>
824</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59825<dt class="hdlist1">
Junio C Hamano54bf1e22008-12-20 06:30:11826--ignore-submodules
827</dt>
828<dd>
829<p>
Junio C Hamanodfccbb02008-05-26 01:16:14830 Do not try to update submodules. This option is only respected
Junio C Hamano54bf1e22008-12-20 06:30:11831 when passed before --refresh.
832</p>
833</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59834<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23835--unmerged
836</dt>
837<dd>
838<p>
839 If --refresh finds unmerged changes in the index, the default
Junio C Hamano1aa40d22010-01-21 17:46:43840 behavior is to error out. This option makes <em>git update-index</em>
Junio C Hamano1a4e8412005-12-27 08:17:23841 continue anyway.
842</p>
843</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59844<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23845--ignore-missing
846</dt>
847<dd>
848<p>
849 Ignores missing files during a --refresh
850</p>
851</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59852<dt class="hdlist1">
Junio C Hamanod75148a2014-04-08 19:48:38853--cacheinfo &lt;mode&gt;,&lt;object&gt;,&lt;path&gt;
854</dt>
855<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23856--cacheinfo &lt;mode&gt; &lt;object&gt; &lt;path&gt;
857</dt>
858<dd>
859<p>
Junio C Hamanod75148a2014-04-08 19:48:38860 Directly insert the specified info into the index. For
861 backward compatibility, you can also give these three
862 arguments as three separate parameters, but new users are
863 encouraged to use a single-parameter form.
Junio C Hamano1a4e8412005-12-27 08:17:23864</p>
865</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59866<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23867--index-info
868</dt>
869<dd>
870<p>
871 Read index information from stdin.
872</p>
873</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59874<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23875--chmod=(+|-)x
876</dt>
877<dd>
878<p>
879 Set the execute permissions on the updated files.
880</p>
881</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59882<dt class="hdlist1">
Junio C Hamano3d1b5a12013-05-17 23:34:02883--[no-]assume-unchanged
Junio C Hamano7e9f6b72006-02-22 10:44:55884</dt>
885<dd>
886<p>
Junio C Hamano6df93d92014-12-22 22:48:09887 When this flag is specified, the object names recorded
888 for the paths are not updated. Instead, this option
889 sets/unsets the "assume unchanged" bit for the
890 paths. When the "assume unchanged" bit is on, the user
891 promises not to change the file and allows Git to assume
892 that the working tree file matches what is recorded in
893 the index. If you want to change the working tree file,
894 you need to unset the bit to tell Git. This is
Junio C Hamano7e9f6b72006-02-22 10:44:55895 sometimes helpful when working with a big project on a
896 filesystem that has very slow lstat(2) system call
897 (e.g. cifs).
898</p>
Junio C Hamano6df93d92014-12-22 22:48:09899<div class="paragraph"><p>Git will fail (gracefully) in case it needs to modify this file
Junio C Hamano915cd9b2008-07-20 01:24:17900in the index e.g. when merging in a commit;
901thus, in case the assumed-untracked file is changed upstream,
902you will need to handle the situation manually.</p></div>
Junio C Hamano7e9f6b72006-02-22 10:44:55903</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59904<dt class="hdlist1">
Junio C Hamano446ed772009-11-10 22:02:20905--really-refresh
906</dt>
907<dd>
908<p>
909 Like <em>--refresh</em>, but checks stat information unconditionally,
910 without regard to the "assume unchanged" setting.
911</p>
912</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59913<dt class="hdlist1">
Junio C Hamano3d1b5a12013-05-17 23:34:02914--[no-]skip-worktree
Junio C Hamano3c8d6702010-01-13 23:09:03915</dt>
916<dd>
917<p>
918 When one of these flags is specified, the object name recorded
919 for the paths are not updated. Instead, these options
920 set and unset the "skip-worktree" bit for the paths. See
921 section "Skip-worktree bit" below for more information.
922</p>
923</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59924<dt class="hdlist1">
Junio C Hamanoeb415992008-06-08 22:49:47925-g
926</dt>
Junio C Hamano68cf15a2010-11-06 01:01:59927<dt class="hdlist1">
Junio C Hamanoeb415992008-06-08 22:49:47928--again
Junio C Hamano26a57372006-05-10 00:13:40929</dt>
930<dd>
931<p>
Junio C Hamano1aa40d22010-01-21 17:46:43932 Runs <em>git update-index</em> itself on the paths whose index
Junio C Hamanoac12f0e2014-09-19 22:32:51933 entries are different from those from the <code>HEAD</code> commit.
Junio C Hamano26a57372006-05-10 00:13:40934</p>
935</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59936<dt class="hdlist1">
Junio C Hamano46338f52006-05-04 00:46:44937--unresolve
938</dt>
939<dd>
940<p>
941 Restores the <em>unmerged</em> or <em>needs updating</em> state of a
942 file during a merge if it was cleared by accident.
943</p>
944</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59945<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23946--info-only
947</dt>
948<dd>
949<p>
950 Do not create objects in the object database for all
951 &lt;file&gt; arguments that follow this flag; just insert
952 their object IDs into the index.
953</p>
954</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59955<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23956--force-remove
957</dt>
958<dd>
959<p>
960 Remove the file from the index even when the working directory
961 still has such a file. (Implies --remove.)
962</p>
963</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59964<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23965--replace
966</dt>
967<dd>
968<p>
Junio C Hamanoac12f0e2014-09-19 22:32:51969 By default, when a file <code>path</code> exists in the index,
970 <em>git update-index</em> refuses an attempt to add <code>path/file</code>.
971 Similarly if a file <code>path/file</code> exists, a file <code>path</code>
Junio C Hamano1a4e8412005-12-27 08:17:23972 cannot be added. With --replace flag, existing entries
Junio C Hamano54bf1e22008-12-20 06:30:11973 that conflict with the entry being added are
Junio C Hamano1a4e8412005-12-27 08:17:23974 automatically removed with warning messages.
975</p>
976</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59977<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23978--stdin
979</dt>
980<dd>
981<p>
982 Instead of taking list of paths from the command line,
983 read list of paths from the standard input. Paths are
984 separated by LF (i.e. one path per line) by default.
985</p>
986</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59987<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:23988--verbose
989</dt>
990<dd>
991<p>
992 Report what is being added and removed from index.
993</p>
994</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59995<dt class="hdlist1">
Junio C Hamanob76a6862012-05-02 22:02:46996--index-version &lt;n&gt;
997</dt>
998<dd>
999<p>
1000 Write the resulting index out in the named on-disk format version.
Junio C Hamano947ab822013-03-19 23:07:291001 Supported versions are 2, 3 and 4. The current default version is 2
1002 or 3, depending on whether extra features are used, such as
Junio C Hamanoac12f0e2014-09-19 22:32:511003 <code>git add -N</code>.
Junio C Hamanob76a6862012-05-02 22:02:461004</p>
Junio C Hamano947ab822013-03-19 23:07:291005<div class="paragraph"><p>Version 4 performs a simple pathname compression that reduces index
1006size by 30%-50% on large repositories, which results in faster load
1007time. Version 4 is relatively young (first released in in 1.8.0 in
1008October 2012). Other Git implementations such as JGit and libgit2
1009may not support it yet.</p></div>
Junio C Hamanob76a6862012-05-02 22:02:461010</dd>
1011<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:231012-z
1013</dt>
1014<dd>
1015<p>
Junio C Hamanoac12f0e2014-09-19 22:32:511016 Only meaningful with <code>--stdin</code> or <code>--index-info</code>; paths are
Junio C Hamanoc27b7332010-10-14 04:37:281017 separated with NUL character instead of LF.
Junio C Hamano1a4e8412005-12-27 08:17:231018</p>
1019</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591020<dt class="hdlist1">
Junio C Hamano6f0c9442014-07-16 21:51:321021--split-index
1022</dt>
1023<dt class="hdlist1">
1024--no-split-index
1025</dt>
1026<dd>
1027<p>
1028 Enable or disable split index mode. If enabled, the index is
1029 split into two files, $GIT_DIR/index and $GIT_DIR/sharedindex.&lt;SHA-1&gt;.
1030 Changes are accumulated in $GIT_DIR/index while the shared
1031 index file contains all index entries stays unchanged. If
Junio C Hamanoac12f0e2014-09-19 22:32:511032 split-index mode is already enabled and <code>--split-index</code> is
Junio C Hamano6f0c9442014-07-16 21:51:321033 given again, all changes in $GIT_DIR/index are pushed back to
1034 the shared index file. This mode is designed for very large
Junio C Hamanofb5ffde2014-11-04 22:38:561035 indexes that take a significant amount of time to read or write.
Junio C Hamano6f0c9442014-07-16 21:51:321036</p>
1037</dd>
1038<dt class="hdlist1">
Junio C Hamanoc4e2a202015-05-26 21:38:471039--untracked-cache
1040</dt>
1041<dt class="hdlist1">
1042--no-untracked-cache
1043</dt>
1044<dd>
1045<p>
Junio C Hamano9099a7c2016-02-10 23:42:051046 Enable or disable untracked cache feature. Please use
1047 <code>--test-untracked-cache</code> before enabling it.
1048</p>
1049<div class="paragraph"><p>These options take effect whatever the value of the <code>core.untrackedCache</code>
1050configuration variable (see <a href="git-config.html">git-config(1)</a>). But a warning is
1051emitted when the change goes against the configured value, as the
1052configured value will take effect next time the index is read and this
1053will remove the intended effect of the option.</p></div>
1054</dd>
1055<dt class="hdlist1">
1056--test-untracked-cache
1057</dt>
1058<dd>
1059<p>
1060 Only perform tests on the working directory to make sure
1061 untracked cache can be used. You have to manually enable
1062 untracked cache using <code>--untracked-cache</code> or
1063 <code>--force-untracked-cache</code> or the <code>core.untrackedCache</code>
1064 configuration variable afterwards if you really want to use
1065 it. If a test fails the exit code is 1 and a message
1066 explains what is not working as needed, otherwise the exit
1067 code is 0 and OK is printed.
Junio C Hamanoc4e2a202015-05-26 21:38:471068</p>
1069</dd>
1070<dt class="hdlist1">
1071--force-untracked-cache
1072</dt>
1073<dd>
1074<p>
Junio C Hamano9099a7c2016-02-10 23:42:051075 Same as <code>--untracked-cache</code>. Provided for backwards
1076 compatibility with older versions of Git where
1077 <code>--untracked-cache</code> used to imply <code>--test-untracked-cache</code> but
1078 this option would enable the extension unconditionally.
Junio C Hamanoc4e2a202015-05-26 21:38:471079</p>
1080</dd>
1081<dt class="hdlist1">
Junio C Hamano1bb569e2006-05-05 23:14:251082--
Junio C Hamano1a4e8412005-12-27 08:17:231083</dt>
1084<dd>
1085<p>
1086 Do not interpret any more arguments as options.
1087</p>
1088</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591089<dt class="hdlist1">
Junio C Hamano1a4e8412005-12-27 08:17:231090&lt;file&gt;
1091</dt>
1092<dd>
1093<p>
1094 Files to act on.
1095 Note that files beginning with <em>.</em> are discarded. This includes
Junio C Hamanoac12f0e2014-09-19 22:32:511096 <code>./file</code> and <code>dir/./file</code>. If you don&#8217;t want this, then use
Junio C Hamano1a4e8412005-12-27 08:17:231097 cleaner names.
1098 The same applies to directories ending <em>/</em> and paths with <em>//</em>
1099</p>
1100</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311101</dl></div>
Junio C Hamano1a4e8412005-12-27 08:17:231102</div>
Junio C Hamano9d971152012-12-19 00:43:111103</div>
1104<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:311105<h2 id="_using_refresh">Using --refresh</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231106<div class="sectionbody">
Junio C Hamano68cf15a2010-11-06 01:01:591107<div class="paragraph"><p><em>--refresh</em> does not calculate a new sha1 file or bring the index
Junio C Hamano1a4e8412005-12-27 08:17:231108up-to-date for mode/content changes. But what it <strong>does</strong> do is to
1109"re-match" the stat information of a file with the index, so that you
Junio C Hamano68cf15a2010-11-06 01:01:591110can refresh the index for a file that hasn&#8217;t been changed but where
Junio C Hamanoba4b9282008-07-06 05:20:311111the stat entry is out of date.</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:591112<div class="paragraph"><p>For example, you&#8217;d want to do this after doing a <em>git read-tree</em>, to link
Junio C Hamanoba4b9282008-07-06 05:20:311113up the stat index details with the proper files.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231114</div>
Junio C Hamano9d971152012-12-19 00:43:111115</div>
1116<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:311117<h2 id="_using_cacheinfo_or_info_only">Using --cacheinfo or --info-only</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231118<div class="sectionbody">
Junio C Hamano68cf15a2010-11-06 01:01:591119<div class="paragraph"><p><em>--cacheinfo</em> is used to register a file that is not in the
Junio C Hamano1a4e8412005-12-27 08:17:231120current working directory. This is useful for minimum-checkout
Junio C Hamanoba4b9282008-07-06 05:20:311121merging.</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:591122<div class="paragraph"><p>To pretend you have a file with mode and sha1 at path, say:</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231123<div class="listingblock">
1124<div class="content">
Junio C Hamanoac12f0e2014-09-19 22:32:511125<pre><code>$ git update-index --cacheinfo &lt;mode&gt;,&lt;sha1&gt;,&lt;path&gt;</code></pre>
Junio C Hamano1a4e8412005-12-27 08:17:231126</div></div>
Junio C Hamano68cf15a2010-11-06 01:01:591127<div class="paragraph"><p><em>--info-only</em> is used to register files without placing them in the object
Junio C Hamanoba4b9282008-07-06 05:20:311128database. This is useful for status-only repositories.</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:591129<div class="paragraph"><p>Both <em>--cacheinfo</em> and <em>--info-only</em> behave similarly: the index is updated
1130but the object database isn&#8217;t. <em>--cacheinfo</em> is useful when the object is
1131in the database but the file isn&#8217;t available locally. <em>--info-only</em> is
Junio C Hamano1a4e8412005-12-27 08:17:231132useful when the file is available, but you do not wish to update the
Junio C Hamanoba4b9282008-07-06 05:20:311133object database.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231134</div>
Junio C Hamano9d971152012-12-19 00:43:111135</div>
1136<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:311137<h2 id="_using_index_info">Using --index-info</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231138<div class="sectionbody">
Junio C Hamanoac12f0e2014-09-19 22:32:511139<div class="paragraph"><p><code>--index-info</code> is a more powerful mechanism that lets you feed
Junio C Hamano1a4e8412005-12-27 08:17:231140multiple entry definitions from the standard input, and designed
Junio C Hamanoba4b9282008-07-06 05:20:311141specifically for scripts. It can take inputs of three formats:</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:591142<div class="olist arabic"><ol class="arabic">
Junio C Hamano1a4e8412005-12-27 08:17:231143<li>
1144<p>
1145mode SP sha1 TAB path
1146</p>
Junio C Hamano68cf15a2010-11-06 01:01:591147<div class="paragraph"><p>The first format is what "git-apply --index-info"
Junio C Hamano1a4e8412005-12-27 08:17:231148reports, and used to reconstruct a partial tree
1149that is used for phony merge base tree when falling
Junio C Hamanoba4b9282008-07-06 05:20:311150back on 3-way merge.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231151</li>
1152<li>
1153<p>
1154mode SP type SP sha1 TAB path
1155</p>
Junio C Hamano68cf15a2010-11-06 01:01:591156<div class="paragraph"><p>The second format is to stuff <em>git ls-tree</em> output
Junio C Hamanoba4b9282008-07-06 05:20:311157into the index file.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231158</li>
1159<li>
1160<p>
1161mode SP sha1 SP stage TAB path
1162</p>
Junio C Hamano68cf15a2010-11-06 01:01:591163<div class="paragraph"><p>This format is to put higher order stages into the
Junio C Hamano1aa40d22010-01-21 17:46:431164index file and matches <em>git ls-files --stage</em> output.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231165</li>
Junio C Hamanoba4b9282008-07-06 05:20:311166</ol></div>
Junio C Hamano68cf15a2010-11-06 01:01:591167<div class="paragraph"><p>To place a higher stage entry to the index, the path should
Junio C Hamano1a4e8412005-12-27 08:17:231168first be removed by feeding a mode=0 entry for the path, and
Junio C Hamanoba4b9282008-07-06 05:20:311169then feeding necessary input lines in the third format.</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:591170<div class="paragraph"><p>For example, starting with this index:</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231171<div class="listingblock">
1172<div class="content">
Junio C Hamanoac12f0e2014-09-19 22:32:511173<pre><code>$ git ls-files -s
1174100644 8a1218a1024a212bb3db30becd860315f9f3ac52 0 frotz</code></pre>
Junio C Hamano1a4e8412005-12-27 08:17:231175</div></div>
Junio C Hamanoac12f0e2014-09-19 22:32:511176<div class="paragraph"><p>you can feed the following input to <code>--index-info</code>:</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231177<div class="listingblock">
1178<div class="content">
Junio C Hamanoac12f0e2014-09-19 22:32:511179<pre><code>$ git update-index --index-info
Junio C Hamano1a4e8412005-12-27 08:17:2311800 0000000000000000000000000000000000000000 frotz
1181100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1 frotz
Junio C Hamanoac12f0e2014-09-19 22:32:511182100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2 frotz</code></pre>
Junio C Hamano1a4e8412005-12-27 08:17:231183</div></div>
Junio C Hamano68cf15a2010-11-06 01:01:591184<div class="paragraph"><p>The first line of the input feeds 0 as the mode to remove the
Junio C Hamanoe3f080d2013-04-22 02:27:131185path; the SHA-1 does not matter as long as it is well formatted.
Junio C Hamano1a4e8412005-12-27 08:17:231186Then the second and third line feeds stage 1 and stage 2 entries
Junio C Hamanoba4b9282008-07-06 05:20:311187for that path. After the above, we would end up with this:</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231188<div class="listingblock">
1189<div class="content">
Junio C Hamanoac12f0e2014-09-19 22:32:511190<pre><code>$ git ls-files -s
Junio C Hamano1a4e8412005-12-27 08:17:231191100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1 frotz
Junio C Hamanoac12f0e2014-09-19 22:32:511192100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2 frotz</code></pre>
Junio C Hamano1a4e8412005-12-27 08:17:231193</div></div>
1194</div>
Junio C Hamano9d971152012-12-19 00:43:111195</div>
1196<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:311197<h2 id="_using_8220_assume_unchanged_8221_bit">Using &#8220;assume unchanged&#8221; bit</h2>
Junio C Hamano7e9f6b72006-02-22 10:44:551198<div class="sectionbody">
Junio C Hamano076ffcc2013-02-06 05:13:211199<div class="paragraph"><p>Many operations in Git depend on your filesystem to have an
Junio C Hamanoac12f0e2014-09-19 22:32:511200efficient <code>lstat(2)</code> implementation, so that <code>st_mtime</code>
Junio C Hamano7e9f6b72006-02-22 10:44:551201information for working tree files can be cheaply checked to see
1202if the file contents have changed from the version recorded in
1203the index file. Unfortunately, some filesystems have
Junio C Hamanoac12f0e2014-09-19 22:32:511204inefficient <code>lstat(2)</code>. If your filesystem is one of them, you
Junio C Hamano7e9f6b72006-02-22 10:44:551205can set "assume unchanged" bit to paths you have not changed to
Junio C Hamano076ffcc2013-02-06 05:13:211206cause Git not to do this check. Note that setting this bit on a
1207path does not mean Git will check the contents of the file to
1208see if it has changed&#8201;&#8212;&#8201;it makes Git to omit any checking and
Junio C Hamano7e9f6b72006-02-22 10:44:551209assume it has <strong>not</strong> changed. When you make changes to working
Junio C Hamano076ffcc2013-02-06 05:13:211210tree files, you have to explicitly tell Git about it by dropping
Junio C Hamanoba4b9282008-07-06 05:20:311211"assume unchanged" bit, either before or after you modify them.</p></div>
Junio C Hamanoac12f0e2014-09-19 22:32:511212<div class="paragraph"><p>In order to set "assume unchanged" bit, use <code>--assume-unchanged</code>
1213option. To unset, use <code>--no-assume-unchanged</code>. To see which files
1214have the "assume unchanged" bit set, use <code>git ls-files -v</code>
Junio C Hamanoa28a9202012-06-21 07:08:231215(see <a href="git-ls-files.html">git-ls-files(1)</a>).</p></div>
Junio C Hamanoac12f0e2014-09-19 22:32:511216<div class="paragraph"><p>The command looks at <code>core.ignorestat</code> configuration variable. When
1217this is true, paths updated with <code>git update-index paths...</code> and
Junio C Hamano076ffcc2013-02-06 05:13:211218paths updated with other Git commands that update both index and
Junio C Hamano1aa40d22010-01-21 17:46:431219working tree (e.g. <em>git apply --index</em>, <em>git checkout-index -u</em>,
1220and <em>git read-tree -u</em>) are automatically marked as "assume
Junio C Hamano7e9f6b72006-02-22 10:44:551221unchanged". Note that "assume unchanged" bit is <strong>not</strong> set if
Junio C Hamanoac12f0e2014-09-19 22:32:511222<code>git update-index --refresh</code> finds the working tree file matches
1223the index (use <code>git update-index --really-refresh</code> if you want
Junio C Hamanoba4b9282008-07-06 05:20:311224to mark them as "assume unchanged").</p></div>
Junio C Hamano7e9f6b72006-02-22 10:44:551225</div>
Junio C Hamano9d971152012-12-19 00:43:111226</div>
1227<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:311228<h2 id="_examples">Examples</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231229<div class="sectionbody">
Junio C Hamano68cf15a2010-11-06 01:01:591230<div class="paragraph"><p>To update and refresh only the files already checked out:</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231231<div class="listingblock">
1232<div class="content">
Junio C Hamanoac12f0e2014-09-19 22:32:511233<pre><code>$ git checkout-index -n -f -a &amp;&amp; git update-index --ignore-missing --refresh</code></pre>
Junio C Hamano1a4e8412005-12-27 08:17:231234</div></div>
Junio C Hamano68cf15a2010-11-06 01:01:591235<div class="dlist"><dl>
1236<dt class="hdlist1">
Junio C Hamanoac12f0e2014-09-19 22:32:511237On an inefficient filesystem with <code>core.ignorestat</code> set
Junio C Hamanoc8d88c22006-04-29 07:02:011238</dt>
1239<dd>
Junio C Hamano7e9f6b72006-02-22 10:44:551240<div class="listingblock">
1241<div class="content">
Junio C Hamanoac12f0e2014-09-19 22:32:511242<pre><code>$ git update-index --really-refresh <b>&lt;1&gt;</b>
Junio C Hamano68cf15a2010-11-06 01:01:591243$ git update-index --no-assume-unchanged foo.c <b>&lt;2&gt;</b>
1244$ git diff --name-only <b>&lt;3&gt;</b>
Junio C Hamano7e9f6b72006-02-22 10:44:551245$ edit foo.c
Junio C Hamano68cf15a2010-11-06 01:01:591246$ git diff --name-only <b>&lt;4&gt;</b>
Junio C Hamano7e9f6b72006-02-22 10:44:551247M foo.c
Junio C Hamano68cf15a2010-11-06 01:01:591248$ git update-index foo.c <b>&lt;5&gt;</b>
1249$ git diff --name-only <b>&lt;6&gt;</b>
Junio C Hamano7e9f6b72006-02-22 10:44:551250$ edit foo.c
Junio C Hamano68cf15a2010-11-06 01:01:591251$ git diff --name-only <b>&lt;7&gt;</b>
1252$ git update-index --no-assume-unchanged foo.c <b>&lt;8&gt;</b>
1253$ git diff --name-only <b>&lt;9&gt;</b>
Junio C Hamanoac12f0e2014-09-19 22:32:511254M foo.c</code></pre>
Junio C Hamano7e9f6b72006-02-22 10:44:551255</div></div>
Junio C Hamano68cf15a2010-11-06 01:01:591256<div class="colist arabic"><ol>
Junio C Hamanoc8d88c22006-04-29 07:02:011257<li>
1258<p>
1259forces lstat(2) to set "assume unchanged" bits for paths that match index.
1260</p>
1261</li>
1262<li>
1263<p>
1264mark the path to be edited.
1265</p>
1266</li>
1267<li>
1268<p>
1269this does lstat(2) and finds index matches the path.
1270</p>
1271</li>
1272<li>
1273<p>
1274this does lstat(2) and finds index does <strong>not</strong> match the path.
1275</p>
1276</li>
1277<li>
1278<p>
1279registering the new version to index sets "assume unchanged" bit.
1280</p>
1281</li>
1282<li>
1283<p>
1284and it is assumed unchanged.
1285</p>
1286</li>
1287<li>
1288<p>
1289even after you edit it.
1290</p>
1291</li>
1292<li>
1293<p>
1294you can tell about the change after the fact.
1295</p>
1296</li>
1297<li>
1298<p>
1299now it checks with lstat(2) and finds it has been changed.
1300</p>
1301</li>
Junio C Hamanoba4b9282008-07-06 05:20:311302</ol></div>
Junio C Hamanoc8d88c22006-04-29 07:02:011303</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311304</dl></div>
Junio C Hamano1a4e8412005-12-27 08:17:231305</div>
Junio C Hamano9d971152012-12-19 00:43:111306</div>
1307<div class="sect1">
Junio C Hamano3c8d6702010-01-13 23:09:031308<h2 id="_skip_worktree_bit">Skip-worktree bit</h2>
1309<div class="sectionbody">
Junio C Hamano68cf15a2010-11-06 01:01:591310<div class="paragraph"><p>Skip-worktree bit can be defined in one (long) sentence: When reading
Junio C Hamano3c8d6702010-01-13 23:09:031311an entry, if it is marked as skip-worktree, then Git pretends its
1312working directory version is up to date and read the index version
1313instead.</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:591314<div class="paragraph"><p>To elaborate, "reading" means checking for file existence, reading
Junio C Hamano3c8d6702010-01-13 23:09:031315file attributes or file content. The working directory version may be
1316present or absent. If present, its content may match against the index
1317version or not. Writing is not affected by this bit, content safety
Junio C Hamano68cf15a2010-11-06 01:01:591318is still first priority. Note that Git <em>can</em> update working directory
Junio C Hamano3c8d6702010-01-13 23:09:031319file, that is marked skip-worktree, if it is safe to do so (i.e.
1320working directory version matches index version)</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:591321<div class="paragraph"><p>Although this bit looks similar to assume-unchanged bit, its goal is
1322different from assume-unchanged bit&#8217;s. Skip-worktree also takes
Junio C Hamano3c8d6702010-01-13 23:09:031323precedence over assume-unchanged bit when both are set.</p></div>
1324</div>
Junio C Hamano9d971152012-12-19 00:43:111325</div>
1326<div class="sect1">
Junio C Hamano9099a7c2016-02-10 23:42:051327<h2 id="_untracked_cache">Untracked cache</h2>
1328<div class="sectionbody">
1329<div class="paragraph"><p>This cache is meant to speed up commands that involve determining
1330untracked files such as <code>git status</code>.</p></div>
1331<div class="paragraph"><p>This feature works by recording the mtime of the working tree
1332directories and then omitting reading directories and stat calls
1333against files in those directories whose mtime hasn&#8217;t changed. For
1334this to work the underlying operating system and file system must
1335change the <code>st_mtime</code> field of directories if files in the directory
1336are added, modified or deleted.</p></div>
1337<div class="paragraph"><p>You can test whether the filesystem supports that with the
1338<code>--test-untracked-cache</code> option. The <code>--untracked-cache</code> option used
1339to implicitly perform that test in older versions of Git, but that&#8217;s
1340no longer the case.</p></div>
1341<div class="paragraph"><p>If you want to enable (or disable) this feature, it is easier to use
1342the <code>core.untrackedCache</code> configuration variable (see
1343<a href="git-config.html">git-config(1)</a>) than using the <code>--untracked-cache</code> option to
1344<code>git update-index</code> in each repository, especially if you want to do so
1345across all repositories you use, because you can set the configuration
1346variable to <code>true</code> (or <code>false</code>) in your <code>$HOME/.gitconfig</code> just once
1347and have it affect all repositories you touch.</p></div>
1348<div class="paragraph"><p>When the <code>core.untrackedCache</code> configuration variable is changed, the
1349untracked cache is added to or removed from the index the next time a
1350command reads the index; while when <code>--[no-|force-]untracked-cache</code>
1351are used, the untracked cache is immediately added to or removed from
1352the index.</p></div>
1353</div>
1354</div>
1355<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:311356<h2 id="_configuration">Configuration</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231357<div class="sectionbody">
Junio C Hamanoac12f0e2014-09-19 22:32:511358<div class="paragraph"><p>The command honors <code>core.filemode</code> configuration variable. If
Junio C Hamano446ed772009-11-10 22:02:201359your repository is on a filesystem whose executable bits are
Junio C Hamanoa28a9202012-06-21 07:08:231360unreliable, this should be set to <em>false</em> (see <a href="git-config.html">git-config(1)</a>).
Junio C Hamano1a4e8412005-12-27 08:17:231361This causes the command to ignore differences in file modes recorded
1362in the index and the file mode on the filesystem if they differ only on
1363executable bit. On such an unfortunate filesystem, you may
Junio C Hamano1aa40d22010-01-21 17:46:431364need to use <em>git update-index --chmod=</em>.</p></div>
Junio C Hamanoac12f0e2014-09-19 22:32:511365<div class="paragraph"><p>Quite similarly, if <code>core.symlinks</code> configuration variable is set
Junio C Hamanoa28a9202012-06-21 07:08:231366to <em>false</em> (see <a href="git-config.html">git-config(1)</a>), symbolic links are checked out
Junio C Hamanoaa83a7d2007-03-05 02:37:291367as plain files, and this command does not modify a recorded file mode
Junio C Hamanoba4b9282008-07-06 05:20:311368from symbolic link to regular file.</p></div>
Junio C Hamanoac12f0e2014-09-19 22:32:511369<div class="paragraph"><p>The command looks at <code>core.ignorestat</code> configuration variable. See
Junio C Hamanoba4b9282008-07-06 05:20:311370<em>Using "assume unchanged" bit</em> section above.</p></div>
Junio C Hamanoac12f0e2014-09-19 22:32:511371<div class="paragraph"><p>The command also looks at <code>core.trustctime</code> configuration variable.
Junio C Hamano90ccff32008-07-29 08:17:241372It can be useful when the inode change time is regularly modified by
1373something outside Git (file system crawlers and backup systems use
Junio C Hamanoa28a9202012-06-21 07:08:231374ctime for marking files processed) (see <a href="git-config.html">git-config(1)</a>).</p></div>
Junio C Hamano9099a7c2016-02-10 23:42:051375<div class="paragraph"><p>The untracked cache extension can be enabled by the
1376<code>core.untrackedCache</code> configuration variable (see
1377<a href="git-config.html">git-config(1)</a>).</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231378</div>
Junio C Hamano9d971152012-12-19 00:43:111379</div>
1380<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:311381<h2 id="_see_also">SEE ALSO</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231382<div class="sectionbody">
Junio C Hamanoa28a9202012-06-21 07:08:231383<div class="paragraph"><p><a href="git-config.html">git-config(1)</a>,
1384<a href="git-add.html">git-add(1)</a>,
1385<a href="git-ls-files.html">git-ls-files(1)</a></p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231386</div>
Junio C Hamano9d971152012-12-19 00:43:111387</div>
1388<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:311389<h2 id="_git">GIT</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231390<div class="sectionbody">
Junio C Hamanoa28a9202012-06-21 07:08:231391<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231392</div>
Junio C Hamano7bd050f2011-09-22 06:32:221393</div>
Junio C Hamano9d971152012-12-19 00:43:111394</div>
Junio C Hamano7bd050f2011-09-22 06:32:221395<div id="footnotes"><hr /></div>
Junio C Hamano1a4e8412005-12-27 08:17:231396<div id="footer">
1397<div id="footer-text">
Junio C Hamano9099a7c2016-02-10 23:42:051398Last updated 2016-02-10 15:41:33 PST
Junio C Hamano1a4e8412005-12-27 08:17:231399</div>
1400</div>
1401</body>
1402</html>