Commit Graph

4305 Commits

Author SHA1 Message Date
Junio C Hamano
9f0bb90d16 core.prefersymlinkrefs: use symlinks for .git/HEAD
When inspecting a project whose build infrastructure used to
assume that .git/HEAD is a symlink ref, core.prefersymlinkrefs
in the config file of such a project would help to bisect its
history.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-02 20:09:56 -07:00
Junio C Hamano
3d990f110c Merge git://git.kernel.org/pub/scm/gitk/gitk
* git://git.kernel.org/pub/scm/gitk/gitk:
  gitk: Allow view to specify arbitrary arguments to git-rev-list
  gitk: Fix file list display when files are renamed
  gitk: Basic support for highlighting one view within another
  gitk: Add a tree-browsing mode
  gitk: Use a text widget for the file list
  gitk: add menu item for editing the current view
  gitk: Implement "permanent" views (stored in ~/.gitk)
  gitk: Use git-rev-parse only to identify file/dir names on cmd line
  gitk: Remember the view in the history list
  gitk: Don't reread git-rev-list output from scratch on view switch
  gitk: Fix various bugs in the view support
  gitk: Make File->Update work properly again
  gitk: Implement multiple views
  [PATCH] gitk: Add a visual tag for remote refs
2006-05-02 20:07:14 -07:00
Paul Mackerras
098dd8a34b gitk: Allow view to specify arbitrary arguments to git-rev-list
The list of arguments to git-rev-list, including arguments that
select the range of commits, is now a part of the view specification.
If any arguments are given to gitk, they become part of the
"Command line" view, and the non-file arguments become the default
for any new views created.

Getting an error from git-rev-list is no longer fatal; instead the
error window pops up, and when you press OK, the main window just
shows "No commits selected".

The git-rev-list arguments are entered in an entry widget in the
view editor window using shell quoting conventions, not Tcl quoting
conventions.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-05-03 09:32:53 +10:00
Junio C Hamano
782b3b6aaf Merge branch 'fix'
* fix:
  git-send-email: fix version string to be valid perl
  Give the user a hint for how to continue in the case that git-am fails because it requires user intervention
2006-05-02 15:05:34 -07:00
Martin Langhoff
e923effb43 git-send-email: fix version string to be valid perl
This makes git-send-email easier to develop and debug, skipping the need
to `make git-send-email` every time.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-02 14:59:58 -07:00
Johannes Schindelin
c1aee1fd8d repo-config: trim white-space before comment
Earlier, calling

	git-repo-config core.hello

on a .git/config like this:

	[core]
		hello = world ; a comment

would yield "world " (i.e. with a trailing space).

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-02 13:23:48 -07:00
Johannes Schindelin
cfa24e184a repo-config: fix segfault with no argument.
An earlier addition of --list feature was carelessly done and
caused an invalid access to argv[1] when it was not given.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-02 12:54:12 -07:00
Robert Shearman
ced9456a27 Give the user a hint for how to continue in the case that git-am fails because it requires user intervention
Give the user a hint for how to continue in the case that git-am fails
because it requires user intervention.

Signed-off-by: Robert Shearman <rob@codeweaves.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-05-02 12:42:12 -07:00
Paul Mackerras
89b11d3ba5 gitk: Fix file list display when files are renamed
The conversion of the file list to use a text widget assumed incorrectly
that the list of files from git-diff-tree -r would correspond 1-1 with
the diff sections in the output of git-diff-tree -r -p -C, which is
not true when renames are detected.  This fixes it by keeping the
elements in the difffilestart list in the order they appear in the
file list window.

Since this means that the elements of difffilestart are no longer
necessarily in ascending order, it's somewhat hard to do the dynamic
highlighting in the file list as the diff window is scrolled, so I
have taken that out for now.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-05-02 19:55:31 +10:00
Junio C Hamano
746437d534 Merge branch 'jc/xsha1-2'
* jc/xsha1-2:
  Extended SHA1 -- "rev^@" syntax to mean "all parents"
