From c11ff120f359bd7bd79c425135f85e1dca5ae252 Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Mon, 26 May 2008 10:11:33 +1000 Subject: [PATCH 01/87] gitk: Handle detached heads better This draws the currently checked-out head with a yellow circle, as suggested by Linus Torvalds, and fixes various places in the code where we assumed that the current head always had a branch. Now we can display the fake commits for local changes on a detached head. Signed-off-by: Paul Mackerras --- gitk | 50 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/gitk b/gitk index 22bcd18a46..fddcb45817 100755 --- a/gitk +++ b/gitk @@ -296,7 +296,7 @@ proc start_rev_list {view} { global startmsecs commitidx viewcomplete curview global commfd leftover tclencoding global viewargs viewargscmd viewfiles vfilelimit - global showlocalchanges commitinterest mainheadid + global showlocalchanges commitinterest global viewactive loginstance viewinstances vmergeonly global pending_select mainheadid global vcanopt vflags vrevs vorigargs @@ -358,7 +358,7 @@ proc start_rev_list {view} { set viewinstances($view) [list $i] set commfd($i) $fd set leftover($i) {} - if {$showlocalchanges} { + if {$showlocalchanges && $mainheadid ne {}} { lappend commitinterest($mainheadid) {dodiffindex} } fconfigure $fd -blocking 0 -translation lf -eofchar {} @@ -406,7 +406,7 @@ proc getcommits {} { proc updatecommits {} { global curview vcanopt vorigargs vfilelimit viewinstances - global viewactive viewcomplete loginstance tclencoding mainheadid + global viewactive viewcomplete loginstance tclencoding global startmsecs commfd showneartags showlocalchanges leftover global mainheadid pending_select global isworktree @@ -1467,7 +1467,6 @@ proc chewcommits {} { if {$viewcomplete($curview)} { global commitidx varctok global numcommits startmsecs - global mainheadid nullid if {[info exists pending_select]} { set row [first_real_row] @@ -1604,12 +1603,10 @@ proc readrefs {} { set mainhead {} set mainheadid {} catch { + set mainheadid [exec git rev-parse HEAD] set thehead [exec git symbolic-ref HEAD] if {[string match "refs/heads/*" $thehead]} { set mainhead [string range $thehead 11 end] - if {[info exists headids($mainhead)]} { - set mainheadid $headids($mainhead) - } } } } @@ -4022,6 +4019,7 @@ proc layoutmore {} { proc doshowlocalchanges {} { global curview mainheadid + if {$mainheadid eq {}} return if {[commitinview $mainheadid $curview]} { dodiffindex } else { @@ -4841,7 +4839,8 @@ proc drawcmittext {id row col} { global cmitlisted commitinfo rowidlist parentlist global rowtextx idpos idtags idheads idotherrefs global linehtag linentag linedtag selectedline - global canvxmax boldrows boldnamerows fgcolor nullid nullid2 + global canvxmax boldrows boldnamerows fgcolor + global mainheadid nullid nullid2 circleitem circlecolors # listed is 0 for boundary, 1 for normal, 2 for negative, 3 for left, 4 for right set listed $cmitlisted($curview,$id) @@ -4849,8 +4848,10 @@ proc drawcmittext {id row col} { set ofill red } elseif {$id eq $nullid2} { set ofill green + } elseif {$id eq $mainheadid} { + set ofill yellow } else { - set ofill [expr {$listed != 0 ? $listed == 2 ? "gray" : "blue" : "white"}] + set ofill [lindex $circlecolors $listed] } set x [xc $row $col] set y [yc $row] @@ -4874,6 +4875,7 @@ proc drawcmittext {id row col} { [expr {$x - $orad}] [expr {$y + $orad - 1}] \ -fill $ofill -outline $fgcolor -width 1 -tags circle] } + set circleitem($row) $t $canv raise $t $canv bind $t <1> {selcanvline {} %x %y} set rmx [llength [lindex $rowidlist $row]] @@ -7399,12 +7401,18 @@ proc domktag {} { } proc redrawtags {id} { - global canv linehtag idpos currentid curview - global canvxmax iddrawn + global canv linehtag idpos currentid curview cmitlisted + global canvxmax iddrawn circleitem mainheadid circlecolors if {![commitinview $id $curview]} return if {![info exists iddrawn($id)]} return set row [rowofcommit $id] + if {$id eq $mainheadid} { + set ofill yellow + } else { + set ofill [lindex $circlecolors $cmitlisted($curview,$id)] + } + $canv itemconf $circleitem($row) -fill $ofill $canv delete tag.$id set xt [eval drawtags $id $idpos($id)] $canv coords $linehtag($row) $xt [lindex $idpos($id) 2] @@ -7574,8 +7582,8 @@ proc cherrypick {} { if {$mainhead ne {}} { movehead $newhead $mainhead movedhead $newhead $mainhead - set mainheadid $newhead } + set mainheadid $newhead redrawtags $oldhead redrawtags $newhead selbyid $newhead @@ -7675,7 +7683,7 @@ proc headmenu {x y id head} { } proc cobranch {} { - global headmenuid headmenuhead mainhead headids + global headmenuid headmenuhead headids global showlocalchanges mainheadid # check the tree is clean first?? @@ -7711,12 +7719,10 @@ proc readcheckoutstat {fd newhead newheadid} { if {[catch {close $fd} err]} { error_popup $err } - set oldmainhead $mainhead + set oldmainid $mainheadid set mainhead $newhead set mainheadid $newheadid - if {[info exists headids($oldmainhead)]} { - redrawtags $headids($oldmainhead) - } + redrawtags $oldmainid redrawtags $newheadid selbyid $newheadid if {$showlocalchanges} { @@ -9016,12 +9022,14 @@ proc rereadrefs {} { [array names idheads] [array names idotherrefs]]] foreach id $refids { set v [listrefs $id] - if {![info exists ref($id)] || $ref($id) != $v || - ($id eq $oldmainhead && $id ne $mainheadid) || - ($id eq $mainheadid && $id ne $oldmainhead)} { + if {![info exists ref($id)] || $ref($id) != $v} { redrawtags $id } } + if {$oldmainhead ne $mainheadid} { + redrawtags $oldmainhead + redrawtags $mainheadid + } run refill_reflist } @@ -9761,6 +9769,8 @@ set diffcontext 3 set ignorespace 0 set selectbgcolor gray85 +set circlecolors {white blue gray blue blue} + ## For msgcat loading, first locate the installation location. if { [info exists ::env(GITK_MSGSDIR)] } { ## Msgsdir was manually set in the environment. From 422b206342047c9290362caeaa10cddbe3f9a23e Mon Sep 17 00:00:00 2001 From: Lea Wiemann Date: Tue, 3 Jun 2008 20:34:17 +0200 Subject: [PATCH 02/87] cat-file --batch: flush stdout also when objects are missing cat-file --batch/--batch-check only flushes stdout when the object exists, but not when it doesn't (" missing"). This makes bidirectional pipes hang. Signed-off-by: Lea Wiemann Signed-off-by: Junio C Hamano --- builtin-cat-file.c | 1 + 1 file changed, 1 insertion(+) diff --git a/builtin-cat-file.c b/builtin-cat-file.c index 200345e7fb..f8b3160668 100644 --- a/builtin-cat-file.c +++ b/builtin-cat-file.c @@ -159,6 +159,7 @@ static int batch_one_object(const char *obj_name, int print_contents) if (get_sha1(obj_name, sha1)) { printf("%s missing\n", obj_name); + fflush(stdout); return 0; } From 7845944c64de11d87e3b33ed7fa0a0a4b00fa435 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 3 Jun 2008 18:08:08 -0700 Subject: [PATCH 03/87] t7502: do not globally unset GIT_COMMITTER_* environment variables One particular test wants to check the behaviour of the command when these variables are not set, but the later tests should have the reliable committer identity for repeatable tests. Move the "unset" of the variables inside a subshell in the test that wants to unset them. Signed-off-by: Junio C Hamano --- t/t7502-commit.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh index 22a13f7aab..385c8f46e1 100755 --- a/t/t7502-commit.sh +++ b/t/t7502-commit.sh @@ -171,13 +171,16 @@ sed '$d' < expect.tmp > expect rm -f expect.tmp echo "# Committer: #" >> expect -unset GIT_COMMITTER_EMAIL -unset GIT_COMMITTER_NAME test_expect_success 'committer is automatic' ' echo >>negative && - git commit -e -m "sample" + ( + unset GIT_COMMITTER_EMAIL + unset GIT_COMMITTER_NAME + # must fail because there is no change + test_must_fail git commit -e -m "sample" + ) && head -n 8 .git/COMMIT_EDITMSG | \ sed "s/^# Committer: .*/# Committer:/" >actual && test_cmp expect actual From a3c91e088ead7c47f43efe8da625d190dcef1001 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 3 Jun 2008 18:10:08 -0700 Subject: [PATCH 04/87] t7502: tighten loosely written test sequence We would like to catch breakage at any step in the sequence. Signed-off-by: Junio C Hamano --- t/t7502-commit.sh | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh index 385c8f46e1..a5801df8b6 100755 --- a/t/t7502-commit.sh +++ b/t/t7502-commit.sh @@ -196,23 +196,24 @@ chmod +x .git/FAKE_EDITOR test_expect_success 'do not fire editor in the presence of conflicts' ' - git clean - echo f>g - git add g - git commit -myes - git branch second - echo master>g - echo g>h - git add g h - git commit -mmaster - git checkout second - echo second>g - git add g - git commit -msecond - git cherry-pick -n master - echo "editor not started" > .git/result - GIT_EDITOR=`pwd`/.git/FAKE_EDITOR git commit && exit 1 # should fail - test "`cat .git/result`" = "editor not started" + git clean -f && + echo f >g && + git add g && + git commit -m "add g" && + git branch second && + echo master >g && + echo g >h && + git add g h && + git commit -m "modify g and add h" && + git checkout second && + echo second >g && + git add g && + git commit -m second && + # Must fail due to conflict + test_must_fail git cherry-pick -n master && + echo "editor not started" >.git/result && + test_must_fail GIT_EDITOR="$(pwd)/.git/FAKE_EDITOR" git commit && + test "$(cat .git/result)" = "editor not started" ' pwd=`pwd` From 70ca472f1f6745563b55cac9aa38bb58f83112ef Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Wed, 4 Jun 2008 00:16:26 +0200 Subject: [PATCH 05/87] Fix t5516 on cygwin: it does not like double slashes at the beginning of a path The double slashes "//" result from url./$TRASH/. expansion and the current directory, which even in cygwin contains "/" as first character. In cygwin such strings have special meaning: UNC path. Accessing an UNC path built for test purpose usually fails. Signed-off-by: Alex Riesen Signed-off-by: Junio C Hamano --- t/t5516-fetch-push.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/t5516-fetch-push.sh b/t/t5516-fetch-push.sh index c5c59335f3..6805032a05 100755 --- a/t/t5516-fetch-push.sh +++ b/t/t5516-fetch-push.sh @@ -146,7 +146,7 @@ test_expect_success 'push with wildcard' ' test_expect_success 'push with insteadOf' ' mk_empty && TRASH="$(pwd)/" && - git config "url./$TRASH/.insteadOf" trash/ && + git config "url.$TRASH.insteadOf" trash/ && git push trash/testrepo refs/heads/master:refs/remotes/origin/master && ( cd testrepo && From adf60f1440aa166615711f5c2ae262db79ba6eb2 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 3 Jun 2008 23:56:56 -0700 Subject: [PATCH 06/87] Documentation: git-log cannot use rev-list specific options The log family and git-rev-list share the same set of options that come from revision walking machinery, but they both have options unique to them. Notably, --header, --timestamp, --stdin and --quiet apply only to rev-list. Exclude them from the git-log documentation. Signed-off-by: Junio C Hamano --- Documentation/rev-list-options.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt index dfcef79a6b..05d5abec25 100644 --- a/Documentation/rev-list-options.txt +++ b/Documentation/rev-list-options.txt @@ -34,17 +34,21 @@ format, often found in E-mail messages. `--date=default` shows timestamps in the original timezone (either committer's or author's). +ifdef::git-rev-list[] --header:: Print the contents of the commit in raw-format; each record is separated with a NUL character. +endif::git-rev-list[] --parents:: Print the parents of the commit. +ifdef::git-rev-list[] --timestamp:: Print the raw commit timestamp. +endif::git-rev-list[] --left-right:: @@ -206,6 +210,7 @@ endif::git-rev-list[] Pretend as if all the refs in `$GIT_DIR/refs/` are listed on the command line as ''. +ifdef::git-rev-list[] --stdin:: In addition to the '' listed on the command @@ -218,6 +223,7 @@ endif::git-rev-list[] test the exit status to see if a range of objects is fully connected (or not). It is faster than redirecting stdout to /dev/null as the output does not have to be formatted. +endif::git-rev-list[] --cherry-pick:: From de5825cc829a5d535de726eb7e5af45c0a3b88ce Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 4 Jun 2008 12:10:01 -0700 Subject: [PATCH 07/87] t7502: honor SHELL_PATH Signed-off-by: Junio C Hamano --- t/t7502-commit.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh index a5801df8b6..ed871a6b4d 100755 --- a/t/t7502-commit.sh +++ b/t/t7502-commit.sh @@ -217,14 +217,14 @@ test_expect_success 'do not fire editor in the presence of conflicts' ' ' pwd=`pwd` -cat > .git/FAKE_EDITOR << EOF -#! /bin/sh +cat >.git/FAKE_EDITOR <>negative && - sh -c '\'' + "$SHELL_PATH" -c '\'' echo kill -TERM $$ >> .git/FAKE_EDITOR GIT_EDITOR=.git/FAKE_EDITOR exec git commit -a'\'' && exit 1 # should fail ! test -f .git/index.lock From 4ed19a3c178d22fbd424af78b42b65533a8d1ebb Mon Sep 17 00:00:00 2001 From: Michael Dressel Date: Wed, 4 Jun 2008 21:06:31 +0200 Subject: [PATCH 08/87] describe: match pattern for lightweight tags too The given "git describe --match" was used only to filter tag objects, and not to filter lightweight tags. This fixes it. [jc: made the log to clarify this is a bugfix, not an enhancement, with additional test] Signed-off-by: Michael Dressel Acked-by: Shawn O. Pearce Signed-off-by: Junio C Hamano --- builtin-describe.c | 9 +++++---- t/t6120-describe.sh | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/builtin-describe.c b/builtin-describe.c index df554b30af..3da99c1d06 100644 --- a/builtin-describe.c +++ b/builtin-describe.c @@ -80,12 +80,13 @@ static int get_name(const char *path, const unsigned char *sha1, int flag, void * Otherwise only annotated tags are used. */ if (might_be_tag) { - if (is_tag) { + if (is_tag) prio = 2; - if (pattern && fnmatch(pattern, path + 10, 0)) - prio = 0; - } else + else prio = 1; + + if (pattern && fnmatch(pattern, path + 10, 0)) + prio = 0; } else prio = 0; diff --git a/t/t6120-describe.sh b/t/t6120-describe.sh index 56bbd8519d..c6bfef5f47 100755 --- a/t/t6120-describe.sh +++ b/t/t6120-describe.sh @@ -117,4 +117,26 @@ test_expect_success 'rename tag Q back to A' ' test_expect_success 'pack tag refs' 'git pack-refs' check_describe A-* HEAD +test_expect_success 'set-up matching pattern tests' ' + git tag -a -m test-annotated test-annotated && + echo >>file && + test_tick && + git commit -a -m "one more" && + git tag test1-lightweight && + echo >>file && + test_tick && + git commit -a -m "yet another" && + git tag test2-lightweight && + echo >>file && + test_tick && + git commit -a -m "even more" + +' + +check_describe "test-annotated-*" --match="test-*" + +check_describe "test1-lightweight-*" --tags --match="test1-*" + +check_describe "test2-lightweight-*" --tags --match="test2-*" + test_done From 541fc218e6541ae94b3b1bc9e613f7bc879f6841 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 4 Jun 2008 14:38:58 -0400 Subject: [PATCH 09/87] Fix "git clone http://$URL" to check out the worktree when asked The builtin-clone now does the http commit walking and the tree unpacking in the same process, and the commit walker leaves the in-core objects in a funny state. When forgetting the data read from the tree object, the object should be marked "not parsed yet" for later users. Acked-by: Linus Torvalds Signed-off-by: Junio C Hamano --- walker.c | 1 + 1 file changed, 1 insertion(+) diff --git a/walker.c b/walker.c index 31de6c16bd..0e68ee6d2e 100644 --- a/walker.c +++ b/walker.c @@ -59,6 +59,7 @@ static int process_tree(struct walker *walker, struct tree *tree) free(tree->buffer); tree->buffer = NULL; tree->size = 0; + tree->object.parsed = 0; return 0; } From 9e3fd4112426416f1eedb811c6ff5bc2a3dcd575 Mon Sep 17 00:00:00 2001 From: Dirk Suesserott Date: Wed, 4 Jun 2008 22:50:31 +0200 Subject: [PATCH 10/87] Documentation/git-mailsplit: Enhanced description of -o option Added '-o' in the description of '-o' for consistency reasons. Signed-off-by: Dirk Suesserott --- Documentation/git-mailsplit.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/git-mailsplit.txt b/Documentation/git-mailsplit.txt index 8243f69113..421e7782b8 100644 --- a/Documentation/git-mailsplit.txt +++ b/Documentation/git-mailsplit.txt @@ -27,7 +27,7 @@ OPTIONS Root of the Maildir to split. This directory should contain the cur, tmp and new subdirectories. -:: +-o:: Directory in which to place the individual messages. -b:: From dd613e6b8706f31c01aae622345dbaab3f276262 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Wed, 4 Jun 2008 23:20:05 +0200 Subject: [PATCH 11/87] Strbuf documentation: document most functions All functions in strbuf.h are documented, except launch_editor(). Signed-off-by: Miklos Vajna Signed-off-by: Junio C Hamano --- Documentation/technical/api-strbuf.txt | 239 ++++++++++++++++++++++++- 1 file changed, 237 insertions(+), 2 deletions(-) diff --git a/Documentation/technical/api-strbuf.txt b/Documentation/technical/api-strbuf.txt index a52e4f36d5..a9668e5f2d 100644 --- a/Documentation/technical/api-strbuf.txt +++ b/Documentation/technical/api-strbuf.txt @@ -1,6 +1,241 @@ strbuf API ========== -Talk about +strbuf's are meant to be used with all the usual C string and memory +APIs. Given that the length of the buffer is known, it's often better to +use the mem* functions than a str* one (memchr vs. strchr e.g.). +Though, one has to be careful about the fact that str* functions often +stop on NULs and that strbufs may have embedded NULs. -(Pierre, JC) +An strbuf is NUL terminated for convenience, but no function in the +strbuf API actually relies on the string being free of NULs. + +strbufs has some invariants that are very important to keep in mind: + +. The `buf` member is never NULL, so you it can be used in any usual C +string operations safely. strbuf's _have_ to be initialized either by +`strbuf_init()` or by `= STRBUF_INIT` before the invariants, though. ++ +Do *not* assume anything on what `buf` really is (e.g. if it is +allocated memory or not), use `strbuf_detach()` to unwrap a memory +buffer from its strbuf shell in a safe way. That is the sole supported +way. This will give you a malloced buffer that you can later `free()`. ++ +However, it it totally safe to modify anything in the string pointed by +the `buf` member, between the indices `0` and `len-1` (inclusive). + +. The `buf` member is a byte array that has at least `len + 1` bytes + allocated. The extra byte is used to store a `'\0'`, allowing the + `buf` member to be a valid C-string. Every strbuf function ensure this + invariant is preserved. ++ +NOTE: It is OK to "play" with the buffer directly if you work it this + way: ++ +---- +strbuf_grow(sb, SOME_SIZE); <1> +strbuf_setlen(sb, sb->len + SOME_OTHER_SIZE); +---- +<1> Here, the memory array starting at `sb->buf`, and of length +`strbuf_avail(sb)` is all yours, and you can be sure that +`strbuf_avail(sb)` is at least `SOME_SIZE`. ++ +NOTE: `SOME_OTHER_SIZE` must be smaller or equal to `strbuf_avail(sb)`. ++ +Doing so is safe, though if it has to be done in many places, adding the +missing API to the strbuf module is the way to go. ++ +WARNING: Do _not_ assume that the area that is yours is of size `alloc +- 1` even if it's true in the current implementation. Alloc is somehow a +"private" member that should not be messed with. Use `strbuf_avail()` +instead. + +Data structures +--------------- + +* `struct strbuf` + +This is string buffer structure. The `len` member can be used to +determine the current length of the string, and `buf` member provides access to +the string itself. + +Functions +--------- + +* Life cycle + +`strbuf_init`:: + + Initialize the structure. The second parameter can be zero or a bigger + number to allocate memory, in case you want to prevent further reallocs. + +`strbuf_release`:: + + Release a string buffer and the memory it used. You should not use the + string buffer after using this function, unless you initialize it again. + +`strbuf_detach`:: + + Detach the string from the strbuf and returns it; you now own the + storage the string occupies and it is your responsibility from then on + to release it with `free(3)` when you are done with it. + +`strbuf_attach`:: + + Attach a string to a buffer. You should specify the string to attach, + the current length of the string and the amount of allocated memory. + The amount must be larger than the string length, because the string you + pass is supposed to be a NUL-terminated string. This string _must_ be + malloc()ed, and after attaching, the pointer cannot be relied upon + anymore, and neither be free()d directly. + +`strbuf_swap`:: + + Swap the contents of two string buffers. + +* Related to the size of the buffer + +`strbuf_avail`:: + + Determine the amount of allocated but unused memory. + +`strbuf_grow`:: + + Ensure that at least this amount of unused memory is available after + `len`. This is used when you know a typical size for what you will add + and want to avoid repetitive automatic resizing of the underlying buffer. + This is never a needed operation, but can be critical for performance in + some cases. + +`strbuf_setlen`:: + + Set the length of the buffer to a given value. This function does *not* + allocate new memory, so you should not perform a `strbuf_setlen()` to a + length that is larger than `len + strbuf_avail()`. `strbuf_setlen()` is + just meant as a 'please fix invariants from this strbuf I just messed + with'. + +`strbuf_reset`:: + + Empty the buffer by setting the size of it to zero. + +* Related to the contents of the buffer + +`strbuf_rtrim`:: + + Strip whitespace from the end of a string. + +`strbuf_cmp`:: + + Compare two buffers. Returns an integer less than, equal to, or greater + than zero if the first buffer is found, respectively, to be less than, + to match, or be greater than the second buffer. + +* Adding data to the buffer + +NOTE: All of these functions in this section will grow the buffer as + necessary. + +`strbuf_addch`:: + + Add a single character to the buffer. + +`strbuf_insert`:: + + Insert data to the given position of the buffer. The remaining contents + will be shifted, not overwritten. + +`strbuf_remove`:: + + Remove given amount of data from a given position of the buffer. + +`strbuf_splice`:: + + Remove the bytes between `pos..pos+len` and replace it with the given + data. + +`strbuf_add`:: + + Add data of given length to the buffer. + +`strbuf_addstr`:: + +Add a NUL-terminated string to the buffer. ++ +NOTE: This function will *always* be implemented as an inline or a macro +that expands to: ++ +---- +strbuf_add(..., s, strlen(s)); +---- ++ +Meaning that this is efficient to write things like: ++ +---- +strbuf_addstr(sb, "immediate string"); +---- + +`strbuf_addbuf`:: + + Copy the contents of an other buffer at the end of the current one. + +`strbuf_adddup`:: + + Copy part of the buffer from a given position till a given length to the + end of the buffer. + +`strbuf_expand`:: + + This function can be used to expand a format string containing + placeholders. To that end, it parses the string and calls the specified + function for every percent sign found. ++ +The callback function is given a pointer to the character after the `%` +and a pointer to the struct strbuf. It is expected to add the expanded +version of the placeholder to the strbuf, e.g. to add a newline +character if the letter `n` appears after a `%`. The function returns +the length of the placeholder recognized and `strbuf_expand()` skips +over it. ++ +All other characters (non-percent and not skipped ones) are copied +verbatim to the strbuf. If the callback returned zero, meaning that the +placeholder is unknown, then the percent sign is copied, too. ++ +In order to facilitate caching and to make it possible to give +parameters to the callback, `strbuf_expand()` passes a context pointer, +which can be used by the programmer of the callback as she sees fit. + +`strbuf_addf`:: + + Add a formatted string to the buffer. + +`strbuf_fread`:: + + Read a given size of data from a FILE* pointer to the buffer. ++ +NOTE: The buffer is rewinded if the read fails. If -1 is returned, +`errno` must be consulted, like you would do for `read(3)`. +`strbuf_read()`, `strbuf_read_file()` and `strbuf_getline()` has the +same behaviour as well. + +`strbuf_read`:: + + Read the contents of a given file descriptor. The third argument can be + used to give a hint about the file size, to avoid reallocs. + +`strbuf_read_file`:: + + Read the contents of a file, specified by its path. The third argument + can be used to give a hint about the file size, to avoid reallocs. + +`strbuf_getline`:: + + Read a line from a FILE* pointer. The second argument specifies the line + terminator character, typically `'\n'`. + +`stripspace`:: + + Strip whitespace from a buffer. The second parameter controls if + comments are considered contents to be removed or not. + +`launch_editor`:: From 7f718e8b46b37a9e1caf58a372938817f04885d9 Mon Sep 17 00:00:00 2001 From: Jakub Narebski Date: Tue, 3 Jun 2008 16:47:10 +0200 Subject: [PATCH 12/87] gitweb: Add charset info to "raw" output of 'text/plain' blobs Earlier "blob_plain" view sent "charset=utf-8" only when gitweb guessed the content type to be text by reading from it, and not when the MIME type was obtained from /etc/mime.types, or when gitweb couldn't guess mimetype and used $default_blob_plain_mimetype. This fixes the bug by always add charset info from $default_text_plain_charset (if it is defined) to "raw" (a=blob_plain) output for 'text/plain' blobs. Generating information for Content-Type: header got separated into blob_contenttype() subroutine; adding charset info in a special case was removed from blob_mimetype(), which now should return mimetype only. While at it cleanup code a bit: put subroutine parameter initialization first, make error message more robust (when $file_name is not defined) if more cryptic, remove unnecessary '"' around variable ("$var" -> $var). Signed-off-by: Jakub Narebski Signed-off-by: Junio C Hamano --- gitweb/gitweb.perl | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 55fb100534..198772c210 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -2481,8 +2481,7 @@ sub blob_mimetype { return $default_blob_plain_mimetype unless $fd; if (-T $fd) { - return 'text/plain' . - ($default_text_plain_charset ? '; charset='.$default_text_plain_charset : ''); + return 'text/plain'; } elsif (! $filename) { return 'application/octet-stream'; } elsif ($filename =~ m/\.png$/i) { @@ -2496,6 +2495,17 @@ sub blob_mimetype { } } +sub blob_contenttype { + my ($fd, $file_name, $type) = @_; + + $type ||= blob_mimetype($fd, $file_name); + if ($type eq 'text/plain' && defined $default_text_plain_charset) { + $type .= "; charset=$default_text_plain_charset"; + } + + return $type; +} + ## ====================================================================== ## functions printing HTML: header, footer, error page @@ -4374,6 +4384,7 @@ sub git_heads { } sub git_blob_plain { + my $type = shift; my $expires; if (!defined $hash) { @@ -4389,13 +4400,13 @@ sub git_blob_plain { $expires = "+1d"; } - my $type = shift; open my $fd, "-|", git_cmd(), "cat-file", "blob", $hash - or die_error(undef, "Couldn't cat $file_name, $hash"); + or die_error(undef, "Open git-cat-file blob '$hash' failed"); - $type ||= blob_mimetype($fd, $file_name); + # content-type (can include charset) + $type = blob_contenttype($fd, $file_name, $type); - # save as filename, even when no $file_name is given + # "save as" filename, even when no $file_name is given my $save_as = "$hash"; if (defined $file_name) { $save_as = $file_name; @@ -4404,9 +4415,9 @@ sub git_blob_plain { } print $cgi->header( - -type => "$type", - -expires=>$expires, - -content_disposition => 'inline; filename="' . "$save_as" . '"'); + -type => $type, + -expires => $expires, + -content_disposition => 'inline; filename="' . $save_as . '"'); undef $/; binmode STDOUT, ':raw'; print <$fd>; From a83123deecfdd5078c2e16166576fb17add194b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Steinbrink?= Date: Fri, 6 Jun 2008 01:31:55 +0200 Subject: [PATCH 13/87] name-rev: Fix segmentation fault when using --all MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In commit da2478db "describe --always: fall back to showing an abbreviated object name" we lost the check that skips empty entries in the object hash table when iterating over it in cmd_name_rev. That may cause a NULL pointer being handed to show_name(), leading to a segmentation fault. So add that check back again. Signed-off-by: Björn Steinbrink Signed-off-by: Junio C Hamano --- builtin-name-rev.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/builtin-name-rev.c b/builtin-name-rev.c index 384da4db13..521f061c9e 100644 --- a/builtin-name-rev.c +++ b/builtin-name-rev.c @@ -280,9 +280,13 @@ int cmd_name_rev(int argc, const char **argv, const char *prefix) int i, max; max = get_max_object_index(); - for (i = 0; i < max; i++) - show_name(get_indexed_object(i), NULL, + for (i = 0; i < max; i++) { + struct object *obj = get_indexed_object(i); + if (!obj) + continue; + show_name(obj, NULL, always, allow_undefined, data.name_only); + } } else { int i; for (i = 0; i < revs.nr; i++) From c0f6dc9b20523a569e567d3be4cabbc949c71b43 Mon Sep 17 00:00:00 2001 From: Lea Wiemann Date: Thu, 5 Jun 2008 23:01:38 +0200 Subject: [PATCH 14/87] git-for-each-ref.txt: minor improvements Rewrapped synopsis and removed wrong asterisk behind --count option; clarified --sort= description for multiple keys; documented that for-each-ref supports not only glob patterns but also prefixes like "refs/heads" as patterns, and that multiple patterns can be given. Signed-off-by: Lea Wiemann Signed-off-by: Junio C Hamano --- Documentation/git-for-each-ref.txt | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt index f1f90cca62..6325ff9a68 100644 --- a/Documentation/git-for-each-ref.txt +++ b/Documentation/git-for-each-ref.txt @@ -8,9 +8,8 @@ git-for-each-ref - Output information on each ref SYNOPSIS -------- [verse] -'git-for-each-ref' [--count=]\* - [--shell|--perl|--python|--tcl] - [--sort=]\* [--format=] [] +'git-for-each-ref' [--count=] [--shell|--perl|--python|--tcl] + [--sort=]\* [--format=] [...] DESCRIPTION ----------- @@ -32,8 +31,9 @@ OPTIONS :: A field name to sort on. Prefix `-` to sort in descending order of the value. When unspecified, - `refname` is used. More than one sort keys can be - given. + `refname` is used. You may use the --sort= option + multiple times, in which case the last key becomes the primary + key. :: A string that interpolates `%(fieldname)` from the @@ -48,9 +48,10 @@ OPTIONS `%09` to `\t` (TAB) and `%0a` to `\n` (LF). :: - If given, the name of the ref is matched against this - using fnmatch(3). Refs that do not match the pattern - are not shown. + If one or more patterns are given, only refs are shown that + match againt at least one pattern, either using fnmatch(3) or + literally, in the latter case matching completely or from the + beginning up to a slash. --shell, --perl, --python, --tcl:: If given, strings that substitute `%(fieldname)` From b7d9681974e61959f10c7b2c1063b7781c5b904e Mon Sep 17 00:00:00 2001 From: Teemu Likonen Date: Fri, 6 Jun 2008 00:15:36 +0300 Subject: [PATCH 15/87] Print info about "git help COMMAND" on git's main usage pages Git's main usage pages did not show "git help" as a way to get more information on a specific subcommand. This patch adds an info line after the list of git commands currently printed by "git", "git help", "git --help" and "git help --all". Signed-off-by: Teemu Likonen Signed-off-by: Junio C Hamano --- builtin.h | 1 + git.c | 4 ++++ help.c | 2 ++ 3 files changed, 7 insertions(+) diff --git a/builtin.h b/builtin.h index 8bda1117e4..b460b2da6f 100644 --- a/builtin.h +++ b/builtin.h @@ -5,6 +5,7 @@ extern const char git_version_string[]; extern const char git_usage_string[]; +extern const char git_more_info_string[]; extern void list_common_cmds_help(void); extern void help_unknown_cmd(const char *cmd); diff --git a/git.c b/git.c index 272bf03da3..15a0e71cc1 100644 --- a/git.c +++ b/git.c @@ -6,6 +6,9 @@ const char git_usage_string[] = "git [--version] [--exec-path[=GIT_EXEC_PATH]] [-p|--paginate|--no-pager] [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE] [--help] COMMAND [ARGS]"; +const char git_more_info_string[] = + "See 'git help COMMAND' for more information on a specific command."; + static int handle_options(const char*** argv, int* argc, int* envchanged) { int handled = 0; @@ -427,6 +430,7 @@ int main(int argc, const char **argv) /* The user didn't specify a command; give them help */ printf("usage: %s\n\n", git_usage_string); list_common_cmds_help(); + printf("\n%s\n", git_more_info_string); exit(1); } cmd = argv[0]; diff --git a/help.c b/help.c index d89d43796f..8aff94c64a 100644 --- a/help.c +++ b/help.c @@ -649,12 +649,14 @@ int cmd_help(int argc, const char **argv, const char *prefix) if (show_all) { printf("usage: %s\n\n", git_usage_string); list_commands(); + printf("%s\n", git_more_info_string); return 0; } if (!argv[0]) { printf("usage: %s\n\n", git_usage_string); list_common_cmds_help(); + printf("\n%s\n", git_more_info_string); return 0; } From a0ebe573a516a1530a2c072e513fa7f529781dd0 Mon Sep 17 00:00:00 2001 From: Adam Simpkins Date: Thu, 5 Jun 2008 01:56:19 -0700 Subject: [PATCH 16/87] graph API: fix "git log --graph --first-parent" This change teaches the graph API that only the first parent of each commit is interesting when "--first-parent" was specified. This change also consolidates the graph parent walking logic into two new internal functions, first_interesting_parent() and next_interesting_parent(). A simpler fix would have been to simply break at the end of the 2 existing for loops when graph->revs->first_parent_only is set. However, this change seems nicer, especially if we ever need to add any new loops over the parent list in the future. Signed-off-by: Adam Simpkins Signed-off-by: Junio C Hamano --- graph.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 53 insertions(+), 11 deletions(-) diff --git a/graph.c b/graph.c index edfab2d5b4..283b13792d 100644 --- a/graph.c +++ b/graph.c @@ -237,18 +237,58 @@ static int graph_is_interesting(struct git_graph *graph, struct commit *commit) return (commit->object.flags & (UNINTERESTING | TREESAME)) ? 0 : 1; } +static struct commit_list *next_interesting_parent(struct git_graph *graph, + struct commit_list *orig) +{ + struct commit_list *list; + + /* + * If revs->first_parent_only is set, only the first + * parent is interesting. None of the others are. + */ + if (graph->revs->first_parent_only) + return NULL; + + /* + * Return the next interesting commit after orig + */ + for (list = orig->next; list; list = list->next) { + if (graph_is_interesting(graph, list->item)) + return list; + } + + return NULL; +} + +static struct commit_list *first_interesting_parent(struct git_graph *graph) +{ + struct commit_list *parents = graph->commit->parents; + + /* + * If this commit has no parents, ignore it + */ + if (!parents) + return NULL; + + /* + * If the first parent is interesting, return it + */ + if (graph_is_interesting(graph, parents->item)) + return parents; + + /* + * Otherwise, call next_interesting_parent() to get + * the next interesting parent + */ + return next_interesting_parent(graph, parents); +} + static void graph_insert_into_new_columns(struct git_graph *graph, struct commit *commit, int *mapping_index) { int i; - /* - * Ignore uinteresting commits - */ - if (!graph_is_interesting(graph, commit)) - return; - /* * If the commit is already in the new_columns list, we don't need to * add it. Just update the mapping correctly. @@ -373,9 +413,9 @@ static void graph_update_columns(struct git_graph *graph) int old_mapping_idx = mapping_idx; seen_this = 1; graph->commit_index = i; - for (parent = graph->commit->parents; + for (parent = first_interesting_parent(graph); parent; - parent = parent->next) { + parent = next_interesting_parent(graph, parent)) { graph_insert_into_new_columns(graph, parent->item, &mapping_idx); @@ -420,9 +460,11 @@ void graph_update(struct git_graph *graph, struct commit *commit) * Count how many interesting parents this commit has */ graph->num_parents = 0; - for (parent = commit->parents; parent; parent = parent->next) { - if (graph_is_interesting(graph, parent->item)) - graph->num_parents++; + for (parent = first_interesting_parent(graph); + parent; + parent = next_interesting_parent(graph, parent)) + { + graph->num_parents++; } /* From 30eba7bf2caa327b4251d66bf7157dda97512e96 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Fri, 6 Jun 2008 09:07:28 +0200 Subject: [PATCH 17/87] documentation: convert "diffcore" and "repository-layout" to man pages This patch renames the following documents and at the same time converts them to the man format: diffcore.txt -> gitdiffcore.txt (man section 7) repository-layout.txt -> gitrepository-layout.txt (man section 5) Other documents that reference the above ones are changed accordingly. Signed-off-by: Christian Couder Signed-off-by: Junio C Hamano --- Documentation/Makefile | 10 +++--- Documentation/diff-options.txt | 2 +- Documentation/git-add.txt | 2 +- Documentation/git-update-server-info.txt | 4 +-- Documentation/git.txt | 3 +- Documentation/gitcore-tutorial.txt | 2 +- .../{diffcore.txt => gitdiffcore.txt} | 31 ++++++++++++++--- ...ry-layout.txt => gitrepository-layout.txt} | 34 ++++++++++++++++--- 8 files changed, 68 insertions(+), 20 deletions(-) rename Documentation/{diffcore.txt => gitdiffcore.txt} (96%) rename Documentation/{repository-layout.txt => gitrepository-layout.txt} (92%) diff --git a/Documentation/Makefile b/Documentation/Makefile index ca4dadf940..5bd0e7c76e 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -2,9 +2,11 @@ MAN1_TXT= \ $(filter-out $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \ $(wildcard git-*.txt)) \ gitk.txt -MAN5_TXT=gitattributes.txt gitignore.txt gitmodules.txt githooks.txt +MAN5_TXT=gitattributes.txt gitignore.txt gitmodules.txt githooks.txt \ + gitrepository-layout.txt MAN7_TXT=git.txt gitcli.txt gittutorial.txt gittutorial-2.txt \ - gitcvs-migration.txt gitcore-tutorial.txt gitglossary.txt + gitcvs-migration.txt gitcore-tutorial.txt gitglossary.txt \ + gitdiffcore.txt MAN_TXT = $(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT) MAN_XML=$(patsubst %.txt,%.xml,$(MAN_TXT)) @@ -12,9 +14,7 @@ MAN_HTML=$(patsubst %.txt,%.html,$(MAN_TXT)) DOC_HTML=$(MAN_HTML) -ARTICLES = diffcore -ARTICLES += howto-index -ARTICLES += repository-layout +ARTICLES = howto-index ARTICLES += everyday ARTICLES += git-tools # with their own formatting rules. diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index 859d67990a..572154834b 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -241,4 +241,4 @@ endif::git-format-patch[] Do not show any source or destination prefix. For more detailed explanation on these common options, see also -link:diffcore.html[diffcore documentation]. +linkgit:gitdiffcore[7][diffcore documentation]. diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt index 1afd0c69ed..8eb9de11c2 100644 --- a/Documentation/git-add.txt +++ b/Documentation/git-add.txt @@ -100,7 +100,7 @@ Configuration The optional configuration variable 'core.excludesfile' indicates a path to a file containing patterns of file names to exclude from git-add, similar to $GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to -those in info/exclude. See link:repository-layout.html[repository layout]. +those in info/exclude. See linkgit:gitrepository-layout[5][repository layout]. EXAMPLES diff --git a/Documentation/git-update-server-info.txt b/Documentation/git-update-server-info.txt index 1cf89fd79e..b49abbf43f 100644 --- a/Documentation/git-update-server-info.txt +++ b/Documentation/git-update-server-info.txt @@ -30,8 +30,8 @@ OUTPUT ------ Currently the command updates the following files. Please see -link:repository-layout.html[repository-layout] for description -of what they are for: +linkgit:gitrepository-layout[5][repository-layout] for description of +what they are for: * objects/info/packs diff --git a/Documentation/git.txt b/Documentation/git.txt index dae1b4031c..f0d106addf 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -364,7 +364,8 @@ For a more complete list of ways to spell object names, see File/Directory Structure ------------------------ -Please see the link:repository-layout.html[repository layout] document. +Please see the linkgit:gitrepository-layout[5][repository layout] +document. Read linkgit:githooks[5][hooks] for more details about each hook. diff --git a/Documentation/gitcore-tutorial.txt b/Documentation/gitcore-tutorial.txt index 5995a2e152..d61d5c96cc 100644 --- a/Documentation/gitcore-tutorial.txt +++ b/Documentation/gitcore-tutorial.txt @@ -109,7 +109,7 @@ populating your tree. [NOTE] An advanced user may want to take a look at the -link:repository-layout.html[repository layout] document +linkgit:gitrepository-layout[5][repository layout] document after finishing this tutorial. You have now created your first git repository. Of course, since it's diff --git a/Documentation/diffcore.txt b/Documentation/gitdiffcore.txt similarity index 96% rename from Documentation/diffcore.txt rename to Documentation/gitdiffcore.txt index c6a983a5d5..f68efed4c3 100644 --- a/Documentation/diffcore.txt +++ b/Documentation/gitdiffcore.txt @@ -1,10 +1,16 @@ -Tweaking diff output -==================== -June 2005 +gitdiffcore(7) +============== +NAME +---- +gitdiffcore - Tweaking diff output (June 2005) -Introduction ------------- +SYNOPSIS +-------- +git diff * + +DESCRIPTION +----------- The diff commands git-diff-index, git-diff-files, and git-diff-tree can be told to manipulate differences they find in @@ -269,3 +275,18 @@ Documentation *.c t ------------------------------------------------ + +SEE ALSO +-------- +linkgit:git-diff[1], +linkgit:git-diff-files[1], +linkgit:git-diff-index[1], +linkgit:git-diff-tree[1], +linkgit:git-format-patch[1], +linkgit:git-log[1], +linkgit:gitglossary[7], +link:user-manual.html[The Git User's Manual] + +GIT +--- +Part of the linkgit:git[7] suite. diff --git a/Documentation/repository-layout.txt b/Documentation/gitrepository-layout.txt similarity index 92% rename from Documentation/repository-layout.txt rename to Documentation/gitrepository-layout.txt index 7fd187be8a..9949093845 100644 --- a/Documentation/repository-layout.txt +++ b/Documentation/gitrepository-layout.txt @@ -1,9 +1,20 @@ -git repository layout -===================== +gitrepository-layout(5) +======================= + +NAME +---- +gitrepository-layout - Git Repository Layout + +SYNOPSIS +-------- +$GIT_DIR/* + +DESCRIPTION +----------- You may find these things in your git repository (`.git` directory for a repository associated with your working tree, or -`'project'.git` directory for a public 'bare' repository. It is +`.git` directory for a public 'bare' repository. It is also possible to have a working tree where `.git` is a plain ascii file containing `gitdir: `, i.e. the path to the real git repository). @@ -115,7 +126,7 @@ details. branches:: A slightly deprecated way to store shorthands to be used to specify URL to `git fetch`, `git pull` and `git push` - commands is to store a file in `branches/'name'` and + commands is to store a file in `branches/` and give 'name' to these commands in place of 'repository' argument. @@ -180,3 +191,18 @@ shallow:: This is similar to `info/grafts` but is internally used and maintained by shallow clone mechanism. See `--depth` option to linkgit:git-clone[1] and linkgit:git-fetch[1]. + +SEE ALSO +-------- +linkgit:git-init[1], +linkgit:git-clone[1], +linkgit:git-fetch[1], +linkgit:git-pack-refs[1], +linkgit:git-gc[1], +linkgit:git-checkout[1], +linkgit:gitglossary[7], +link:user-manual.html[The Git User's Manual] + +GIT +--- +Part of the linkgit:git[7] suite. From 9e1f0a85c68323830ea117092c55192b17aa3ac8 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Fri, 6 Jun 2008 09:07:32 +0200 Subject: [PATCH 18/87] documentation: move git(7) to git(1) As the "git" man page describes the "git" command at the end-user level, it seems better to move it to man section 1. Signed-off-by: Christian Couder Signed-off-by: Junio C Hamano --- Documentation/Makefile | 6 ++---- Documentation/git-add.txt | 2 +- Documentation/git-am.txt | 2 +- Documentation/git-annotate.txt | 2 +- Documentation/git-apply.txt | 2 +- Documentation/git-archimport.txt | 2 +- Documentation/git-archive.txt | 2 +- Documentation/git-bisect.txt | 2 +- Documentation/git-blame.txt | 2 +- Documentation/git-branch.txt | 2 +- Documentation/git-bundle.txt | 2 +- Documentation/git-cat-file.txt | 2 +- Documentation/git-check-attr.txt | 2 +- Documentation/git-check-ref-format.txt | 2 +- Documentation/git-checkout-index.txt | 2 +- Documentation/git-checkout.txt | 2 +- Documentation/git-cherry-pick.txt | 2 +- Documentation/git-cherry.txt | 2 +- Documentation/git-citool.txt | 2 +- Documentation/git-clean.txt | 2 +- Documentation/git-clone.txt | 2 +- Documentation/git-commit-tree.txt | 2 +- Documentation/git-commit.txt | 2 +- Documentation/git-config.txt | 2 +- Documentation/git-count-objects.txt | 2 +- Documentation/git-cvsexportcommit.txt | 2 +- Documentation/git-cvsimport.txt | 2 +- Documentation/git-cvsserver.txt | 2 +- Documentation/git-daemon.txt | 2 +- Documentation/git-describe.txt | 2 +- Documentation/git-diff-files.txt | 2 +- Documentation/git-diff-index.txt | 2 +- Documentation/git-diff-tree.txt | 2 +- Documentation/git-diff.txt | 2 +- Documentation/git-fast-export.txt | 2 +- Documentation/git-fast-import.txt | 2 +- Documentation/git-fetch-pack.txt | 2 +- Documentation/git-fetch.txt | 2 +- Documentation/git-filter-branch.txt | 2 +- Documentation/git-fmt-merge-msg.txt | 2 +- Documentation/git-format-patch.txt | 2 +- Documentation/git-fsck.txt | 2 +- Documentation/git-gc.txt | 2 +- Documentation/git-get-tar-commit-id.txt | 2 +- Documentation/git-grep.txt | 2 +- Documentation/git-gui.txt | 2 +- Documentation/git-hash-object.txt | 2 +- Documentation/git-help.txt | 4 ++-- Documentation/git-http-fetch.txt | 2 +- Documentation/git-http-push.txt | 2 +- Documentation/git-imap-send.txt | 2 +- Documentation/git-index-pack.txt | 2 +- Documentation/git-init.txt | 2 +- Documentation/git-instaweb.txt | 2 +- Documentation/git-log.txt | 2 +- Documentation/git-lost-found.txt | 2 +- Documentation/git-ls-files.txt | 2 +- Documentation/git-ls-remote.txt | 2 +- Documentation/git-ls-tree.txt | 2 +- Documentation/git-mailinfo.txt | 2 +- Documentation/git-mailsplit.txt | 2 +- Documentation/git-merge-base.txt | 2 +- Documentation/git-merge-file.txt | 2 +- Documentation/git-merge-index.txt | 2 +- Documentation/git-merge-one-file.txt | 2 +- Documentation/git-merge-tree.txt | 2 +- Documentation/git-merge.txt | 2 +- Documentation/git-mergetool.txt | 2 +- Documentation/git-mktag.txt | 2 +- Documentation/git-mktree.txt | 2 +- Documentation/git-mv.txt | 2 +- Documentation/git-name-rev.txt | 2 +- Documentation/git-pack-objects.txt | 2 +- Documentation/git-pack-redundant.txt | 2 +- Documentation/git-pack-refs.txt | 2 +- Documentation/git-parse-remote.txt | 2 +- Documentation/git-patch-id.txt | 2 +- Documentation/git-peek-remote.txt | 2 +- Documentation/git-prune-packed.txt | 2 +- Documentation/git-prune.txt | 2 +- Documentation/git-pull.txt | 2 +- Documentation/git-push.txt | 2 +- Documentation/git-quiltimport.txt | 2 +- Documentation/git-read-tree.txt | 2 +- Documentation/git-rebase.txt | 2 +- Documentation/git-receive-pack.txt | 2 +- Documentation/git-reflog.txt | 2 +- Documentation/git-relink.txt | 2 +- Documentation/git-remote.txt | 2 +- Documentation/git-repack.txt | 2 +- Documentation/git-request-pull.txt | 2 +- Documentation/git-rerere.txt | 2 +- Documentation/git-reset.txt | 2 +- Documentation/git-rev-list.txt | 2 +- Documentation/git-rev-parse.txt | 2 +- Documentation/git-revert.txt | 2 +- Documentation/git-rm.txt | 2 +- Documentation/git-send-email.txt | 2 +- Documentation/git-send-pack.txt | 2 +- Documentation/git-sh-setup.txt | 2 +- Documentation/git-shell.txt | 2 +- Documentation/git-shortlog.txt | 2 +- Documentation/git-show-branch.txt | 2 +- Documentation/git-show-index.txt | 2 +- Documentation/git-show-ref.txt | 2 +- Documentation/git-show.txt | 2 +- Documentation/git-stash.txt | 2 +- Documentation/git-status.txt | 2 +- Documentation/git-stripspace.txt | 2 +- Documentation/git-submodule.txt | 2 +- Documentation/git-symbolic-ref.txt | 2 +- Documentation/git-tag.txt | 2 +- Documentation/git-tar-tree.txt | 2 +- Documentation/git-unpack-file.txt | 2 +- Documentation/git-unpack-objects.txt | 2 +- Documentation/git-update-index.txt | 2 +- Documentation/git-update-ref.txt | 2 +- Documentation/git-update-server-info.txt | 2 +- Documentation/git-upload-archive.txt | 2 +- Documentation/git-upload-pack.txt | 2 +- Documentation/git-var.txt | 2 +- Documentation/git-verify-pack.txt | 2 +- Documentation/git-verify-tag.txt | 2 +- Documentation/git-web--browse.txt | 2 +- Documentation/git-whatchanged.txt | 2 +- Documentation/git-write-tree.txt | 2 +- Documentation/git.txt | 4 ++-- Documentation/gitattributes.txt | 4 ++-- Documentation/gitcli.txt | 2 +- Documentation/gitcore-tutorial.txt | 2 +- Documentation/gitcvs-migration.txt | 2 +- Documentation/gitdiffcore.txt | 2 +- Documentation/gitglossary.txt | 2 +- Documentation/githooks.txt | 2 +- Documentation/gitignore.txt | 2 +- Documentation/gitk.txt | 2 +- Documentation/gitmodules.txt | 2 +- Documentation/gitrepository-layout.txt | 2 +- Documentation/gittutorial-2.txt | 2 +- Documentation/gittutorial.txt | 2 +- 140 files changed, 144 insertions(+), 146 deletions(-) diff --git a/Documentation/Makefile b/Documentation/Makefile index 5bd0e7c76e..62269e39c4 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -1,10 +1,10 @@ MAN1_TXT= \ $(filter-out $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \ $(wildcard git-*.txt)) \ - gitk.txt + gitk.txt git.txt MAN5_TXT=gitattributes.txt gitignore.txt gitmodules.txt githooks.txt \ gitrepository-layout.txt -MAN7_TXT=git.txt gitcli.txt gittutorial.txt gittutorial-2.txt \ +MAN7_TXT=gitcli.txt gittutorial.txt gittutorial-2.txt \ gitcvs-migration.txt gitcore-tutorial.txt gitglossary.txt \ gitdiffcore.txt @@ -139,8 +139,6 @@ cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT) $(PERL_PATH) ./cmd-list.perl ../command-list.txt date >$@ -git.7 git.html: git.txt - clean: $(RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7 $(RM) *.texi *.texi+ git.info gitman.info diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt index 8eb9de11c2..88165da38f 100644 --- a/Documentation/git-add.txt +++ b/Documentation/git-add.txt @@ -265,4 +265,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index 2387a8d6c2..7f6f5b472a 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -153,4 +153,4 @@ Documentation by Petr Baudis, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt index 2dec2ec1cf..76277bd178 100644 --- a/Documentation/git-apply.txt +++ b/Documentation/git-apply.txt @@ -206,4 +206,4 @@ Documentation by Junio C Hamano GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-archimport.txt b/Documentation/git-archimport.txt index bd20fd8206..603117c796 100644 --- a/Documentation/git-archimport.txt +++ b/Documentation/git-archimport.txt @@ -117,4 +117,4 @@ Documentation by Junio C Hamano, Martin Langhoff and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt index 14163b65f9..7900f33d4b 100644 --- a/Documentation/git-blame.txt +++ b/Documentation/git-blame.txt @@ -192,4 +192,4 @@ Written by Junio C Hamano GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt index c824d88742..a70fa76f31 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@ -209,4 +209,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-bundle.txt b/Documentation/git-bundle.txt index 18330cdcd2..f6a06129ab 100644 --- a/Documentation/git-bundle.txt +++ b/Documentation/git-bundle.txt @@ -171,4 +171,4 @@ Written by Mark Levedahl GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-cat-file.txt b/Documentation/git-cat-file.txt index f6c394c482..3f77dbd107 100644 --- a/Documentation/git-cat-file.txt +++ b/Documentation/git-cat-file.txt @@ -103,4 +103,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt index a644173e15..a5bf9d6f89 100644 --- a/Documentation/git-checkout.txt +++ b/Documentation/git-checkout.txt @@ -215,4 +215,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt index ca048f46f6..3762272b88 100644 --- a/Documentation/git-cherry-pick.txt +++ b/Documentation/git-cherry-pick.txt @@ -78,4 +78,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-cherry.txt b/Documentation/git-cherry.txt index d8e0a5b843..ef7caf61e1 100644 --- a/Documentation/git-cherry.txt +++ b/Documentation/git-cherry.txt @@ -72,4 +72,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-citool.txt b/Documentation/git-citool.txt index aca1d75e50..09108d0e66 100644 --- a/Documentation/git-citool.txt +++ b/Documentation/git-citool.txt @@ -29,4 +29,4 @@ Documentation by Shawn O. Pearce . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-clean.txt b/Documentation/git-clean.txt index 5e9da036ba..deebf3b315 100644 --- a/Documentation/git-clean.txt +++ b/Documentation/git-clean.txt @@ -54,4 +54,4 @@ Written by Pavel Roskin GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt index 9b564420c5..7973e6af4c 100644 --- a/Documentation/git-clone.txt +++ b/Documentation/git-clone.txt @@ -205,4 +205,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-commit-tree.txt b/Documentation/git-commit-tree.txt index 700840d41f..728c2fae89 100644 --- a/Documentation/git-commit-tree.txt +++ b/Documentation/git-commit-tree.txt @@ -103,4 +103,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt index 5de5d051b7..84b754f8d0 100644 --- a/Documentation/git-config.txt +++ b/Documentation/git-config.txt @@ -334,4 +334,4 @@ Documentation by Johannes Schindelin, Petr Baudis and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-cvsexportcommit.txt b/Documentation/git-cvsexportcommit.txt index f75afaaadc..5fa91e51ad 100644 --- a/Documentation/git-cvsexportcommit.txt +++ b/Documentation/git-cvsexportcommit.txt @@ -117,4 +117,4 @@ Documentation by Martin Langhoff and others. GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt index 58eefd42e5..2f9b35f622 100644 --- a/Documentation/git-cvsimport.txt +++ b/Documentation/git-cvsimport.txt @@ -170,4 +170,4 @@ Documentation by Matthias Urlichs . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt index a33382ec2d..b7721131dd 100644 --- a/Documentation/git-cvsserver.txt +++ b/Documentation/git-cvsserver.txt @@ -352,4 +352,4 @@ Documentation by Martyn Smith , Martin Langhoff . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt index 69e1ab750d..3f0b7b2f47 100644 --- a/Documentation/git-describe.txt +++ b/Documentation/git-describe.txt @@ -142,4 +142,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-fast-export.txt b/Documentation/git-fast-export.txt index 6dac475a0b..332346cc5d 100644 --- a/Documentation/git-fast-export.txt +++ b/Documentation/git-fast-export.txt @@ -80,4 +80,4 @@ Documentation by Johannes E. Schindelin . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt index c29a4f8126..395c055f95 100644 --- a/Documentation/git-fast-import.txt +++ b/Documentation/git-fast-import.txt @@ -1119,4 +1119,4 @@ Documentation by Shawn O. Pearce . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-fetch-pack.txt b/Documentation/git-fetch-pack.txt index 57598eb056..6ee3dccc1f 100644 --- a/Documentation/git-fetch-pack.txt +++ b/Documentation/git-fetch-pack.txt @@ -99,4 +99,4 @@ Documentation by Junio C Hamano. GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt index d982f961fc..489b2b17e6 100644 --- a/Documentation/git-fetch.txt +++ b/Documentation/git-fetch.txt @@ -53,4 +53,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-fsck.txt b/Documentation/git-fsck.txt index 4cc26fb744..9846c859cf 100644 --- a/Documentation/git-fsck.txt +++ b/Documentation/git-fsck.txt @@ -151,4 +151,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-get-tar-commit-id.txt b/Documentation/git-get-tar-commit-id.txt index dea41490c4..c13bf98697 100644 --- a/Documentation/git-get-tar-commit-id.txt +++ b/Documentation/git-get-tar-commit-id.txt @@ -33,4 +33,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt index a97f0557f4..13b9cf770c 100644 --- a/Documentation/git-grep.txt +++ b/Documentation/git-grep.txt @@ -145,4 +145,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-gui.txt b/Documentation/git-gui.txt index bd5fe67b32..105397f2bd 100644 --- a/Documentation/git-gui.txt +++ b/Documentation/git-gui.txt @@ -112,4 +112,4 @@ Documentation by Shawn O. Pearce . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-hash-object.txt b/Documentation/git-hash-object.txt index 99a21434b5..cf3dce8a4a 100644 --- a/Documentation/git-hash-object.txt +++ b/Documentation/git-hash-object.txt @@ -45,4 +45,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list and the git-list Documentation ------------- -Initial documentation was part of the linkgit:git[7] man page. +Initial documentation was part of the linkgit:git[1] man page. Christian Couder extracted and rewrote it a little. Maintenance is done by the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-http-fetch.txt b/Documentation/git-http-fetch.txt index b784a9d07e..70fb635291 100644 --- a/Documentation/git-http-fetch.txt +++ b/Documentation/git-http-fetch.txt @@ -53,4 +53,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt index ebaee4b334..db61bc96c7 100644 --- a/Documentation/git-log.txt +++ b/Documentation/git-log.txt @@ -112,4 +112,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt index 4be45b001a..1b0b212245 100644 --- a/Documentation/git-ls-files.txt +++ b/Documentation/git-ls-files.txt @@ -192,4 +192,4 @@ Documentation by David Greaves, Junio C Hamano, Josh Triplett, and the git-list GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-ls-remote.txt b/Documentation/git-ls-remote.txt index c5ba0aad13..8ad7a94f95 100644 --- a/Documentation/git-ls-remote.txt +++ b/Documentation/git-ls-remote.txt @@ -69,4 +69,4 @@ Written by Junio C Hamano GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.txt index 360c0a1b98..d9881fbbbe 100644 --- a/Documentation/git-ls-tree.txt +++ b/Documentation/git-ls-tree.txt @@ -91,4 +91,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-mailinfo.txt b/Documentation/git-mailinfo.txt index 3846f0e6eb..183dc1dd75 100644 --- a/Documentation/git-mailinfo.txt +++ b/Documentation/git-mailinfo.txt @@ -66,4 +66,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-mailsplit.txt b/Documentation/git-mailsplit.txt index 421e7782b8..9a2aedd480 100644 --- a/Documentation/git-mailsplit.txt +++ b/Documentation/git-mailsplit.txt @@ -55,4 +55,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-merge-base.txt b/Documentation/git-merge-base.txt index 07f78b4ae0..bbe8512397 100644 --- a/Documentation/git-merge-base.txt +++ b/Documentation/git-merge-base.txt @@ -39,4 +39,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt index ef1f055c85..55bc367479 100644 --- a/Documentation/git-merge.txt +++ b/Documentation/git-merge.txt @@ -168,4 +168,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt index 8ed44947ef..83525609c6 100644 --- a/Documentation/git-mergetool.txt +++ b/Documentation/git-mergetool.txt @@ -70,4 +70,4 @@ Documentation by Theodore Y Ts'o. GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-mktag.txt b/Documentation/git-mktag.txt index 82db9f5d8f..232bc1a338 100644 --- a/Documentation/git-mktag.txt +++ b/Documentation/git-mktag.txt @@ -43,4 +43,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-mv.txt b/Documentation/git-mv.txt index bff3fbe745..fb485de2c8 100644 --- a/Documentation/git-mv.txt +++ b/Documentation/git-mv.txt @@ -50,4 +50,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-parse-remote.txt b/Documentation/git-parse-remote.txt index deb8b2f01e..951dbd6c83 100644 --- a/Documentation/git-parse-remote.txt +++ b/Documentation/git-parse-remote.txt @@ -47,4 +47,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-patch-id.txt b/Documentation/git-patch-id.txt index 894852a78b..bb8a079254 100644 --- a/Documentation/git-patch-id.txt +++ b/Documentation/git-patch-id.txt @@ -39,4 +39,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-peek-remote.txt b/Documentation/git-peek-remote.txt index 0001710072..56be1b6118 100644 --- a/Documentation/git-peek-remote.txt +++ b/Documentation/git-peek-remote.txt @@ -47,4 +47,4 @@ Documentation by Junio C Hamano. GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-prune-packed.txt b/Documentation/git-prune-packed.txt index 3219eb3ddc..f330b8a5b9 100644 --- a/Documentation/git-prune-packed.txt +++ b/Documentation/git-prune-packed.txt @@ -49,4 +49,4 @@ linkgit:git-repack[1] GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-prune.txt b/Documentation/git-prune.txt index 82a03e3766..7283d07a0e 100644 --- a/Documentation/git-prune.txt +++ b/Documentation/git-prune.txt @@ -83,4 +83,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index 0cc44d7999..9d8c379717 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -200,4 +200,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-quiltimport.txt b/Documentation/git-quiltimport.txt index 0fc2b56c12..d0bc182c74 100644 --- a/Documentation/git-quiltimport.txt +++ b/Documentation/git-quiltimport.txt @@ -57,4 +57,4 @@ Documentation by Eric Biederman GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt index 2e097a140c..cbe68352bf 100644 --- a/Documentation/git-read-tree.txt +++ b/Documentation/git-read-tree.txt @@ -361,4 +361,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-receive-pack.txt b/Documentation/git-receive-pack.txt index 4111434bb6..a70c7168f6 100644 --- a/Documentation/git-receive-pack.txt +++ b/Documentation/git-receive-pack.txt @@ -162,4 +162,4 @@ Documentation by Junio C Hamano. GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-reflog.txt b/Documentation/git-reflog.txt index 047e3ce14d..8492aeacf1 100644 --- a/Documentation/git-reflog.txt +++ b/Documentation/git-reflog.txt @@ -102,4 +102,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-relink.txt b/Documentation/git-relink.txt index 1b024ded33..f6dafd4495 100644 --- a/Documentation/git-relink.txt +++ b/Documentation/git-relink.txt @@ -34,4 +34,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt index 5c55290ee5..e97dc09296 100644 --- a/Documentation/git-remote.txt +++ b/Documentation/git-remote.txt @@ -146,4 +146,4 @@ Documentation by J. Bruce Fields and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt index ef578f0f8b..793dccaa9d 100644 --- a/Documentation/git-repack.txt +++ b/Documentation/git-repack.txt @@ -129,4 +129,4 @@ linkgit:git-prune-packed[1] GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-request-pull.txt b/Documentation/git-request-pull.txt index 9a14c04e39..c71d86985e 100644 --- a/Documentation/git-request-pull.txt +++ b/Documentation/git-request-pull.txt @@ -36,4 +36,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-rerere.txt b/Documentation/git-rerere.txt index a53858e250..8030ec4d01 100644 --- a/Documentation/git-rerere.txt +++ b/Documentation/git-rerere.txt @@ -208,4 +208,4 @@ Written by Junio C Hamano GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt index fac59c9726..12ea9b23c5 100644 --- a/Documentation/git-reset.txt +++ b/Documentation/git-reset.txt @@ -203,4 +203,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt index d80cdf5502..c9b0950321 100644 --- a/Documentation/git-rev-list.txt +++ b/Documentation/git-rev-list.txt @@ -109,4 +109,4 @@ and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt index 5641d99518..a0ef1fd550 100644 --- a/Documentation/git-rev-parse.txt +++ b/Documentation/git-rev-parse.txt @@ -417,4 +417,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-revert.txt b/Documentation/git-revert.txt index 13ceabbcc8..5e6adfcea3 100644 --- a/Documentation/git-revert.txt +++ b/Documentation/git-revert.txt @@ -65,4 +65,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-rm.txt b/Documentation/git-rm.txt index 6481f4ae52..da3fe59135 100644 --- a/Documentation/git-rm.txt +++ b/Documentation/git-rm.txt @@ -107,4 +107,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt index 9d0a10c562..a29583796d 100644 --- a/Documentation/git-send-email.txt +++ b/Documentation/git-send-email.txt @@ -241,4 +241,4 @@ Documentation by Ryan Anderson GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-send-pack.txt b/Documentation/git-send-pack.txt index 777515b12e..850c351dcd 100644 --- a/Documentation/git-send-pack.txt +++ b/Documentation/git-send-pack.txt @@ -125,4 +125,4 @@ Documentation by Junio C Hamano. GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-sh-setup.txt b/Documentation/git-sh-setup.txt index 16b8b75146..c543170342 100644 --- a/Documentation/git-sh-setup.txt +++ b/Documentation/git-sh-setup.txt @@ -77,4 +77,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-shell.txt b/Documentation/git-shell.txt index bc031e0cc2..bd09196acc 100644 --- a/Documentation/git-shell.txt +++ b/Documentation/git-shell.txt @@ -31,4 +31,4 @@ Documentation by Petr Baudis and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-shortlog.txt b/Documentation/git-shortlog.txt index d7cb4c0468..5079b568e6 100644 --- a/Documentation/git-shortlog.txt +++ b/Documentation/git-shortlog.txt @@ -65,4 +65,4 @@ Documentation by Junio C Hamano. GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-show-branch.txt b/Documentation/git-show-branch.txt index 0bb8250b20..32595ad549 100644 --- a/Documentation/git-show-branch.txt +++ b/Documentation/git-show-branch.txt @@ -190,4 +190,4 @@ Documentation by Junio C Hamano. GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-show-index.txt b/Documentation/git-show-index.txt index 535a884642..891f0eff27 100644 --- a/Documentation/git-show-index.txt +++ b/Documentation/git-show-index.txt @@ -31,4 +31,4 @@ Documentation by Junio C Hamano GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-show-ref.txt b/Documentation/git-show-ref.txt index ce0e643fbe..a85332c363 100644 --- a/Documentation/git-show-ref.txt +++ b/Documentation/git-show-ref.txt @@ -169,4 +169,4 @@ Man page by Jonas Fonseca . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-show.txt b/Documentation/git-show.txt index 29ed0acc62..baaf2bc8fe 100644 --- a/Documentation/git-show.txt +++ b/Documentation/git-show.txt @@ -81,4 +81,4 @@ Documentation by David Greaves, Petr Baudis and the git-list GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt index 057e2a167e..fef62b16df 100644 --- a/Documentation/git-status.txt +++ b/Documentation/git-status.txt @@ -72,4 +72,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt index 0668f295ee..139206f014 100644 --- a/Documentation/git-submodule.txt +++ b/Documentation/git-submodule.txt @@ -98,4 +98,4 @@ Written by Lars Hjemli GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-symbolic-ref.txt b/Documentation/git-symbolic-ref.txt index a5b40f3e85..e9b996baa8 100644 --- a/Documentation/git-symbolic-ref.txt +++ b/Documentation/git-symbolic-ref.txt @@ -58,4 +58,4 @@ Written by Junio C Hamano GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt index 9712392f79..8f40f4bf0d 100644 --- a/Documentation/git-tag.txt +++ b/Documentation/git-tag.txt @@ -255,4 +255,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-update-server-info.txt b/Documentation/git-update-server-info.txt index b49abbf43f..aa1ee67cbb 100644 --- a/Documentation/git-update-server-info.txt +++ b/Documentation/git-update-server-info.txt @@ -54,4 +54,4 @@ Documentation by Junio C Hamano. GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-upload-archive.txt b/Documentation/git-upload-archive.txt index c1ef1440bc..e49f68f68e 100644 --- a/Documentation/git-upload-archive.txt +++ b/Documentation/git-upload-archive.txt @@ -34,4 +34,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-upload-pack.txt b/Documentation/git-upload-pack.txt index 2330d13814..521da5b200 100644 --- a/Documentation/git-upload-pack.txt +++ b/Documentation/git-upload-pack.txt @@ -43,4 +43,4 @@ Documentation by Junio C Hamano. GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-var.txt b/Documentation/git-var.txt index 242a1d9bb6..67e8e1f93a 100644 --- a/Documentation/git-var.txt +++ b/Documentation/git-var.txt @@ -61,4 +61,4 @@ Documentation by Eric Biederman and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-verify-pack.txt b/Documentation/git-verify-pack.txt index ba2a157299..478f236996 100644 --- a/Documentation/git-verify-pack.txt +++ b/Documentation/git-verify-pack.txt @@ -50,4 +50,4 @@ Documentation by Junio C Hamano GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-verify-tag.txt b/Documentation/git-verify-tag.txt index 7e9c1ed15b..dffba8906a 100644 --- a/Documentation/git-verify-tag.txt +++ b/Documentation/git-verify-tag.txt @@ -28,4 +28,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-web--browse.txt b/Documentation/git-web--browse.txt index 5ba0b9f1c9..f8d5fb11d1 100644 --- a/Documentation/git-web--browse.txt +++ b/Documentation/git-web--browse.txt @@ -118,4 +118,4 @@ git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/git-whatchanged.txt b/Documentation/git-whatchanged.txt index a6e7bd4c8b..f5d39c7870 100644 --- a/Documentation/git-whatchanged.txt +++ b/Documentation/git-whatchanged.txt @@ -76,4 +76,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/gitk.txt b/Documentation/gitk.txt index b88fd9566a..14bcf91f40 100644 --- a/Documentation/gitk.txt +++ b/Documentation/gitk.txt @@ -109,4 +109,4 @@ Documentation by Junio C Hamano, Jonas Fonseca, and the git-list GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/gitmodules.txt b/Documentation/gitmodules.txt index cc95b69f27..f8d122a8b9 100644 --- a/Documentation/gitmodules.txt +++ b/Documentation/gitmodules.txt @@ -59,4 +59,4 @@ Documentation by Lars Hjemli GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite diff --git a/Documentation/gitrepository-layout.txt b/Documentation/gitrepository-layout.txt index 9949093845..03c52ff526 100644 --- a/Documentation/gitrepository-layout.txt +++ b/Documentation/gitrepository-layout.txt @@ -205,4 +205,4 @@ link:user-manual.html[The Git User's Manual] GIT --- -Part of the linkgit:git[7] suite. +Part of the linkgit:git[1] suite. diff --git a/Documentation/gittutorial-2.txt b/Documentation/gittutorial-2.txt index 4880ba9ae9..e3d5c1fbf0 100644 --- a/Documentation/gittutorial-2.txt +++ b/Documentation/gittutorial-2.txt @@ -427,4 +427,4 @@ link:user-manual.html[The Git User's Manual] GIT --- -Part of the linkgit:git[7] suite. +Part of the linkgit:git[1] suite. diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt index 722b323214..9563a632eb 100644 --- a/Documentation/gittutorial.txt +++ b/Documentation/gittutorial.txt @@ -605,4 +605,4 @@ link:user-manual.html[The Git User's Manual] GIT --- -Part of the linkgit:git[7] suite. +Part of the linkgit:git[1] suite. From 1b9a9467f8b9a8da2fe58d10ae16779492aa7737 Mon Sep 17 00:00:00 2001 From: Daniel Barkalow Date: Thu, 5 Jun 2008 23:15:19 -0400 Subject: [PATCH 19/87] Use nonrelative paths instead of absolute paths for cloned repositories Particularly for the "alternates" file, if one will be created, we want a path that doesn't depend on the current directory, but we want to retain any symlinks in the path as given and any in the user's view of the current directory when the path was given. Signed-off-by: Daniel Barkalow Signed-off-by: Junio C Hamano --- builtin-clone.c | 4 ++-- cache.h | 1 + path.c | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/builtin-clone.c b/builtin-clone.c index f4accbe541..7190952071 100644 --- a/builtin-clone.c +++ b/builtin-clone.c @@ -76,7 +76,7 @@ static char *get_repo_path(const char *repo, int *is_bundle) path = mkpath("%s%s", repo, suffix[i]); if (!stat(path, &st) && S_ISDIR(st.st_mode)) { *is_bundle = 0; - return xstrdup(make_absolute_path(path)); + return xstrdup(make_nonrelative_path(path)); } } @@ -85,7 +85,7 @@ static char *get_repo_path(const char *repo, int *is_bundle) path = mkpath("%s%s", repo, bundle_suffix[i]); if (!stat(path, &st) && S_ISREG(st.st_mode)) { *is_bundle = 1; - return xstrdup(make_absolute_path(path)); + return xstrdup(make_nonrelative_path(path)); } } diff --git a/cache.h b/cache.h index 092a997b07..0a63c0eae6 100644 --- a/cache.h +++ b/cache.h @@ -524,6 +524,7 @@ static inline int is_absolute_path(const char *path) return path[0] == '/'; } const char *make_absolute_path(const char *path); +const char *make_nonrelative_path(const char *path); /* Read and unpack a sha1 file into memory, write memory to a sha1 file */ extern int sha1_object_info(const unsigned char *, unsigned long *); diff --git a/path.c b/path.c index b7c24a2aac..4945f2abc5 100644 --- a/path.c +++ b/path.c @@ -291,6 +291,42 @@ int adjust_shared_perm(const char *path) return 0; } +static const char *get_pwd_cwd(void) +{ + static char cwd[PATH_MAX + 1]; + char *pwd; + struct stat cwd_stat, pwd_stat; + if (getcwd(cwd, PATH_MAX) == NULL) + return NULL; + pwd = getenv("PWD"); + if (pwd && strcmp(pwd, cwd)) { + stat(cwd, &cwd_stat); + if (!stat(pwd, &pwd_stat) && + pwd_stat.st_dev == cwd_stat.st_dev && + pwd_stat.st_ino == cwd_stat.st_ino) { + strlcpy(cwd, pwd, PATH_MAX); + } + } + return cwd; +} + +const char *make_nonrelative_path(const char *path) +{ + static char buf[PATH_MAX + 1]; + + if (path[0] == '/') { + if (strlcpy(buf, path, PATH_MAX) >= PATH_MAX) + die ("Too long path: %.*s", 60, path); + } else { + const char *cwd = get_pwd_cwd(); + if (!cwd) + die("Cannot determine the current working directory"); + if (snprintf(buf, PATH_MAX, "%s/%s", cwd, path) >= PATH_MAX) + die ("Too long path: %.*s", 60, path); + } + return buf; +} + /* We allow "recursive" symbolic links. Only within reason, though. */ #define MAXDEPTH 5 From 03300c0ac0dfd6098ff65cff518bfffb05ae4194 Mon Sep 17 00:00:00 2001 From: Adam Simpkins Date: Thu, 5 Jun 2008 02:28:13 -0700 Subject: [PATCH 20/87] git log --graph: print '*' for all commits, including merges Previously, merge commits were printed with 'M' instead of '*'. This had the potential to confuse users when not all parents of the merge commit were included in the log output. As Junio has pointed out, merge commits can almost always be easily identified from the log message, anyway. Signed-off-by: Adam Simpkins Signed-off-by: Junio C Hamano --- graph.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/graph.c b/graph.c index 283b13792d..e2633f8376 100644 --- a/graph.c +++ b/graph.c @@ -679,20 +679,6 @@ static void graph_output_commit_char(struct git_graph *graph, struct strbuf *sb) return; } - /* - * Print 'M' for merge commits - * - * Note that we don't check graph->num_parents to determine if the - * commit is a merge, since that only tracks the number of - * "interesting" parents. We want to print 'M' for merge commits - * even if they have less than 2 interesting parents. - */ - if (graph->commit->parents != NULL && - graph->commit->parents->next != NULL) { - strbuf_addch(sb, 'M'); - return; - } - /* * Print '*' in all other cases */ From 7064ca51b08304d56bf57d2cceb2884f1abf66e5 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 7 Jun 2008 11:45:48 -0700 Subject: [PATCH 21/87] GIT 1.5.5.4 Signed-off-by: Junio C Hamano --- Documentation/RelNotes-1.5.5.4.txt | 7 +++++++ Documentation/git.txt | 3 ++- GIT-VERSION-GEN | 2 +- RelNotes | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 Documentation/RelNotes-1.5.5.4.txt diff --git a/Documentation/RelNotes-1.5.5.4.txt b/Documentation/RelNotes-1.5.5.4.txt new file mode 100644 index 0000000000..2d0279ecce --- /dev/null +++ b/Documentation/RelNotes-1.5.5.4.txt @@ -0,0 +1,7 @@ +GIT v1.5.5.4 Release Notes +========================== + +Fixes since v1.5.5.4 +-------------------- + + * "git name-rev --all" used to segfault. diff --git a/Documentation/git.txt b/Documentation/git.txt index ccaa655d1f..615c307cbc 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -46,12 +46,13 @@ Documentation for older releases are available here: * link:v1.5.5/git.html[documentation for release 1.5.5] * release notes for + link:RelNotes-1.5.5.4.txt[1.5.5.4], link:RelNotes-1.5.5.3.txt[1.5.5.3], link:RelNotes-1.5.5.2.txt[1.5.5.2], link:RelNotes-1.5.5.1.txt[1.5.5.1], link:RelNotes-1.5.5.txt[1.5.5]. -* link:v1.5.5.3/git.html[documentation for release 1.5.5.3] +* link:v1.5.5.4/git.html[documentation for release 1.5.5.4] * link:v1.5.4.5/git.html[documentation for release 1.5.4.5] diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index 45fc112de6..98d650aa62 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v1.5.5.3.GIT +DEF_VER=v1.5.5.4.GIT LF=' ' diff --git a/RelNotes b/RelNotes index 6be0f7886f..1b9812afe7 120000 --- a/RelNotes +++ b/RelNotes @@ -1 +1 @@ -Documentation/RelNotes-1.5.5.3.txt \ No newline at end of file +Documentation/RelNotes-1.5.5.4.txt \ No newline at end of file From 218bf69f0b137e0a21cfeeda6ba81947f220401f Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 7 Jun 2008 13:05:34 -0700 Subject: [PATCH 22/87] GIT 1.5.6-rc2 Signed-off-by: Junio C Hamano --- Documentation/RelNotes-1.5.6.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/RelNotes-1.5.6.txt b/Documentation/RelNotes-1.5.6.txt index 1855cf3923..a79e4b9393 100644 --- a/Documentation/RelNotes-1.5.6.txt +++ b/Documentation/RelNotes-1.5.6.txt @@ -18,6 +18,12 @@ Updates since v1.5.5 * "git init" now autodetects the case sensitivity of the filesystem and sets core.ignorecase accordingly. +(documentation) + +* Many freestanding documentation pages have been converted and made + available to "git help" (aka "man git-") as section 7 of the + manual pages. + (performance) * "git clone" was rewritten in C. This will hopefully help cloning a From e048a49f96172aecec96a5821a2177cbd49a24ed Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Sun, 8 Jun 2008 16:34:40 +0200 Subject: [PATCH 23/87] make_nonrelative_path: Use is_absolute_path() This helps porting to Windows. Signed-off-by: Johannes Sixt Signed-off-by: Junio C Hamano --- path.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/path.c b/path.c index 4945f2abc5..7a35a26a16 100644 --- a/path.c +++ b/path.c @@ -314,7 +314,7 @@ const char *make_nonrelative_path(const char *path) { static char buf[PATH_MAX + 1]; - if (path[0] == '/') { + if (is_absolute_path(path)) { if (strlcpy(buf, path, PATH_MAX) >= PATH_MAX) die ("Too long path: %.*s", 60, path); } else { From 170e095a9cfe31617162e8a9b5063b8bc38af82b Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Sun, 8 Jun 2008 16:40:13 +0200 Subject: [PATCH 24/87] Remove exec bit from builtin-fast-export.c Signed-off-by: Johannes Sixt Signed-off-by: Junio C Hamano --- builtin-fast-export.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 builtin-fast-export.c diff --git a/builtin-fast-export.c b/builtin-fast-export.c old mode 100755 new mode 100644 From d633c882db7cc79bf2d33df99cb0d1c2ef28c15d Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 7 Jun 2008 11:39:20 -0700 Subject: [PATCH 25/87] http-push.c: remove duplicated code An earlier commit aa1dbc9 (Update http-push functionality, 2006-03-07) borrowed some code from rev-list.c. This copy and paste made sense back then, because mark_edges_uninteresting(), and its helper mark_edge_parents_uninteresting(), accessed a file scope static variable "revs" in rev-list.c, and http-push.c did not have nor care about such a variable. But these days they are already properly libified and live in list-objects.c and they take "revs" as as an argument. Make use of them and lose 20 or so lines. Signed-off-by: Junio C Hamano --- http-push.c | 29 +++-------------------------- 1 file changed, 3 insertions(+), 26 deletions(-) diff --git a/http-push.c b/http-push.c index c93e781c3b..665712a85d 100644 --- a/http-push.c +++ b/http-push.c @@ -9,6 +9,7 @@ #include "revision.h" #include "exec_cmd.h" #include "remote.h" +#include "list-objects.h" #include @@ -1878,31 +1879,6 @@ static int ref_newer(const unsigned char *new_sha1, return found; } -static void mark_edge_parents_uninteresting(struct commit *commit) -{ - struct commit_list *parents; - - for (parents = commit->parents; parents; parents = parents->next) { - struct commit *parent = parents->item; - if (!(parent->object.flags & UNINTERESTING)) - continue; - mark_tree_uninteresting(parent->tree); - } -} - -static void mark_edges_uninteresting(struct commit_list *list) -{ - for ( ; list; list = list->next) { - struct commit *commit = list->item; - - if (commit->object.flags & UNINTERESTING) { - mark_tree_uninteresting(commit->tree); - continue; - } - mark_edge_parents_uninteresting(commit); - } -} - static void add_remote_info_ref(struct remote_ls_ctx *ls) { struct strbuf *buf = (struct strbuf *)ls->userData; @@ -2408,6 +2384,7 @@ int main(int argc, char **argv) } init_revisions(&revs, setup_git_directory()); setup_revisions(commit_argc, commit_argv, &revs, NULL); + revs.edge_hint = 0; /* just in case */ free(new_sha1_hex); if (old_sha1_hex) { free(old_sha1_hex); @@ -2418,7 +2395,7 @@ int main(int argc, char **argv) pushing = 0; if (prepare_revision_walk(&revs)) die("revision walk setup failed"); - mark_edges_uninteresting(revs.commits); + mark_edges_uninteresting(revs.commits, &revs, NULL); objects_to_send = get_delta(&revs, ref_lock); finish_all_active_slots(); From 39468defd306b7fb8ca0d381a2d66216a8eb9095 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Sat, 7 Jun 2008 22:38:37 +0200 Subject: [PATCH 26/87] Remove unused code in parse_commit_buffer() The n_refs variable is no longer really used in this function, so there is no reason to keep it. It was introduced in 27dedf0c and the code that really used it was removed in 7914053. Signed-off-by: Miklos Vajna Signed-off-by: Junio C Hamano --- commit.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/commit.c b/commit.c index 94d5b3d261..e2d8624d9c 100644 --- a/commit.c +++ b/commit.c @@ -243,7 +243,6 @@ int parse_commit_buffer(struct commit *item, void *buffer, unsigned long size) unsigned char parent[20]; struct commit_list **pptr; struct commit_graft *graft; - unsigned n_refs = 0; if (item->object.parsed) return 0; @@ -255,8 +254,6 @@ int parse_commit_buffer(struct commit *item, void *buffer, unsigned long size) return error("bad tree pointer in commit %s", sha1_to_hex(item->object.sha1)); item->tree = lookup_tree(parent); - if (item->tree) - n_refs++; bufptr += 46; /* "tree " + "hex sha1" + "\n" */ pptr = &item->parents; @@ -272,10 +269,8 @@ int parse_commit_buffer(struct commit *item, void *buffer, unsigned long size) if (graft) continue; new_parent = lookup_commit(parent); - if (new_parent) { + if (new_parent) pptr = &commit_list_insert(new_parent, pptr)->next; - n_refs++; - } } if (graft) { int i; @@ -285,7 +280,6 @@ int parse_commit_buffer(struct commit *item, void *buffer, unsigned long size) if (!new_parent) continue; pptr = &commit_list_insert(new_parent, pptr)->next; - n_refs++; } } item->date = parse_commit_date(bufptr, tail); From 88b1f0b8094638b1f9533393d1436d8c51fd07d5 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Sat, 7 Jun 2008 18:20:19 +0200 Subject: [PATCH 27/87] git-rebase -i: mention the short command aliases in the todo list git rebase -i already supports 'p', 'e' and 's' as aliases for 'pick', 'edit' and 'squash', but one could know it only by reading the source code. If a user rebases a lot, it's quite handy, so mention these short forms as well. Signed-off-by: Miklos Vajna Signed-off-by: Junio C Hamano --- git-rebase--interactive.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 0ca986f721..a64d9d57ab 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -530,9 +530,9 @@ do # Rebase $SHORTUPSTREAM..$SHORTHEAD onto $SHORTONTO # # Commands: -# pick = use commit -# edit = use commit, but stop for amending -# squash = use commit, but meld into previous commit +# p, pick = use commit +# e, edit = use commit, but stop for amending +# s, squash = use commit, but meld into previous commit # # If you remove a line here THAT COMMIT WILL BE LOST. # However, if you remove everything, the rebase will be aborted. From c4a7ff52bda5c2e4cd08074ce4c27dbc0fc5242a Mon Sep 17 00:00:00 2001 From: Stephan Beyer Date: Sat, 7 Jun 2008 13:06:45 +0200 Subject: [PATCH 28/87] git-commit.txt: Correct option alternatives This patch fixes the SYNOPSIS in git-commit.txt: * --amend could be used in conjunction with -c/-C/-F/-m; it is not mutually exclusive with them. * -m and -F are not alternative options to -c/-C; you can reuse authorship from a commit (-c/-C) but change the message (-m/-F). Furthermore, for long-option consistency --author is changed to --author=. Signed-off-by: Stephan Beyer Signed-off-by: Junio C Hamano --- Documentation/git-commit.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt index 02d4baab6d..40bf63ea63 100644 --- a/Documentation/git-commit.txt +++ b/Documentation/git-commit.txt @@ -8,9 +8,9 @@ git-commit - Record changes to the repository SYNOPSIS -------- [verse] -'git-commit' [-a | --interactive] [-s] [-v] [-u] - [(-c | -C) | -F | -m | --amend] - [--allow-empty] [--no-verify] [-e] [--author ] +'git-commit' [-a | --interactive] [-s] [-v] [-u] [--amend] + [(-c | -C) ] [-F | -m ] + [--allow-empty] [--no-verify] [-e] [--author=] [--cleanup=] [--] [[-i | -o ]...] DESCRIPTION @@ -68,7 +68,7 @@ OPTIONS Take the commit message from the given file. Use '-' to read the message from the standard input. ---author :: +--author=:: Override the author name used in the commit. Use `A U Thor ` format. From 55f409a826cbd574333dbc91d6f7e1e9888d696d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ask=20Bj=C3=B8rn=20Hansen?= Date: Sat, 7 Jun 2008 00:19:26 -0700 Subject: [PATCH 29/87] gitweb setup instruction: rewrite HEAD and root as well Also add a few more hints for how to setup and configure gitweb as described [jc: with a fix from Mike Hommey] Signed-off-by: Junio C Hamano --- gitweb/README | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/gitweb/README b/gitweb/README index 8f7ea367ba..356ab7b327 100644 --- a/gitweb/README +++ b/gitweb/README @@ -255,12 +255,15 @@ Webserver configuration If you want to have one URL for both gitweb and your http:// repositories, you can configure apache like this: - - ServerName git.domain.org + + ServerName git.example.org DocumentRoot /pub/git - RewriteEngine on - RewriteRule ^/(.*\.git/(?!/?(info|objects|refs)).*)?$ /cgi-bin/gitweb.cgi%{REQUEST_URI} [L,PT] SetEnv GITWEB_CONFIG /etc/gitweb.conf + RewriteEngine on + # make the front page an internal rewrite to the gitweb script + RewriteRule ^/$ /cgi-bin/gitweb.cgi + # make access for "dumb clients" work + RewriteRule ^/(.*\.git/(?!/?(HEAD|info|objects|refs)).*)?$ /cgi-bin/gitweb.cgi%{REQUEST_URI} [L,PT] The above configuration expects your public repositories to live under @@ -276,6 +279,13 @@ override the defaults given at the head of the gitweb.perl (or gitweb.cgi). Look at the comments in that file for information on which variables and what they mean. +If you use the rewrite rules from the example you'll likely also need +something like the following in your gitweb.conf (or gitweb_config.perl) file: + + @stylesheets = ("/some/absolute/path/gitweb.css"); + $my_uri = "/"; + $home_link = "/"; + Originally written by: Kay Sievers From 9f7820ae574815e6a5c2a8c361a3c7e788d0930c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ask=20Bj=C3=B8rn=20Hansen?= Date: Sat, 7 Jun 2008 00:33:42 -0700 Subject: [PATCH 30/87] send-email: Allow the envelope sender to be set via configuration Signed-off-by: Junio C Hamano --- git-send-email.perl | 1 + 1 file changed, 1 insertion(+) diff --git a/git-send-email.perl b/git-send-email.perl index a598fdc890..ec69c237f9 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -209,6 +209,7 @@ my %config_settings = ( "bcc" => \@bcclist, "aliasesfile" => \@alias_files, "suppresscc" => \@suppress_cc, + "envelopesender" => \$envelope_sender, ); # Handle Uncouth Termination From d1eb35b653ddc1bb3fffde1729a7f10342525049 Mon Sep 17 00:00:00 2001 From: Pieter de Bie Date: Sat, 7 Jun 2008 15:34:36 +0200 Subject: [PATCH 31/87] git-send-email: allow whitespace in addressee list When interactively supplying addresses to send an email to with send-email, whitespace after the separation comma (as in 'list, jc') wasn't ignored. This meant that resolving of the alias ' jc' would fail, sending an email only to list. With this patch, the optional trailing whitespace is ignored. Signed-off-by: Pieter de Bie Signed-off-by: Junio C Hamano --- git-send-email.perl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-send-email.perl b/git-send-email.perl index ec69c237f9..0b04ba32f0 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -442,7 +442,7 @@ if (!@to) { } my $to = $_; - push @to, split /,/, $to; + push @to, split /,\s*/, $to; $prompting++; } From bc47c29ec18164ba1f05600333457cf6f2432856 Mon Sep 17 00:00:00 2001 From: Stephan Beyer Date: Sun, 8 Jun 2008 03:36:08 +0200 Subject: [PATCH 32/87] git-commit.txt: Add missing long/short options Also split the "-c or -C " item into two separate items. Signed-off-by: Stephan Beyer Signed-off-by: Junio C Hamano --- Documentation/git-commit.txt | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt index 40bf63ea63..af52728943 100644 --- a/Documentation/git-commit.txt +++ b/Documentation/git-commit.txt @@ -57,14 +57,16 @@ OPTIONS been modified and deleted, but new files you have not told git about are not affected. --c or -C :: - Take existing commit object, and reuse the log message +-C |--reuse-message=:: + Take an existing commit object, and reuse the log message and the authorship information (including the timestamp) - when creating the commit. With '-C', the editor is not - invoked; with '-c' the user can further edit the commit - message. + when creating the commit. --F :: +-c |--reedit-message=:: + Like '-C', but with '-c' the editor is invoked, so that + the user can further edit the commit message. + +-F |--file=:: Take the commit message from the given file. Use '-' to read the message from the standard input. @@ -85,7 +87,7 @@ OPTIONS -s|--signoff:: Add Signed-off-by line at the end of the commit message. ---no-verify:: +-n|--no-verify:: This option bypasses the pre-commit and commit-msg hooks. See also linkgit:githooks[5][hooks]. @@ -112,7 +114,6 @@ OPTIONS further edit the message taken from these sources. --amend:: - Used to amend the tip of the current branch. Prepare the tree object you would want to replace the latest commit as usual (this includes the usual -i/-o and explicit paths), and the From 3240240ff427fa2e26a847c7c9fd89e6a4313daa Mon Sep 17 00:00:00 2001 From: Stephan Beyer Date: Sun, 8 Jun 2008 03:36:09 +0200 Subject: [PATCH 33/87] Docs: Use "-l::\n--long\n" format in OPTIONS sections The OPTIONS section of a documentation file contains a list of the options a git command accepts. Currently there are several variants to describe the case that different options (almost) do the same in the OPTIONS section. Some are: -f, --foo:: -f|--foo:: -f | --foo:: But AsciiDoc has the special form: -f:: --foo:: This patch applies this form to the documentation of the whole git suite, and removes useless em-dash prevention, so \--foo becomes --foo. Signed-off-by: Stephan Beyer Signed-off-by: Junio C Hamano --- Documentation/blame-options.txt | 6 ++-- Documentation/fetch-options.txt | 30 ++++++++++------- Documentation/git-add.txt | 16 +++++---- Documentation/git-am.txt | 24 +++++++++----- Documentation/git-apply.txt | 9 +++-- Documentation/git-archive.txt | 6 ++-- Documentation/git-blame.txt | 6 ++-- Documentation/git-branch.txt | 3 +- Documentation/git-checkout-index.txt | 15 ++++++--- Documentation/git-checkout.txt | 3 +- Documentation/git-cherry-pick.txt | 12 ++++--- Documentation/git-commit.txt | 42 ++++++++++++++++-------- Documentation/git-config.txt | 9 +++-- Documentation/git-cvsserver.txt | 7 ++-- Documentation/git-daemon.txt | 12 ++++--- Documentation/git-diff-files.txt | 3 +- Documentation/git-fetch-pack.txt | 22 +++++++------ Documentation/git-filter-branch.txt | 3 +- Documentation/git-fmt-merge-msg.txt | 6 ++-- Documentation/git-for-each-ref.txt | 5 ++- Documentation/git-format-patch.txt | 15 ++++++--- Documentation/git-grep.txt | 37 +++++++++++++++------ Documentation/git-help.txt | 12 ++++--- Documentation/git-http-push.txt | 3 +- Documentation/git-init.txt | 3 +- Documentation/git-instaweb.txt | 15 ++++++--- Documentation/git-ls-files.txt | 30 +++++++++++------ Documentation/git-ls-remote.txt | 8 +++-- Documentation/git-mv.txt | 3 +- Documentation/git-pack-objects.txt | 3 +- Documentation/git-pack-refs.txt | 4 +-- Documentation/git-peek-remote.txt | 2 +- Documentation/git-prune.txt | 2 +- Documentation/git-pull.txt | 6 ++-- Documentation/git-push.txt | 23 +++++++------ Documentation/git-rebase.txt | 15 ++++++--- Documentation/git-repack.txt | 3 +- Documentation/git-rev-parse.txt | 12 ++++--- Documentation/git-revert.txt | 12 ++++--- Documentation/git-rm.txt | 10 +++--- Documentation/git-send-email.txt | 12 ++++--- Documentation/git-send-pack.txt | 14 ++++---- Documentation/git-shortlog.txt | 12 ++++--- Documentation/git-show-branch.txt | 6 ++-- Documentation/git-show-ref.txt | 21 ++++++++---- Documentation/git-stripspace.txt | 3 +- Documentation/git-submodule.txt | 9 +++-- Documentation/git-symbolic-ref.txt | 3 +- Documentation/git-update-index.txt | 6 ++-- Documentation/git-update-server-info.txt | 3 +- Documentation/git-upload-pack.txt | 4 +-- Documentation/git-web--browse.txt | 9 +++-- Documentation/git.txt | 3 +- Documentation/gitk.txt | 3 +- Documentation/merge-options.txt | 9 +++-- Documentation/rev-list-options.txt | 30 +++++++++++------ 56 files changed, 394 insertions(+), 210 deletions(-) diff --git a/Documentation/blame-options.txt b/Documentation/blame-options.txt index c11bb7d36c..5428111d73 100644 --- a/Documentation/blame-options.txt +++ b/Documentation/blame-options.txt @@ -41,7 +41,8 @@ of lines before or after the line given by . -S :: Use revs from revs-file instead of calling linkgit:git-rev-list[1]. --p, --porcelain:: +-p:: +--porcelain:: Show in a format designed for machine consumption. --incremental:: @@ -83,5 +84,6 @@ alphanumeric characters that git must detect as moving between files for it to associate those lines with the parent commit. --h, --help:: +-h:: +--help:: Show help message. diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt index b675911480..85c87180db 100644 --- a/Documentation/fetch-options.txt +++ b/Documentation/fetch-options.txt @@ -1,22 +1,26 @@ --q, \--quiet:: +-q:: +--quiet:: Pass --quiet to git-fetch-pack and silence any other internally used programs. --v, \--verbose:: +-v:: +--verbose:: Be verbose. --a, \--append:: +-a:: +--append:: Append ref names and object names of fetched refs to the existing contents of `.git/FETCH_HEAD`. Without this option old data in `.git/FETCH_HEAD` will be overwritten. -\--upload-pack :: +--upload-pack :: When given, and the repository to fetch from is handled by 'git-fetch-pack', '--exec=' is passed to the command to specify non-default path for the command run on the other end. --f, \--force:: +-f:: +--force:: When `git-fetch` is used with `:` refspec, it refuses to update the local branch `` unless the remote branch `` it @@ -24,16 +28,18 @@ overrides that check. ifdef::git-pull[] -\--no-tags:: +--no-tags:: endif::git-pull[] ifndef::git-pull[] --n, \--no-tags:: +-n:: +--no-tags:: endif::git-pull[] By default, tags that point at objects that are downloaded from the remote repository are fetched and stored locally. This option disables this automatic tag following. --t, \--tags:: +-t:: +--tags:: Most of the tags are fetched automatically as branch heads are downloaded, but tags that do not point at objects reachable from the branch heads that are being @@ -41,10 +47,12 @@ endif::git-pull[] flag lets all tags and their associated objects be downloaded. --k, \--keep:: +-k:: +--keep:: Keep downloaded pack. --u, \--update-head-ok:: +-u:: +--update-head-ok:: By default `git-fetch` refuses to update the head which corresponds to the current branch. This flag disables the check. This is purely for the internal use for `git-pull` @@ -52,7 +60,7 @@ endif::git-pull[] implementing your own Porcelain you are not supposed to use it. -\--depth=:: +--depth=:: Deepen the history of a 'shallow' repository created by `git clone` with `--depth=` option (see linkgit:git-clone[1]) by the specified number of commits. diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt index 88165da38f..9c6b081e6c 100644 --- a/Documentation/git-add.txt +++ b/Documentation/git-add.txt @@ -50,22 +50,26 @@ OPTIONS and `dir/file2`) can be given to add all files in the directory, recursively. --n, \--dry-run:: +-n:: +--dry-run:: Don't actually add the file(s), just show if they exist. --v, \--verbose:: +-v:: +--verbose:: Be verbose. -f:: Allow adding otherwise ignored files. --i, \--interactive:: +-i:: +--interactive:: Add modified contents in the working tree interactively to the index. Optional path arguments may be supplied to limit operation to a subset of the working tree. See ``Interactive mode'' for details. --p, \--patch:: +-p:: +--patch:: Similar to Interactive mode but the initial command loop is bypassed and the 'patch' subcommand is invoked using each of the specified filepatterns before exiting. @@ -79,11 +83,11 @@ OPTIONS command line. If no paths are specified, all tracked files in the current directory and its subdirectories are updated. -\--refresh:: +--refresh:: Don't add the file(s), but only refresh their stat() information in the index. -\--ignore-errors:: +--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. diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index 7f6f5b472a..46544a0769 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -28,14 +28,17 @@ OPTIONS supply this argument, reads from the standard input. If you supply directories, they'll be treated as Maildirs. --s, --signoff:: +-s:: +--signoff:: Add `Signed-off-by:` line to the commit message, using the committer identity of yourself. --k, --keep:: +-k:: +--keep:: Pass `-k` flag to `git-mailinfo` (see linkgit:git-mailinfo[1]). --u, --utf8:: +-u:: +--utf8:: Pass `-u` flag to `git-mailinfo` (see linkgit:git-mailinfo[1]). The proposed commit log message taken from the e-mail is re-coded into UTF-8 encoding (configuration variable @@ -49,13 +52,15 @@ default. You could use `--no-utf8` to override this. Pass `-n` flag to `git-mailinfo` (see linkgit:git-mailinfo[1]). --3, --3way:: +-3:: +--3way:: When the patch does not apply cleanly, fall back on 3-way merge, if the patch records the identity of blobs it is supposed to apply to, and we have those blobs available locally. --b, --binary:: +-b:: +--binary:: Pass `--allow-binary-replacement` flag to `git-apply` (see linkgit:git-apply[1]). @@ -64,19 +69,22 @@ default. You could use `--no-utf8` to override this. program that applies the patch. --C, -p:: +-C:: +-p:: These flags are passed to the `git-apply` (see linkgit:git-apply[1]) program that applies the patch. --i, --interactive:: +-i:: +--interactive:: Run interactively. --skip:: Skip the current patch. This is only meaningful when restarting an aborted patch. --r, --resolved:: +-r:: +--resolved:: After a patch failure (e.g. attempting to apply conflicting patch), the user has applied it by hand and the index file stores the result of the application. diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt index 76277bd178..c8347637da 100644 --- a/Documentation/git-apply.txt +++ b/Documentation/git-apply.txt @@ -73,7 +73,8 @@ OPTIONS When a pure mode change is encountered (which has no index information), the information is read from the current index instead. --R, --reverse:: +-R:: +--reverse:: Apply the patch in reverse. --reject:: @@ -124,7 +125,8 @@ discouraged. the result with this option, which would apply the deletion part but not addition part. ---allow-binary-replacement, --binary:: +--allow-binary-replacement:: +--binary:: Historically we did not allow binary patch applied without an explicit permission from the user, and this flag was the way to do so. Currently we always allow binary @@ -169,7 +171,8 @@ behavior: correctly. This option adds support for applying such patches by working around this bug. --v, --verbose:: +-v:: +--verbose:: Report progress to stderr. By default, only a message about the current patch being applied will be printed. This option will cause additional information to be reported. diff --git a/Documentation/git-archive.txt b/Documentation/git-archive.txt index a3e36dbb0d..9b5f3ae5ed 100644 --- a/Documentation/git-archive.txt +++ b/Documentation/git-archive.txt @@ -36,10 +36,12 @@ OPTIONS Format of the resulting archive: 'tar' or 'zip'. The default is 'tar'. ---list, -l:: +-l:: +--list:: Show all available formats. ---verbose, -v:: +-v:: +--verbose:: Report progress to stderr. --prefix=/:: diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt index 7900f33d4b..8f4fb46685 100644 --- a/Documentation/git-blame.txt +++ b/Documentation/git-blame.txt @@ -52,12 +52,14 @@ include::blame-options.txt[] a certain threshold for git-blame to consider those lines of code to have been moved. --f, --show-name:: +-f:: +--show-name:: Show filename in the original commit. By default filename is shown if there is any line that came from a file with different name, due to rename detection. --n, --show-number:: +-n:: +--show-number:: Show line number in the original commit (Default: off). -s:: diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt index a70fa76f31..0fd58083eb 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@ -95,7 +95,8 @@ OPTIONS -a:: List both remote-tracking branches and local branches. --v, --verbose:: +-v:: +--verbose:: Show sha1 and commit subject line for each head. --abbrev=:: diff --git a/Documentation/git-checkout-index.txt b/Documentation/git-checkout-index.txt index a8cad9c21f..676203b2eb 100644 --- a/Documentation/git-checkout-index.txt +++ b/Documentation/git-checkout-index.txt @@ -22,21 +22,26 @@ Will copy all files listed from the index to the working directory OPTIONS ------- --u|--index:: +-u:: +--index:: update stat information for the checked out entries in the index file. --q|--quiet:: +-q:: +--quiet:: be quiet if files exist or are not in the index --f|--force:: +-f:: +--force:: forces overwrite of existing files --a|--all:: +-a:: +--all:: checks out all files in the index. Cannot be used together with explicit filenames. --n|--no-create:: +-n:: +--no-create:: Don't checkout new files, only refresh files already checked out. diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt index a5bf9d6f89..3ad9760a4d 100644 --- a/Documentation/git-checkout.txt +++ b/Documentation/git-checkout.txt @@ -47,7 +47,8 @@ OPTIONS by linkgit:git-check-ref-format[1]. Some of these checks may restrict the characters allowed in a branch name. --t, --track:: +-t:: +--track:: When creating a new branch, set up configuration so that git-pull will automatically retrieve data from the start point, which must be a branch. Use this if you always pull from the same upstream branch diff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt index 3762272b88..5ac9cfb0ef 100644 --- a/Documentation/git-cherry-pick.txt +++ b/Documentation/git-cherry-pick.txt @@ -22,7 +22,8 @@ OPTIONS For a more complete list of ways to spell commits, see "SPECIFYING REVISIONS" section in linkgit:git-rev-parse[1]. --e|--edit:: +-e:: +--edit:: With this option, `git-cherry-pick` will let you edit the commit message prior to committing. @@ -44,14 +45,16 @@ OPTIONS described above, and `-r` was to disable it. Now the default is not to do `-x` so this option is a no-op. --m parent-number|--mainline parent-number:: +-m parent-number:: +--mainline parent-number:: Usually you cannot cherry-pick a merge because you do not know which side of the merge should be considered the mainline. This option specifies the parent number (starting from 1) of the mainline and allows cherry-pick to replay the change relative to the specified parent. --n|--no-commit:: +-n:: +--no-commit:: Usually the command automatically creates a commit with a commit log message stating which commit was cherry-picked. This flag applies the change necessary @@ -64,7 +67,8 @@ OPTIONS This is useful when cherry-picking more than one commits' effect to your working tree in a row. --s|--signoff:: +-s:: +--signoff:: Add Signed-off-by line at the end of the commit message. diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt index af52728943..7e8b4ff72c 100644 --- a/Documentation/git-commit.txt +++ b/Documentation/git-commit.txt @@ -52,21 +52,25 @@ that, you can recover from it with linkgit:git-reset[1]. OPTIONS ------- --a|--all:: +-a:: +--all:: Tell the command to automatically stage files that have been modified and deleted, but new files you have not told git about are not affected. --C |--reuse-message=:: +-C :: +--reuse-message=:: Take an existing commit object, and reuse the log message and the authorship information (including the timestamp) when creating the commit. --c |--reedit-message=:: +-c :: +--reedit-message=:: Like '-C', but with '-c' the editor is invoked, so that the user can further edit the commit message. --F |--file=:: +-F :: +--file=:: Take the commit message from the given file. Use '-' to read the message from the standard input. @@ -74,20 +78,24 @@ OPTIONS Override the author name used in the commit. Use `A U Thor ` format. --m |--message=:: +-m :: +--message=:: Use the given as the commit message. --t |--template=:: +-t :: +--template=:: Use the contents of the given file as the initial version of the commit message. The editor is invoked and you can make subsequent changes. If a message is specified using the `-m` or `-F` options, this option has no effect. This overrides the `commit.template` configuration variable. --s|--signoff:: +-s:: +--signoff:: Add Signed-off-by line at the end of the commit message. --n|--no-verify:: +-n:: +--no-verify:: This option bypasses the pre-commit and commit-msg hooks. See also linkgit:githooks[5][hooks]. @@ -107,7 +115,8 @@ OPTIONS 'whitespace' removes just leading/trailing whitespace lines and 'strip' removes both whitespace and commentary. --e|--edit:: +-e:: +--edit:: The message taken from file with `-F`, command line with `-m`, and from file with `-C` are usually used as the commit log message unmodified. This option lets you @@ -134,13 +143,15 @@ It is a rough equivalent for: but can be used to amend a merge commit. -- --i|--include:: +-i:: +--include:: Before making a commit out of staged contents so far, stage the contents of paths given on the command line as well. This is usually not what you want unless you are concluding a conflicted merge. --o|--only:: +-o:: +--only:: Make a commit only from the paths specified on the command line, disregarding any contents that have been staged so far. This is the default mode of operation of @@ -151,20 +162,23 @@ but can be used to amend a merge commit. the last commit without committing changes that have already been staged. --u|--untracked-files:: +-u:: +--untracked-files:: Show all untracked files, also those in uninteresting directories, in the "Untracked files:" section of commit message template. Without this option only its name and a trailing slash are displayed for each untracked directory. --v|--verbose:: +-v:: +--verbose:: Show unified diff between the HEAD commit and what would be committed at the bottom of the commit message template. Note that this diff output doesn't have its lines prefixed with '#'. --q|--quiet:: +-q:: +--quiet:: Suppress commit summary message. \--:: diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt index 84b754f8d0..c90421ee7f 100644 --- a/Documentation/git-config.txt +++ b/Documentation/git-config.txt @@ -101,7 +101,8 @@ rather than from all available files. + See also <>. --f config-file, --file config-file:: +-f config-file:: +--file config-file:: Use the given config file instead of the one specified by GIT_CONFIG. --remove-section:: @@ -116,7 +117,8 @@ See also <>. --unset-all:: Remove all lines matching the key from config file. --l, --list:: +-l:: +--list:: List all variables set in config file. --bool:: @@ -128,7 +130,8 @@ See also <>. in the config file will cause the value to be multiplied by 1024, 1048576, or 1073741824 prior to output. --z, --null:: +-z:: +--null:: For all options that output values and/or keys, always end values with the null character (instead of a newline). Use newline instead as a delimiter between diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt index b7721131dd..3310ae25ff 100644 --- a/Documentation/git-cvsserver.txt +++ b/Documentation/git-cvsserver.txt @@ -41,10 +41,13 @@ Don't allow recursing into subdirectories Don't check for `gitcvs.enabled` in config. You also have to specify a list of allowed directories (see below) if you want to use this option. ---version, -V:: +-V:: +--version:: Print version information and exit ---help, -h, -H:: +-h:: +-H:: +--help:: Print usage information and exit :: diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt index 3fb71d683e..344f24ea59 100644 --- a/Documentation/git-daemon.txt +++ b/Documentation/git-daemon.txt @@ -103,7 +103,8 @@ OPTIONS Log to syslog instead of stderr. Note that this option does not imply --verbose, thus by default only error conditions will be logged. ---user-path, --user-path=path:: +--user-path:: +--user-path=path:: Allow ~user notation to be used in requests. When specified with no parameter, requests to git://host/~alice/foo is taken as a request to access @@ -127,7 +128,8 @@ OPTIONS Save the process id in 'file'. Ignored when the daemon is run under `--inetd`. ---user=user, --group=group:: +--user=user:: +--group=group:: Change daemon's uid and gid before entering the service loop. When only `--user` is given without `--group`, the primary group ID for the user is used. The values of @@ -138,14 +140,16 @@ Giving these options is an error when used with `--inetd`; use the facility of inet daemon to achieve the same before spawning `git-daemon` if needed. ---enable=service, --disable=service:: +--enable=service:: +--disable=service:: Enable/disable the service site-wide per default. Note that a service disabled site-wide can still be enabled per repository if it is marked overridable and the repository enables the service with an configuration item. ---allow-override=service, --forbid-override=service:: +--allow-override=service:: +--forbid-override=service:: Allow/forbid overriding the site-wide default with per repository configuration. By default, all the services are overridable. diff --git a/Documentation/git-diff-files.txt b/Documentation/git-diff-files.txt index ed9bd75b74..8a64869d27 100644 --- a/Documentation/git-diff-files.txt +++ b/Documentation/git-diff-files.txt @@ -30,7 +30,8 @@ The default is to diff against our branch (-2) and the cleanly resolved paths. The option -0 can be given to omit diff output for unmerged entries and just show "Unmerged". --c,--cc:: +-c:: +--cc:: This compares stage 2 (our branch), stage 3 (their branch) and the working tree file and outputs a combined diff, similar to the way 'diff-tree' shows a merge diff --git a/Documentation/git-fetch-pack.txt b/Documentation/git-fetch-pack.txt index 6ee3dccc1f..282fcaf17f 100644 --- a/Documentation/git-fetch-pack.txt +++ b/Documentation/git-fetch-pack.txt @@ -28,30 +28,32 @@ have a common ancestor commit. OPTIONS ------- -\--all:: +--all:: Fetch all remote refs. -\--quiet, \-q:: +-q:: +--quiet:: Pass '-q' flag to 'git-unpack-objects'; this makes the cloning process less verbose. -\--keep, \-k:: +-k:: +--keep:: Do not invoke 'git-unpack-objects' on received data, but create a single packfile out of it instead, and store it in the object database. If provided twice then the pack is locked against repacking. -\--thin:: +--thin:: Spend extra cycles to minimize the number of objects to be sent. Use it on slower connection. -\--include-tag:: +--include-tag:: If the remote side supports it, annotated tags objects will be downloaded on the same connection as the other objects if the object the tag references is downloaded. The caller must otherwise determine the tags this option made available. -\--upload-pack=:: +--upload-pack=:: Use this to specify the path to 'git-upload-pack' on the remote side, if is not found on your $PATH. Installations of sshd ignores the user's environment @@ -63,16 +65,16 @@ OPTIONS shells by having a lean .bashrc file (they set most of the things up in .bash_profile). -\--exec=:: +--exec=:: Same as \--upload-pack=. -\--depth=:: +--depth=:: Limit fetching to ancestor-chains not longer than n. -\--no-progress:: +--no-progress:: Do not show the progress. -\-v:: +-v:: Run verbosely. :: diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt index 44060687ab..ea77f1fce5 100644 --- a/Documentation/git-filter-branch.txt +++ b/Documentation/git-filter-branch.txt @@ -161,7 +161,8 @@ to other tags will be rewritten to point to the underlying commit. does this in the '.git-rewrite/' directory but you can override that choice by this parameter. --f|--force:: +-f:: +--force:: `git filter-branch` refuses to start with an existing temporary directory or when there are already refs starting with 'refs/original/', unless forced. diff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt index 328cc542dc..2a7cfb980b 100644 --- a/Documentation/git-fmt-merge-msg.txt +++ b/Documentation/git-fmt-merge-msg.txt @@ -33,11 +33,13 @@ OPTIONS Do not list one-line descriptions from the actual commits being merged. ---summary,--no-summary:: +--summary:: +--no-summary:: Synonyms to --log and --no-log; these are deprecated and will be removed in the future. ---file , -F :: +-F :: +--file :: Take the list of merged objects from instead of stdin. diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt index 6325ff9a68..b347bfbb14 100644 --- a/Documentation/git-for-each-ref.txt +++ b/Documentation/git-for-each-ref.txt @@ -53,7 +53,10 @@ OPTIONS literally, in the latter case matching completely or from the beginning up to a slash. ---shell, --perl, --python, --tcl:: +--shell:: +--perl:: +--python:: +--tcl:: If given, strings that substitute `%(fieldname)` placeholders are quoted as string literals suitable for the specified host language. This is meant to produce diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt index cdee642060..4dafa39a92 100644 --- a/Documentation/git-format-patch.txt +++ b/Documentation/git-format-patch.txt @@ -74,14 +74,17 @@ include::diff-options.txt[] -:: Limits the number of patches to prepare. --o|--output-directory :: +-o :: +--output-directory :: Use to store the resulting files, instead of the current working directory. --n|--numbered:: +-n:: +--numbered:: Name output in '[PATCH n/m]' format. --N|--no-numbered:: +-N:: +--no-numbered:: Name output in '[PATCH]' format. --start-number :: @@ -92,11 +95,13 @@ include::diff-options.txt[] without the default first line of the commit appended. Mutually exclusive with the --stdout option. --k|--keep-subject:: +-k:: +--keep-subject:: Do not strip/add '[PATCH]' from the first line of the commit log message. --s|--signoff:: +-s:: +--signoff:: Add `Signed-off-by:` line to the commit message, using the committer identity of yourself. diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt index 13b9cf770c..1b646b73f0 100644 --- a/Documentation/git-grep.txt +++ b/Documentation/git-grep.txt @@ -33,25 +33,30 @@ OPTIONS Instead of searching in the working tree files, check the blobs registered in the index file. --a | --text:: +-a:: +--text:: Process binary files as if they were text. --i | --ignore-case:: +-i:: +--ignore-case:: Ignore case differences between the patterns and the files. -I:: Don't match the pattern in binary files. --w | --word-regexp:: +-w:: +--word-regexp:: Match the pattern only at word boundary (either begin at the beginning of a line, or preceded by a non-word character; end at the end of a line or followed by a non-word character). --v | --invert-match:: +-v:: +--invert-match:: Select non-matching lines. --h | -H:: +-h:: +-H:: By default, the command shows the filename for each match. `-h` option is used to suppress this output. `-H` is there for completeness and does not do anything @@ -64,24 +69,33 @@ OPTIONS option forces paths to be output relative to the project top directory. --E | --extended-regexp | -G | --basic-regexp:: +-E:: +--extended-regexp:: +-G:: +--basic-regexp:: Use POSIX extended/basic regexp for patterns. Default is to use basic regexp. --F | --fixed-strings:: +-F:: +--fixed-strings:: Use fixed strings for patterns (don't interpret pattern as a regex). -n:: Prefix the line number to matching lines. --l | --files-with-matches | --name-only | -L | --files-without-match:: +-l:: +--files-with-matches:: +--name-only:: +-L:: +--files-without-match:: Instead of showing every matched line, show only the names of files that contain (or do not contain) matches. For better compatibility with git-diff, --name-only is a synonym for --files-with-matches. --c | --count:: +-c:: +--count:: Instead of showing every matched line, show the number of lines that match. @@ -103,7 +117,10 @@ OPTIONS scripts passing user input to grep. Multiple patterns are combined by 'or'. ---and | --or | --not | ( | ):: +--and:: +--or:: +--not:: +( ... ):: Specify how multiple patterns are combined using Boolean expressions. `--or` is the default operator. `--and` has higher precedence than `--or`. `-e` has to be used for all diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt index 8994c6d434..faecd6bb90 100644 --- a/Documentation/git-help.txt +++ b/Documentation/git-help.txt @@ -28,15 +28,18 @@ former is internally converted into the latter. OPTIONS ------- --a|--all:: +-a:: +--all:: Prints all the available commands on the standard output. This option supersedes any other option. --i|--info:: +-i:: +--info:: Display manual page for the command in the 'info' format. The 'info' program will be used for that purpose. --m|--man:: +-m:: +--man:: Display manual page for the command in the 'man' format. This option may be used to override a value set in the 'help.format' configuration variable. @@ -45,7 +48,8 @@ By default the 'man' program will be used to display the manual page, but the 'man.viewer' configuration variable may be used to choose other display programs (see below). --w|--web:: +-w:: +--web:: Display manual page for the command in the 'web' (HTML) format. A web browser will be used for that purpose. + diff --git a/Documentation/git-http-push.txt b/Documentation/git-http-push.txt index 143291d126..8d32a92049 100644 --- a/Documentation/git-http-push.txt +++ b/Documentation/git-http-push.txt @@ -40,7 +40,8 @@ OPTIONS Report the list of objects being walked locally and the list of objects successfully sent to the remote repository. --d, -D:: +-d:: +-D:: Remove from remote repository. The specified branch cannot be the remote HEAD. If -d is specified the following other conditions must also be met: diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt index c48b615da2..792643c809 100644 --- a/Documentation/git-init.txt +++ b/Documentation/git-init.txt @@ -16,7 +16,8 @@ OPTIONS -- --q, \--quiet:: +-q:: +--quiet:: Only print error and warning messages, all other output will be suppressed. diff --git a/Documentation/git-instaweb.txt b/Documentation/git-instaweb.txt index 11e6a81779..7da5b8d9a9 100644 --- a/Documentation/git-instaweb.txt +++ b/Documentation/git-instaweb.txt @@ -20,24 +20,29 @@ repository. OPTIONS ------- --l|--local:: +-l:: +--local:: Only bind the web server to the local IP (127.0.0.1). --d|--httpd:: +-d:: +--httpd:: The HTTP daemon command-line that will be executed. Command-line options may be specified here, and the configuration file will be added at the end of the command-line. Currently lighttpd, apache2 and webrick are supported. (Default: lighttpd) --m|--module-path:: +-m:: +--module-path:: The module path (only needed if httpd is Apache). (Default: /usr/lib/apache2/modules) --p|--port:: +-p:: +--port:: The port number to bind the httpd to. (Default: 1234) --b|--browser:: +-b:: +--browser:: The web browser that should be used to view the gitweb page. This will be passed to the 'git-web--browse' helper script along with the URL of the gitweb instance. See diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt index 1b0b212245..560594e25f 100644 --- a/Documentation/git-ls-files.txt +++ b/Documentation/git-ls-files.txt @@ -30,23 +30,29 @@ shown: OPTIONS ------- --c|--cached:: +-c:: +--cached:: Show cached files in the output (default) --d|--deleted:: +-d:: +--deleted:: Show deleted files in the output --m|--modified:: +-m:: +--modified:: Show modified files in the output --o|--others:: +-o:: +--others:: Show other files in the output --i|--ignored:: +-i:: +--ignored:: Show ignored files in the output. Note that this also reverses any exclude list present. --s|--stage:: +-s:: +--stage:: Show stage files in the output --directory:: @@ -56,10 +62,12 @@ OPTIONS --no-empty-directory:: Do not list empty directories. Has no effect without --directory. --u|--unmerged:: +-u:: +--unmerged:: Show unmerged files in the output (forces --stage) --k|--killed:: +-k:: +--killed:: Show files on the filesystem that need to be removed due to file/directory conflicts for checkout-index to succeed. @@ -67,11 +75,13 @@ OPTIONS -z:: \0 line termination on output. --x|--exclude=:: +-x :: +--exclude=:: Skips files matching pattern. Note that pattern is a shell wildcard pattern. --X|--exclude-from=:: +-X :: +--exclude-from=:: exclude patterns are read from ; 1 per line. --exclude-per-directory=:: diff --git a/Documentation/git-ls-remote.txt b/Documentation/git-ls-remote.txt index 8ad7a94f95..f92f3ca186 100644 --- a/Documentation/git-ls-remote.txt +++ b/Documentation/git-ls-remote.txt @@ -20,13 +20,17 @@ commit IDs. OPTIONS ------- --h|--heads, -t|--tags:: +-h:: +--heads:: +-t:: +--tags:: Limit to only refs/heads and refs/tags, respectively. These options are _not_ mutually exclusive; when given both, references stored in refs/heads and refs/tags are displayed. --u , --upload-pack=:: +-u :: +--upload-pack=:: Specify the full path of linkgit:git-upload-pack[1] on the remote host. This allows listing references from repositories accessed via SSH and where the SSH daemon does not use the PATH configured by the diff --git a/Documentation/git-mv.txt b/Documentation/git-mv.txt index fb485de2c8..339190600a 100644 --- a/Documentation/git-mv.txt +++ b/Documentation/git-mv.txt @@ -34,7 +34,8 @@ OPTIONS condition. An error happens when a source is neither existing nor controlled by GIT, or when it would overwrite an existing file unless '-f' is given. --n, \--dry-run:: +-n:: +--dry-run:: Do nothing; only show what would happen diff --git a/Documentation/git-pack-objects.txt b/Documentation/git-pack-objects.txt index d5a87effa4..f4d8d68e34 100644 --- a/Documentation/git-pack-objects.txt +++ b/Documentation/git-pack-objects.txt @@ -79,7 +79,8 @@ base-name:: reference was included in the resulting packfile. This can be useful to send new tags to native git clients. ---window=[N], --depth=[N]:: +--window=[N]:: +--depth=[N]:: These two options affect how the objects contained in the pack are stored using delta compression. The objects are first internally sorted by type, size and diff --git a/Documentation/git-pack-refs.txt b/Documentation/git-pack-refs.txt index fa48681374..c0718468d5 100644 --- a/Documentation/git-pack-refs.txt +++ b/Documentation/git-pack-refs.txt @@ -42,7 +42,7 @@ unpacked. OPTIONS ------- -\--all:: +--all:: The command by default packs all tags and refs that are already packed, and leaves other refs @@ -51,7 +51,7 @@ developed and packing their tips does not help performance. This option causes branch tips to be packed as well. Useful for a repository with many branches of historical interests. -\--no-prune:: +--no-prune:: The command usually removes loose refs under `$GIT_DIR/refs` hierarchy after packing them. This option tells it not to. diff --git a/Documentation/git-peek-remote.txt b/Documentation/git-peek-remote.txt index 56be1b6118..ffbf93a799 100644 --- a/Documentation/git-peek-remote.txt +++ b/Documentation/git-peek-remote.txt @@ -16,7 +16,7 @@ This command is deprecated; use `git-ls-remote` instead. OPTIONS ------- -\--upload-pack=:: +--upload-pack=:: Use this to specify the path to 'git-upload-pack' on the remote side, if it is not found on your $PATH. Some installations of sshd ignores the user's environment diff --git a/Documentation/git-prune.txt b/Documentation/git-prune.txt index 7283d07a0e..ec335d6fab 100644 --- a/Documentation/git-prune.txt +++ b/Documentation/git-prune.txt @@ -37,7 +37,7 @@ OPTIONS \--:: Do not interpret any more arguments as options. -\--expire