{"thread":{"id":"5319","subject":"[PATCH] git-apply: document remaining options in the man page","startedAt":"2006-08-18T08:45:45Z","lastAt":"2006-08-25T01:07:46Z","messageCount":9,"participants":["Jonas Fonseca","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"25529","messageId":"20060818084545.GB4717@diku.dk","threadId":"5319","inReplyTo":null,"subject":"[PATCH] git-apply: document remaining options in the man page","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2006-08-18T08:45:45Z","receivedAt":"2006-08-18T08:45:45Z","isPatch":true,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"Signed-off-by: Jonas Fonseca <fonseca@diku.dk>\n---\n\n[ On top of next if that matters. ]\n\nI'm not sure if I got the --exclude note right, which says that running\napply from a subdirectory automatically excludes files outside the\nsubdirectory. As I mention below it looks like this excluding is only\ndone when --index or --cached is specified. It led me to investigate a\nbit further and I think I might have found an issue or two.\n\nI was playing with the prefix checking in use_patch() to try and see if\nI could break it. I noticed that the patch filename will be prefixed\nwith the prefix, but not the paths in the patch. This means that if I\napply a patch created with a non-git diff for a file in a directory\nwith a name longer than the changed file it will not be applied, e.g.\ngit-am.txt in Documentation. So\n\n\tv1.4.2-g169bec6:git/Documentation > git apply --index git-am.diff\n\nwill silently drop the change. Or maybe it is just me who doesn't know\nhow to see diffs in the index (git-diff-index reports no change to\nDocumentation/git-am.txt). The code from use_patch():\n\n        if (0 < prefix_length) { /* strlen(\"Documentation\") = 13 */\n\t\tint pathlen = strlen(\"git-am.txt\"); /* = 10 */\n\t\tif (pathlen <= prefix_length ||\n\t\t    memcmp(prefix, pathname, prefix_length))\n\t\t\treturn 0;\n\t}\n\nAnyway, the prefix check is only ever performed when using --index or\n--cached. These options doesn't seem to support being run from a\nsubdirectories if the patch is given on stdin:\n\n\tv1.4.2-g169bec6:git/Documentation > git apply --cached < git-am.diff\n\tfatal: unable to create '.git/index': No such file or directory\n\nI can make a follow-up patch if this is the way it's supposed to work.\nIn that case a better error message might be good to clearify things.\n\nLastly, `log -S<option>` is so great when doing these man pages updates\nand you, like me, don't know the code very well, since you can \"just\"\nparaphrase the commit message that will sometimes also describe the\nscenario where the option is applicable. :)\n\n Documentation/git-apply.txt |   28 +++++++++++++++++++++++-----\n 1 files changed, 23 insertions(+), 5 deletions(-)\n\ndiff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt\nindex f1ab1f9..33d63a4 100644\n--- a/Documentation/git-apply.txt\n+++ b/Documentation/git-apply.txt\n@@ -10,9 +10,9 @@ SYNOPSIS\n --------\n [verse]\n 'git-apply' [--stat] [--numstat] [--summary] [--check] [--index] [--apply]\n-\t  [--no-add] [--index-info] [--allow-binary-replacement]\n-\t  [--reverse] [-z] [-pNUM]\n-\t  [-CNUM] [--whitespace=<nowarn|warn|error|error-all|strip>]\n+\t  [--no-add] [--index-info] [--allow-binary-replacement | --binary]\n+\t  [-R | --reverse] [-z] [-pNUM] [-CNUM] [--inaccurate-eof] [--cached]\n+\t  [--whitespace=<nowarn|warn|error|error-all|strip>] [--exclude=PATH]\n \t  [<patch>...]\n \n DESCRIPTION\n@@ -56,6 +56,11 @@ OPTIONS\n \tup-to-date, it is flagged as an error.  This flag also\n \tcauses the index file to be updated.\n \n+--cached::\n+\tApply a patch without touching the working tree. Instead, take the\n+\tcached data, apply the patch, and store the result in the index,\n+\twithout using the working tree. This implies '--index'.\n+\n --index-info::\n \tNewer git-diff output has embedded 'index information'\n \tfor each blob to help identify the original version that\n@@ -63,7 +68,7 @@ OPTIONS\n \tthe original version of the blob is available locally,\n \toutputs information about them to the standard output.\n \n---reverse::\n+-R, --reverse::\n \tApply the patch in reverse.\n \n -z::\n@@ -97,7 +102,7 @@ OPTIONS\n \tthe result with this option, which would apply the\n \tdeletion part but not addition part.\n \n---allow-binary-replacement::\n+--allow-binary-replacement, --binary::\n \tWhen applying a patch, which is a git-enhanced patch\n \tthat was prepared to record the pre- and post-image object\n \tname in full, and the path being patched exactly matches\n@@ -108,6 +113,13 @@ OPTIONS\n \tresult.  This allows binary files to be patched in a\n \tvery limited way.\n \n+--exclude=<path-pattern>::\n+\tDon't apply changes to files matching the given path pattern. This can\n+\tbe useful when importing patchsets, where you want to exclude certain\n+\tfiles or directories. Note, if you run git-apply from a subdirectory\n+\tit will automatically exclude changes for files outside the\n+\tsubdirectory.\n+\n --whitespace=<option>::\n \tWhen applying a patch, detect a new or modified line\n \tthat ends with trailing whitespaces (this includes a\n@@ -128,6 +140,12 @@ OPTIONS\n * `strip` outputs warnings for a few such errors, strips out the\n   trailing whitespaces and applies the patch.\n \n+--inacurate-eof::\n+\tUnder certain circumstances, some versions of diff do not correctly\n+\tdetect a missing new-line at the end of the file. As a result, patches\n+\tcreated by such diff programs do not record incomplete lines\n+\tcorrectly. This option adds support for applying such patches by\n+\tworking around this bug.\n \n Configuration\n -------------\n\n-- \nJonas Fonseca\n"},{"id":"25533","messageId":"7virkqbcq3.fsf@assigned-by-dhcp.cox.net","threadId":"5319","inReplyTo":"20060818084545.GB4717@diku.dk","subject":"Re: [PATCH] git-apply: document remaining options in the man page","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-08-18T09:43:48Z","receivedAt":"2006-08-18T09:43:48Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jonas Fonseca <fonseca@diku.dk> writes:\n\n> Signed-off-by: Jonas Fonseca <fonseca@diku.dk>\n> ---\n>\n> [ On top of next if that matters. ]\n\nI'd appreciate if you can hold this off for a while; I'll be\nupdating git-apply a bit further, to add --verbose (\"patching\nfoo...\", \"rejected hunk #4\", etc.) and perhaps --clobber (apply\nto working tree files that have local modifications), together\nwith --reject (apply hunks that could, while leaving\nunapplicable ones out).  I've been reluctant to spray .rej files\nall over the tree and was planning to spit all into a single\nstream (stdout), which is what is on \"pu\" now, but I changed my\nmind and decided to mimic what other people do (that format is\nmore useful to work with because other tools like wiggle expect\n.rej files next to the target files).\n\n> I'm not sure if I got the --exclude note right, which says that running\n> apply from a subdirectory automatically excludes files outside the\n> subdirectory.\n\nI was thinking about dropping the exclude altogether, actually.\n\nAlso I've never thought about the possibility of anybody running\ngit-apply from a subdirectory.  git diffs by design always come\nwith full paths from the project toplevel, so I simply had a\npreconception that everybody understood that applying would also\nbe always from the toplevel.\n\nDon't get me wrong -- I do not mean to say that running apply\nfrom a subdirectory is wrong.  I just haven't thought about\ndoing so, and need to think the implications through.\n\n> Lastly, `log -S<option>` is so great when doing these man pages updates\n> and you, like me, don't know the code very well, since you can \"just\"\n> paraphrase the commit message that will sometimes also describe the\n> scenario where the option is applicable. :)\n\nPraise pickaxe, and say no to annotate ;-).\n"},{"id":"25874","messageId":"20060825005655.GB4069@diku.dk","threadId":"5319","inReplyTo":"7virkqbcq3.fsf@assigned-by-dhcp.cox.net","subject":"[PATCH 1/7] git-apply(1): document missing options and improve existing ones","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2006-08-25T00:56:55Z","receivedAt":"2006-08-25T00:56:55Z","isPatch":true,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"Signed-off-by: Jonas Fonseca <fonseca@diku.dk>\n---\n Documentation/git-apply.txt |   45 ++++++++++++++++++++++++++++++++-----------\n 1 files changed, 33 insertions(+), 12 deletions(-)\n\nJunio C Hamano <junkio@cox.net> wrote Fri, Aug 18, 2006:\n> Jonas Fonseca <fonseca@diku.dk> writes:\n> > [ On top of next if that matters. ]\n> \n> I'd appreciate if you can hold this off for a while;\n> I'll be updating git-apply a bit further [...]\n\nI don't know if it's been a while, but I see that some of the changes\nyou mentioned has migrated to 'next', so here's an updated patch plus\na few other documentation updates that I did in the train today.\n\nChanges to the former patch includes adding --verbose description and\nremoving the part about subdirectories from the patch.\n\n> > I'm not sure if I got the --exclude note right, which says that\n> > running apply from a subdirectory automatically excludes files\n> > outside the subdirectory.\n> \n> I was thinking about dropping the exclude altogether, actually.\n\nIt does sound a bit special and mostly suited for batch work.\n\ndiff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt\nindex 11641a9..20e12ce 100644\n--- a/Documentation/git-apply.txt\n+++ b/Documentation/git-apply.txt\n@@ -10,10 +10,10 @@ SYNOPSIS\n --------\n [verse]\n 'git-apply' [--stat] [--numstat] [--summary] [--check] [--index] [--apply]\n-\t  [--no-add] [--index-info] [--allow-binary-replacement]\n-\t  [--reverse] [--reject] [-z] [-pNUM]\n-\t  [-CNUM] [--whitespace=<nowarn|warn|error|error-all|strip>]\n-\t  [<patch>...]\n+\t  [--no-add] [--index-info] [--allow-binary-replacement | --binary]\n+\t  [-R | --reverse] [--reject] [-z] [-pNUM] [-CNUM] [--inaccurate-eof]\n+\t  [--whitespace=<nowarn|warn|error|error-all|strip>] [--exclude=PATH]\n+\t  [--cached] [--verbose] [<patch>...]\n \n DESCRIPTION\n -----------\n@@ -56,6 +56,11 @@ OPTIONS\n \tup-to-date, it is flagged as an error.  This flag also\n \tcauses the index file to be updated.\n \n+--cached::\n+\tApply a patch without touching the working tree. Instead, take the\n+\tcached data, apply the patch, and store the result in the index,\n+\twithout using the working tree. This implies '--index'.\n+\n --index-info::\n \tNewer git-diff output has embedded 'index information'\n \tfor each blob to help identify the original version that\n@@ -63,14 +68,14 @@ OPTIONS\n \tthe original version of the blob is available locally,\n \toutputs information about them to the standard output.\n \n---reverse::\n+-R, --reverse::\n \tApply the patch in reverse.\n \n --reject::\n-\tFor atomicity, `git apply` fails the whole patch and\n+\tFor atomicity, gitlink:git-apply[1] by default fails the whole patch and\n \tdoes not touch the working tree when some of the hunks\n-\tdo not apply by default.  This option makes it apply\n-\tparts of the patch that are applicable, and send the\n+\tdo not apply.  This option makes it apply\n+\tthe parts of the patch that are applicable, and send the\n \trejected hunks to the standard output of the command.\n \n -z::\n@@ -91,8 +96,8 @@ OPTIONS\n \tever ignored.\n \n --apply::\n-\tIf you use any of the options marked ``Turns off\n-\t\"apply\"'' above, git-apply reads and outputs the\n+\tIf you use any of the options marked \"Turns off\n+\t'apply'\" above, gitlink:git-apply[1] reads and outputs the\n \tinformation you asked without actually applying the\n \tpatch.  Give this flag after those flags to also apply\n \tthe patch.\n@@ -104,7 +109,7 @@ OPTIONS\n \tthe result with this option, which would apply the\n \tdeletion part but not addition part.\n \n---allow-binary-replacement::\n+--allow-binary-replacement, --binary::\n \tWhen applying a patch, which is a git-enhanced patch\n \tthat was prepared to record the pre- and post-image object\n \tname in full, and the path being patched exactly matches\n@@ -115,13 +120,18 @@ OPTIONS\n \tresult.  This allows binary files to be patched in a\n \tvery limited way.\n \n+--exclude=<path-pattern>::\n+\tDon't apply changes to files matching the given path pattern. This can\n+\tbe useful when importing patchsets, where you want to exclude certain\n+\tfiles or directories.\n+\n --whitespace=<option>::\n \tWhen applying a patch, detect a new or modified line\n \tthat ends with trailing whitespaces (this includes a\n \tline that solely consists of whitespaces).  By default,\n \tthe command outputs warning messages and applies the\n \tpatch.\n-\tWhen `git-apply` is used for statistics and not applying a\n+\tWhen gitlink:git-apply[1] is used for statistics and not applying a\n \tpatch, it defaults to `nowarn`.\n \tYou can use different `<option>` to control this\n \tbehavior:\n@@ -135,6 +145,17 @@ OPTIONS\n * `strip` outputs warnings for a few such errors, strips out the\n   trailing whitespaces and applies the patch.\n \n+--inacurate-eof::\n+\tUnder certain circumstances, some versions of diff do not correctly\n+\tdetect a missing new-line at the end of the file. As a result, patches\n+\tcreated by such diff programs do not record incomplete lines\n+\tcorrectly. This option adds support for applying such patches by\n+\tworking around this bug.\n+\n+--verbose::\n+\tReport progress to stderr. By default, only a message about the\n+\tcurrent patch being applied will be printed. This option will cause\n+\tadditional information to be reported.\n \n Configuration\n -------------\n-- \n1.4.2.GIT\n\n\n-- \nJonas Fonseca\n"},{"id":"25875","messageId":"20060825005820.GC4069@diku.dk","threadId":"5319","inReplyTo":"20060825005655.GB4069@diku.dk","subject":"[PATCH 2/7] git-ls-remote(1): document --upload-pack","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2006-08-25T00:58:20Z","receivedAt":"2006-08-25T00:58:20Z","isPatch":true,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"... and mention that '.' will list the local repo references.\n\nSigned-off-by: Jonas Fonseca <fonseca@diku.dk>\n---\n Documentation/git-ls-remote.txt |   18 ++++++++++++++----\n 1 files changed, 14 insertions(+), 4 deletions(-)\n\ndiff --git a/Documentation/git-ls-remote.txt b/Documentation/git-ls-remote.txt\nindex ae4c1a2..c8a4c5a 100644\n--- a/Documentation/git-ls-remote.txt\n+++ b/Documentation/git-ls-remote.txt\n@@ -3,16 +3,19 @@ git-ls-remote(1)\n \n NAME\n ----\n-git-ls-remote - Look at references other repository has\n+git-ls-remote - List references in a remote repository\n \n \n SYNOPSIS\n --------\n-'git-ls-remote' [--heads] [--tags] <repository> <refs>...\n+[verse]\n+'git-ls-remote' [--heads] [--tags]  [-u <exec> | --upload-pack <exec>]\n+\t      <repository> <refs>...\n \n DESCRIPTION\n -----------\n-Displays the references other repository has.\n+Displays references available in a remote repository along with the associated\n+commit IDs.\n \n \n OPTIONS\n@@ -23,9 +26,16 @@ OPTIONS\n \tboth, references stored in refs/heads and refs/tags are\n \tdisplayed.\n \n+-u <exec>, --upload-pack=<exec>::\n+\tSpecify the full path of gitlink:git-upload-pack[1] on the remote\n+\thost. This allows listing references from repositories accessed via\n+\tSSH and where the SSH deamon does not use the PATH configured by the\n+\tuser. Also see the '--exec' option for gitlink:git-peek-remote[1].\n+\n <repository>::\n \tLocation of the repository.  The shorthand defined in\n-\t$GIT_DIR/branches/ can be used.\n+\t$GIT_DIR/branches/ can be used. Use \".\" (dot) to list references in\n+\tthe local repository.\n \n <refs>...::\n \tWhen unspecified, all references, after filtering done\n-- \n1.4.2.GIT\n\n-- \nJonas Fonseca\n"},{"id":"25876","messageId":"20060825010149.GD4069@diku.dk","threadId":"5319","inReplyTo":"20060825005820.GC4069@diku.dk","subject":"[PATCH 3/7] git-blame(1): mention options in the synopsis and advertise pickaxe","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2006-08-25T01:01:49Z","receivedAt":"2006-08-25T01:01:49Z","isPatch":true,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"Inspired by the cvs annotate documentation improve and expand the man page\nto also mention the limitations of file annotations. Since people coming\nfrom the SVN/CVS world might first look here, also briefly advertise how\nthe pickaxe interface makes it easy to go beyond these limitation.\n\nSigned-off-by: Jonas Fonseca <fonseca@diku.dk>\n---\n Documentation/git-blame.txt |   29 +++++++++++++++++++++++------\n 1 files changed, 23 insertions(+), 6 deletions(-)\n\nThe advertising might be a bit too much, as in not belonging there.\n\ndiff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt\nindex bfed945..e1f8944 100644\n--- a/Documentation/git-blame.txt\n+++ b/Documentation/git-blame.txt\n@@ -3,21 +3,38 @@ git-blame(1)\n \n NAME\n ----\n-git-blame - Blame file lines on commits\n+git-blame - Show what revision and author last modified each line of a file\n \n SYNOPSIS\n --------\n-git-blame file [options] file [revision]\n+'git-blame' [-c] [-l] [-t] [-S <revs-file>] [--] <file> [<rev>]\n \n DESCRIPTION\n -----------\n-Annotates each line in the given file with information from the commit\n-which introduced the line. Start annotation from the given revision.\n+\n+Annotates each line in the given file with information from the revision which\n+last modified the line. Optionally, start annotating from the given revision.\n+\n+This report doesn't tell you anything about lines which have been deleted or\n+replaced; you need to use a tool such as gitlink:git-diff[1] or the \"pickaxe\"\n+interface briefly mentioned in the following paragraph.\n+\n+Apart from supporting file annotation, git also supports searching the\n+development history for when a code snippet occured in a change. This makes it\n+possible to track when a code snippet was added to a file, moved or copied\n+between files, and eventually deleted or replaced. It works by searching for\n+a text string in the diff. A small example:\n+\n+-----------------------------------------------------------------------------\n+$ git log --pretty=oneline -S'blame_usage'\n+5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <ancestry-file>\n+ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output\n+-----------------------------------------------------------------------------\n \n OPTIONS\n -------\n -c, --compatibility::\n-\tUse the same output mode as git-annotate (Default: off).\n+\tUse the same output mode as gitlink:git-annotate[1] (Default: off).\n \n -l, --long::\n \tShow long rev (Default: off).\n@@ -26,7 +43,7 @@ OPTIONS\n \tShow raw timestamp (Default: off).\n \n -S, --rev-file <revs-file>::\n-\tUse revs from revs-file instead of calling git-rev-list.\n+\tUse revs from revs-file instead of calling gitlink:git-rev-list[1].\n \n -h, --help::\n \tShow help message.\n-- \n1.4.2.GIT\n\n\n-- \nJonas Fonseca\n"},{"id":"25877","messageId":"20060825010458.GE4069@diku.dk","threadId":"5319","inReplyTo":"20060825010149.GD4069@diku.dk","subject":"[PATCH 4/7] gitk(1): expand the manpage to look less like a template","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2006-08-25T01:04:58Z","receivedAt":"2006-08-25T01:04:58Z","isPatch":true,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"Add a short description and document a few selected options additionally to\nthe different \"entities\" in the standard calling convention. Advertise\nother git repository browsers. Lastly, climb Mount Ego.\n\nSigned-off-by: Jonas Fonseca <fonseca@diku.dk>\n---\n Documentation/gitk.txt |   60 ++++++++++++++++++++++++++++++++++++++++--------\n 1 files changed, 50 insertions(+), 10 deletions(-)\n\ndiff --git a/Documentation/gitk.txt b/Documentation/gitk.txt\nindex cb482bf..23be005 100644\n--- a/Documentation/gitk.txt\n+++ b/Documentation/gitk.txt\n@@ -3,26 +3,52 @@ gitk(1)\n \n NAME\n ----\n-gitk - Some git command not yet documented.\n-\n+gitk - git repository browser\n \n SYNOPSIS\n --------\n-'gitk' [ --option ] <args>...\n+'gitk' [<option>...] [<revs>] [--] [<path>...]\n \n DESCRIPTION\n -----------\n-Does something not yet documented.\n+Displays changes in a repository or a selected set of commits. This includes\n+visualizing the commit graph, showing information related to each commit, and\n+the files in the trees of each revision.\n \n+Historically, gitk was the first repository browser. It's written in tcl/tk\n+and started off in a separate repository but was later merged into the main\n+git repository.\n \n OPTIONS\n -------\n---option::\n-\tSome option not yet documented.\n+To control which revisions to shown, the command takes options applicable to\n+the gitlink:git-rev-list[1] command. This manual page describes only the most\n+frequently used options.\n+\n+-n <number>, --max-count=<number>::\n+\n+\tLimits the number of commits to show.\n+\n+--since=<date>::\n+\n+\tShow commits more recent than a specific date.\n+\n+--until=<date>::\n+\n+\tShow commits older than a specific date.\n \n-<args>...::\n-\tSome argument not yet documented.\n+<revs>::\n \n+\tLimit the revisions to show. This can be either a single revision\n+\tmeaning show from the given revision and back, or it can be a range in\n+\tthe form \"'<from>'..'<to>'\" to show all revisions between '<from>' and\n+\tback to '<to>'. Note, more advanced revision selection can be applied.\n+\n+<path>::\n+\n+\tLimit commits to the ones touching files in the given paths. Note, to\n+\tavoid ambiguity wrt. revision names use \"--\" to separate the paths\n+\tfrom any preceeding options.\n \n Examples\n --------\n@@ -37,13 +63,27 @@ gitk --since=\"2 weeks ago\" \\-- gitk::\n \tThe \"--\" is necessary to avoid confusion with the *branch* named\n \t'gitk'\n \n+See Also\n+--------\n+'qgit(1)'::\n+\tA repository browser written in C++ using Qt.\n+\n+'gitview(1)'::\n+\tA repository browser written in Python using Gtk. It's based on\n+\t'bzrk(1)' and distributed in the contrib area of the git repository.\n+\n+'tig(1)'::\n+\tA minimal repository browser and git tool output highlighter written\n+\tin C using Ncurses.\n+\n Author\n ------\n-Written by Paul Mackerras <paulus@samba.org>\n+Written by Paul Mackerras <paulus@samba.org>.\n \n Documentation\n --------------\n-Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.\n+Documentation by Junio C Hamano, Jonas Fonseca, and the git-list\n+<git@vger.kernel.org>.\n \n GIT\n ---\n-- \n1.4.2.GIT\n\n\n-- \nJonas Fonseca\n"},{"id":"25878","messageId":"20060825010548.GF4069@diku.dk","threadId":"5319","inReplyTo":"20060825010458.GE4069@diku.dk","subject":"[PATCH 5/7] git(7): put the synopsis in a verse style paragraph","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2006-08-25T01:05:48Z","receivedAt":"2006-08-25T01:05:48Z","isPatch":true,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"... so it wraps properly in small terminals.\n\nSigned-off-by: Jonas Fonseca <fonseca@diku.dk>\n---\n Documentation/git.txt |    3 ++-\n 1 files changed, 2 insertions(+), 1 deletions(-)\n\ndiff --git a/Documentation/git.txt b/Documentation/git.txt\nindex 3de5fa9..a9c87e3 100644\n--- a/Documentation/git.txt\n+++ b/Documentation/git.txt\n@@ -8,8 +8,9 @@ git - the stupid content tracker\n \n SYNOPSIS\n --------\n+[verse]\n 'git' [--version] [--exec-path[=GIT_EXEC_PATH]] [-p|--paginate]\n-\t[--bare] [--git-dir=GIT_DIR] [--help] COMMAND [ARGS]\n+    [--bare] [--git-dir=GIT_DIR] [--help] COMMAND [ARGS]\n \n DESCRIPTION\n -----------\n-- \n1.4.2.GIT\n\n-- \nJonas Fonseca\n"},{"id":"25879","messageId":"20060825010650.GG4069@diku.dk","threadId":"5319","inReplyTo":"20060825010548.GF4069@diku.dk","subject":"[PATCH 6/7] gitview.txt: improve asciidoc markup","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2006-08-25T01:06:50Z","receivedAt":"2006-08-25T01:06:50Z","isPatch":true,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"Signed-off-by: Jonas Fonseca <fonseca@diku.dk>\n---\n contrib/gitview/gitview.txt |   56 +++++++++++++++++++++++++------------------\n 1 files changed, 33 insertions(+), 23 deletions(-)\n\ndiff --git a/contrib/gitview/gitview.txt b/contrib/gitview/gitview.txt\nindex 6924df2..77c29de 100644\n--- a/contrib/gitview/gitview.txt\n+++ b/contrib/gitview/gitview.txt\n@@ -7,40 +7,50 @@ gitview - A GTK based repository browser\n \n SYNOPSIS\n --------\n-'gitview'  [options] [args]\n+'gitview' [options] [args]\n \n DESCRIPTION\n ---------\n \n-Dependencies\n+Dependencies:\n \n * Python 2.4\n * PyGTK 2.8 or later\n * PyCairo 1.0 or later\n \n OPTIONS\n-------\n-\t--without-diff\n-\t\tIf the user doesn't want to list the commit diffs in the main window. This may speed up the repository browsing.\n-\n-\t<args>\n-\t\tAll the valid option for git-rev-list(1)\n-\tKey Bindings:\n-\tF4:\n-\t\tTo maximize the window\n-\tF5:\n-\t\tTo reread references.\n-\tF11:\n-\t\tFull screen\n-\tF12:\n-\t\tLeave full screen\n+-------\n+--without-diff::\n+\n+\tIf the user doesn't want to list the commit diffs in the main window.\n+\tThis may speed up the repository browsing.\n+\n+<args>::\n+\n+\tAll the valid option for gitlink:git-rev-list[1].\n+\n+Key Bindings\n+------------\n+F4::\n+\tTo maximize the window\n+\n+F5::\n+\tTo reread references.\n+\n+F11::\n+\tFull screen\n+\n+F12::\n+\tLeave full screen\n \n EXAMPLES\n-------\n-\tgitview v2.6.12.. include/scsi drivers/scsi\n-\t  Show as the changes since version v2.6.12 that changed any file in the include/scsi\n-\t  or drivers/scsi subdirectories\n+--------\n+\n+gitview v2.6.12.. include/scsi drivers/scsi::\n+\n+\tShow as the changes since version v2.6.12 that changed any file in the\n+\tinclude/scsi or drivers/scsi subdirectories\n \n-\tgitview --since=2.weeks.ago\n-\t  Show the changes during the last two weeks\n+gitview --since=2.weeks.ago::\n \n+\tShow the changes during the last two weeks\n-- \n1.4.2.GIT\n\n-- \nJonas Fonseca\n"},{"id":"25880","messageId":"20060825010746.GH4069@diku.dk","threadId":"5319","inReplyTo":"20060825010650.GG4069@diku.dk","subject":"[PATCH 7/7] git-svn(1): improve asciidoc markup","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2006-08-25T01:07:46Z","receivedAt":"2006-08-25T01:07:46Z","isPatch":true,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"Use list continuation to have better wrapping. This accounts for most of\nthe changes because it reindents a lot of text without applying other\nchanges.\n\nUse cross-referencing for interlinking and the gitlink macro for pointing\nto other tools in the git suite.\n\nSigned-off-by: Jonas Fonseca <fonseca@diku.dk>\n---\n Documentation/git-svn.txt |  199 ++++++++++++++++++++++++++-------------------\n 1 files changed, 114 insertions(+), 85 deletions(-)\n\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 7d86809..f21aced 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -12,10 +12,8 @@ SYNOPSIS\n DESCRIPTION\n -----------\n git-svn is a simple conduit for changesets between a single Subversion\n-branch and git.\n-\n-git-svn is not to be confused with git-svnimport.  The were designed\n-with very different goals in mind.\n+branch and git. It is not to be confused with gitlink:git-svnimport[1].\n+They were designed with very different goals in mind.\n \n git-svn is designed for an individual developer who wants a\n bidirectional flow of changesets between a single branch in Subversion\n@@ -34,26 +32,29 @@ git-svnimport is designed for.\n \n COMMANDS\n --------\n-init::\n+--\n+\n+'init'::\n \tCreates an empty git repository with additional metadata\n \tdirectories for git-svn.  The Subversion URL must be specified\n \tas a command-line argument.\n \n-fetch::\n-\tFetch unfetched revisions from the Subversion URL we are\n-\ttracking.  refs/remotes/git-svn will be updated to the\n-\tlatest revision.\n+'fetch'::\n \n-\tNote: You should never attempt to modify the remotes/git-svn\n-\tbranch outside of git-svn.  Instead, create a branch from\n-\tremotes/git-svn and work on that branch.  Use the 'commit'\n-\tcommand (see below) to write git commits back to\n-\tremotes/git-svn.\n+Fetch unfetched revisions from the Subversion URL we are\n+tracking.  refs/remotes/git-svn will be updated to the\n+latest revision.\n \n-\tSee 'Additional Fetch Arguments' if you are interested in\n-\tmanually joining branches on commit.\n+Note: You should never attempt to modify the remotes/git-svn\n+branch outside of git-svn.  Instead, create a branch from\n+remotes/git-svn and work on that branch.  Use the 'commit'\n+command (see below) to write git commits back to\n+remotes/git-svn.\n \n-commit::\n+See '<<fetch-args,Additional Fetch Arguments>>' if you are interested in\n+manually joining branches on commit.\n+\n+'commit'::\n \tCommit specified commit or tree objects to SVN.  This relies on\n \tyour imported fetch data being up-to-date.  This makes\n \tabsolutely no attempts to do patching when committing to SVN, it\n@@ -61,9 +62,9 @@ commit::\n \tcommit.  All merging is assumed to have taken place\n \tindependently of git-svn functions.\n \n-rebuild::\n+'rebuild'::\n \tNot a part of daily usage, but this is a useful command if\n-\tyou've just cloned a repository (using git-clone) that was\n+\tyou've just cloned a repository (using gitlink:git-clone[1]) that was\n \ttracked with git-svn.  Unfortunately, git-clone does not clone\n \tgit-svn metadata and the svn working tree that git-svn uses for\n \tits operations.  This rebuilds the metadata so git-svn can\n@@ -71,130 +72,152 @@ rebuild::\n \tspecified at the command-line if the directory/repository you're\n \ttracking has moved or changed protocols.\n \n-show-ignore::\n+'show-ignore'::\n \tRecursively finds and lists the svn:ignore property on\n \tdirectories.  The output is suitable for appending to\n \tthe $GIT_DIR/info/exclude file.\n \n+--\n+\n OPTIONS\n -------\n+--\n+\n -r <ARG>::\n --revision <ARG>::\n-\tOnly used with the 'fetch' command.\n \n-\tTakes any valid -r<argument> svn would accept and passes it\n-\tdirectly to svn. -r<ARG1>:<ARG2> ranges and \"{\" DATE \"}\" syntax\n-\tis also supported.  This is passed directly to svn, see svn\n-\tdocumentation for more details.\n+Only used with the 'fetch' command.\n \n-\tThis can allow you to make partial mirrors when running fetch.\n+Takes any valid -r<argument> svn would accept and passes it\n+directly to svn. -r<ARG1>:<ARG2> ranges and \"{\" DATE \"}\" syntax\n+is also supported.  This is passed directly to svn, see svn\n+documentation for more details.\n+\t\t\t\t\n+This can allow you to make partial mirrors when running fetch.\n \n -::\n --stdin::\n-\tOnly used with the 'commit' command.\n \n-\tRead a list of commits from stdin and commit them in reverse\n-\torder.  Only the leading sha1 is read from each line, so\n-\tgit-rev-list --pretty=oneline output can be used.\n+Only used with the 'commit' command.\n+\n+Read a list of commits from stdin and commit them in reverse\n+order.  Only the leading sha1 is read from each line, so\n+git-rev-list --pretty=oneline output can be used.\n \n --rmdir::\n-\tOnly used with the 'commit' command.\n \n-\tRemove directories from the SVN tree if there are no files left\n-\tbehind.  SVN can version empty directories, and they are not\n-\tremoved by default if there are no files left in them.  git\n-\tcannot version empty directories.  Enabling this flag will make\n-\tthe commit to SVN act like git.\n+Only used with the 'commit' command.\n \n-\trepo-config key: svn.rmdir\n+Remove directories from the SVN tree if there are no files left\n+behind.  SVN can version empty directories, and they are not\n+removed by default if there are no files left in them.  git\n+cannot version empty directories.  Enabling this flag will make\n+the commit to SVN act like git.\n+\n+repo-config key: svn.rmdir\n \n -e::\n --edit::\n-\tOnly used with the 'commit' command.\n \n-\tEdit the commit message before committing to SVN.  This is off by\n-\tdefault for objects that are commits, and forced on when committing\n-\ttree objects.\n+Only used with the 'commit' command.\n+\n+Edit the commit message before committing to SVN.  This is off by\n+default for objects that are commits, and forced on when committing\n+tree objects.\n \n-\trepo-config key: svn.edit\n+repo-config key: svn.edit\n \n -l<num>::\n --find-copies-harder::\n-\tBoth of these are only used with the 'commit' command.\n \n-\tThey are both passed directly to git-diff-tree see\n-\tgit-diff-tree(1) for more information.\n+Both of these are only used with the 'commit' command.\n \n-\trepo-config key: svn.l\n-\trepo-config key: svn.findcopiesharder\n+They are both passed directly to git-diff-tree see\n+gitlink:git-diff-tree[1] for more information.\n+\n+[verse]\n+repo-config key: svn.l \n+repo-config key: svn.findcopiesharder\n \n -A<filename>::\n --authors-file=<filename>::\n \n-\tSyntax is compatible with the files used by git-svnimport and\n-\tgit-cvsimport:\n+Syntax is compatible with the files used by git-svnimport and\n+git-cvsimport:\n \n ------------------------------------------------------------------------\n-loginname = Joe User <user@example.com>\n+\tloginname = Joe User <user@example.com>\n ------------------------------------------------------------------------\n \n-\tIf this option is specified and git-svn encounters an SVN\n-\tcommitter name that does not exist in the authors-file, git-svn\n-\twill abort operation. The user will then have to add the\n-\tappropriate entry.  Re-running the previous git-svn command\n-\tafter the authors-file is modified should continue operation.\n+If this option is specified and git-svn encounters an SVN\n+committer name that does not exist in the authors-file, git-svn\n+will abort operation. The user will then have to add the\n+appropriate entry.  Re-running the previous git-svn command\n+after the authors-file is modified should continue operation.\n+\n+repo-config key: svn.authors-file\n \n-\trepo-config key: svn.authors-file\n+--\n \n ADVANCED OPTIONS\n ----------------\n+--\n+\n -b<refname>::\n --branch <refname>::\n-\tUsed with 'fetch' or 'commit'.\n+Used with 'fetch' or 'commit'.\n \n-\tThis can be used to join arbitrary git branches to remotes/git-svn\n-\ton new commits where the tree object is equivalent.\n+This can be used to join arbitrary git branches to remotes/git-svn\n+on new commits where the tree object is equivalent.\n \n-\tWhen used with different GIT_SVN_ID values, tags and branches in\n-\tSVN can be tracked this way, as can some merges where the heads\n-\tend up having completely equivalent content.  This can even be\n-\tused to track branches across multiple SVN _repositories_.\n+When used with different GIT_SVN_ID values, tags and branches in\n+SVN can be tracked this way, as can some merges where the heads\n+end up having completely equivalent content.  This can even be\n+used to track branches across multiple SVN _repositories_.\n \n-\tThis option may be specified multiple times, once for each\n-\tbranch.\n+This option may be specified multiple times, once for each\n+branch.\n \n-\trepo-config key: svn.branch\n+repo-config key: svn.branch\n \n -i<GIT_SVN_ID>::\n --id <GIT_SVN_ID>::\n-\tThis sets GIT_SVN_ID (instead of using the environment).  See\n-\tthe section on \"Tracking Multiple Repositories or Branches\" for\n-\tmore information on using GIT_SVN_ID.\n+\n+This sets GIT_SVN_ID (instead of using the environment).  See the\n+section on\n+'<<tracking-multiple-repos,Tracking Multiple Repositories or Branches>>'\n+for more information on using GIT_SVN_ID.\n+\n+--\n \n COMPATIBILITY OPTIONS\n ---------------------\n+--\n+\n --upgrade::\n-\tOnly used with the 'rebuild' command.\n+Only used with the 'rebuild' command.\n \n-\tRun this if you used an old version of git-svn that used\n-\t\"git-svn-HEAD\" instead of \"remotes/git-svn\" as the branch\n-\tfor tracking the remote.\n+Run this if you used an old version of git-svn that used\n+\"git-svn-HEAD\" instead of \"remotes/git-svn\" as the branch\n+for tracking the remote.\n \n --no-ignore-externals::\n-\tOnly used with the 'fetch' and 'rebuild' command.\n+Only used with the 'fetch' and 'rebuild' command.\n+\n+By default, git-svn passes --ignore-externals to svn to avoid\n+fetching svn:external trees into git.  Pass this flag to enable\n+externals tracking directly via git.\n \n-\tBy default, git-svn passes --ignore-externals to svn to avoid\n-\tfetching svn:external trees into git.  Pass this flag to enable\n-\texternals tracking directly via git.\n+Versions of svn that do not support --ignore-externals are\n+automatically detected and this flag will be automatically\n+enabled for them.\n \n-\tVersions of svn that do not support --ignore-externals are\n-\tautomatically detected and this flag will be automatically\n-\tenabled for them.\n+Otherwise, do not enable this flag unless you know what you're\n+doing.\n \n-\tOtherwise, do not enable this flag unless you know what you're\n-\tdoing.\n+repo-config key: svn.noignoreexternals\n \n-\trepo-config key: svn.noignoreexternals\n+--\n \n Basic Examples\n ~~~~~~~~~~~~~~\n@@ -226,6 +249,7 @@ any automated merge/branch tracking on t\n entirely up to the user on the git side.  It's simply not worth it to do\n a useful translation when the original signal is weak.\n \n+[[tracking-multiple-repos]]\n TRACKING MULTIPLE REPOSITORIES OR BRANCHES\n ------------------------------------------\n This is for advanced users, most users should ignore this section.\n@@ -241,6 +265,7 @@ invocation.  The interface branch will b\n remotes/git-svn.  Any remotes/$GIT_SVN_ID branch should never be modified\n by the user outside of git-svn commands.\n \n+[[fetch-args]]\n ADDITIONAL FETCH ARGUMENTS\n --------------------------\n This is for advanced users, most users should ignore this section.\n@@ -251,11 +276,15 @@ optionally be specified in the form of s\n command-line.  Unfetched SVN revisions may also be tied to particular\n git commits with the following syntax:\n \n+------------------------------------------------\n \tsvn_revision_number=git_commit_sha1\n+------------------------------------------------\n \n-This allows you to tie unfetched SVN revision 375 to your current HEAD::\n+This allows you to tie unfetched SVN revision 375 to your current HEAD:\n \n-\t`git-svn fetch 375=$(git-rev-parse HEAD)`\n+------------------------------------------------\n+\tgit-svn fetch 375=$(git-rev-parse HEAD)\n+------------------------------------------------\n \n Advanced Example: Tracking a Reorganized Repository\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n-- \n1.4.2.GIT\n\n-- \nJonas Fonseca\n"}]}