From: Junio C Hamano Date: Thu, 22 May 2008 00:53:35 +0000 (+0000) Subject: Autogenerated HTML docs for v1.5.5.1-357-g1af8b X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=feeb1be0ecb7af3956ed418f425ffd6c10bd2d9e;p=git.git Autogenerated HTML docs for v1.5.5.1-357-g1af8b --- diff --git a/git-add.html b/git-add.html index a1fc8d07d..2de91ce2f 100644 --- a/git-add.html +++ b/git-add.html @@ -274,7 +274,7 @@ git-add(1) Manual Page
git-add [-n] [-v] [-f] [--interactive | -i] [--patch | -p] [-u] [--refresh] - [--] <filepattern>…
+ [--ignore-errors] [--] <filepattern>…

DESCRIPTION

@@ -384,6 +384,16 @@ commit.

+--ignore-errors +
+
+

+ If some files could not be added because of errors indexing + them, do not abort the operation, but continue adding the + others. The command shall still exit with non-zero status. +

+
+
--
@@ -594,7 +604,7 @@ double-quote and control characters will still have problems.

diff --git a/git-add.txt b/git-add.txt index e0e730b6c..bb4abe26b 100644 --- a/git-add.txt +++ b/git-add.txt @@ -9,7 +9,7 @@ SYNOPSIS -------- [verse] 'git-add' [-n] [-v] [-f] [--interactive | -i] [--patch | -p] [-u] [--refresh] - [--] ... + [--ignore-errors] [--] ... DESCRIPTION ----------- @@ -83,6 +83,11 @@ OPTIONS Don't add the file(s), but only refresh their stat() information in the index. +\--ignore-errors:: + If some files could not be added because of errors indexing + them, do not abort the operation, but continue adding the + others. The command shall still exit with non-zero status. + \--:: This option can be used to separate command-line options from the list of files, (useful when filenames might be mistaken diff --git a/git-cvsexportcommit.html b/git-cvsexportcommit.html index bdef20e79..d1d10b92a 100644 --- a/git-cvsexportcommit.html +++ b/git-cvsexportcommit.html @@ -368,7 +368,8 @@ should the changeset be done against.

Specify the location of the CVS checkout to use for the export. This option does not require GIT_DIR to be set before execution if the - current directory is within a git repository. + current directory is within a git repository. The default is the + value of cvsexportcommit.cvsdir.

@@ -381,6 +382,19 @@ should the changeset be done against.

+

CONFIGURATION

+
+
+
+cvsexportcommit.cvsdir +
+
+

+ The default location of the CVS checkout to use for the export. +

+
+
+

EXAMPLES

@@ -432,7 +446,7 @@ $ git-cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git-cvsexportcommit
diff --git a/git-cvsexportcommit.txt b/git-cvsexportcommit.txt index 9a47b4c39..363c36d69 100644 --- a/git-cvsexportcommit.txt +++ b/git-cvsexportcommit.txt @@ -65,11 +65,17 @@ OPTIONS -w:: Specify the location of the CVS checkout to use for the export. This option does not require GIT_DIR to be set before execution if the - current directory is within a git repository. + current directory is within a git repository. The default is the + value of 'cvsexportcommit.cvsdir'. -v:: Verbose. +CONFIGURATION +------------- +cvsexportcommit.cvsdir:: + The default location of the CVS checkout to use for the export. + EXAMPLES -------- diff --git a/git-daemon.html b/git-daemon.html index 0e983efbc..ad3e4bc8a 100644 --- a/git-daemon.html +++ b/git-daemon.html @@ -545,7 +545,7 @@ upload-archive

This serves git-archive --remote. It is disabled by default, but a repository can enable it by setting - daemon.uploadarchive configuration item to true. + daemon.uploadarch configuration item to true.

@@ -656,7 +656,7 @@ selectively enable/disable services per repository
        [daemon]
                 uploadpack = false
