summaryrefslogtreecommitdiff
path: root/Documentation
AgeCommit message (Collapse)Author
2015-02-17Merge branch 'jc/doc-log-rev-list-options'Junio C Hamano
"git log --help" used to show rev-list options that are irrelevant to the "log" command. * jc/doc-log-rev-list-options: Documentation: what does "git log --indexed-objects" even mean?
2015-02-11Merge branch 'ah/usage-strings'Junio C Hamano
* ah/usage-strings: standardize usage info string format
2015-02-11Merge branch 'jc/pretty-format-doc'Junio C Hamano
* jc/pretty-format-doc: "log --pretty" documentation: do not forget "tformat:"
2015-02-11Merge branch 'jc/push-to-checkout'Junio C Hamano
Extending the js/push-to-deploy topic, the behaviour of "git push" when updating the working tree and the index with an update to the branch that is checked out can be tweaked by push-to-checkout hook. * jc/push-to-checkout: receive-pack: support push-to-checkout hook receive-pack: refactor updateInstead codepath
2015-02-11Merge branch 'sb/atomic-push'Junio C Hamano
"git push" has been taught a "--atomic" option that makes push to update more than one ref an "all-or-none" affair. * sb/atomic-push: Document receive.advertiseatomic t5543-atomic-push.sh: add basic tests for atomic pushes push.c: add an --atomic argument send-pack.c: add --atomic command line argument send-pack: rename ref_update_to_be_sent to check_to_send_update receive-pack.c: negotiate atomic push support receive-pack.c: add execute_commands_atomic function receive-pack.c: move transaction handling in a central place receive-pack.c: move iterating over all commands outside execute_commands receive-pack.c: die instead of error in case of possible future bug receive-pack.c: shorten the execute_commands loop over all commands
2015-02-11Merge branch 'cj/log-invert-grep'Junio C Hamano
"git log --invert-grep --grep=WIP" will show only commits that do not have the string "WIP" in their messages. * cj/log-invert-grep: log: teach --invert-grep option
2015-02-11Merge branch 'ld/p4-exclude-in-sync'Junio C Hamano
Like the "clone" subcommand, allow excluding subdirectories in the "sync" subcommand. * ld/p4-exclude-in-sync: git-p4: support excluding paths on sync
2015-02-11git-p4: support excluding paths on syncLuke Diamand
The clone subcommand has long had support for excluding subdirectories, but sync has not. This is a nuisance, since as soon as you do a sync, any changed files that were initially excluded start showing up. Move the "exclude" command-line option into the parent class; the actual behavior was already present there so it simply had to be exposed. Signed-off-by: Luke Diamand <luke@diamand.org> Reviewed-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-02-11Merge branch 'jc/coding-guidelines'Junio C Hamano
* jc/coding-guidelines: CodingGuidelines: clarify C #include rules
2015-02-05Git 2.3v2.3.0Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-23Documentation: what does "git log --indexed-objects" even mean?Junio C Hamano
4fe10219 (rev-list: add --indexed-objects option, 2014-10-16) adds "--indexed-objects" option to "rev-list", and it is only useful in the context of "git rev-list" and not "git log". There are other object traversal options that do not make sense for "git log" that are shown in the manual page. Move the description of "--indexed-objects" to the object traversal section so that it sits together with its friends "--objects", "--objects-edge", etc. and then show them only in "git rev-list" documentation. Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-22Merge branch 'sh/asciidoc-git-version-fix'Junio C Hamano
* sh/asciidoc-git-version-fix: Documentation: fix version numbering
2015-01-22Documentation: fix version numberingSven van Haastregt
Version numbers in asciidoc-generated content (such as man pages) went missing as of da8a366 (Documentation: refactor common operations into variables). Fix by putting the underscore back in the variable name. Signed-off-by: Sven van Haastregt <svenvh@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-21Git 2.3.0-rc1v2.3.0-rc1Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-16"log --pretty" documentation: do not forget "tformat:"Junio C Hamano
We forgot to list "tformat:<string>" when enumerating possible values that "--pretty=<format>" can take. It was not described that "--pretty='string with %s placeholder'" that is not understood is DWIMmed as "--pretty=tformat:<that string>". Further, it was unclear what "When omitted, defaults to 'medium'" was meant. Is it "When --pretty=<something> was not given at all", or is it "When --pretty is given without =<something>"? Clarify that it is the latter. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-15CodingGuidelines: clarify C #include rulesJunio C Hamano
Even though "advice.h" includes "git-compat-util.h", it is not sensible to have it as the first #include and indirectly satisify the "You must give git-compat-util.h a clean environment to set up feature test macros before including any of the system headers are included", which is the real requirement. Because: - A command that interacts with the object store, config subsystem, the index, or the working tree cannot do anything without using what is declared in "cache.h"; - A built-in command must be declared in "builtin.h", so anything in builtin/*.c must include it; - These two headers both include "git-compat-util.h" as the first thing; and - Almost all our *.c files (outside compat/ and borrowed files in xdiff/) need some Git-ness from "cache.h" to do something Git-ish. let's explicitly specify that one of these three header files must be the first thing that is included. Any of our *.c file should include the header file that directly declares what it uses, instead of relying on the fact that some *.h file it includes happens to include another *.h file that declares the necessary function or type. Spell it out as another guideline item. Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-14Fifth batch for 2.3 cycleJunio C Hamano
Hopefully this will be the final feature update for 2.3-rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-14Merge branch 'po/doc-core-ignorestat'Junio C Hamano
* po/doc-core-ignorestat: doc: core.ignoreStat update, and clarify the --assume-unchanged effect doc: core.ignoreStat clarify the --assume-unchanged effect
2015-01-14Merge branch 'ak/doc-add-v-n-options'Junio C Hamano
* ak/doc-add-v-n-options: Documentation: list long options for -v and -n
2015-01-14Merge branch 'aw/doc-smtp-ssl-cert-path'Junio C Hamano
A long overdue documentation update to match an age-old code update. * aw/doc-smtp-ssl-cert-path: correct smtp-ssl-cert-path description
2015-01-14Document receive.advertiseatomicStefan Beller
This was missing in 1b70fe5d3054 (2015-01-07, receive-pack.c: negotiate atomic push support) as I squashed the option in very late in the patch series. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-14standardize usage info string formatAlex Henrie
This patch puts the usage info strings that were not already in docopt- like format into docopt-like format, which will be a litle easier for end users and a lot easier for translators. Changes include: - Placing angle brackets around fill-in-the-blank parameters - Putting dashes in multiword parameter names - Adding spaces to [-f|--foobar] to make [-f | --foobar] - Replacing <foobar>* with [<foobar>...] Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-13log: teach --invert-grep optionChristoph Junghans
"git log --grep=<string>" shows only commits with messages that match the given string, but sometimes it is useful to be able to show only commits that do *not* have certain messages (e.g. "show me ones that are not FIXUP commits"). Originally, we had the invert-grep flag in grep_opt, but because "git grep --invert-grep" does not make sense except in conjunction with "--files-with-matches", which is already covered by "--files-without-matches", it was moved it to revisions structure. To have the flag there expresses the function to the feature better. When the newly inserted two tests run, the history would have commits with messages "initial", "second", "third", "fourth", "fifth", "sixth" and "Second", committed in this order. The commits that does not match either "th" or "Sec" is "second" and "initial". For the case insensitive case only "initial" matches. Signed-off-by: Christoph Junghans <ottxor@gentoo.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-12doc: core.ignoreStat update, and clarify the --assume-unchanged effectPhilip Oakley
The assume-unchanged bit, and consequently core.ignoreStat, can be misunderstood. Be assertive about the expectation that file changes should notified to Git. Overhaul the general wording thus: 1. direct description of what is ignored given first. 2. example instruction of the user manual action required. 3. use sideways indirection for assume-unchanged and update-index references. 4. add a 'normally' to give leeway for the change detection. Signed-off-by: Philip Oakley <philipoakley@iee.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-12Git 2.3.0-rc0v2.3.0-rc0Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-12Sync with 2.2.2Junio C Hamano
2015-01-12Git 2.2.2v2.2.2Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-12Merge branch 'rw/apply-does-not-take-ignore-date' into maintJunio C Hamano
* rw/apply-does-not-take-ignore-date: git-am.txt: --ignore-date flag is not passed to git-apply
2015-01-12Merge branch 'bc/fetch-thin-less-aggressive-in-normal-repository'Junio C Hamano
Earlier we made "rev-list --object-edge" more aggressively list the objects at the edge commits, in order to reduce number of objects fetched into a shallow repository, but the change affected cases other than "fetching into a shallow repository" and made it unusably slow (e.g. fetching into a normal repository should not have to suffer the overhead from extra processing). Limit it to a more specific case by introducing --objects-edge-aggressive, a new option to rev-list. * bc/fetch-thin-less-aggressive-in-normal-repository: pack-objects: use --objects-edge-aggressive for shallow repos rev-list: add an option to mark fewer edges as uninteresting Documentation: add missing article in rev-list-options.txt
2015-01-12Merge branch 'sb/doc-submitting-patches-keep-notes'Junio C Hamano
* sb/doc-submitting-patches-keep-notes: SubmittingPatches: explain rationale for using --notes with format-patch
2015-01-10Documentation: list long options for -v and -nAlexander Kuleshov
Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-08receive-pack: support push-to-checkout hookJunio C Hamano
When receive.denyCurrentBranch is set to updateInstead, a push that tries to update the branch that is currently checked out is accepted only when the index and the working tree exactly matches the currently checked out commit, in which case the index and the working tree are updated to match the pushed commit. Otherwise the push is refused. This hook can be used to customize this "push-to-deploy" logic. The hook receives the commit with which the tip of the current branch is going to be updated, and can decide what kind of local changes are acceptable and how to update the index and the working tree to match the updated tip of the current branch. For example, the hook can simply run `git read-tree -u -m HEAD "$1"` in order to emulate 'git fetch' that is run in the reverse direction with `git push`, as the two-tree form of `read-tree -u -m` is essentially the same as `git checkout` that switches branches while keeping the local changes in the working tree that do not interfere with the difference between the branches. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-08push.c: add an --atomic argumentRonnie Sahlberg
Add a command line argument to the git push command to request atomic pushes. Signed-off-by: Ronnie Sahlberg <sahlberg@google.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-08send-pack.c: add --atomic command line argumentRonnie Sahlberg
This adds support to send-pack to negotiate and use atomic pushes iff the server supports it. Atomic pushes are activated by a new command line flag --atomic. In order to do this we also need to change the semantics for send_pack() slightly. The existing send_pack() function actually doesn't send all the refs back to the server when multiple refs are involved, for example when using --all. Several of the failure modes for pushes can already be detected locally in the send_pack client based on the information from the initial server side list of all the refs as generated by receive-pack. Any such refs that we thus know would fail to push are thus pruned from the list of refs we send to the server to update. For atomic pushes, we have to deal thus with both failures that are detected locally as well as failures that are reported back from the server. In order to do so we treat all local failures as push failures too. We introduce a new status code REF_STATUS_ATOMIC_PUSH_FAILED so we can flag all refs that we would normally have tried to push to the server but we did not due to local failures. This is to improve the error message back to the end user to flag that "these refs failed to update since the atomic push operation failed." Signed-off-by: Ronnie Sahlberg <sahlberg@google.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-08receive-pack.c: negotiate atomic push supportRonnie Sahlberg
This adds the atomic protocol option to allow receive-pack to inform the client that it has atomic push capability. This commit makes the functionality introduced in the previous commits go live for the serving side. The changes in documentation reflect the protocol capabilities of the server. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-07Fourth batch for 2.3 cycleJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-07Merge branch 'sb/dco-indentation-fix'Junio C Hamano
* sb/dco-indentation-fix: Documentation/SubmittingPatches: unify whitespace/tabs for the DCO
2015-01-07Merge branch 'lh/send-email-hide-x-mailer'Junio C Hamano
"git send-email" normally identifies itself via X-Mailer: header in the message it sends out. A new command line flag allows the user to squelch the header. * lh/send-email-hide-x-mailer: test/send-email: --[no-]xmailer tests send-email: add --[no-]xmailer option
2015-01-07Merge branch 'br/imap-send-via-libcurl'Junio C Hamano
Newer libCurl knows how to talk IMAP; "git imap-send" has been updated to use this instead of a hand-rolled OpenSSL calls. * br/imap-send-via-libcurl: git-imap-send: use libcurl for implementation
2015-01-07Merge branch 'br/imap-send-verbosity'Junio C Hamano
* br/imap-send-verbosity: imap-send: use parse options API to determine verbosity
2015-01-07Merge branch 'jc/clone-borrow'Junio C Hamano
Allow "git clone --reference" to be used more safely. * jc/clone-borrow: clone: --dissociate option to mark that reference is only temporary
2015-01-07correct smtp-ssl-cert-path descriptionAdam Williamson
The git-send-email documentation was never updated to reflect the change made in 01645b74 to use the SSL library's default CA trust store rather than /etc/ssl/certs as a hardcoded default CApath. This corrects that, and also tweaks the rest of the text a bit to explain more accurately what is required for a valid CApath / CAfile. Signed-off-by: Adam Williamson <awilliam@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-01-07SubmittingPatches: explain rationale for using --notes with format-patchEric Sunshine
While here, also change grammatically poor "three dash lines" to "three-dash line". Suggested-by: Stefan Beller <sbeller@google.com> Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-12-29pack-objects: use --objects-edge-aggressive for shallow reposbrian m. carlson
When fetching into or pushing from a shallow repository, we want to aggressively mark edges as uninteresting, since this decreases the pack size. However, aggressively marking edges can negatively affect performance on large non-shallow repositories with lots of refs. Teach pack-objects a --shallow option to indicate that we're pushing from or fetching into a shallow repository. Use --objects-edge-aggressive only for shallow repositories and otherwise use --objects-edge, which performs better in the general case. Update the callers to pass the --shallow option when they are dealing with a shallow repository. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-12-29rev-list: add an option to mark fewer edges as uninterestingbrian m. carlson
In commit fbd4a70 (list-objects: mark more commits as edges in mark_edges_uninteresting - 2013-08-16), we marked an increasing number of edges uninteresting. This change, and the subsequent change to make this conditional on --objects-edge, are used by --thin to make much smaller packs for shallow clones. Unfortunately, they cause a significant performance regression when pushing non-shallow clones with lots of refs (23.322 seconds vs. 4.785 seconds with 22400 refs). Add an option to git rev-list, --objects-edge-aggressive, that preserves this more aggressive behavior, while leaving --objects-edge to provide more performant behavior. Preserve the current behavior for the moment by using the aggressive option. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-12-22Sync with maintJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-12-22Third batch for 2.3 cycleJunio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-12-22Merge branch 'nd/split-index'Junio C Hamano
A typofix to the documentation of a feature already in the release. * nd/split-index: index-format.txt: add a missing closing quote
2014-12-22Merge branch 'jk/colors'Junio C Hamano
"diff-highlight" filter (in contrib/) allows its color output to be customized via configuration variables. * jk/colors: parse_color: drop COLOR_BACKGROUND macro diff-highlight: allow configurable colors parse_color: recognize "no$foo" to clear the $foo attribute parse_color: support 24-bit RGB values parse_color: refactor color storage
2014-12-22Merge branch 'rw/apply-does-not-take-ignore-date'Junio C Hamano
* rw/apply-does-not-take-ignore-date: git-am.txt: --ignore-date flag is not passed to git-apply