1
0
mirror of https://github.com/git/git.git synced 2025-03-23 16:56:29 +00:00

11994 Commits

Author SHA1 Message Date
Junio C Hamano
37701381b6 Merge branch 'kh/commit'
* 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-31 23:53:22 -07:00
Junio C Hamano
afc05f9f13 Merge branch 'maint' to catch up with 1.5.3.5 2007-10-31 14:13:38 -07:00
Junio C Hamano
3f2a7ae2c8 GIT 1.5.3.5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.5.3.5
2007-10-31 12:20:05 -07:00
Junio C Hamano
9c51414f8e Merge branch 'maint' into HEAD
* 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-30 21:44:43 -07:00
Junio C Hamano
7eedc1c1b3 Merge branch 'nd/worktree' into HEAD
* nd/worktree:
  git-sh-setup.sh: use "git rev-parse --show-cdup" to check for SUBDIRECTORY_OK
2007-10-30 21:38:11 -07:00
Junio C Hamano
9725bb8b85 Merge branch 'cc/skip' into HEAD
* 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-30 21:38:07 -07:00
Junio C Hamano
7ae4dd0572 Merge branch 'jk/send-pack' into HEAD
* jk/send-pack:
  t5516: test update of local refs on push
  send-pack: don't update tracking refs on error
2007-10-30 21:38:04 -07:00
Junio C Hamano
7e9a4645d1 Merge branch 'lt/rename' into HEAD
* 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-30 21:38:00 -07:00
Junio C Hamano
6beb66968d Merge branch 'jn/web' into HEAD
* jn/web:
  gitweb: Fix and simplify "split patch" detection
2007-10-30 21:37:58 -07:00
Junio C Hamano
791e421611 Merge branch 'ds/gitweb' into HEAD
* 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-30 21:37:55 -07:00
Junio C Hamano
5153399c9b Merge branch 'js/rebase' into HEAD
* js/rebase:
  Fixing path quoting in git-rebase
2007-10-30 21:37:51 -07:00
Gerrit Pape
fee9832a8d No longer install git-svnimport, move to contrib/examples
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-30 21:36:29 -07:00
Junio C Hamano
0bdb5af7a5 Update GIT 1.5.3.5 Release Notes
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-30 21:34:36 -07:00
Björn Steinbrink
f91333d646 git-rebase--interactive.sh: Make 3-way merge strategies work for -p.
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-30 21:29:28 -07:00
Björn Steinbrink
2a9c53e03d git-rebase--interactive.sh: Don't pass a strategy to git-cherry-pick.
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-30 21:28:44 -07:00
Björn Steinbrink
3524b282da Fix --strategy parsing in git-rebase--interactive.sh
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-30 21:27:15 -07:00
Lars Hjemli
07b45f8c17 Make merge-recursive honor diff.renamelimit
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-30 17:27:40 -07:00
Nicolas Pitre
04bd8e5fea cherry-pick/revert: more compact user direction message
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-30 16:49:27 -07:00
Sergei Organov
ba17892ddc core-tutorial: Use new syntax for git-merge.
"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-30 16:35:07 -07:00
Junio C Hamano
dee48c3c7e git-merge: document but discourage the historical syntax
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-30 16:33:55 -07:00
Junio C Hamano
b6c9fb5100 Prevent send-pack from segfaulting (backport from 'master')
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-30 16:21:56 -07:00
Michael W. Olson
562e35c34c Documentation/git-cvsexportcommit.txt: s/mgs/msg/ in example
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-30 11:39:47 -07:00
Jakub Narebski
0cec6db5cf gitweb: Fix and simplify "split patch" detection
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-29 21:21:51 -07:00
Nguyễn Thái Ngọc Duy
6b9ff1e3bd git-sh-setup.sh: use "git rev-parse --show-cdup" to check for SUBDIRECTORY_OK
"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-29 21:14:11 -07:00
Daniel Barkalow
09149c7809 Correct handling of upload-pack in builtin-fetch-pack
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-29 20:32:22 -07:00
Lars Knoll
68492fc73b Speedup scanning for excluded files.
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-29 17:03:11 -07:00
Junio C Hamano
79f3368d9a RelNotes-1.5.4: describe recent updates
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29 13:33:38 -07:00
Lars Hjemli
5072a32382 Teach git-pull about --[no-]ff, --no-squash and --commit
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-29 13:32:52 -07:00
Christian Couder
6ca8b977e4 Bisect: add "skip" to the short usage string.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29 13:13:01 -07:00
Junio C Hamano
e2b7eaf0ca Merge branch 'maint'
* 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-29 12:53:54 -07:00
Dan McGee
8371d8fd09 Remove outdated references to cogito in documentation
Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29 12:53:50 -07:00
Junio C Hamano
e720c4382f RelNotes-1.5.3.5: describe recent fixes
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-29 12:02:59 -07:00
Junio C Hamano
f120ae2a8e merge-recursive.c: mrtree in merge() is not used before set
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-29 12:00:55 -07:00
Junio C Hamano
7109c889f1 sha1_file.c: avoid gcc signed overflow warnings
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-29 11:56:57 -07:00
Benoit Sigoure
3b27428b9d core-tutorial: Catch up with current Git
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-29 11:39:42 -07:00
Benoit Sigoure
399f0a8eed Fix a small memory leak in builtin-add
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-29 11:39:07 -07:00
Aurelien Bompard
1c1f79a1e4 honor the http.sslVerify option in shell scripts
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-28 14:16:59 -07:00
Alexandre Julliard
d53a35020d git.el: Run git-gc --auto after commits.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-28 14:08:28 -07:00
Alexandre Julliard
2f6e86a86f git.el: Refresh only the changed file marks when marking/unmarking all.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-28 14:08:28 -07:00
Alexandre Julliard
6df023884b git.el: Fix typo in git-update-saved-file error handling.
Spotted by Matthieu Lemerre.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-28 14:08:28 -07:00
Alexandre Julliard
3697c5f37a git.el: Fix typo in "Reverted file" message.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-28 14:08:28 -07:00
Junio C Hamano
9ad7c5ae8a git-fetch: do not fail when remote branch disappears
When the branch named with branch.$name.merge is not covered by
the fetch configuration for the remote repository named with
branch.$name.remote, we automatically add that branch to the set
of branches to be fetched.  However, if the remote repository
does not have that branch (e.g. it used to exist, but got
removed), this is not a reason to fail the git-fetch itself.