-                uploadarchive = true
+ uploadarch = true
@@ -676,7 +676,7 @@ selectively enable/disable services per repository diff --git a/git-daemon.txt b/git-daemon.txt index fd83bc783..cf261dd40 100644 --- a/git-daemon.txt +++ b/git-daemon.txt @@ -174,7 +174,7 @@ upload-pack:: upload-archive:: This serves `git-archive --remote`. It is disabled by default, but a repository can enable it by setting - `daemon.uploadarchive` configuration item to `true`. + `daemon.uploadarch` configuration item to `true`. receive-pack:: This serves `git-send-pack` clients, allowing anonymous @@ -257,7 +257,7 @@ selectively enable/disable services per repository:: ---------------------------------------------------------------- [daemon] uploadpack = false - uploadarchive = true + uploadarch = true ---------------------------------------------------------------- diff --git a/git-log.html b/git-log.html index 1b7735aa4..45ab542d2 100644 --- a/git-log.html +++ b/git-log.html @@ -945,6 +945,19 @@ format, often found in E-mail messages.

-xxxxxxx... 1st on a +
+--graph +
+
+

+ Draw a text-based graphical representation of the commit history + on the left hand side of the output. This may cause extra lines + to be printed in between commits, in order for the graph history + to be drawn properly. +

+

This implies the --topo-order option by default, but the +--date-order option may also be specified.

+

Diff Formatting

Below are listed options that control the formatting of diff output. @@ -1929,7 +1942,7 @@ reversible operation.

diff --git a/git-rev-list.html b/git-rev-list.html index d05c4c405..7a19b6dda 100644 --- a/git-rev-list.html +++ b/git-rev-list.html @@ -475,6 +475,19 @@ format, often found in E-mail messages.

-xxxxxxx... 1st on a +
+--graph +
+
+

+ Draw a text-based graphical representation of the commit history + on the left hand side of the output. This may cause extra lines + to be printed in between commits, in order for the graph history + to be drawn properly. +

+

This implies the --topo-order option by default, but the +--date-order option may also be specified.

+

Diff Formatting

Below are listed options that control the formatting of diff output. @@ -1211,7 +1224,7 @@ and the git-list <git@vger.kernel.org>.

diff --git a/git-rev-parse.html b/git-rev-parse.html index b3f7a956b..527597bdb 100644 --- a/git-rev-parse.html +++ b/git-rev-parse.html @@ -851,6 +851,40 @@ C? option C with an optional argument" eval `echo "$OPTS_SPEC" | git-rev-parse --parseopt -- "$@" || echo exit $?` +

EXAMPLES

+
+
    +
  • +

    +Print the object name of the current commit: +

    +
    +
    +
    $ git rev-parse --verify HEAD
    +
    +
  • +
  • +

    +Print the commit object name from the revision in the $REV shell variable: +

    +
    +
    +
    $ git rev-parse --verify $REV
    +
    +

    This will error out if $REV is empty or not a valid revision.

    +
  • +
  • +

    +Same as above: +

    +
    +
    +
    $ git rev-parse --default master --verify $REV
    +
    +

    but if $REV is empty, the commit object name from master will be printed.

    +
  • +
+

Author

Written by Linus Torvalds <torvalds@osdl.org> . @@ -866,7 +900,7 @@ Junio C Hamano <junkio@cox.net> and Pierre Habouzit <madcoder@debian.or

diff --git a/git-rev-parse.txt b/git-rev-parse.txt index b6b2fe92a..69599ffb6 100644 --- a/git-rev-parse.txt +++ b/git-rev-parse.txt @@ -378,6 +378,31 @@ C? option C with an optional argument" eval `echo "$OPTS_SPEC" | git-rev-parse --parseopt -- "$@" || echo exit $?` ------------ +EXAMPLES +-------- + +* Print the object name of the current commit: ++ +------------ +$ git rev-parse --verify HEAD +------------ + +* Print the commit object name from the revision in the $REV shell variable: ++ +------------ +$ git rev-parse --verify $REV +------------ ++ +This will error out if $REV is empty or not a valid revision. + +* Same as above: ++ +------------ +$ git rev-parse --default master --verify $REV +------------ ++ +but if $REV is empty, the commit object name from master will be printed. + Author ------ diff --git a/git-svn.html b/git-svn.html index 2db4ab83d..6cebaf7ee 100644 --- a/git-svn.html +++ b/git-svn.html @@ -625,7 +625,8 @@ environment). This command has the same behaviour.

