summaryrefslogtreecommitdiff
path: root/Documentation
AgeCommit message (Collapse)AuthorFilesLines
2012-05-01Git 1.7.10.1Libravatar Junio C Hamano2-1/+30
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-01Merge branch 'it/fetch-pack-many-refs' into maintLibravatar Junio C Hamano1-0/+10
When "git fetch" encounters repositories with too many references, the command line of "fetch-pack" that is run by a helper e.g. remote-curl, may fail to hold all of them. Now such an internal invocation can feed the references through the standard input of "fetch-pack". By Ivan Todoroski * it/fetch-pack-many-refs: remote-curl: main test case for the OS command line overflow fetch-pack: test cases for the new --stdin option remote-curl: send the refs to fetch-pack on stdin fetch-pack: new --stdin option to read refs from stdin Conflicts: t/t5500-fetch-pack.sh
2012-04-26Start preparing for 1.7.10.1Libravatar Junio C Hamano1-0/+50
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-26Merge branch 'jc/commit-unedited-template' into maintLibravatar Junio C Hamano1-5/+8
When "git commit --template F" errors out because the user did not touch the message, it claimed that it aborts due to "empty message", which was utterly wrong. By Junio C Hamano (4) and Adam Monsen (1) * jc/commit-unedited-template: Documentation/git-commit: rephrase the "initial-ness" of templates git-commit.txt: clarify -t requires editing message commit: rephrase the error when user did not touch templated log message commit: do not trigger bogus "has templated message edited" check t7501: test the right kind of breakage
2012-04-26Sync with 1.7.9.7Libravatar Junio C Hamano4-3/+54
2012-04-26Git 1.7.9.7Libravatar Junio C Hamano2-1/+15
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-26Sync with 1.7.8.6Libravatar Junio C Hamano3-2/+39
2012-04-26Git 1.7.8.6Libravatar Junio C Hamano2-1/+25
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-26Sync with 1.7.7.7Libravatar Junio C Hamano2-1/+15
2012-04-26Git 1.7.7.7Libravatar Junio C Hamano2-1/+16
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-10Merge branch 'maint-1.7.8' into maint-1.7.9Libravatar Junio C Hamano1-2/+2
* maint-1.7.8: Documentation/gitweb: trivial English fixes fetch/receive: remove over-pessimistic connectivity check
2012-04-09Merge branch 'dw/gitweb-doc-grammo' into maint-1.7.8Libravatar Junio C Hamano1-2/+2
* dw/gitweb-doc-grammo: Documentation/gitweb: trivial English fixes
2012-04-09Merge branch 'cn/maint-rev-list-doc' into maint-1.7.8Libravatar Junio C Hamano1-6/+6
* cn/maint-rev-list-doc: Documentation: use {asterisk} in rev-list-options.txt when needed
2012-04-09Merge branch 'tr/maint-bundle-long-subject' into maint-1.7.8Libravatar Junio C Hamano1-1/+17
* tr/maint-bundle-long-subject: t5704: match tests to modern style strbuf: improve strbuf_get*line documentation bundle: use a strbuf to scan the log for boundary commits bundle: put strbuf_readline_fd in strbuf.c with adjustments
2012-04-06Git 1.7.10Libravatar Junio C Hamano2-10/+18
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-03Documentation/git-commit: rephrase the "initial-ness" of templatesLibravatar Junio C Hamano1-5/+8
The description of "commit -t <file>" said the file is used "as the initial version" of the commit message, but in the context of an SCM, "version" is a loaded word that can needlesslyl confuse readers. Explain the purpose of the mechanism without using "version". Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-03Git 1.7.10-rc4Libravatar Junio C Hamano1-7/+7
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-02fetch-pack: new --stdin option to read refs from stdinLibravatar Ivan Todoroski1-0/+10
If a remote repo has too many tags (or branches), cloning it over the smart HTTP transport can fail because remote-curl.c puts all the refs from the remote repo on the fetch-pack command line. This can make the command line longer than the global OS command line limit, causing fetch-pack to fail. This is especially a problem on Windows where the command line limit is orders of magnitude shorter than Linux. There are already real repos out there that msysGit cannot clone over smart HTTP due to this problem. Here is an easy way to trigger this problem: git init too-many-refs cd too-many-refs echo bla > bla.txt git add . git commit -m test sha=$(git rev-parse HEAD) tag=$(perl -e 'print "bla" x 30') for i in `seq 50000`; do echo $sha refs/tags/$tag-$i >> .git/packed-refs done Then share this repo over the smart HTTP protocol and try cloning it: $ git clone http://localhost/.../too-many-refs/.git Cloning into 'too-many-refs'... fatal: cannot exec 'fetch-pack': Argument list too long 50k tags is obviously an absurd number, but it is required to demonstrate the problem on Linux because it has a much more generous command line limit. On Windows the clone fails with as little as 500 tags in the above loop, which is getting uncomfortably close to the number of tags you might see in real long lived repos. This is not just theoretical, msysGit is already failing to clone our company repo due to this. It's a large repo converted from CVS, nearly 10 years of history. Four possible solutions were discussed on the Git mailing list (in no particular order): 1) Call fetch-pack multiple times with smaller batches of refs. This was dismissed as inefficient and inelegant. 2) Add option --refs-fd=$n to pass a an fd from where to read the refs. This was rejected because inheriting descriptors other than stdin/stdout/stderr through exec() is apparently problematic on Windows, plus it would require changes to the run-command API to open extra pipes. 3) Add option --refs-from=$tmpfile to pass the refs using a temp file. This was not favored because of the temp file requirement. 4) Add option --stdin to pass the refs on stdin, one per line. In the end this option was chosen as the most efficient and most desirable from scripting perspective. There was however a small complication when using stdin to pass refs to fetch-pack. The --stateless-rpc option to fetch-pack also uses stdin for communication with the remote server. If we are going to sneak refs on stdin line by line, it would have to be done very carefully in the presence of --stateless-rpc, because when reading refs line by line we might read ahead too much data into our buffer and eat some of the remote protocol data which is also coming on stdin. One way to solve this would be to refactor get_remote_heads() in fetch-pack.c to accept a residual buffer from our stdin line parsing above, but this function is used in several places so other callers would be burdened by this residual buffer interface even when most of them don't need it. In the end we settled on the following solution: If --stdin is specified without --stateless-rpc, fetch-pack would read the refs from stdin one per line, in a script friendly format. However if --stdin is specified together with --stateless-rpc, fetch-pack would read the refs from stdin in packetized format (pkt-line) with a flush packet terminating the list of refs. This way we can read the exact number of bytes that we need from stdin, and then get_remote_heads() can continue reading from the same fd without losing a single byte of remote protocol data. This way the --stdin option only loses generality and scriptability when used together with --stateless-rpc, which is not easily scriptable anyway because it also uses pkt-line when talking to the remote server. Signed-off-by: Ivan Todoroski <grnch@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-02Sync with 1.7.9.6Libravatar Junio C Hamano2-2/+16
2012-04-02Git 1.7.9.6Libravatar Junio C Hamano2-2/+16
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-02Merge branch 'jc/maint-merge-autoedit' into maintLibravatar Junio C Hamano1-2/+12
* jc/maint-merge-autoedit: merge: backport GIT_MERGE_AUTOEDIT support
2012-04-01git-commit.txt: clarify -t requires editing messageLibravatar Adam Monsen1-5/+5
Make it clear that, when using commit --template, the message *must* be changed or the commit will be aborted. Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Ivan Heffner <iheffner@gmail.com> Signed-off-by: Adam Monsen <haircut@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-30Merge branch 'maint'Libravatar Junio C Hamano1-1/+3
* maint: string-list: document that string_list_insert() inserts unique strings
2012-03-30string-list: document that string_list_insert() inserts unique stringsLibravatar Heiko Voigt1-1/+3
Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-28Git 1.7.10-rc3Libravatar Junio C Hamano1-10/+10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-28correct a few doubled-word nits in comments and documentationLibravatar Jim Meyering1-1/+1
Found by running this command: $ git ls-files -z|xargs -0 perl -0777 -n \ -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \ -e ' {' \ -e ' $n = ($` =~ tr/\n/\n/ + 1);' \ -e ' ($v = $&) =~ s/\n/\\n/g;' \ -e ' print "$ARGV:$n:$v\n";' \ -e ' }' Why not just git grep -E ...? That wouldn't work then the doubled words are separated by a newline. This is derived from a Makefile syntax-check rule in gnulib's maint.mk: http://git.sv.gnu.org/cgit/gnulib.git/tree/top/maint.mk Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-28correct spelling: an URL -> a URLLibravatar Jim Meyering3-4/+4
Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-26Update draft release notes to 1.7.10Libravatar Junio C Hamano1-21/+7
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-26Sync with 1.7.9.5Libravatar Junio C Hamano4-3/+38
2012-03-26Git 1.7.9.5Libravatar Junio C Hamano2-1/+25
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-26Merge branch 'ph/rerere-doc' into maintLibravatar Junio C Hamano1-7/+12
* ph/rerere-doc: rerere: Document 'rerere remaining'
2012-03-26grep doc: add --break / --heading / -W to synopsisLibravatar Mark Lodato1-0/+2
All of the other options were included in the synopsis, so it makes sense to include these as well. Signed-off-by: Mark Lodato <lodatom@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-26Documentation: improve description of GIT_EDITOR and preference orderLibravatar Rodrigo Silva (MestreLion)1-0/+6
Previously GIT_EDITOR was not listed in git(1) "Environment Variables" section, which could be very confusing to users. Include it in "other" subsection along with a link to git-var(1), since that is the page that fully describes all places where editor can be set and also their preference order. Also, git-var(1) did not say that hardcoded fallback 'vi' may have been changed at build time. A user could be puzzled if 'nano' pops up even when none of the mentioned environment vars or config.editor are set. Clarify this. Ideally, the build system should be changed to reflect the chosen fallback editor when creating the man pages. Not sure if that is even possible though. Signed-off-by: Rodrigo Silva (MestreLion) <linux@rodrigosilva.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-26documentation: fix alphabetic ordered list for git-rebase man pageLibravatar Nelson Benitez Leon1-2/+5
An alphabetic ordered list (a.) is converted to numerical in the man page (1.) so context comments naming 'a' were confusing, fix that by not using ordered list notation for 'a' anb 'b' items. Signed-off-by: Nelson Benitez Leon <nelsonjesus.benitez@seap.minhap.es> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-23Git 1.7.10-rc2Libravatar Junio C Hamano1-1/+17
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-23Merge branch 'dw/gitweb-doc-grammo'Libravatar Junio C Hamano1-2/+2
Typofix. * dw/gitweb-doc-grammo: Documentation/gitweb: trivial English fixes
2012-03-23Documentation/gitweb: trivial English fixesLibravatar D Waitzman1-2/+2
Change "it's" to "its" where a possessive is intended. Also add two missing "the" that were noticed by Ben Walton. Signed-off-by: David Waitzman <djw@bbn.com>
2012-03-20merge: backport GIT_MERGE_AUTOEDIT supportLibravatar Junio C Hamano1-2/+12
Even though 1.7.9.x series does not open the editor by default when merging in general, it does do so in one occassion: when merging an annotated tag. And worse yet, there is no good way for older scripts to decline this. Backport the support for GIT_MERGE_AUTOEDIT environment variable from 1.7.10 track to help those stuck on 1.7.9.x maintenance track. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-16Update draft release notes to 1.7.10Libravatar Junio C Hamano1-1/+10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-16Merge branch 'th/mergetools-deltawalker'Libravatar Junio C Hamano1-2/+3
* th/mergetools-deltawalker: Documentation/difftool: add deltawalker to list of valid diff tools
2012-03-15Merge branch 'th/doc-diff-submodule-option'Libravatar Junio C Hamano1-5/+6
* th/doc-diff-submodule-option: Documentation/diff-options: reword description of --submodule option
2012-03-15Documentation/difftool: add deltawalker to list of valid diff toolsLibravatar Tim Henigan1-2/+3
deltawalker has been supported since 284a126c3ef3, but was not added to the list of valid diff tools reported by 'git difftool --help'. Signed-off-by: Tim Henigan <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-14Git 1.7.10-rc1Libravatar Junio C Hamano1-3/+11
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-14Documentation/diff-options: reword description of --submodule optionLibravatar Tim Henigan1-5/+6
The previous description was confusing. This rewrite makes it easier to understand. Signed-off-by: Tim Henigan <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-13Merge branch 'ph/rerere-doc'Libravatar Junio C Hamano1-7/+12
By Phil Hord * ph/rerere-doc: rerere: Document 'rerere remaining'
2012-03-13am: officially deprecate -b/--binary optionLibravatar Junio C Hamano1-2/+2
We have had these options as harmless no-op for more than 3 years without officially deprecating them. Let's announce the deprecation and start warning against their use, but without failing the command just not yet, so that we can later repurpose the option if we want to in the future. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-12Update draft release notes to 1.7.10 before -rc1Libravatar Junio C Hamano1-21/+12
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-12Sync with 1.7.9.4Libravatar Junio C Hamano2-1/+26
2012-03-12Git 1.7.9.4Libravatar Junio C Hamano2-1/+26
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-08rerere: Document 'rerere remaining'Libravatar Phil Hord1-7/+12
This adds the 'remaining' command to the documentation of 'git rerere'. This command was added in ac49f5ca (Feb 16 2011; Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>) but it was never documented. Touch up the other rerere commands to reduce noise. First noticed by Vincent van Ravesteijn. Signed-off-by: Phil Hord <phil.hord@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>