summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-11-01Merge branch 'bk/maint-cvsexportcommit'Libravatar Junio C Hamano1-3/+10
* bk/maint-cvsexportcommit: cvsexportcommit: fix for commits that do not have parents
2007-11-01Do no colorify test output if stdout is not a terminalLibravatar Alex Riesen1-0/+1
like when the output is redirected into a file in a cron job. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-01Merge branch 'js/forkexec'Libravatar Junio C Hamano13-367/+331
* js/forkexec: Use the asyncronous function infrastructure to run the content filter. Avoid a dup2(2) in apply_filter() - start_command() can do it for us. t0021-conversion.sh: Test that the clean filter really cleans content. upload-pack: Run rev-list in an asynchronous function. upload-pack: Move the revision walker into a separate function. Use the asyncronous function infrastructure in builtin-fetch-pack.c. Add infrastructure to run a function asynchronously. upload-pack: Use start_command() to run pack-objects in create_pack_file(). Have start_command() create a pipe to read the stderr of the child. Use start_comand() in builtin-fetch-pack.c instead of explicit fork/exec. Use run_command() to spawn external diff programs instead of fork/exec. Use start_command() to run content filters instead of explicit fork/exec. Use start_command() in git_connect() instead of explicit fork/exec. Change git_connect() to return a struct child_process instead of a pid_t. Conflicts: builtin-fetch-pack.c
2007-10-31Merge branch 'sp/mergetool'Libravatar Junio C Hamano2-44/+71
* sp/mergetool: mergetool: avoid misleading message "Resetting to default..." mergetool: add support for ECMerge mergetool: use path to mergetool in config var mergetool.<tool>.path
2007-10-31Merge branch 'sp/help'Libravatar Junio C Hamano6-178/+203
* sp/help: shell should call the new setup_path() to setup $PATH include $PATH in generating list of commands for "help -a" use only the $PATH for exec'ing git commands list_commands(): simplify code by using chdir() "current_exec_path" is a misleading name, use "argv_exec_path" remove unused/unneeded "pattern" argument of list_commands "git" returns 1; "git help" and "git help -a" return 0
2007-10-31Merge branch 'kh/commit'Libravatar Junio C Hamano7-67/+106
* kh/commit: Export rerere() and launch_editor(). Introduce entry point add_interactive and add_files_to_cache Enable wt-status to run against non-standard index file. Enable wt-status output to a given FILE pointer.
2007-10-31cvsexportcommit: fix for commits that do not have parentsLibravatar Brad King1-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>
2007-10-31Merge branch 'maint' to catch up with 1.5.3.5Libravatar Junio C Hamano2-6/+1
2007-10-31GIT 1.5.3.5Libravatar Junio C Hamano2-7/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-30Merge branch 'maint' into HEADLibravatar Junio C Hamano6-15/+23
* maint: Update GIT 1.5.3.5 Release Notes git-rebase--interactive.sh: Make 3-way merge strategies work for -p. git-rebase--interactive.sh: Don't pass a strategy to git-cherry-pick. Fix --strategy parsing in git-rebase--interactive.sh Make merge-recursive honor diff.renamelimit cherry-pick/revert: more compact user direction message core-tutorial: Use new syntax for git-merge. git-merge: document but discourage the historical syntax Prevent send-pack from segfaulting (backport from 'master') Documentation/git-cvsexportcommit.txt: s/mgs/msg/ in example Conflicts: git-rebase--interactive.sh
2007-10-30Merge branch 'nd/worktree' into HEADLibravatar Junio C Hamano1-1/+1
* nd/worktree: git-sh-setup.sh: use "git rev-parse --show-cdup" to check for SUBDIRECTORY_OK
2007-10-30Merge branch 'cc/skip' into HEADLibravatar Junio C Hamano7-108/+410
* cc/skip: Bisect: add "skip" to the short usage string. Bisect run: "skip" current commit if script exit code is 125. Bisect: add a "bisect replay" test case. Bisect: add "bisect skip" to the documentation. Bisect: refactor "bisect_{bad,good,skip}" into "bisect_state". Bisect: refactor some logging into "bisect_write". Bisect: refactor "bisect_write_*" functions. Bisect: implement "bisect skip" to mark untestable revisions. Bisect: fix some white spaces and empty lines breakages. rev-list documentation: add "--bisect-all". rev-list: implement --bisect-all
2007-10-30Merge branch 'jk/send-pack' into HEADLibravatar Junio C Hamano2-16/+62
* jk/send-pack: t5516: test update of local refs on push send-pack: don't update tracking refs on error
2007-10-30Merge branch 'lt/rename' into HEADLibravatar Junio C Hamano6-166/+395
* lt/rename: Do the fuzzy rename detection limits with the exact renames removed Fix ugly magic special case in exact rename detection Do exact rename detection regardless of rename limits Do linear-time/space rename logic for exact renames copy vs rename detection: avoid unnecessary O(n*m) loops Ref-count the filespecs used by diffcore Split out "exact content match" phase of rename detection Add 'diffcore.h' to LIB_H
2007-10-30Merge branch 'jn/web' into HEADLibravatar Junio C Hamano1-85/+67
* jn/web: gitweb: Fix and simplify "split patch" detection
2007-10-30Merge branch 'ds/gitweb' into HEADLibravatar Junio C Hamano1-8/+29
* ds/gitweb: gitweb: Use chop_and_escape_str in more places. gitweb: Refactor abbreviation-with-title-attribute code. gitweb: Provide title attributes for abbreviated author names.
2007-10-30Merge branch 'js/rebase' into HEADLibravatar Junio C Hamano1-13/+13
* js/rebase: Fixing path quoting in git-rebase
2007-10-30No longer install git-svnimport, move to contrib/examplesLibravatar Gerrit Pape6-5/+1
This has been proposed for a few times without much reaction from the list. Actually remove it to see who screams. Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-30Update GIT 1.5.3.5 Release NotesLibravatar Junio C Hamano1-1/+7
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-30git-rebase--interactive.sh: Make 3-way merge strategies work for -p.Libravatar Björn Steinbrink1-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>
2007-10-30git-rebase--interactive.sh: Don't pass a strategy to git-cherry-pick.Libravatar Björn Steinbrink1-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>
2007-10-30Fix --strategy parsing in git-rebase--interactive.shLibravatar Björn Steinbrink1-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>
2007-10-30Make merge-recursive honor diff.renamelimitLibravatar Lars Hjemli1-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>
2007-10-30cherry-pick/revert: more compact user direction messageLibravatar Nicolas Pitre1-1/+1
A failed cherry-pick (and friend) currently says: |Automatic cherry-pick failed. After resolving the conflicts, |mark the corrected paths with 'git-add <paths>' |and commit the result. This can obviously be displayed on two lines only. While at it, change "git-add" to "git add". Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-30core-tutorial: Use new syntax for git-merge.Libravatar Sergei Organov1-4/+4
"git-merge <msg> HEAD <other branches>" is still supported but we shouldn't encourage its use. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-30git-merge: document but discourage the historical syntaxLibravatar Junio C Hamano1-5/+6
Historically "git merge" took its command line arguments in a rather strange order. Document the historical syntax, and also document clearly that it is not encouraged in new scripts. There is no reason to deprecate the historical syntax, as the current code can sanely tell which syntax the caller is using, and existing scripts by people do use the historical syntax. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-30Prevent send-pack from segfaulting (backport from 'master')Libravatar Junio C Hamano1-1/+4
4491e62ae932d5774f628d1bd3be663c11058a73 (Prevent send-pack from segfaulting when a branch doesn't match) is hereby cherry-picked back to 'maint'. If we can't find a source match, and we have no destination, we need to abort the match function early before we try to match the destination against the remote. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-30Documentation/git-cvsexportcommit.txt: s/mgs/msg/ in exampleLibravatar Michael W. Olson1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29gitweb: Fix and simplify "split patch" detectionLibravatar Jakub Narebski1-85/+67
There are some cases when one line from "raw" git-diff output (raw format) corresponds to more than one patch in the patchset git-diff output; we call this situation "split patch". Old code misdetected subsequent patches (for different files) with the same pre-image and post-image as fragments of "split patch", leading to mislabeled from-file/to-file diff header etc. Old code used pre-image and post-image SHA-1 identifier ('from_id' and 'to_id') to check if current patch corresponds to old raw diff format line, to find if one difftree raw line coresponds to more than one patch in the patch format. Now we use post-image filename for that. This assumes that post-image filename alone can be used to identify difftree raw line. In the case this changes (which is unlikely considering current diff engine) we can add 'from_id' and 'to_id' to detect "patch splitting" together with 'to_file'. Because old code got pre-image and post-image SHA-1 identifier for the patch from the "index" line in extended diff header, diff header had to be buffered. New code takes post-image filename from "git diff" header, which is first line of a patch; this allows to simplify git_patchset_body code. A side effect of resigning diff header buffering is that there is always "diff extended_header" div, even if extended diff header is empty. Alternate solution would be to check when git splits patches, and do not check if parsed info from current patch corresponds to current or next raw diff format output line. Git splits patches only for 'T' (typechange) status filepair, and there always two patches corresponding to one raw diff line. It was not used because it would tie gitweb code to minute details of git diff output. While at it, use newly introduced parsed_difftree_line wrapper subroutine in git_difftree_body. Noticed-by: Yann Dirson <ydirson@altern.org> Diagnosed-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29git-sh-setup.sh: use "git rev-parse --show-cdup" to check for SUBDIRECTORY_OKLibravatar Nguyễn Thái Ngọc Duy1-1/+1
"git rev-parse --git-dir" trick does not play well with worktree Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29shell should call the new setup_path() to setup $PATHLibravatar Scott R Parish1-7/+1
Shell currently does its own manual thing for setting up the $PATH; it can now call setup_path(). Signed-off-by: Scott R Parish <srp@srparish.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29include $PATH in generating list of commands for "help -a"Libravatar Scott R Parish1-37/+120
Git had previously been using the $PATH for scripts--a previous patch moved exec'ed commands to also use the $PATH. For consistency "help -a" should also list commands in the $PATH. The main commands are still listed from the git_exec_path(), but the $PATH is walked and other git commands (probably extensions) are listed. Signed-off-by: Scott R Parish <srp@srparish.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29use only the $PATH for exec'ing git commandsLibravatar Scott R Parish3-105/+61
We need to correctly set up $PATH for non-c based git commands. Since we already do this, we can just use that $PATH and execvp, instead of looping over the paths with execve. This patch adds a setup_path() function to exec_cmd.c, which sets the $PATH order correctly for our search order. execv_git_cmd() is stripped down to setting up argv and calling execvp(). git.c's main() only only needs to call setup_path(). Signed-off-by: Scott R Parish <srp@srparish.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29list_commands(): simplify code by using chdir()Libravatar Scott R Parish1-15/+3
The current code builds absolute path strings for each file to stat(), this can easily be avoided by chdir()ing into the directory. Signed-off-by: Scott R Parish <srp@srparish.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29"current_exec_path" is a misleading name, use "argv_exec_path"Libravatar Scott R Parish3-8/+8
Signed-off-by: Scott R Parish <srp@srparish.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29remove unused/unneeded "pattern" argument of list_commandsLibravatar Scott R Parish1-6/+8
list_commands() currently accepts and ignores a "pattern" argument, and then hard codes a prefix as well as some magic numbers. This hardcodes the prefix inside of the function and removes the magic numbers. Signed-off-by: Scott R Parish <srp@srparish.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29"git" returns 1; "git help" and "git help -a" return 0Libravatar Scott R Parish3-6/+8
Signed-off-by: Scott R Parish <srp@srparish.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29Correct handling of upload-pack in builtin-fetch-packLibravatar Daniel Barkalow1-3/+4
The field in the args was being ignored in favor of a static constant Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Thanked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29Speedup scanning for excluded files.Libravatar Lars Knoll2-16/+50
Try to avoid a lot of work scanning for excluded files, by caching some more information when setting up the exclusion data structure. Speeds up 'git runstatus' on a repository containing the Qt sources by 30% and reduces the amount of instructions executed (as measured by valgrind) by a factor of 2. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29RelNotes-1.5.4: describe recent updatesLibravatar Junio C Hamano2-2/+27
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29Teach git-pull about --[no-]ff, --no-squash and --commitLibravatar Lars Hjemli1-3/+11
These options are supported by git-merge, but git-pull didn't know about them. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29Bisect: add "skip" to the short usage string.Libravatar Christian Couder1-3/+3
Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29Merge branch 'maint'Libravatar Junio C Hamano6-12/+39
* maint: RelNotes-1.5.3.5: describe recent fixes merge-recursive.c: mrtree in merge() is not used before set sha1_file.c: avoid gcc signed overflow warnings Fix a small memory leak in builtin-add honor the http.sslVerify option in shell scripts
2007-10-29Remove outdated references to cogito in documentationLibravatar Dan McGee1-1/+4
Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29RelNotes-1.5.3.5: describe recent fixesLibravatar Junio C Hamano1-0/+21
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29merge-recursive.c: mrtree in merge() is not used before setLibravatar Junio C Hamano1-1/+1
The called function merge_trees() sets its *result, to which the address of the variable mrtree in merge() function is passed, only when index_only is set. But that is Ok as the function uses the value in the variable only under index_only iteration. However, recent gcc does not realize this. Work it around by adding a fake initializer. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29sha1_file.c: avoid gcc signed overflow warningsLibravatar Junio C Hamano1-7/+9
With the recent gcc, we get: sha1_file.c: In check_packed_git_: sha1_file.c:527: warning: assuming signed overflow does not occur when assuming that (X + c) < X is always false sha1_file.c:527: warning: assuming signed overflow does not occur when assuming that (X + c) < X is always false for a piece of code that tries to make sure that off_t is large enough to hold more than 2^32 offset. The test tried to make sure these do not wrap-around: /* make sure we can deal with large pack offsets */ off_t x = 0x7fffffffUL, y = 0xffffffffUL; if (x > (x + 1) || y > (y + 1)) { but gcc assumes it can do whatever optimization it wants for a signed overflow (undefined behaviour) and warns about this construct. Follow Linus's suggestion to check sizeof(off_t) instead to work around the problem. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29core-tutorial: Catch up with current GitLibravatar Benoit Sigoure1-16/+10
No longer talk about Cogito since it's deprecated. Some scripts (such as git-reset or git-branch) have undergone builtinification so adjust the text to reflect this. Fix a typo in the description of git-show-branch (merges are indicated by a `-', not by a `.'). git-pull/git-push do not seem to use the dumb git-ssh-fetch/git-ssh-upload (the text was probably missing a word). Adjust a link that wasn't rendered properly because it was wrapped. Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29Fix a small memory leak in builtin-addLibravatar Benoit Sigoure1-0/+2
prune_directory and fill_directory allocated one byte per pathspec and never freed it. Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-28honor the http.sslVerify option in shell scriptsLibravatar Aurelien Bompard2-4/+6
Signed-off-by: Aurélien Bompard <aurelien@bompard.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>