2006-05-01 22:55:40 -07:00
Junio C Hamano
cbd800ba79 Merge branch 'jc/pack' 2006-05-01 22:54:22 -07:00
Junio C Hamano
95a31cc5b3 Merge branch 'jc/pathcheck'
* jc/pathcheck:
  revision parsing: make "rev -- paths" checks stronger.
2006-05-01 22:51:27 -07:00
Junio C Hamano
50cbebf78d Merge branch 'nh/fetch-http'
* nh/fetch-http:
  git-fetch: resolve remote symrefs for HTTP transport
2006-05-01 22:42:01 -07:00
Junio C Hamano
dd097fcd4d Merge branch 'se/rebase'
* se/rebase:
  Add --continue and --abort options to git-rebase.
2006-05-01 22:39:57 -07:00
Paul Mackerras
da7c24dd9c gitk: Basic support for highlighting one view within another
With this, one view can be used as a highlight for another, so that
the commits that are in the highlight view are displayed in bold.
This required some fairly major changes to how the list of ids,
parents, children, and id to row mapping were stored for each view.
We can now be reading in several views at once; for all except the
current view, we just update the displayorder and the lists of parents
and children for the view.

This also creates a little bit of infrastructure for handling the
watch cursor.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-05-02 11:15:29 +10:00
Junio C Hamano
ea4a19e172 Extended SHA1 -- "rev^@" syntax to mean "all parents"
A short-hand "rev^@" is understood to be "all parents of the
named commit" with this patch.  So you can do

	git show v1.0.0^@

to view the parents of a merge commit,

	gitk ^v1.0.0^@ v1.0.4

to view the log between two revs (including the bottom one), and

	git diff --cc v1.1.0 v1.0.0^@

to inspect what got changed from the merge parents of v1.0.0 to v1.1.0.

This might be just my shiny new toy that is not very useful in
practice.  I needed it to do the multi-tree diff on Len's
infamous 12-way Octopus; typing "diff --cc funmerge funmerge^1
funmerge^2 funmerge^3 ..." was too painful.

[jc: taking suggestions from Linus and Johannes to match expectations
from shell users who are used to see $@ or $* either of which makes
sense.  I tend to write "$@" more often so...]

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-30 17:55:33 -07:00
Paul Mackerras
f8b28a4078 gitk: Add a tree-browsing mode
You can now select whether you want to see the patch for a commit
or the whole tree.  If you select the tree, gitk will now display
the commit message plus the contents of one file in the bottom-left
pane, when you click on the name of the file in the bottom-right pane.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-05-01 09:50:57 +10:00
Junio C Hamano
66ae0c7702 Merge branch 'fix'
* fix:
  git-format-patch: Use rfc2822 compliant date.
2006-04-30 00:59:10 -07:00
Huw Davies
262a6ef76a git-format-patch: Use rfc2822 compliant date.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-30 00:32:25 -07:00
Junio C Hamano
89719209f4 Merge branch 'fix'
* fix:
  Fix trivial typo in git-log man page.
  Properly render asciidoc "callouts" in git man pages.
  Fix up remaining man pages that use asciidoc "callouts".
  Update the git-branch man page to include the "-r" option,
  annotate: display usage information if no filename was given
  annotate: fix warning about uninitialized scalar
  git-am --resolved: more usable error message.
