summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* added missing backtick in git-apply.txtDanijel Tasov2009-02-281-1/+1
| | | | | Signed-off-by: Danijel Tasov <dt@korn.shell.la> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Make repack less likely to corrupt repositoryJunio C Hamano2009-02-111-20/+67
| | | | | | | | | | | | | | | | | | | | Some platforms refuse to rename a file that is open. When repacking an already packed repository without adding any new object, the resulting pack will contain the same set of objects as an existing pack, and on such platforms, a newly created packfile cannot replace the existing one. The logic detected this issue but did not try hard enough to recover from it. Especially because the files that needs renaming come in pairs, there potentially are different failure modes that one can be renamed but the others cannot. Asking manual recovery to end users were error prone. This patch tries to make it more robust by first making sure all the existing files that need to be renamed have been renamed before continuing, and attempts to roll back if some failed to rename. This is based on an initial patch by Robin Rosenberg. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* fast-export: ensure we traverse commits in topological orderElijah Newren2009-02-111-0/+1
| | | | | | | | | | | fast-export will only list as parents those commits which have already been traversed (making it appear as if merges have been squashed if not all parents have been traversed). To avoid this silent squashing of merge commits, we request commits in topological order. Signed-off-by: Elijah Newren <newren@gmail.com> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Clear the delta base cache if a pack is rebuiltShawn O. Pearce2009-02-111-0/+1
| | | | | | | | | | | | | | | | There is some risk that re-opening a regenerated pack file with different offsets could leave stale entries within the delta base cache that could be matched up against other objects using the same "struct packed_git*" and pack offset. Throwing away the entire delta base cache in this case is safer, as we don't have to worry about a recycled "struct packed_git*" matching to the wrong base object, resulting in delta apply errors while unpacking an object. Suggested-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Clear the delta base cache during fast-import checkpointShawn O. Pearce2009-02-103-0/+9
| | | | | | | | | | | Otherwise we may reuse the same memory address for a totally different "struct packed_git", and a previously cached object from the prior occupant might be returned when trying to unpack an object from the new pack. Found-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Fixed broken git help -w when installing from RPMDavid J. Mellor2009-02-041-1/+4
| | | | | | | | | After the git-core package was renamed to git, git help -w was still looking for files in /usr/share/doc/git-core-$VERSION instead of /usr/share/doc/git-$VERSION. Signed-off-by: David J. Mellor <dmellor@whistlingcat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* builtin-mv.c: check for unversionned files before looking at the destination.Matthieu Moy2009-02-042-5/+5
| | | | | | | | | | | | The previous code was failing in the case where one moves an unversionned file to an existing destination, with mv -f: the "existing destination" was checked first, and the error was cancelled by the force flag. We now check the unrecoverable error first, which fixes the bug. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Add a testcase for "git mv -f" on untracked files.Matthieu Moy2009-02-041-0/+8
| | | | | | | | This currently fails with: git: builtin-mv.c:217: cmd_mv: Assertion `pos >= 0' failed. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Missing && in t/t7001.sh.Matthieu Moy2009-02-041-1/+1
| | | | | | | Without this, the exit status is only the one of the last line. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* User-manual: "git stash <comment>" form is long goneWilliam Pursell2009-02-031-1/+1
| | | | | | | These days you must explicitly say "git stash save <comment>". Signed-off-by: William Pursell <bill.pursell@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* add test-dump-cache-tree in MakefileGuanqun Lu2009-02-032-1/+1
| | | | | | | | | | | 5c5ba73 (Makefile: Use generic rule to build test programs, 2007-05-31) tried to use generic rule to build test programs, but it misses the file 'dump-cache-tree.c', since its name is not prefixed by 'test-'. This commit solves this little problem by renaming this file instead of carrying out an explicit rule in Makefile. Signed-off-by: Guanqun Lu <guanqun.lu@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* fix typo in DocumentationGuanqun Lu2009-02-031-1/+1
| | | | | Signed-off-by: Guanqun Lu <guanqun.lu@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* apply: fix access to an uninitialized mode variable, found by valgrindJohannes Schindelin2009-02-031-1/+1
| | | | | | | | | | | | When 'tpatch' was initialized successfully, st_mode was already taken from the previous diff. We should not try to override it with data from an lstat() that was never called. This is a companion patch to 7a07841(git-apply: handle a patch that touches the same path more than once better). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* grep: pass -I (ignore binary) down to external grepJunio C Hamano2009-02-021-0/+2
| | | | | | We forgot to pass this option to the external grep process. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* merge: fix out-of-bounds memory accessRené Scharfe2009-01-311-3/+6
| | | | | | | | | | | | | | | | | | | | The parameter n of unpack_callback() can have a value of up to MAX_UNPACK_TREES. The check at the top of unpack_trees() (its only (indirect) caller) makes sure it cannot exceed this limit. unpack_callback() passes it and the array src to unpack_nondirectories(), which has this loop: for (i = 0; i < n; i++) { /* ... */ src[i + o->merge] = o->df_conflict_entry; o->merge can be 0 or 1, so unpack_nondirectories() potentially accesses the array src at index MAX_UNPACK_TREES. This patch makes it big enough. Reported-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* avoid 31-bit truncation in write_loose_objectJeff King2009-01-281-1/+2
| | | | | | | | | | | | | The size of the content we are adding may be larger than 2.1G (i.e., "git add gigantic-file"). Most of the code-path to do so uses size_t or unsigned long to record the size, but write_loose_object uses a signed int. On platforms where "int" is 32-bits (which includes x86_64 Linux platforms), we end up passing malloc a negative size. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* test-path-utils: Fix off by one, found by valgrindJohannes Schindelin2009-01-271-1/+1
| | | | | | | | | | When normalizing an absolute path, we might have to add a slash _and_ a NUL to the buffer, so the buffer was one too small. Let's just future proof the code and alloc PATH_MAX + 1 bytes. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* get_sha1_basic(): fix invalid memory access, found by valgrindJohannes Schindelin2009-01-271-1/+1
| | | | | | | | When get_sha1_basic() is passed a buffer of len 0, it should not check if buf[len-1] is a curly bracket. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Fix Documentation for git-describeBoyd Stephen Smith Jr2009-01-231-1/+1
| | | | | | | | | The documentation for git-describe says the default abbreviation is 8 hexadecimal digits while cache.c clearly shows DEFAULT_ABBREV set to 7. This patch corrects the documentation. Signed-off-by: Boyd Stephen Smith Jr <bss@iguanasuicide.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* builtin-fsck: fix off by one head countChristian Couder2009-01-171-1/+1
| | | | | | | | | | | | | According to the man page, if "git fsck" is passed one or more heads, it should verify connectivity and validity of only objects reachable from the heads it is passed. However, since 5ac0a20 (Make builtin-fsck.c use parse_options., 2007-10-15) the command behaved as if no heads were passed, when given only one argument. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Documentation: let asciidoc align related optionsMarkus Heidelberg2009-01-171-1/+4
| | | | | | | | | Command line options can share the same paragraph of description, if they are related or synonymous. In these cases they should be written among each other, so that asciidoc can format them itself. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* githooks.txt: add missing wordStephan Beyer2009-01-171-1/+1
| | | | | Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* builtin-commit.c: do not remove COMMIT_EDITMSGStephan Beyer2009-01-171-1/+0
| | | | | | | | | | | | | | | | git-commit tries to remove the file ./COMMIT_EDITMSG instead of $GIT_DIR/COMMIT_EDITMSG after commit preparation (e.g. running hooks, launching editor). This behavior exists since f5bbc3225c4b07 "Port git commit to C". Some test cases (e.g. t/t7502-commit.sh) rely on the existence of $GIT_DIR/COMMIT_EDITMSG after committing and, I guess, many people are used to it. So it is best not to remove it. This patch just removes the removal of COMMIT_EDITMSG. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t3404: Add test case for auto-amending only edited commits after "edit"Stephan Beyer2009-01-151-0/+17
| | | | | | | | Add a test case for the bugfix introduced by commit c14c3c82d "git-rebase--interactive: auto amend only edited commit". Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t3404: Add test case for aborted --continue after "edit"Stephan Beyer2009-01-151-0/+15
| | | | | | | | Add a test case for the bugfix introduced by commit 8beb1f33d "git-rebase-interactive: do not squash commits on abort". Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t3501: check that commits are actually doneStephan Beyer2009-01-151-0/+2
| | | | | | | | | | | The basic idea of t3501 is to check whether revert and cherry-pick works on renamed files. But as there is no pure cherry-pick/revert test, it is good to also check if commits are actually done in that scenario. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* fix handling of multiple untracked files for git mv -kMichael J Gruber2009-01-142-1/+2
| | | | | | | | | | The "-k" option to "git mv" should allow specifying multiple untracked files. Currently, multiple untracked files raise an assertion if they appear consecutively as arguments. Fix this by decrementing the loop index after removing one entry from the array of arguments. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* add test cases for "git mv -k"Michael J Gruber2009-01-141-0/+25
| | | | | | | | | Add test cases for ignoring nonexisting and untracked files using the -k option to "git mv". There is one known breakage related to multiple untracked files specfied as consecutive arguments. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* fast-import: Cleanup mode setting.Felipe Contreras2009-01-131-3/+4
| | | | | | | | | | | | "S_IFREG | mode" makes only sense for 0644 and 0755. Even though doing (S_IFREG | mode) may not hurt when mode is any other supported value, that is only true because S_IFREG mode bit happens to be already on for S_IFLNK or S_IFGITLINK. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Git.pm: call Error::Simple() properlyJay Soffian2009-01-131-2/+2
| | | | | | | The error message to Error::Simple() must be passed as a single argument. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Avoid spurious error messages on error mistakes.Pierre Habouzit2009-01-131-1/+1
| | | | | | | | | | | | | Prior to that, if the user chose "squash" as a first action, the stderr looked like: grep: /home/madcoder/dev/scm/git/.git/rebase-merge/done: No such file or directory Cannot 'squash' without a previous commit Now the first line is gone. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* contrib/examples/README: give an explanation of the status of these filesjidanni@jidanni.org2009-01-121-0/+3
| | | | | | | | We attempt to give an explanation of the status of the files in this directory. Signed-off-by: jidanni <jidanni@jidanni.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge branch 'maint-1.5.6' into maint-1.6.0Junio C Hamano2009-01-061-1/+1
|\ | | | | | | | | * maint-1.5.6: README: tutorial.txt is now called gittutorial.txt
| * README: tutorial.txt is now called gittutorial.txtJoey Hess2009-01-061-1/+1
| | | | | | | | | | Signed-off-by: Joey Hess <joey@gnu.kitenet.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | doc/git-fsck: change the way for getting heads' SHA1sMarkus Heidelberg2008-12-211-1/+2
| | | | | | | | | | | | | | | | | | The straightforward way with using 'cat .git/refs/heads/*' doesn't work with packed refs as well as branches of the form topic/topic1. So let's use git-for-each-ref for getting the heads' SHA1s in this example. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | GIT 1.6.0.6v1.6.0.6Junio C Hamano2008-12-196-38/+67
|\ \ | |/ | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * GIT 1.5.6.6v1.5.6.6Junio C Hamano2008-12-165-37/+33
| |\ | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| | * GIT 1.5.5.6v1.5.5.6Junio C Hamano2008-12-164-37/+23
| | |\ | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| | | * GIT 1.5.4.7v1.5.4.7Junio C Hamano2008-12-162-1/+11
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| | | * gitweb: do not run "git diff" that is PorcelainJunio C Hamano2008-12-161-36/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Jakub says that legacy-style URI to view two blob differences are never generated since 1.4.3. This codepath runs "git diff" Porcelain from the gitweb, which is a no-no. It can trigger diff.external command that is specified in the configuration file of the repository being viewed. This patch applies to v1.5.4 and later. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | fast-import: make tagger information optionalJunio C Hamano2008-12-192-11/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though newer Porcelain tools always record the tagger information when creating new tags, export/import pair should be able to faithfully reproduce ancient tag objects that lack tagger information. Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: Shawn O. Pearce <spearce@spearce.org>
* | | | fast-export: deal with tag objects that do not have a taggerJohannes Schindelin2008-12-193-5/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When no tagger was found (old Git produced tags like this), no "tagger" line is printed (but this is incompatible with the current git fast-import). Alternatively, you can pass the option --fake-missing-tagger, forcing fast-export to fake a tagger Unspecified Tagger <no-tagger> with a tag date of the beginning of (Unix) time in the case of a missing tagger, so that fast-import is still able to import the result. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | SubmittingPatches: mention the usage of real name in Signed-off-by: linesMiklos Vajna2008-12-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Especially with something that is supposed to hopefully have some legal value down the line if somebody starts making noises, it really would be nice to have a real person to associate things with. Suggest this in the SubmittingPatches document. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | git-mergetool: properly handle "git mergetool -- filename"David Aguilar2008-12-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like many git commands, git-mergetool allows "--" to signal the end of option processing. This adds a missing "shift" statement so that this is correctly handled. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | git-send-email: handle email address with quoted commaWu Fengguang2008-12-191-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correctly handle email addresses containing quoted commas, e.g. "Zhu, Yi" <yi.zhu@intel.com>, "Li, Shaohua" <shaohua.li@intel.com> The commas inside the double quotes are not separators. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Documentation: fix typos, grammar, asciidoc syntaxMarkus Heidelberg2008-12-1913-25/+25
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | fast-import: close pack before unlinking itJohannes Schindelin2008-12-151-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is sort of a companion patch to 4723ee9(Close files opened by lock_file() before unlinking.): on Windows, you cannot delete what is still open. This makes test 9300-fast-import pass on Windows for me; quite a few fast-imports leave temporary packs until the test "blank lines not necessary after other commands" actually tests for the number of files in .git/objects/pack/, which has a few temporary packs now. I guess that 8b4eb6b(Do not perform cross-directory renames when creating packs) was "responsible" for the breakage. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | pager: do not dup2 stderr if it is already redirectedJunio C Hamano2008-12-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An earlier commit 61b8050 (sending errors to stdout under $PAGER, 2008-02-16) avoided losing the error messages that are sent to the standard error when $PAGER is in effect by dup2'ing fd 2 to the pager. his way, showing a tag object that points to a bad object: $ git show tag-foo would give the error message to the pager. However, it was not quite right if the user did: $ git show 2>error.log tag-foo i.e. use the pager but store the errors in a separate file. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | git-show: do not segfault when showing a bad tagJunio C Hamano2008-12-152-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a tag points at a bad or nonexistent object, we should diagnose the breakage and exit. An earlier commit 4f3dcc2 (Fix 'git show' on signed tag of signed tag of commit, 2008-07-01) lost this check and made it segfault instead; not good. This fixes it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | git-config.txt: fix a typoJim Meyering2008-12-121-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>