The situation however will be noticed if git-fetch was called by
git-pull, as the resulting FETCH_HEAD would not have any entry
that is marked for merging.

Acked-By: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-28 14:06:39 -07:00
Junio C Hamano
071a887766 Merge branch 'master' of git://git.kernel.org/pub/scm/gitk/gitk
* 'master' of git://git.kernel.org/pub/scm/gitk/gitk: (34 commits)
  gitk: Use the UI font for the diff/old version/new version radio buttons
  gitk: Simplify the code for finding commits
  gitk: Fix a couple more bugs in the path limiting
  gitk: Fix some bugs with path limiting in the diff display
  gitk: Use the status window for other functions
  gitk: Integrate the reset progress bar in the main frame
  gitk: Ensure tabstop setting gets restored by Cancel button
  gitk: Limit diff display to listed paths by default
  gitk: Fix Tcl error: can't unset findcurline
  gitk: Get rid of the diffopts variable
  gitk: Fix bug where the last few commits would sometimes not be visible
  gitk: Add a font chooser
  gitk: Keep track of font attributes ourselves instead of using font actual
  gitk: Use named fonts instead of the font specification
  gitk: Fix bug causing Tcl error when changing find match type
  gitk: Fix the tab setting in the diff display window
  gitk: Add progress bars for reading in stuff and for finding
  gitk: Fix a couple of bugs
  gitk: Simplify highlighting interface and combine with Find function
  gitk: Fix bug in generating patches
  ...
2007-10-28 14:04:48 -07:00
Paul Mackerras
7388bcbc54 gitk: Use the UI font for the diff/old version/new version radio buttons
This makes the radio buttons for selecting whether to see the full diff,
the old version or the new version use the same font as the other user
interface elements.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-10-27 21:31:07 +10:00
Paul Mackerras
7b3b151528 Merge branch 'dev' 2007-10-27 21:23:20 +10:00
Paul Mackerras
cca5d946d6 gitk: Simplify the code for finding commits
This unifies findmore and findmorerev, and adds the ability to do
a search with or without wrap around from the end of the list of
commits to the beginning (or vice versa for reverse searches).
findnext and findprev are gone, and the buttons and keys for searching
all call dofind now.  dofind doesn't unmark the matches to start with.
Shift-up and shift-down are back by popular request, and the searches
they do don't wrap around.  The other keys that do searches (/, ?,
return, M-f) do wrapping searches except for M-g.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-10-27 21:16:56 +10:00
Christian Couder
71b0251cdd Bisect run: "skip" current commit if script exit code is 125.
This is incompatible with previous versions because an exit code
of 125 used to mark current commit as "bad". But hopefully this exit
code is not much used by test scripts or other programs. (126 and 127
are used by POSIX compliant shells to mean "found but not
executable" and "command not found", respectively.)

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-26 23:27:24 -07:00
Christian Couder
37f9fd0dde Bisect: add a "bisect replay" test case.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-26 23:27:24 -07:00
Christian Couder
c39ce91827 Bisect: add "bisect skip" to the documentation.
Also fix "bisect bad" and "bisect good" short usage description.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-26 23:27:24 -07:00
Christian Couder
155fc795b9 Bisect: refactor "bisect_{bad,good,skip}" into "bisect_state".
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-26 23:27:24 -07:00