2006-04-28 16:57:32 -07:00
Sean Estabrooks
aa6bf0eb64 Fix trivial typo in git-log man page.
Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
2006-04-28 14:31:53 -07:00
Sean Estabrooks
776e994af5 Properly render asciidoc "callouts" in git man pages.
Adds an xsl fragment to render docbook callouts when
converting to man page format.  Update the Makefile
to have "xmlto" use it when generating man pages.

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
2006-04-28 14:31:51 -07:00
Sean Estabrooks
48aeecdcc1 Fix up remaining man pages that use asciidoc "callouts".
Unfortunately docbook does not allow a callout to be
referenced from inside a callout list description.
Rewrite one paragraph in git-reset man page to work
around this limitation.

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
2006-04-28 14:31:36 -07:00
Sean Estabrooks
2eaf273d51 Update the git-branch man page to include the "-r" option,
and fix up asciidoc "callouts"

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
2006-04-28 14:31:18 -07:00
Matthias Kestenholz
fe77bb1a02 annotate: display usage information if no filename was given
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
2006-04-28 14:29:04 -07:00
Matthias Kestenholz
d0ad165366 annotate: fix warning about uninitialized scalar
Use of uninitialized value in scalar chomp at
./git-annotate.perl line 212, <$kid> chunk 4.

Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
2006-04-28 14:28:28 -07:00
Junio C Hamano
c1d1128bef git-am --resolved: more usable error message.
After doing the hard work of hand resolving the conflicts in the
working tree, if the user forgets to run update-index to mark
the paths that have been resolved, the command gave an
unfriendly "fatal: git-write-tree: not able to write tree" error
message.  Catch the situation early and give more meaningful
message and suggestion.

Noticed and suggested by Len Brown.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-28 02:32:44 -07:00
Junio C Hamano
9a8b6a0a9d pack-objects: update size heuristucs.
We used to omit delta base candidates that is much bigger than
the target, but delta size does not grow when we delete more, so
that was not a very good heuristics.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-27 19:31:46 -07:00
Junio C Hamano
bd346f105d Merge branch 'fix'
* fix:
  verify-pack: check integrity in a saner order.
2006-04-27 15:42:32 -07:00
Junio C Hamano
55e1805dff verify-pack: check integrity in a saner order.
Check internal integrity to report corrupt pack or idx, and
then check cross-integrity between idx and pack.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-27 15:42:17 -07:00
Junio C Hamano
e5de2c5e30 Merge branch 'pb/config'
* pb/config:
  git-cvsserver: typofixes
  Deprecate usage of git-var -l for getting config vars list
  git-repo-config --list support
2006-04-27 12:23:01 -07:00
Junio C Hamano
bd4bd2261b Merge branch 'jc/diffstat'
* jc/diffstat:
  diff --stat: show complete rewrites consistently.
2006-04-27 11:58:33 -07:00
Linus Torvalds
83aa18eade Fix "git help -a" terminal autosizing
When I split out the builtin commands into their own files, I left the
include of <sys/ioctl.h> in git.c rather than moving it to the file that
needed it (builtin-help.c).

Nobody seems to have noticed, because everything still worked, but because
the TIOCGWINSZ macro was now no longer defined when compiling the
"term_columns()" function, it would no longer automatically notice the
terminal size unless your system used the ancient "COLUMNS" environment
variable approach.

Trivially fixed by just moving the header include to the file that
actually needs it.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-27 11:45:39 -07:00
Paul Mackerras
7fcceed7a0 gitk: Use a text widget for the file list
This lets us do things like highlighting all the entries for which
the corresponding part of the diff is at least partly visible in the
commit/patch display window, and in future it will let us display
the file list in a hierarchical form rather than as a flat file list.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-04-27 19:21:49 +10:00
Junio C Hamano
61678d87c2 diff-index: fix compilation warnings.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-27 01:59:00 -07:00
Junio C Hamano
9af0b8dbe2 t0000-basic: more commit-tree tests.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 18:25:15 -07:00
Nick Hengeveld
093b068891 git-fetch: resolve remote symrefs for HTTP transport
git-fetch validates that a remote ref resolves to a SHA1 prior to calling
git-http-fetch.  This adds support for resolving a few levels of symrefs
to get to the SHA1.

