@ -193,7 +193,7 @@ for "git add --no-all <pathspec>...", i.e. ignored removed files.
@@ -193,7 +193,7 @@ for "git add --no-all <pathspec>...", i.e. ignored removed files.
for command-line options).
Configuration
CONFIGURATION
-------------
The optional configuration variable `core.excludesFile` indicates a path to a
@ -226,7 +226,7 @@ Because this example lets the shell expand the asterisk (i.e. you are
@@ -226,7 +226,7 @@ Because this example lets the shell expand the asterisk (i.e. you are
listing the files explicitly), it does not consider
`subdir/git-foo.sh`.
Interactive mode
INTERACTIVE MODE
----------------
When the command enters the interactive mode, it shows the
output of the 'status' subcommand, and then goes into its
@ -242,7 +242,7 @@ When `git apply` is used as a "better GNU patch", the user can pass
@@ -242,7 +242,7 @@ When `git apply` is used as a "better GNU patch", the user can pass
the `--unsafe-paths` option to override this safety check. This option
has no effect when `--index` or `--cached` is in use.
@ -92,8 +92,8 @@ It is okay to err on the side of caution, causing the bundle file
@@ -92,8 +92,8 @@ It is okay to err on the side of caution, causing the bundle file
to contain objects already in the destination, as these are ignored
when unpacking at the destination.
EXAMPLE
-------
EXAMPLES
--------
Assume you want to transfer the history from a repository R1 on machine A
@ -207,7 +207,7 @@ allowing access over SSH.
@@ -207,7 +207,7 @@ allowing access over SSH.
------
[[dbbackend]]
Database Backend
DATABASE BACKEND
----------------
'git-cvsserver' uses one database per Git head (i.e. CVS module) to
@ -321,7 +321,7 @@ git-cvsserver, as described above.
@@ -321,7 +321,7 @@ git-cvsserver, as described above.
When these environment variables are set, the corresponding
command-line arguments may not be used.
Eclipse CVS Client Notes
ECLIPSE CVS CLIENT NOTES
------------------------
To get a checkout with the Eclipse CVS client:
@ -346,7 +346,7 @@ offer. In that case CVS_SERVER is ignored, and you will have to replace
@@ -346,7 +346,7 @@ offer. In that case CVS_SERVER is ignored, and you will have to replace
the cvs utility on the server with 'git-cvsserver' or manipulate your `.bashrc`
so that calling 'cvs' effectively calls 'git-cvsserver'.
Clients known to work
CLIENTS KNOWN TO WORK
---------------------
- CVS 1.12.9 on Debian
@ -354,7 +354,7 @@ Clients known to work
@@ -354,7 +354,7 @@ Clients known to work
- Eclipse 3.0, 3.1.2 on MacOSX (see Eclipse CVS Client Notes)
- TortoiseCVS
Operations supported
OPERATIONS SUPPORTED
--------------------
All the operations required for normal use are supported, including
@ -424,7 +424,7 @@ For best consistency with 'cvs', it is probably best to override the
@@ -424,7 +424,7 @@ For best consistency with 'cvs', it is probably best to override the
You can choose whether you want to trust the index file entirely
(using the `--cached` flag) or ask the diff logic to show any files
that don't match the stat state as being "tentatively changed". Both
of these operations are very useful indeed.
Cached Mode
CACHED MODE
-----------
If `--cached` is specified, it allows you to ask:
@ -77,7 +77,7 @@ So doing a `git diff-index --cached` is basically very useful when you are
@@ -77,7 +77,7 @@ So doing a `git diff-index --cached` is basically very useful when you are
asking yourself "what have I already marked for being committed, and
what's the difference to a previous tree".
Non-cached Mode
NON-CACHED MODE
---------------
The "non-cached" mode takes a different approach, and is potentially
the more useful of the two in that what it does can't be emulated with
@ -202,7 +202,7 @@ smaller output, and it is usually easy to quickly confirm that there is
@@ -202,7 +202,7 @@ smaller output, and it is usually easy to quickly confirm that there is
no private data in the stream.
Limitations
LIMITATIONS
-----------
Since 'git fast-import' cannot tag trees, you will not be
@ -139,7 +139,7 @@ Performance and Compression Tuning
@@ -139,7 +139,7 @@ Performance and Compression Tuning
fastimport.unpackLimit::
See linkgit:git-config[1]
Performance
PERFORMANCE
-----------
The design of fast-import allows it to import large projects in a minimum
amount of memory usage and processing time. Assuming the frontend
@ -155,7 +155,7 @@ faster if the source data is stored on a different drive than the
@@ -155,7 +155,7 @@ faster if the source data is stored on a different drive than the
destination Git repository (due to less IO contention).
Development Cost
DEVELOPMENT COST
----------------
A typical frontend for fast-import tends to weigh in at approximately 200
lines of Perl/Python/Ruby code. Most developers have been able to
@ -165,7 +165,7 @@ an ideal situation, given that most conversion tools are throw-away
@@ -165,7 +165,7 @@ an ideal situation, given that most conversion tools are throw-away
(use once, and never look back).
Parallel Operation
PARALLEL OPERATION
------------------
Like 'git push' or 'git fetch', imports handled by fast-import are safe to
run alongside parallel `git repack -a -d` or `git gc` invocations,
@ -186,7 +186,7 @@ this only be used on an otherwise quiet repository. Using --force
@@ -186,7 +186,7 @@ this only be used on an otherwise quiet repository. Using --force
is not necessary for an initial import into an empty repository.
Technical Discussion
TECHNICAL DISCUSSION
--------------------
fast-import tracks a set of branches in memory. Any branch can be created
or modified at any point during the import process by sending a
@ -204,7 +204,7 @@ directory also allows fast-import to run very quickly, as it does not
@@ -204,7 +204,7 @@ directory also allows fast-import to run very quickly, as it does not
need to perform any costly file update operations when switching
between branches.
Input Format
INPUT FORMAT
------------
With the exception of raw file data (which Git does not interpret)
the fast-import input format is text (ASCII) based. This text based
@ -1131,7 +1131,7 @@ If the `--done` command-line option or `feature done` command is
@@ -1131,7 +1131,7 @@ If the `--done` command-line option or `feature done` command is
in use, the `done` command is mandatory and marks the end of the
stream.
Responses To Commands
RESPONSES TO COMMANDS
---------------------
New objects written by fast-import are not available immediately.
Most fast-import commands have no visible effect until the next
@ -1160,7 +1160,7 @@ To avoid deadlock, such frontends must completely consume any
@@ -1160,7 +1160,7 @@ To avoid deadlock, such frontends must completely consume any
pending output from `progress`, `ls`, `get-mark`, and `cat-blob` before
performing writes to fast-import that might block.
Crash Reports
CRASH REPORTS
-------------
If fast-import is supplied invalid input it will terminate with a
non-zero exit status and create a crash report in the top level of
@ -1247,7 +1247,7 @@ An example crash:
@@ -1247,7 +1247,7 @@ An example crash:
END OF CRASH REPORT
====
Tips and Tricks
TIPS AND TRICKS
---------------
The following tips and tricks have been collected from various
users of fast-import, and are offered here as suggestions.
@ -1349,7 +1349,7 @@ Your users will feel better knowing how much of the data stream
@@ -1349,7 +1349,7 @@ Your users will feel better knowing how much of the data stream
has been processed.
Packfile Optimization
PACKFILE OPTIMIZATION
---------------------
When packing a blob fast-import always attempts to deltify against the last
blob written. Unless specifically arranged for by the frontend,
@ -1380,7 +1380,7 @@ to force recomputation of all deltas can significantly reduce the
@@ -1380,7 +1380,7 @@ to force recomputation of all deltas can significantly reduce the
final packfile size (30-50% smaller can be quite typical).
Memory Utilization
MEMORY UTILIZATION
------------------
There are a number of factors which affect how much memory fast-import
requires to perform an import. Like critical sections of core
@ -1458,7 +1458,7 @@ and lazy loading of subtrees, allows fast-import to efficiently import
@@ -1458,7 +1458,7 @@ and lazy loading of subtrees, allows fast-import to efficiently import
projects with 2,000+ branches and 45,114+ files in a very limited
memory footprint (less than 2.7 MiB per active branch).
Signals
SIGNALS
-------
Sending *SIGUSR1* to the 'git fast-import' process ends the current
packfile early, simulating a `checkpoint` command. The impatient
@ -230,7 +230,7 @@ rewrite, the exit status is `2`. On any other error, the exit status may be
@@ -230,7 +230,7 @@ rewrite, the exit status is `2`. On any other error, the exit status may be
any other non-zero value.
Examples
EXAMPLES
--------
Suppose you want to remove a file (containing confidential information
@ -95,7 +95,7 @@ be performed as well.
@@ -95,7 +95,7 @@ be performed as well.
`.keep` files are consolidated into a single pack. When this
option is used, `gc.bigPackThreshold` is ignored.
Configuration
CONFIGURATION
-------------
The optional configuration variable `gc.reflogExpire` can be
@ -155,7 +155,7 @@ old a stale working tree should be before `git worktree prune` deletes
@@ -155,7 +155,7 @@ old a stale working tree should be before `git worktree prune` deletes
it. Default is "3 months ago".
Notes
NOTES
-----
'git gc' tries very hard not to delete objects that are referenced
@ -183,7 +183,7 @@ followed by the ("attr/<eolattr>").
@@ -183,7 +183,7 @@ followed by the ("attr/<eolattr>").
Files to show. If no files are given all files which match the other
specified criteria are shown.
Output
OUTPUT
------
'git ls-files' just outputs the filenames unless `--stage` is specified in
which case it outputs:
@ -208,7 +208,7 @@ quoted as explained for the configuration variable `core.quotePath`
@@ -208,7 +208,7 @@ quoted as explained for the configuration variable `core.quotePath`
verbatim and the line is terminated by a NUL byte.
Exclude Patterns
EXCLUDE PATTERNS
----------------
'git ls-files' can use a list of "exclude patterns" when
@ -29,8 +29,8 @@ Submit Git changes back to p4 using 'git p4 submit'. The command
@@ -29,8 +29,8 @@ Submit Git changes back to p4 using 'git p4 submit'. The command
refs, no explanation is needed. For a failed ref, the reason for
failure is described.
Note about fast-forwards
NOTE ABOUT FAST-FORWARDS
------------------------
When an update changes a branch (or more in general, a ref) that used to
@ -510,7 +510,7 @@ overwrite it. In other words, "git push --force" is a method reserved for
@@ -510,7 +510,7 @@ overwrite it. In other words, "git push --force" is a method reserved for
If `-m` is specified, 'git read-tree' can perform 3 kinds of
merge, a single tree merge if only 1 tree is given, a
@ -382,7 +382,7 @@ middle of doing, and when your working tree is ready (i.e. you
@@ -382,7 +382,7 @@ middle of doing, and when your working tree is ready (i.e. you
have finished your work-in-progress), attempt the merge again.
Sparse checkout
SPARSE CHECKOUT
---------------
"Sparse checkout" allows populating the working directory sparsely.
Before any ref is updated, if $GIT_DIR/hooks/pre-receive file exists
and is executable, it will be invoked once with no parameters. The
@ -116,7 +116,7 @@ bail out if the update is not to be supported.
@@ -116,7 +116,7 @@ bail out if the update is not to be supported.
See the notes on the quarantine environment below.
update Hook
UPDATE HOOK
-----------
Before each ref is updated, if $GIT_DIR/hooks/update file exists
and is executable, it is invoked once per ref, with three parameters:
@ -138,7 +138,7 @@ ensure the ref will actually be updated, it is only a prerequisite.
@@ -138,7 +138,7 @@ ensure the ref will actually be updated, it is only a prerequisite.
As such it is not a good idea to send notices (e.g. email) from
this hook. Consider using the post-receive hook instead.
post-receive Hook
POST-RECEIVE HOOK
-----------------
After all refs were updated (or attempted to be updated), if any
ref update was successful, and if $GIT_DIR/hooks/post-receive
@ -198,7 +198,7 @@ after it was updated by 'git-receive-pack', but before the hook was able
@@ -198,7 +198,7 @@ after it was updated by 'git-receive-pack', but before the hook was able
to evaluate it. It is recommended that hooks rely on sha1-new
rather than the current value of refname.
post-update Hook
POST-UPDATE HOOK
----------------
After all other processing, if at least one ref was updated, and
if $GIT_DIR/hooks/post-update file exists and is executable, then
@ -216,7 +216,7 @@ if the repository is packed and is served via a dumb transport.
@@ -216,7 +216,7 @@ if the repository is packed and is served via a dumb transport.
exec git update-server-info
Quarantine Environment
QUARANTINE ENVIRONMENT
----------------------
When `receive-pack` takes in objects, they are placed into a temporary
@ -203,7 +203,7 @@ The remote configuration is achieved using the `remote.origin.url` and
@@ -203,7 +203,7 @@ The remote configuration is achieved using the `remote.origin.url` and
`remote.origin.fetch` configuration variables. (See
linkgit:git-config[1]).
Examples
EXAMPLES
--------
* Add a new remote, fetch, and check out a branch from it
@ -46,8 +46,8 @@ ref that is different from the ref you have locally, you can use the
@@ -46,8 +46,8 @@ ref that is different from the ref you have locally, you can use the
its remote name.
EXAMPLE
-------
EXAMPLES
--------
Imagine that you built your work on your `master` branch on top of
the `v1.0` release, and want it to be integrated to the project.
@ -99,7 +99,7 @@ be in a separate packet, and the list must end with a flush packet.
@@ -99,7 +99,7 @@ be in a separate packet, and the list must end with a flush packet.
The remote refs to update.
Specifying the Refs
SPECIFYING THE REFS
-------------------
There are three ways to specify which refs to update on the
@ -173,8 +173,8 @@ The "fixes" branch adds one commit "Introduce "reset type" flag to
@@ -173,8 +173,8 @@ The "fixes" branch adds one commit "Introduce "reset type" flag to
The current branch is "master".
EXAMPLE
-------
EXAMPLES
--------
If you keep your primary branches immediately under
`refs/heads`, and topic branches in subdirectories of
@ -228,7 +228,7 @@ will remove the intended effect of the option.
@@ -228,7 +228,7 @@ will remove the intended effect of the option.
cleaner names.
The same applies to directories ending '/' and paths with '//'
Using --refresh
USING --REFRESH
---------------
`--refresh` does not calculate a new sha1 file or bring the index
up to date for mode/content changes. But what it *does* do is to
@ -239,7 +239,7 @@ the stat entry is out of date.
@@ -239,7 +239,7 @@ the stat entry is out of date.
For example, you'd want to do this after doing a 'git read-tree', to link
up the stat index details with the proper files.
Using --cacheinfo or --info-only
USING --CACHEINFO OR --INFO-ONLY
--------------------------------
`--cacheinfo` is used to register a file that is not in the
current working directory. This is useful for minimum-checkout
@ -261,7 +261,7 @@ useful when the file is available, but you do not wish to update the
@@ -261,7 +261,7 @@ useful when the file is available, but you do not wish to update the
object database.
Using --index-info
USING --INDEX-INFO
------------------
`--index-info` is a more powerful mechanism that lets you feed
Many operations in Git depend on your filesystem to have an
@ -350,7 +350,7 @@ the index (use `git update-index --really-refresh` if you want
@@ -350,7 +350,7 @@ the index (use `git update-index --really-refresh` if you want
to mark them as "assume unchanged").
Examples
EXAMPLES
--------
To update and refresh only the files already checked out:
@ -387,7 +387,7 @@ M foo.c
@@ -387,7 +387,7 @@ M foo.c
<9> now it checks with lstat(2) and finds it has been changed.
Skip-worktree bit
SKIP-WORKTREE BIT
-----------------
Skip-worktree bit can be defined in one (long) sentence: When reading
@ -407,7 +407,7 @@ Although this bit looks similar to assume-unchanged bit, its goal is
@@ -407,7 +407,7 @@ Although this bit looks similar to assume-unchanged bit, its goal is
different from assume-unchanged bit's. Skip-worktree also takes
precedence over assume-unchanged bit when both are set.
Split index
SPLIT INDEX
-----------
This mode is designed for repositories with very large indexes, and
@ -432,7 +432,7 @@ To avoid deleting a shared index file that is still used, its
@@ -432,7 +432,7 @@ To avoid deleting a shared index file that is still used, its
modification time is updated to the current time everytime a new split
index based on the shared index file is either created or read from.
Untracked cache
UNTRACKED CACHE
---------------
This cache is meant to speed up commands that involve determining
@ -490,7 +490,7 @@ As with the bug described above the solution is to one-off do a "git
@@ -490,7 +490,7 @@ As with the bug described above the solution is to one-off do a "git
status" run with `core.untrackedCache=false` to flush out the leftover
bad data.
File System Monitor
FILE SYSTEM MONITOR
-------------------
This feature is intended to speed up git operations for repos that have
@ -518,7 +518,7 @@ file system monitor is added to or removed from the index the next time
@@ -518,7 +518,7 @@ file system monitor is added to or removed from the index the next time
a command reads the index. When `--[no-]fsmonitor` are used, the file
system monitor is immediately added to or removed from the index.
Configuration
CONFIGURATION
-------------
The command honors `core.filemode` configuration variable. If
@ -120,7 +120,7 @@ modifications are performed. Note that while each individual
@@ -120,7 +120,7 @@ modifications are performed. Note that while each individual
<ref> is updated or deleted atomically, a concurrent reader may
still see a subset of the modifications.
Logging Updates
LOGGING UPDATES
---------------
If config parameter "core.logAllRefUpdates" is true and the ref is one under
"refs/heads/", "refs/remotes/", "refs/notes/", or the symbolic ref HEAD; or
@ -84,7 +84,7 @@ variable exists then 'git web{litdd}browse' will treat the specified tool
@@ -84,7 +84,7 @@ variable exists then 'git web{litdd}browse' will treat the specified tool
as a custom command and will use a shell eval to run the command with
the URLs passed as arguments.
Note about konqueror
NOTE ABOUT KONQUEROR
--------------------
When 'konqueror' is specified by a command-line option or a