Recursively finds the svn:ignore property on directories and creates matching .gitignore files. The resulting files are staged to - be committed, but are not committed. + be committed, but are not committed. Use -r/--revision to refer to a + specfic revision.

@@ -665,6 +666,34 @@ environment). This command has the same behaviour. URL: field.

+
+proplist +
+
+

+ Lists the properties stored in the Subversion repository about a + given file or directory. Use -r/--revision to refer to a specific + Subversion revision. +

+
+
+propget +
+
+

+ Gets the Subversion property given as the first argument, for a + file. A specific revision can be specified with -r/--revision. +

+
+
+show-externals +
+
+

+ Shows the Subversion externals. Use -r/--revision to specify a + specific revision. +

+

OPTIONS

@@ -1120,7 +1149,7 @@ should be manually entered with a text-editor or using diff --git a/git-svn.txt b/git-svn.txt index c6b56b4ef..3eae1ebb7 100644 --- a/git-svn.txt +++ b/git-svn.txt @@ -196,10 +196,10 @@ Any other arguments are passed directly to `git log' independently of git-svn functions. 'create-ignore':: - Recursively finds the svn:ignore property on directories and creates matching .gitignore files. The resulting files are staged to - be committed, but are not committed. + be committed, but are not committed. Use -r/--revision to refer to a + specfic revision. 'show-ignore':: Recursively finds and lists the svn:ignore property on @@ -223,6 +223,19 @@ Any other arguments are passed directly to `git log' argument. Use the --url option to output only the value of the 'URL:' field. +'proplist':: + Lists the properties stored in the Subversion repository about a + given file or directory. Use -r/--revision to refer to a specific + Subversion revision. + +'propget':: + Gets the Subversion property given as the first argument, for a + file. A specific revision can be specified with -r/--revision. + +'show-externals':: + Shows the Subversion externals. Use -r/--revision to specify a + specific revision. + -- OPTIONS diff --git a/rev-list-options.txt b/rev-list-options.txt index 2648a5508..ce6a1017a 100644 --- a/rev-list-options.txt +++ b/rev-list-options.txt @@ -75,6 +75,16 @@ you would get an output line this: -xxxxxxx... 1st on a ----------------------------------------------------------------------- +--graph:: + + Draw a text-based graphical representation of the commit history + on the left hand side of the output. This may cause extra lines + to be printed in between commits, in order for the graph history + to be drawn properly. ++ +This implies the '--topo-order' option by default, but the +'--date-order' option may also be specified. + Diff Formatting ~~~~~~~~~~~~~~~ diff --git a/technical/api-history-graph.html b/technical/api-history-graph.html new file mode 100644 index 000000000..a0e0231e5 --- /dev/null +++ b/technical/api-history-graph.html @@ -0,0 +1,508 @@ + + + + + + +history graph API + + + +
+
+

The graph API is used to draw a text-based representation of the commit +history. The API generates the graph in a line-by-line fashion.

+
+
+

Functions

+
+

Core functions:

+
    +
  • +

    +graph_init() creates a new struct git_graph +

    +
  • +
  • +

    +graph_release() destroys a struct git_graph, and frees the memory + associated with it. +

    +
  • +
  • +

    +graph_update() moves the graph to a new commit. +

    +
  • +
  • +

    +graph_next_line() outputs the next line of the graph into a strbuf. It + does not add a terminating newline. +

    +
  • +
  • +

    +graph_padding_line() outputs a line of vertical padding in the graph. It + is similar to graph_next_line(), but is guaranteed to never print the line + containing the current commit. Where graph_next_line() would print the + commit line next, graph_padding_line() prints a line that simply extends + all branch lines downwards one row, leaving their positions unchanged. +

    +
  • +
  • +

    +graph_is_commit_finished() determines if the graph has output all lines + necessary for the current commit. If graph_update() is called before all + lines for the current commit have been printed, the next call to + graph_next_line() will output an ellipsis, to indicate that a portion of + the graph was omitted. +

    +
  • +