Signed-off-by: Nick Hengeveld <nickh@reactrix.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 17:16:11 -07:00
sean
031321c654 Add --continue and --abort options to git-rebase.
git rebase [--onto <newbase>] <upstream> [<branch>]
  git rebase --continue
  git rebase --abort

Add "--continue" to restart the rebase process after
manually resolving conflicts.  The user is warned if
there are still differences between the index and the
working files.

Add "--abort" to restore the original branch, and
remove the .dotest working files.

Some minor additions to the git-rebase documentation.

[jc: fix that applies to the maintenance track has been dealt
 with separately.]

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 17:10:33 -07:00
Junio C Hamano
ea92f41ff9 revision parsing: make "rev -- paths" checks stronger.
If you don't have a "--" marker, then:

 - all of the arguments we are going to assume are pathspecs
   must exist in the working tree.

 - none of the arguments we parsed as revisions could be
   interpreted as a filename.

so that there really isn't any possibility of confusion in case
somebody does have a revision that looks like a pathname too.

The former rule has been in effect; this implements the latter.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 17:08:44 -07:00
Junio C Hamano
69bcc43eca Merge branch 'fix'
* fix:
  commit-tree.c: check_valid() microoptimization.
  Fix filename verification when in a subdirectory
  rebase: typofix.
  socksetup: don't return on set_reuse_addr() error
2006-04-26 17:08:00 -07:00
Junio C Hamano
5981e09999 commit-tree.c: check_valid() microoptimization.
There is no point reading the whole object just to make sure it exists and
it is of the expected type.  We added sha1_object_info() for such need
after this code was written, so use it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 16:55:25 -07:00
Linus Torvalds
e23d0b4a4a Fix filename verification when in a subdirectory
When we are in a subdirectory of a git archive, we need to take the prefix
of that subdirectory into accoung when we verify filename arguments.

Noted by Matthias Lederhofer

This also uses the improved error reporting for all the other git commands
that use the revision parsing interfaces, not just git-rev-parse. Also, it
makes the error reporting for mixed filenames and argument flags clearer
(you cannot put flags after the start of the pathname list).

[jc: with fix to a trivial typo noticed by Timo Hirvonen]

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 12:16:21 -07:00
Junio C Hamano
b176e6ba5b rebase: typofix.
Noticed by Sean.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 12:16:19 -07:00
Junio C Hamano
3496277a56 commit-tree: allow generic object name for the tree as well.
We use get_sha1() for -p (parent) objects, but still used
get_sha1_hex() for the tree.  Just to be consistent, allow
extended SHA1 expression for the tree object name.

Note that this is not to encourage funky things like this:

	git-commit-tree HEAD^{tree} -p HEAD

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 03:18:51 -07:00
Junio C Hamano
2d86d2c6fc Makefile: remove and create xdiff library from scratch.
... in the same spirit as 71459c193d.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 03:12:58 -07:00
Junio C Hamano
fdeb6bf55b t0000-basic: Add ls-tree recursive test back.
When we updated ls-tree recursive output to omit the tree nodes,
246cc52f38 adjusted the old test
so that we do not expect to see trees in its output.  Later,
with 0f8f45cb4a, we added back the
ability to show both with -t option, but we forgot to update the
test as well.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-26 02:27:59 -07:00
Junio C Hamano
5348b6e7f4 git-cvsserver: typofixes
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-25 23:59:28 -07:00
Junio C Hamano
710158e3ca diff --stat: show complete rewrites consistently.
The patch format shows complete rewrite as deletion of all old lines
followed by addition of all new lines.  Count lines consistenly with
that when doing diffstat.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-04-25 23:40:09 -07:00
Paul Mackerras
cb303a949f Merge branch 'new' 2006-04-26 16:32:59 +10:00
Junio C Hamano
e9b5b75ca8 Merge branch 'jc/diff'
* jc/diff:
  Libified diff-index: backward compatibility fix.
  Libify diff-index.
  Libify diff-files.
2006-04-25 23:12:21 -07:00