summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-04-21Revert "stat_tracking_info(): only count real commits"Libravatar Junio C Hamano2-6/+1
This reverts commit 19de5d6913b9681d2bde533bccc8445c9236a648. It produces a misleading output to decide if a merge can fast-forward.
2009-04-21test-lib.sh: Help test_create_repo() find the templates dirLibravatar Michael J Gruber1-1/+1
Currently, test_create_repo() expects that templates can be found below `pwd`/.. This assumption fails when tests are run against a git installed somewhere else or test_create_repo() is called from subdirectiories (several tests do this). Therefore, use $TEST_DIRECTORY as introduced in 2d84e9fb and expect templates to be present in $TEST_DIRECTORY/.. which should be the root dir of the git checkout. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-21Merge branch 'mk/maint-apply-swap'Libravatar Junio C Hamano1-3/+31
* mk/maint-apply-swap: tests: make test-apply-criss-cross-rename more robust builtin-apply: keep information about files to be deleted tests: test applying criss-cross rename patch Conflicts: t/t4130-apply-criss-cross-rename.sh
2009-04-21Merge branch 'maint'Libravatar Junio C Hamano2-1/+2
* maint: gitcvs-migration: Link to git-cvsimport documentation Fix off-by-one in read_tree_recursive
2009-04-20grep: don't support "grep.color"-like config optionsLibravatar Markus Heidelberg1-6/+3
color.grep and color.grep.* is the official and documented way to highlight grep matches. Comparable options like diff.color.* and status.color.* exist for backward compatibility reasons only and are not documented any more. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20Documentation: fix typos / spelling mistakesLibravatar Mike Ralphson4-5/+5
Signed-off-by: Mike Ralphson <mike@abacus.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20builtin-remote: fix typo in option descriptionLibravatar Mike Ralphson1-1/+1
Signed-off-by: Mike Ralphson <mike@abacus.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20clone: add test for push on an empty clone.Libravatar Matthieu Moy1-0/+10
Commit 55f0566 (get_local_heads(): do not return random pointer if there is no head, 2009-04-17) fixed a segfault for git push, this patch adds a test-case to avoid future regressions. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20tests: make test-apply-criss-cross-rename more robustLibravatar Michał Kiedrowicz1-3/+31
I realized that this test does check if git-apply succeeds, but doesn't tell if it applies patches correctly. So I added test_cmp to check it. I also added a test which checks swapping three files. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20builtin-apply: keep information about files to be deletedLibravatar Michał Kiedrowicz2-8/+47
Example correct diff generated by `diff -M -B' might look like this: diff --git a/file1 b/file2 similarity index 100% rename from file1 rename to file2 diff --git a/file2 b/file1 similarity index 100% rename from file2 rename to file1 Information about removing `file2' comes after information about creation of new `file2' (renamed from `file1'). Existing implementation isn't able to apply such patch, because it has to know in advance which files will be removed. This patch populates fn_table with information about removal of files before calling check_patch() for each patch to be applied. Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20tests: test applying criss-cross rename patchLibravatar Michał Kiedrowicz1-0/+38
Originally reported by Linus in $gmane/116198 Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20gitcvs-migration: Link to git-cvsimport documentationLibravatar Frank Lichtenheld1-1/+1
Signed-off-by: Frank Lichtenheld <flichtenheld@astaro.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20Fix off-by-one in read_tree_recursiveLibravatar Johannes Schindelin1-0/+1
Found by valgrind. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20Windows: Skip fstat/lstat optimization in write_entry()Libravatar Johannes Sixt3-1/+17
Commit e4c72923 (write_entry(): use fstat() instead of lstat() when file is open, 2009-02-09) introduced an optimization of write_entry(). Unfortunately, we cannot take advantage of this optimization on Windows because there is no guarantee that the time stamps are updated before the file is closed: "The only guarantee about a file timestamp is that the file time is correctly reflected when the handle that makes the change is closed." (http://msdn.microsoft.com/en-us/library/ms724290(VS.85).aspx) The failure of this optimization on Windows can be observed most easily by running a 'git checkout' that has to update several large files. In this case, 'git checkout' will report modified files, but infact only the timestamps were incorrectly recorded in the index, as can be verified by a subsequent 'git diff', which shows no change. Dmitry Potapov reports the same fix needs on Cygwin; this commit contains his updates for that. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20Windows: Work around intermittent failures in mingw_renameLibravatar Johannes Sixt1-2/+19
We have replaced rename() with a version that can rename a file to a destination that already exists. Nevertheless, many users, the author included, observe failures in the code that are not reproducible. The theory is that the failures are due to some other process that happens to have opened the destination file briefly at the wrong moment. (And there is no way on Windows to delete or replace a file that is currently open.) The most likely candidate for such a process is a virus scanner. The failure is more often observed while there is heavy git activity (for example while the test suite is running or during a rebase operation). We work around the failure by retrying the rename operation if it failed due to ERROR_ACCESS_DENIED. The retries are delayed a bit: The first only by giving up the time slice, the next after the minimal scheduling granularity, and if more retries are needed, then we wait some non-trivial amount of time with exponential back-off. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20gitweb: Fix snapshots requested via PATH_INFOLibravatar Holger Weiß1-2/+2
Fix the detection of the requested snapshot format, which failed for PATH_INFO URLs since the references to the hashes which describe the supported snapshot formats weren't dereferenced appropriately. Signed-off-by: Holger Weiß <holger@zedat.fu-berlin.de> Acked-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-20Merge branch 'mm/maint-add-p-quit'Libravatar Junio C Hamano1-1/+1
* mm/maint-add-p-quit: git add -p: add missing "q" to patch prompt
2009-04-20git add -p: add missing "q" to patch promptLibravatar Wincent Colaiuta1-1/+1
Commit cbd3a01 added a new "q" subcommand to the "git add -p" command loop, but forgot to add it to the prompt. Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19Sync with 1.6.2.4Libravatar Junio C Hamano5-18/+25
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19GIT 1.6.2.4Libravatar Junio C Hamano2-2/+10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19Makefile: remove {fetch,send}-pack from PROGRAMS as they are builtinsLibravatar Nguyễn Thái Ngọc Duy1-2/+0
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19Merge branch 'ef/maint-fast-export' into maintLibravatar Junio C Hamano2-2/+26
* ef/maint-fast-export: builtin-fast-export.c: handle nested tags builtin-fast-export.c: fix crash on tagged trees builtin-fast-export.c: turn error into warning test-suite: adding a test for fast-export with tag variants
2009-04-19Merge branch 'mm/maint-add-p-quit' into maintLibravatar Junio C Hamano2-39/+38
* mm/maint-add-p-quit: Update git-add.txt according to the new possibilities of 'git add -p'. add-interactive: refactor mode hunk handling git add -p: new "quit" command at the prompt.
2009-04-19Merge branch 'lt/maint-reflog-expire' into maintLibravatar Junio C Hamano1-6/+70
* lt/maint-reflog-expire: Speed up reflog pruning of unreachable commits Clean up reflog unreachability pruning decision
2009-04-19Merge branch 'jc/maint-shared-literally' into maintLibravatar Junio C Hamano3-11/+23
* jc/maint-shared-literally: Update docs on behaviour of 'core.sharedRepository' and 'git init --shared' t1301-shared-repo: fix forced modes test
2009-04-19Update git-add.txt according to the new possibilities of 'git add -p'.Libravatar Matthieu Moy1-1/+3
The text is merely cut-and-pasted from git-add--interactive.perl. The cut-and-paste also fixes a typo. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19add-interactive: refactor mode hunk handlingLibravatar Jeff King1-43/+21
The original implementation considered the mode separately from the rest of the hunks, asking about it outside the main hunk-selection loop. This patch instead places a mode change as the first hunk in the loop. This has two advantages: 1. less duplicated code (since we use the main selection loop). This also cleans up an inconsistency, which is that the main selection loop separates options with a comma, whereas the mode prompt used slashes. 2. users can now skip the mode change and come back to it, search for it (via "/mode"), etc, as they can with other hunks. To facilitate this, each hunk is now marked with a "type". Mode hunks are not considered for splitting (which would make no sense, and also confuses the split_hunk function), nor are they editable. In theory, one could edit the mode lines and change to a new mode. In practice, there are only two modes that git cares about (0644 and 0755), so either you want to move from one to the other or not (and you can do that by staging or not staging). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19git add -p: new "quit" command at the prompt.Libravatar Matthieu Moy2-1/+20
There's already 'd' to stop staging hunks in a file, but no explicit command to stop the interactive staging (for the current files and the remaining ones). Of course you can do 'd' and then ^C, but it would be more intuitive to allow 'quit' action. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19Speed up reflog pruning of unreachable commitsLibravatar Junio Hamano1-0/+44
Instead of doing the (potentially very expensive) "in_merge_base()" check for each commit that might be pruned if it is unreachable, do a preparatory reachability graph of the commit space, so that the common case of being reachable can be tested directly. [ Cleaned up a bit and tweaked to actually work. - Linus ] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19Clean up reflog unreachability pruning decisionLibravatar Linus Torvalds1-6/+26
This clarifies the pruning rules for unreachable commits by having a separate helpder function for the unreachability decision. It's preparation for actual bigger changes to come to speed up the decision when the reachability calculations become a bottleneck. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19builtin-fast-export.c: handle nested tagsLibravatar Erik Faye-Lund2-3/+6
When tags that points to tags are passed to fast-export, an error is given, saying "Tag [TAGNAME] points nowhere?". This fix calls parse_object() on the object before referencing it's tag, to ensure the tag-info is fully initialized. In addition, it inserts a comment to point out where nested tags are handled. This is consistent with the comment for signed tags. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19builtin-fast-export.c: fix crash on tagged treesLibravatar Erik Faye-Lund2-3/+6
If a tag object points to a tree (or another unhandled type), the commit- pointer is left uninitialized and later dereferenced. This patch adds a default case to the switch that issues a warning and skips the object. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19builtin-fast-export.c: turn error into warningLibravatar Erik Faye-Lund1-2/+4
fast-import doesn't have a syntax to support tree-objects (and some other object-types), so fast-export shouldn't handle them. However, aborting the operation is a bit drastic. This patch turns the error into a warning instead. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-19test-suite: adding a test for fast-export with tag variantsLibravatar Erik Faye-Lund1-0/+16
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-18Work around ash "alternate value" expansion bugLibravatar Ben Jackson3-3/+20
Ash (used as /bin/sh on many distros) has a shell expansion bug for the form ${var:+word word}. The result is a single argument "word word". Work around by using ${var:+word} ${var:+word} or equivalent. Signed-off-by: Ben Jackson <ben@ben.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-18Update draft release notes to 1.6.3Libravatar Junio C Hamano1-13/+21
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-18Merge branch 'lt/bool-on-off'Libravatar Junio C Hamano2-3/+3
* lt/bool-on-off: Documentation: boolean value may be given by on/off Allow users to un-configure rename detection
2009-04-18Merge branch 'lt/pack-object-memuse'Libravatar Junio C Hamano7-41/+54
* lt/pack-object-memuse: show_object(): push path_name() call further down process_{tree,blob}: show objects without buffering Conflicts: builtin-pack-objects.c builtin-rev-list.c list-objects.c list-objects.h upload-pack.c
2009-04-18Merge branch 'nd/archive-attribute'Libravatar Junio C Hamano9-12/+147
* nd/archive-attribute: archive test: attributes archive: do not read .gitattributes in working directory unpack-trees: do not muck with attributes when we are not checking out attr: add GIT_ATTR_INDEX "direction" archive tests: do not use .gitattributes in working directory
2009-04-18Merge branch 'maint'Libravatar Junio C Hamano5-11/+53
* maint: Describe fixes since 1.6.2.3 doc/git-daemon: add missing arguments to max-connections option doc/git-daemon: add missing arguments to options init: Do not segfault on big GIT_TEMPLATE_DIR environment variable imap-send: use correct configuration variable in documentation
2009-04-18Describe fixes since 1.6.2.3Libravatar Junio C Hamano2-1/+32
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-18Merge branch 'maint-1.6.1' into maintLibravatar Junio C Hamano0-0/+0
* maint-1.6.1:
2009-04-18Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano3-9/+20
* maint-1.6.0: doc/git-daemon: add missing arguments to options init: Do not segfault on big GIT_TEMPLATE_DIR environment variable
2009-04-18Merge branch 'bs/maint-1.6.0-tree-walk-prefix' into maintLibravatar Junio C Hamano4-5/+29
* bs/maint-1.6.0-tree-walk-prefix: match_tree_entry(): a pathspec only matches at directory boundaries tree_entry_interesting: a pathspec only matches at directory boundary
2009-04-18Merge branch 'js/maint-submodule-checkout' into maintLibravatar Junio C Hamano2-3/+42
* js/maint-submodule-checkout: Fix 'git checkout <submodule>' to update the index
2009-04-18Merge branch 'cb/maint-merge-recursive-submodule-fix' into maintLibravatar Junio C Hamano2-12/+78
* cb/maint-merge-recursive-submodule-fix: simplify output of conflicting merge update cache for conflicting submodule entries add tests for merging with submodules
2009-04-18doc/git-daemon: add missing arguments to max-connections optionLibravatar Markus Heidelberg1-1/+1
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-18Merge branch 'maint-1.6.0' into maintLibravatar Junio C Hamano3-9/+20
* maint-1.6.0: doc/git-daemon: add missing arguments to options init: Do not segfault on big GIT_TEMPLATE_DIR environment variable
2009-04-18doc/git-daemon: add missing arguments to optionsLibravatar Markus Heidelberg1-8/+8
Also fix some spellings and typos. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-18init: Do not segfault on big GIT_TEMPLATE_DIR environment variableLibravatar Frank Lichtenheld2-1/+12
Signed-off-by: Frank Lichtenheld <flichtenheld@astaro.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>