summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* revert/cherry-pick: allow starting from dirty work tree.Junio C Hamano2007-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no reason to forbid a dirty work tree when reverting or cherry-picking a change, as long as the index is clean. The scripted version used to allow it: case "$no_commit" in t) # We do not intend to commit immediately. We just want to # merge the differences in. head=$(git-write-tree) || die "Your index file is unmerged." ;; *) head=$(git-rev-parse --verify HEAD) || die "You do not have a valid HEAD" files=$(git-diff-index --cached --name-only $head) || exit if [ "$files" ]; then die "Dirty index: cannot $me (dirty: $files)" fi ;; esac but C rewrite tightened the check, probably by mistake. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t/t3404: fix test for a bogus todo file.Junio C Hamano2007-11-131-1/+1
| | | | | | | The test wants to see if there are still remaining tasks, but checked a wrong file. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge branch 'sp/maint-plug-traverse-commit-list-leak' into maintJunio C Hamano2007-11-121-0/+7
|\ | | | | | | | | * sp/maint-plug-traverse-commit-list-leak: Fix memory leak in traverse_commit_list
| * Fix memory leak in traverse_commit_listShawn O. Pearce2007-11-101-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we were listing objects too then the objects were buffered in an array only reachable from a stack allocated structure. When this function returns that array would be leaked as nobody would have a reference to it anymore. Historically this hasn't been a problem as the primary user of traverse_commit_list() (the noble git-rev-list) would terminate as soon as the function was finished, thus allowing the operating system to cleanup memory. However we have been leaking this data in git-pack-objects ever since that program learned how to run the revision listing internally, rather than relying on reading object names from git-rev-list. To better facilitate reuse of traverse_commit_list during other builtin tools (such as git-fetch) we shouldn't leak temporary memory like this and instead we need to clean up properly after ourselves. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | for-each-ref: fix off by one read.Christian Couder2007-11-111-1/+1
| | | | | | | | | | Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-branch: remove mention of non-existent '-b' optionJeff King2007-11-111-1/+1
| | | | | | | | | | | | | | | | This looks like a cut and paste error from the git-checkout explanation of --no-track. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-svn: prevent dcommitting if the index is dirty.Benoit Sigoure2007-11-112-0/+9
| | | | | | | | | | | | | | | | | | | | | | dcommit uses rebase to sync the history with what has just been pushed to SVN. Trying to dcommit with a dirty index is troublesome for rebase, so now the user will get an error message if he attempts to dcommit with a dirty index. Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | fix index-pack with packs >4GB containing deltas on 32-bit machinesNicolas Pitre2007-11-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This probably hasn't been properly tested before. Here's a script to create a 8GB repo with the necessary characteristics (copy the test-genrandom executable from the Git build tree to /tmp first): ----- #!/bin/bash git init git config core.compression 0 # create big objects with no deltas for i in $(seq -w 1 2 63) do echo $i /tmp/test-genrandom $i 268435456 > file_$i git add file_$i rm file_$i echo "file_$i -delta" >> .gitattributes done # create "deltifiable" objects in between big objects for i in $(seq -w 2 2 64) do echo "$i $i $i" >> grow cp grow file_$i git add file_$i rm file_$i done rm grow # create a pack with them git commit -q -m "commit of big objects interlaced with small deltas" git repack -a -d ----- Then clone this repo over the Git protocol. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-hash-object should honor config variablesNicolas Pitre2007-11-111-0/+2
| | | | | | | | | | | | | | ... such as core.compression. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | gitweb: correct month in date display for atom feedsVincent Zanotti2007-11-101-1/+1
| | | | | | | | | | Signed-off-by: Vincent Zanotti <vincent.zanotti@m4x.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | print warning/error/fatal messages in one shotNicolas Pitre2007-11-091-3/+3
|/ | | | | | | | Not doing so is likely to create a messed up display when sent over the sideband protocol. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Start preparing for 1.5.3.6Junio C Hamano2007-11-092-1/+22
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git-send-email: Change the prompt for the subject of the initial message.Benoit Sigoure2007-11-091-1/+1
| | | | | | | | I never understood what this prompt was asking for until I read the actual source code. I think this wording is much more understandable. Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* SubmittingPatches: improve the 'Patch:' section of the checklistSergei Organov2007-11-081-5/+4
| | | | | | | | | There were 2 items "send patch to..." but having different set of addresses to send patch to. Merge them together and move the resulting item to the end of checklist. Signed-off-by: Sergei Organov <osv@javad.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* instaweb: Minor cleanups and fixes for potential problemsJonas Fonseca2007-11-081-9/+8
| | | | | | | | Fix path quoting and test of empty values that some shells do not like. Remove duplicate check and setting of $browser. Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* stop t1400 hiding errors in testsAlex Riesen2007-11-081-1/+1
| | | | | | | | The last rm in the test was lacking an "&&" before it, which caused the errors in the commands be silently hidden. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Makefile: add missing dependency on wt-status.hJunio C Hamano2007-11-081-0/+1
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* refresh_index_quietly(): express "optional" nature of index writing betterJunio C Hamano2007-11-081-9/+5
| | | | | | | | | | | | | | | | | The point of the part of the code this patch touches is that if we modified the active_cache, we try to write it out and make it the index file for later users to use by calling "commit_locked_index", but we do not really care about the failure from this sequence because it is done purely as an optimization. The original code called three functions primarily for their side effects but as condition of an if statement, which is admittedly a bad style. Incidentally, it squelches an "empty if body" warning from gcc. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Fix sed string regex escaping in module_name.Ralf Wildenhues2007-11-081-1/+1
| | | | | | | | | | When escaping a string to be used as a sed regex, it is important to only escape active characters. Escaping other characters is undefined according to POSIX, and in practice leads to issues with extensions such as GNU sed's \+. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Avoid a few unportable, needlessly nested "...`...".Ralf Wildenhues2007-11-082-4/+4
| | | | | Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git-mailsplit: with maildirs not only process cur/, but also new/Gerrit Pape2007-11-081-16/+22
| | | | | | | | | | | | | | | | When saving patches to a maildir with e.g. mutt, the files are put into the new/ subdirectory of the maildir, not cur/. This makes git-am state "Nothing to do.". This patch lets git-mailsplit additional check new/ after reading cur/. This was reported by Joey Hess through http://bugs.debian.org/447396 Signed-off-by: Gerrit Pape <pape@smarden.org> Acked-by: Jeff King <peff@peff.net> Acked-by: Alex Riesen <raa.lkml@gmail.com> Acked-by: Fernando J. Pereda <ferdy@gentoo.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Add Documentation/CodingGuidelinesJohannes Schindelin2007-11-071-0/+112
| | | | | | | | | | | | Even if our code is quite a good documentation for our coding style, some people seem to prefer a document describing it. The part about the shell scripts is clearly just copied from one of Junio's helpful mails, and some parts were added from comments by Junio, Andreas Ericsson and Robin Rosenberg. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* When exec() fails include the failing command in the error messageAsk Bjørn Hansen2007-11-071-1/+1
| | | | | | | git-svn occasionally fails with no details as to what went wrong - this should help debug those situations. Signed-off-by: Ask Bjørn Hansen <ask@develooper.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* RelNotes-1.5.3.5: fix another typoDavid D Kilzer2007-11-071-1/+1
| | | | | Signed-off-by: David D Kilzer <ddkilzer@kilzer.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Remove a couple of duplicated includeMarco Costalba2007-11-052-2/+0
| | | | | Signed-off-by: Marco Costalba <mcostalba@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* grep with unmerged indexJunio C Hamano2007-11-051-1/+1
| | | | | | | | | We called flush_grep() every time we saw an unmerged entry in the index. If we happen to find an unmerged entry before we saw more than two paths, we incorrectly declared that the user had too many non-paths options in front. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge branch 'gp/maint-diffdoc' into maintJunio C Hamano2007-11-052-9/+13
|\ | | | | | | | | * gp/maint-diffdoc: git-diff.txt: add section "output format" describing the diff formats
| * git-diff.txt: add section "output format" describing the diff formatsGerrit Pape2007-11-012-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | git-diff.txt includes diff-options.txt which for the -p option refers to a section "generating patches.." which is missing from the git-diff documentation. This patch adapts diff-format.txt to additionally mention the git-diff program, and includes diff-format.txt into git-diff.txt. Tino Keitel noticed this problem. Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-daemon: fix remote port number in log entryGerrit Pape2007-11-051-2/+2
| | | | | | | | | | | | | | | | The port number in struct sockaddr_in needs to be converted from network byte order to host byte order (on some architectures). Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-svn: t9114: verify merge commit message in testEric Wong2007-11-051-0/+5
| | | | | | | | | | | | | | | | | | It's possible that we end up with an incorrect commit message in this test after making changes to fix the clobber bug in dcommit. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-svn: fix dcommit clobbering when committing a series of diffsEric Wong2007-11-052-4/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our revision number sent to SVN is set to the last revision we committed if we've made any previous commits in a dcommit invocation. Although our SVN Editor code uses the delta of two (old) trees to generate information to send upstream, it'll still send complete resultant files upstream; even if the tree they're based against is out-of-date. The combination of sending a file that does not include the latest changes, but set with a revision number of a commit we just made will cause SVN to accept the resultant file even if it was generated against an old tree. More trouble was caused when fixing this because we were rebasing uncessarily at times. We used git-diff-tree to check the imported SVN revision against our HEAD, not the last tree we committed to SVN. The unnecessary rebasing caused merge commits upstream to SVN to fail. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | RelNotes-1.5.3.5: fix typoDavid D Kilzer2007-11-031-2/+2
| | | | | | | | | | Signed-off-by: David D Kilzer <ddkilzer@kilzer.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Delay pager setup in git blameMike Hommey2007-11-031-3/+3
| | | | | | | | | | | | | | This avoids to launch the pager when git blame fails for any reason. Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-cvsimport: really convert underscores in branch names to dots with -uGerrit Pape2007-11-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The documentation states for the -u option that underscores in tag and branch names are converted to dots, but this was actually implemented for the tag names only. Kurt Roeckx reported this through http://bugs.debian.org/446495 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Fixing path quoting in git-rebaseJonathan del Strother2007-11-021-13/+13
| | | | | | | | | | | | | | git-rebase used to fail when run from a path containing a space. Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Merge branch 'bk/maint-cvsexportcommit' into maintJunio C Hamano2007-11-021-3/+10
|\ \ | | | | | | | | | | | | * bk/maint-cvsexportcommit: cvsexportcommit: fix for commits that do not have parents
| * | cvsexportcommit: fix for commits that do not have parentsBrad King2007-10-311-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously commits without parents would fail to export with a message indicating that the commits had more than one parent. Instead we should use the --root option for git-diff-tree in place of a parent. Signed-off-by: Brad King <brad.king@kitware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Remove unecessary hard-coding of EDITOR=':' VISUAL=':' in some test suites.Kristian Høgsberg2007-11-022-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | They are already set and exoprted by sourcing ./test-lib.sh in all test scripts. Signed-off-by: Kristian Høgsberg <krh@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Documentation: quote commit messages consistently.Sergei Organov2007-11-023-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Documentation quotes commit messages 14 times with double-quotes, and 7 times with single-quotes. The patch turns everything to double-quotes. A nice side effect is that documentation becomes more Windoze-friendly as AFAIK single quotes won't work there. Signed-off-by: Sergei Organov <osv@javad.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Remove escaping of '|' in manpage option sectionsJonas Fonseca2007-11-022-2/+2
| |/ |/| | | | | | | | | | | The escaped were ending up verbatim in the generated documentation. Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-format-patch.txt: fix explanation of an example.Sergei Organov2007-11-011-1/+1
| | | | | | | | | | Signed-off-by: Sergei Organov <osv@javad.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-filter-branch.txt: fix a typo.Sergei Organov2007-11-011-1/+1
| | | | | | | | | | | | Signed-off-by: Sergei Organov <osv@javad.com> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git-clone.txt: Improve --depth description.Ralf Wildenhues2007-11-011-3/+3
| | | | | | | | | | | | Avoid abbreviation 'revs', improve the language a bit. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | gitweb: Update config file example for snapshot feature in gitweb/INSTALLJakub Narebski2007-11-011-1/+1
|/ | | | | | | | | | Commit a3c8ab30a54c30a6a434760bedf04548425416ef by Matt McCutchen "gitweb: snapshot cleanups & support for offering multiple formats" introduced new format of $feature{'snapshot'}{'default'} value. Update "Config file example" in gitweb/INSTALL accordingly. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* GIT 1.5.3.5v1.5.3.5Junio C Hamano2007-10-312-7/+1
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Update GIT 1.5.3.5 Release NotesJunio C Hamano2007-10-301-1/+7
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git-rebase--interactive.sh: Make 3-way merge strategies work for -p.Björn Steinbrink2007-10-301-0/+2
| | | | | | | | | | | | | | | | git-rebase--interactive.sh used to pass all parents of a merge commit to git-merge, which means that we have at least 3 heads to merge: HEAD, first parent and second parent. So 3-way merge strategies like recursive wouldn't work. Fortunately, we have checked out the first parent right before the merge anyway, so that is HEAD. Therefore we can drop simply it from the list of parents, making 3-way strategies work for merge commits with only two parents. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git-rebase--interactive.sh: Don't pass a strategy to git-cherry-pick.Björn Steinbrink2007-10-301-2/+2
| | | | | | | | | | | | git-cherry-pick doesn't support a strategy paramter, so don't pass one. This means that --strategy for interactive rebases is a no-op for anything but merge commits, but that's still better than being broken. A correct fix would probably need to port the --merge behaviour from plain git-rebase.sh, but I have no clue how to integrate that cleanly. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Fix --strategy parsing in git-rebase--interactive.shBjörn Steinbrink2007-10-301-1/+0
| | | | | | | | | For the --strategy/-s option, git-rebase--interactive.sh dropped the parameter which it was trying to parse. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Make merge-recursive honor diff.renamelimitLars Hjemli2007-10-301-0/+6
| | | | | | | | | | | | | | | It might be a sign of source code management gone bad, but when two branches has diverged almost beyond recognition and time has come for the branches to merge, the user is going to need all the help his tool can give him. Honoring diff.renamelimit has great potential as a painkiller in such situations. The painkiller effect could have been achieved by e.g. 'merge.renamelimit', but the flexibility gained by a separate option is questionable: our user would probably expect git to detect renames equally good when merging as when diffing (I known I did). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>