summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-09-07Merge branch 'tr/reset-checkout-patch'Libravatar Junio C Hamano14-73/+674
* tr/reset-checkout-patch: stash: simplify defaulting to "save" and reject unknown options Make test case number unique tests: disable interactive hunk selection tests if perl is not available DWIM 'git stash save -p' for 'git stash -p' Implement 'git stash save --patch' Implement 'git checkout --patch' Implement 'git reset --patch' builtin-add: refactor the meat of interactive_add() Add a small patch-mode testing library git-apply--interactive: Refactor patch mode code Make 'git stash -k' a short form for 'git stash save --keep-index'
2009-09-07Merge branch 'np/maint-1.6.3-deepen'Libravatar Junio C Hamano2-2/+34
* np/maint-1.6.3-deepen: pack-objects: free preferred base memory after usage make shallow repository deepening more network efficient
2009-09-06Merge branch 'maint'Libravatar Junio C Hamano1-3/+3
* maint: push: re-flow non-fast-forward message push: fix english in non-fast-forward message
2009-09-06push: re-flow non-fast-forward messageLibravatar Jeff King1-3/+3
The extreme raggedness of the right edge make this jarring to read. Let's re-flow the text to fill the lines in a more even way. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-06push: fix english in non-fast-forward messageLibravatar Jeff King1-1/+1
We must use an article when referring to the section because it is a non-proper noun, and it must be the definite article because we are referring to a specific section. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-05Do not scramble password read from .cvspassLibravatar Pascal Obry1-3/+3
Passwords stored in .cvspass are already scrambled, we do not want to scramble them twice. Only passwords read from the command line are scrambled. This fixes a regression introduced by b2139db (git-cvsimport: add support for cvs pserver password scrambling., 2009-08-14). Signed-off-by: Pascal Obry <pascal@obry.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-05pack-objects: free preferred base memory after usageLibravatar Nicolas Pitre1-0/+28
When adding objects for preferred delta base, the content from tree objects leading to given paths is kept in a cache. This has the potential to grow significantly, especially with large directories as the whole tree object content is loaded in memory, even if in practice the number of those objects is limited to the 256 cache entries plus the $window root tree objects. Still, that can't hurt freeing that up after object enumeration is done, and before more memory is needed for delta search. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-05make shallow repository deepening more network efficientLibravatar Nicolas Pitre1-2/+6
First of all, I can't find any reason why thin pack generation is explicitly disabled when dealing with a shallow repository. The possible delta base objects are collected from the edge commits which are always obtained through history walking with the same shallow refs as the client, Therefore the client is always going to have those base objects available. So let's remove that restriction. Then we can make shallow repository deepening much more efficient by using the remote's unshallowed commits as edge commits to get preferred base objects for thin pack generation. On git.git, this makes the data transfer for the deepening of a shallow repository from depth 1 to depth 2 around 134 KB instead of 3.68 MB. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-03Merge branch 'maint'Libravatar Junio C Hamano1-1/+1
* maint: git-clone: add missing comma in --reference documentation
2009-09-03Merge branch 'maint-1.6.3' into maintLibravatar Junio C Hamano4-24/+28
* maint-1.6.3: git-clone: add missing comma in --reference documentation git-cvsserver: no longer use deprecated 'git-subcommand' commands clone: disconnect transport after fetching
2009-09-03Merge branch 'maint-1.6.2' into maint-1.6.3Libravatar Junio C Hamano3-4/+8
* maint-1.6.2: git-clone: add missing comma in --reference documentation clone: disconnect transport after fetching
2009-09-03git-clone: add missing comma in --reference documentationLibravatar Miklos Vajna1-1/+1
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-02Merge branch 'maint'Libravatar Junio C Hamano3-23/+27
* maint: git-cvsserver: no longer use deprecated 'git-subcommand' commands clone: disconnect transport after fetching
2009-09-02Merge branch 'maint-1.6.3' into maintLibravatar Junio C Hamano3-23/+27
* maint-1.6.3: git-cvsserver: no longer use deprecated 'git-subcommand' commands clone: disconnect transport after fetching
2009-09-02push: teach --quiet to suppress "Everything up-to-date"Libravatar Jeff King1-1/+1
This should have been part of 481c7a6, whose goal was to make "git push -q" silent unless there is an error. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-02Merge branch 'maint-1.6.2' into maint-1.6.3Libravatar Junio C Hamano2-3/+7
* maint-1.6.2: clone: disconnect transport after fetching
2009-09-02git-cvsserver: no longer use deprecated 'git-subcommand' commandsLibravatar Gerrit Pape1-20/+20
git-cvsserver still references git commands like 'git-config', which is depcrecated. This commit changes git-cvsserver to use the 'git subcommand' form. Sylvain Beucler reported the problem through http://bugs.debian.org/536067 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-02clone: disconnect transport after fetchingLibravatar Jeff King2-3/+7
The current code just leaves the transport in whatever state it was in after performing the fetch. For a non-empty clone over the git protocol, the transport code already disconnects at the end of the fetch. But for an empty clone, we leave the connection hanging, and eventually close the socket when clone exits. This causes the remote upload-pack to complain "the remote end hung up unexpectedly". While this message is harmless to the clone itself, it is unnecessarily scary for a user to see and may pollute git-daemon logs. This patch just explicitly calls disconnect after we are done with the remote end, which sends a flush packet to upload-pack and cleanly disconnects, avoiding the error message. Other transports are unaffected or slightly improved: - for a non-empty repo over the git protocol, the second disconnect is a no-op (since we are no longer connected) - for "walker" transports (like HTTP or FTP), we actually free some used memory (which previously just sat until the clone process exits) - for "rsync", disconnect is always a no-op anyway Signed-off-by: Jeff King <peff@peff.net> Acked-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-01status: list unmerged files much laterLibravatar Johannes Sixt1-1/+1
When resolving a conflicted merge, two lists in the status output need more attention from the user than other parts. - the list of updated paths is useful to review the amount of changes the merge brings in (the user cannot do much about them other than reviewing, though); and - the list of unmerged paths needs the most attention from the user; the user needs to resolve them in order to proceed. Since the output of git status does not by default go through the pager, the early parts of the output can scroll away at the top. It is better to put the more important information near the bottom. During a merge, local changes that are not in the index are minimum, and you should keep the untracked list small in any case, so moving the unmerged list from the top of the output to immediately after the list of updated paths would give us the optimum layout. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-01stash: simplify defaulting to "save" and reject unknown optionsLibravatar Matthieu Moy3-8/+39
With the earlier DWIM patches, certain combination of options defaulted to the "save" command correctly while certain equally valid combination did not. For example, "git stash -k" were Ok but "git stash -q -k" did not work. This makes the logic of defaulting to "save" much simpler. If there are no non-flag arguments, it is clear that there is no command word, and we default to "save" subcommand. This rule prevents "git stash -q apply" from quietly creating a stash with "apply" as the message. This also teaches "git stash save" to reject an unknown option. This is to keep a mistyped "git stash save --quite" from creating a stash with a message "--quite", and this safety is more important with the new logic to default to "save" with any option-looking argument without an explicit comand word. [jc: this is based on Matthieu's 3-patch series, and a follow-up discussion, and he and Peff take all the credit; if I have introduced bugs while reworking, they are mine.] Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-01builtin-apply.c: get rid of an unnecessary use of temporary arrayLibravatar Junio C Hamano1-8/+6
Instead of allocating a temporary array imglen[], copying contents to it from another array img->line[], and then using imglen[], use the value from img->line[], whose value does not change during the whole process. This incidentally removes a use of C99 variable length array, which some older compilers apparently are not happy with. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-01builtin-pack-objects.c: avoid vlaLibravatar Junio C Hamano1-1/+3
This is one of only two places that we use C99 variable length array on the stack, which some older compilers apparently are not happy with. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-31Style fixes, add a space after if/for/while.Libravatar Brian Gianforcaro13-30/+28
The majority of code in core git appears to use a single space after if/for/while. This is an attempt to bring more code to this standard. These are entirely cosmetic changes. Signed-off-by: Brian Gianforcaro <b.gianfo@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-31Merge branch 'lt/approxidate'Libravatar Junio C Hamano4-107/+316
* lt/approxidate: fix approxidate parsing of relative months and years tests: add date printing and parsing tests refactor test-date interface Add date formatting and parsing functions relative to a given time Further 'approxidate' improvements Improve on 'approxidate' Conflicts: date.c
2009-08-31Merge branch 'mr/gitweb-snapshot'Libravatar Junio C Hamano4-68/+154
* mr/gitweb-snapshot: gitweb: add t9501 tests for checking HTTP status codes gitweb: split test suite into library and tests gitweb: improve snapshot error handling
2009-08-31Merge branch 'tf/diff-whitespace-incomplete-line'Libravatar Junio C Hamano1-33/+53
* tf/diff-whitespace-incomplete-line: xutils: Fix xdl_recmatch() on incomplete lines xutils: Fix hashing an incomplete line with whitespaces at the end
2009-08-30fix approxidate parsing of relative months and yearsLibravatar Jeff King2-3/+6
These were broken by b5373e9. The problem is that the code marks the month and year with "-1" for "we don't know it yet", but the month and year code paths were not adjusted to fill in the current time before doing their calculations (whereas other units follow a different code path and are fine). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-30tests: add date printing and parsing testsLibravatar Jeff King1-0/+75
Until now, there was no coverage of relative date printing or approxidate parsing routines (mainly because we had no way of faking the "now" time for relative date calculations, which made consistent testing impossible). This new script tries to exercise the basic features of show_date and approxidate. Most of the tests are just "this obvious thing works" to prevent future regressions, with a few exceptions: - We confirm the fix in 607a9e8 that relative year/month dates in the latter half of a year round correctly. - We confirm that the improvements in b5373e9 and 1bddb25 work. - A few tests are marked to expect failure, which are regressions recently introduced by the two commits above. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-30refactor test-date interfaceLibravatar Jeff King1-8/+55
The test-date program goes back to the early days of git, where it was presumably used to do manual sanity checks on changes to the date code. However, it is not actually used by the test suite to do any sort of automatic of systematic tests. This patch refactors the interface to the program to try to make it more suitable for use by the test suite. There should be no fallouts to changing the interface since it is not actually installed and is not internally called by any other programs. The changes are: - add a "mode" parameter so the caller can specify which operation to test - add a mode to test relative date output from show_date - allow faking a fixed time via the TEST_DATE_NOW environment variable, which allows consistent automated testing - drop the use of ctime for showing dates in favor of our internal iso8601 printing routines. The ctime output is somewhat redundant (because of the day-of-week) which makes writing test cases more annoying. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-30Add date formatting and parsing functions relative to a given timeLibravatar Alex Riesen2-63/+92
The main purpose is to allow predictable testing of the code. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-29Sync with 1.6.4.2Libravatar Junio C Hamano3-3/+34
2009-08-29GIT 1.6.4.2Libravatar Junio C Hamano4-3/+36
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-29UI consistency: allow --force for where -f means forceLibravatar René Scharfe10-5/+11
git branch, checkout, clean, mv and tag all have an option -f to override certain checks. This patch makes them accept the long option --force as a synonym. While we're at it, document that checkout support --quiet as synonym for its short option -q. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-29update-server-info: make builtin, use parseoptLibravatar René Scharfe5-29/+28
Convert git update-server-info to a built-in command and use parseopt. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-29Remove unused t/t8005/iso8859-5.txtLibravatar Nanako Shiraishi1-2/+0
This file is no longer used since 54bc13c (t8005: Nobody writes Russian in shift_jis, 2009-06-18). Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-28Draft release notes to 1.6.5 before -rc0Libravatar Junio C Hamano1-1/+59
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-28Merge branch 'mm/reset-report'Libravatar Junio C Hamano5-15/+31
* mm/reset-report: reset: make the reminder output consistent with "checkout" Rename REFRESH_SAY_CHANGED to REFRESH_IN_PORCELAIN.
2009-08-28Merge branch 'jk/maint-1.6.3-checkout-unborn'Libravatar Junio C Hamano2-9/+43
* jk/maint-1.6.3-checkout-unborn: checkout: do not imply "-f" on unborn branches
2009-08-28Merge branch 'np/maint-1.6.3-deepen'Libravatar Junio C Hamano2-1/+62
* np/maint-1.6.3-deepen: fix simple deepening of a repo Conflicts: t/t5500-fetch-pack.sh
2009-08-28Merge branch 'jc/shortstatus'Libravatar Junio C Hamano6-230/+550
* jc/shortstatus: git commit --dry-run -v: show diff in color when asked Documentation/git-commit.txt: describe --dry-run wt-status: collect untracked files in a separate "collect" phase Make git_status_config() file scope static to builtin-commit.c wt-status: move wt_status_colors[] into wt_status structure wt-status: move many global settings to wt_status structure commit: --dry-run status: show worktree status of conflicted paths separately wt-status.c: rework the way changes to the index and work tree are summarized diff-index: keep the original index intact diff-index: report unmerged new entries
2009-08-28Merge branch 'maint'Libravatar Junio C Hamano1-1/+6
* maint: http.c: set slot callback members to NULL when releasing object
2009-08-28Merge branch 'rc/maint-http-fix' into maintLibravatar Junio C Hamano1-1/+3
* rc/maint-http-fix: http.c: don't assume that urls don't end with slash
2009-08-28http.c: set slot callback members to NULL when releasing objectLibravatar Tay Ray Chuan1-1/+6
Set the members callback_func and callback_data of freq->slot to NULL when releasing a http_object_request. release_active_slot() is also invoked on the slot to remove the curl handle associated with the slot from the multi stack (CURLM *curlm in http.c). These prevent the callback function and data from being used in http methods (like http.c::finish_active_slot()) after a http_object_request has been free'd. Noticed by Ali Polatel, who later tested this patch to verify that it fixes the problem he saw; Dscho helped to identify the problem spot. Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-28t/test-lib.sh: provide a shell implementation of the 'yes' utilityLibravatar Brandon Casey1-0/+15
Some platforms (IRIX 6.5, Solaris 7) do not provide the 'yes' utility. Currently, some tests, including t7610 and t9001, try to call this program. Due to the way the tests are structured, the tests still pass even though this program is missing. Rather than succeeding by chance, let's provide an implementation of the simple 'yes' utility in shell for all platforms to use. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-27Merge branch 'maint'Libravatar Junio C Hamano4-4/+4
* maint: Fix overridable written with an extra 'e' Documentation: git-archive: mark --format as optional in summary Round-down years in "years+months" relative date view
2009-08-27Merge branch 'maint-1.6.3' into maintLibravatar Junio C Hamano4-4/+4
* maint-1.6.3: Fix overridable written with an extra 'e' Documentation: git-archive: mark --format as optional in summary Round-down years in "years+months" relative date view
2009-08-27Merge branch 'maint-1.6.2' into maint-1.6.3Libravatar Junio C Hamano4-4/+4
* maint-1.6.2: Fix overridable written with an extra 'e' Documentation: git-archive: mark --format as optional in summary Round-down years in "years+months" relative date view Conflicts: Documentation/git-archive.txt
2009-08-27Fix overridable written with an extra 'e'Libravatar Nanako Shiraishi2-2/+2
Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-08-27Merge branch 'maint-1.6.1' into maint-1.6.2Libravatar Junio C Hamano1-1/+1
* maint-1.6.1: Documentation: git-archive: mark --format as optional in summary
2009-08-27Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano1-1/+1
* maint-1.6.0: Documentation: git-archive: mark --format as optional in summary