+

The following utility functions are wrappers around graph_next_line() and +graph_is_commit_finished(). They always print the output to stdout. +They can all be called with a NULL graph argument, in which case no graph +output will be printed.

+
    +
  • +

    +graph_show_commit() calls graph_next_line() until it returns non-zero. + This prints all graph lines up to, and including, the line containing this + commit. Output is printed to stdout. The last line printed does not contain + a terminating newline. This should not be called if the commit line has + already been printed, or it will loop forever. +

    +
  • +
  • +

    +graph_show_oneline() calls graph_next_line() and prints the result to + stdout. The line printed does not contain a terminating newline. +

    +
  • +
  • +

    +graph_show_padding() calls graph_padding_line() and prints the result to + stdout. The line printed does not contain a terminating newline. +

    +
  • +
  • +

    +graph_show_remainder() calls graph_next_line() until + graph_is_commit_finished() returns non-zero. Output is printed to stdout. + The last line printed does not contain a terminating newline. Returns 1 if + output was printed, and 0 if no output was necessary. +

    +
  • +
  • +

    +graph_show_strbuf() prints the specified strbuf to stdout, prefixing all + lines but the first with a graph line. The caller is responsible for + ensuring graph output for the first line has already been printed to stdout. + (This can be done with graph_show_commit() or graph_show_oneline().) If + a NULL graph is supplied, the strbuf is printed as-is. +

    +
  • +
  • +

    +graph_show_commit_msg() is similar to graph_show_strbuf(), but it also + prints the remainder of the graph, if more lines are needed after the strbuf + ends. It is better than directly calling graph_show_strbuf() followed by + graph_show_remainder() since it properly handles buffers that do not end in + a terminating newline. The output printed by graph_show_commit_msg() will + end in a newline if and only if the strbuf ends in a newline. +

    +
  • +
+
+

Data structure

+
+

struct git_graph is an opaque data type used to store the current graph +state.

+
+

Calling sequence

+
+
    +
  • +

    +Create a struct git_graph by calling graph_init(). When using the + revision walking API, this is done automatically by setup_revisions() if + the —graph option is supplied. +

    +
  • +
  • +

    +Use the revision walking API to walk through a group of contiguous commits. + The get_revision() function automatically calls graph_update() each time + it is invoked. +

    +
  • +
  • +

    +For each commit, call graph_next_line() repeatedly, until + graph_is_commit_finished() returns non-zero. Each call go + graph_next_line() will output a single line of the graph. The resulting + lines will not contain any newlines. graph_next_line() returns 1 if the + resulting line contains the current commit, or 0 if this is merely a line + needed to adjust the graph before or after the current commit. This return + value can be used to determine where to print the commit summary information + alongside the graph output. +

    +
  • +
+
+

Limitations

+
+
    +
  • +

    +graph_update() must be called with commits in topological order. It should + not be called on a commit if it has already been invoked with an ancestor of + that commit, or the graph output will be incorrect. +

    +
  • +
  • +

    +graph_update() must be called on a contiguous group of commits. If + graph_update() is called on a particular commit, it should later be called + on all parents of that commit. Parents must not be skipped, or the graph + output will appear incorrect. +

    +

    graph_update() may be used on a pruned set of commits only if the parent list +has been rewritten so as to include only ancestors from the pruned set.

    +
  • +
  • +

    +The graph API does not currently support reverse commit ordering. In + order to implement reverse ordering, the graphing API needs an + (efficient) mechanism to find the children of a commit. +

    +
  • +
+
+

Sample usage

+
+
+
+
struct commit *commit;
+struct git_graph *graph = graph_init();
+
+while ((commit = get_revision(opts)) != NULL) {
+        graph_update(graph, commit);
+        while (!graph_is_commit_finished(graph))
+        {
+                struct strbuf sb;
+                int is_commit_line;
+
+                strbuf_init(&sb, 0);
+                is_commit_line = graph_next_line(graph, &sb);
+                fputs(sb.buf, stdout);
+
+                if (is_commit_line)
+                        log_tree_commit(opts, commit);
+                else
+                        putchar(opts->diffopt.line_termination);
+        }
+}
+
+graph_release(graph);
+
+
+

Sample output

+
+

The following is an example of the output from the graph API. This output does +not include any commit summary information—callers are responsible for +outputting that information, if desired.

+
+
+
*
+*
+M
+|\
+* |
+| | *
+| \ \
+|  \ \
+M-. \ \
+|\ \ \ \
+| | * | |
+| | | | | *
+| | | | | *
+| | | | | M
+| | | | | |\
+| | | | | | *
+| * | | | | |
+| | | | | M  \
+| | | | | |\  |
+| | | | * | | |
+| | | | * | | |
+* | | | | | | |
+| |/ / / / / /
+|/| / / / / /
+* | | | | | |
+|/ / / / / /
+* | | | | |
+| | | | | *
+| | | | |/
+| | | | *
+
+
+ + + diff --git a/technical/api-history-graph.txt b/technical/api-history-graph.txt new file mode 100644 index 000000000..ce1c08ee8 --- /dev/null +++ b/technical/api-history-graph.txt @@ -0,0 +1,179 @@ +history graph API +================= + +The graph API is used to draw a text-based representation of the commit +history. The API generates the graph in a line-by-line fashion. + +Functions +--------- + +Core functions: + +* `graph_init()` creates a new `struct git_graph` + +* `graph_release()` destroys a `struct git_graph`, and frees the memory + associated with it. + +* `graph_update()` moves the graph to a new commit. + +* `graph_next_line()` outputs the next line of the graph into a strbuf. It + does not add a terminating newline. + +* `graph_padding_line()` outputs a line of vertical padding in the graph. It + is similar to `graph_next_line()`, but is guaranteed to never print the line + containing the current commit. Where `graph_next_line()` would print the + commit line next, `graph_padding_line()` prints a line that simply extends + all branch lines downwards one row, leaving their positions unchanged. + +* `graph_is_commit_finished()` determines if the graph has output all lines + necessary for the current commit. If `graph_update()` is called before all + lines for the current commit have been printed, the next call to + `graph_next_line()` will output an ellipsis, to indicate that a portion of + the graph was omitted. + +The following utility functions are wrappers around `graph_next_line()` and +`graph_is_commit_finished()`. They always print the output to stdout. +They can all be called with a NULL graph argument, in which case no graph +output will be printed. + +* `graph_show_commit()` calls `graph_next_line()` until it returns non-zero. + This prints all graph lines up to, and including, the line containing this + commit. Output is printed to stdout. The last line printed does not contain + a terminating newline. This should not be called if the commit line has + already been printed, or it will loop forever. + +* `graph_show_oneline()` calls `graph_next_line()` and prints the result to + stdout. The line printed does not contain a terminating newline. + +* `graph_show_padding()` calls `graph_padding_line()` and prints the result to + stdout. The line printed does not contain a terminating newline. + +* `graph_show_remainder()` calls `graph_next_line()` until + `graph_is_commit_finished()` returns non-zero. Output is printed to stdout. + The last line printed does not contain a terminating newline. Returns 1 if + output was printed, and 0 if no output was necessary. + +* `graph_show_strbuf()` prints the specified strbuf to stdout, prefixing all + lines but the first with a graph line. The caller is responsible for + ensuring graph output for the first line has already been printed to stdout. + (This can be done with `graph_show_commit()` or `graph_show_oneline()`.) If + a NULL graph is supplied, the strbuf is printed as-is. + +* `graph_show_commit_msg()` is similar to `graph_show_strbuf()`, but it also + prints the remainder of the graph, if more lines are needed after the strbuf + ends. It is better than directly calling `graph_show_strbuf()` followed by + `graph_show_remainder()` since it properly handles buffers that do not end in + a terminating newline. The output printed by `graph_show_commit_msg()` will + end in a newline if and only if the strbuf ends in a newline. + +Data structure +-------------- +`struct git_graph` is an opaque data type used to store the current graph +state. + +Calling sequence +---------------- + +* Create a `struct git_graph` by calling `graph_init()`. When using the + revision walking API, this is done automatically by `setup_revisions()` if + the '--graph' option is supplied. + +* Use the revision walking API to walk through a group of contiguous commits. + The `get_revision()` function automatically calls `graph_update()` each time + it is invoked. + +* For each commit, call `graph_next_line()` repeatedly, until + `graph_is_commit_finished()` returns non-zero. Each call go + `graph_next_line()` will output a single line of the graph. The resulting + lines will not contain any newlines. `graph_next_line()` returns 1 if the + resulting line contains the current commit, or 0 if this is merely a line + needed to adjust the graph before or after the current commit. This return + value can be used to determine where to print the commit summary information + alongside the graph output. + +Limitations +----------- + +* `graph_update()` must be called with commits in topological order. It should + not be called on a commit if it has already been invoked with an ancestor of + that commit, or the graph output will be incorrect. + +* `graph_update()` must be called on a contiguous group of commits. If + `graph_update()` is called on a particular commit, it should later be called + on all parents of that commit. Parents must not be skipped, or the graph + output will appear incorrect. ++ +`graph_update()` may be used on a pruned set of commits only if the parent list +has been rewritten so as to include only ancestors from the pruned set. + +* The graph API does not currently support reverse commit ordering. In + order to implement reverse ordering, the graphing API needs an + (efficient) mechanism to find the children of a commit. + +Sample usage +------------ + +------------ +struct commit *commit; +struct git_graph *graph = graph_init(); + +while ((commit = get_revision(opts)) != NULL) { + graph_update(graph, commit); + while (!graph_is_commit_finished(graph)) + { + struct strbuf sb; + int is_commit_line; + + strbuf_init(&sb, 0); + is_commit_line = graph_next_line(graph, &sb); + fputs(sb.buf, stdout); + + if (is_commit_line) + log_tree_commit(opts, commit); + else + putchar(opts->diffopt.line_termination); + } +} + +graph_release(graph); +------------ + +Sample output +------------- + +The following is an example of the output from the graph API. This output does +not include any commit summary information--callers are responsible for +outputting that information, if desired. + +------------ +* +* +M +|\ +* | +| | * +| \ \ +| \ \ +M-. \ \ +|\ \ \ \ +| | * | | +| | | | | * +| | | | | * +| | | | | M +| | | | | |\ +| | | | | | * +| * | | | | | +| | | | | M \ +| | | | | |\ | +| | | | * | | | +| | | | * | | | +* | | | | | | | +| |/ / / / / / +|/| / / / / / +* | | | | | | +|/ / / / / / +* | | | | | +| | | | | * +| | | | |/ +| | | | * +------------ diff --git a/technical/api-index.html b/technical/api-index.html index 58fc703f9..6ae6947b4 100644 --- a/technical/api-index.html +++ b/technical/api-index.html @@ -308,6 +308,11 @@ documents them.

  • +history graph API +

    +
  • +
  • +

    in-core index API

  • @@ -377,7 +382,7 @@ documents them.

    diff --git a/technical/api-index.txt b/technical/api-index.txt index 6c272fc08..4a1190de6 100644 --- a/technical/api-index.txt +++ b/technical/api-index.txt @@ -15,6 +15,7 @@ documents them. * link:api-gitattributes.html[gitattributes API] * link:api-grep.html[grep API] * link:api-hash.html[hash API] +* link:api-history-graph.html[history graph API] * link:api-in-core-index.html[in-core index API] * link:api-lockfile.html[lockfile API] * link:api-object-access.html[object access API]