gitweb.git
do not discard status in fetch_refs_via_pack()Junio C Hamano Wed, 5 Dec 2007 07:01:19 +0000 (23:01 -0800)

do not discard status in fetch_refs_via_pack()

The code calls fetch_pack() to get the list of refs it fetched, and
discards refs and always returns 0 to signal success.

But builtin-fetch-pack.c::fetch_pack() has error cases. The function
returns NULL if error is detected (shallow-support side seems to choose
to die but I suspect that is easily fixable to error out as well).

Make fetch_refs_via_pack() propagate that error to the caller.

Acked-By: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

for-each-ref: Fix quoting style constants.Johannes Sixt Thu, 6 Dec 2007 12:24:39 +0000 (13:24 +0100)

for-each-ref: Fix quoting style constants.

for-each-ref can accept only one quoting style. For this reason it uses
OPT_BIT for the quoting style switches so that it is easy to check for
more than one bit being set. However, not all symbolic constants were
actually single bit values. In particular:

$ git for-each-ref --python
error: more than one quoting style ?

This fixes it.

While we are here, let's also remove the space before the question mark.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

hg-to-git: handle an empty dir in hg.Junio C Hamano Thu, 6 Dec 2007 15:26:29 +0000 (07:26 -0800)

hg-to-git: handle an empty dir in hg.

Mark Drago had a subversion repository which was then converted to hg
and now is moving in to git. The first commit in the svn repo was
just the creation of the empty directory. This made its way in to the
hg repository fine, but converting from hg to git would cause an
error. The problem was that hg-to-git.py tries to commit the change,
git-commit fails, and then hg-to-git.py tries to checkout the new
revision and that fails (because it was not created). This may have
only caused an error because it was the first commit in the
repository. If an empty directory was added in the middle of the repo
somewhere things might have worked out fine.

This patch will use the new --allow-empty option to git-commit to
record such an "empty" commit, to reproduce the history recorded in hg
more faithfully.

Tested-by: Mark Drago <markdrago@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Use gitattributes to define per-path whitespace ruleJunio C Hamano Thu, 6 Dec 2007 08:14:14 +0000 (00:14 -0800)

Use gitattributes to define per-path whitespace rule

The `core.whitespace` configuration variable allows you to define what
`diff` and `apply` should consider whitespace errors for all paths in
the project (See gitlink:git-config[1]). This attribute gives you finer
control per path.

For example, if you have these in the .gitattributes:

frotz whitespace
nitfol -whitespace
xyzzy whitespace=-trailing

all types of whitespace problems known to git are noticed in path 'frotz'
(i.e. diff shows them in diff.whitespace color, and apply warns about
them), no whitespace problem is noticed in path 'nitfol', and the
default types of whitespace problems except "trailing whitespace" are
noticed for path 'xyzzy'. A project with mixed Python and C might want
to have:

*.c whitespace
*.py whitespace=-indent-with-non-tab

in its toplevel .gitattributes file.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

config --get-colorbool: diff.color is a deprecated... Junio C Hamano Thu, 6 Dec 2007 06:12:07 +0000 (22:12 -0800)

config --get-colorbool: diff.color is a deprecated synonym to color.diff

The applications can ask for color.diff but the configuration of old
timer users can still instruct it to use color with diff.color this
way.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7300: add test for clean with wildcard pathspecJeff King Thu, 6 Dec 2007 03:28:06 +0000 (22:28 -0500)

t7300: add test for clean with wildcard pathspec

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Open external merge tool with original file extensions... Pini Reznik Wed, 5 Dec 2007 07:19:13 +0000 (09:19 +0200)

Open external merge tool with original file extensions for all three files

Before this change, conflicted files were open in external merge tool with
temporary filenames like REMOTE.$$ and LOCAL.$$. This way meld was unable
to recognize these files and syntax highlighting feature was unusable.

Help such merge tools by giving temporar files the same extension as the
original.

Signed-off-by: Pini Reznik <pinir@expand.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-clean: Honor pathspec.Junio C Hamano Wed, 5 Dec 2007 07:55:41 +0000 (23:55 -0800)

git-clean: Honor pathspec.

git-clean "*.rej" should attempt to look at only paths that match
pattern "*.rej", but rewrite to C broke it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Color support for "git-add -i"Junio C Hamano Wed, 5 Dec 2007 08:50:23 +0000 (00:50 -0800)

Color support for "git-add -i"

This is mostly lifted from earlier series by Dan Zwell, but updated to
use "git config --get-color" and "git config --get-colorbool" to make it
simpler and more consistent with commands written in C.

A new configuration color.interactive variable is like color.diff and
color.status, and controls if "git-add -i" uses color.

A set of configuration variables, color.interactive.<slot>, are used to
define what color is used for the prompt, header, and help text.

For perl scripts, Git.pm provides $repo->get_color() method, which takes
the slot name and the default color, and returns the terminal escape
sequence to color the output text. $repo->get_colorbool() method can be
used to check if color is set to be used for a given operation.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

git config --get-colorboolJunio C Hamano Thu, 6 Dec 2007 01:26:11 +0000 (17:26 -0800)

git config --get-colorbool

This adds an option to help scripts find out color settings from
the configuration file.

git config --get-colorbool color.diff

inspects color.diff variable, and exits with status 0 (i.e. success) if
color is to be used. It exits with status 1 otherwise.

If a script wants "true"/"false" answer to the standard output of the
command, it can pass an additional boolean parameter to its command
line, telling if its standard output is a terminal, like this:

git config --get-colorbool color.diff true

When called like this, the command outputs "true" to its standard output
if color is to be used (i.e. "color.diff" says "always", "auto", or
"true"), and "false" otherwise.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: color.* = true means "auto"Junio C Hamano Thu, 6 Dec 2007 01:05:17 +0000 (17:05 -0800)

Documentation: color.* = true means "auto"

We forgot to document the earlier sanity-fix.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Thu, 6 Dec 2007 01:49:13 +0000 (17:49 -0800)

Merge branch 'maint'

* maint:
git-am -i: report rewritten title
git grep shows the same hit repeatedly for unmerged paths
Do check_repository_format() early (re-fix)
Do check_repository_format() early
Add missing inside_work_tree setting in setup_git_directory_gently

git-am -i: report rewritten titleJunio C Hamano Wed, 5 Dec 2007 07:01:30 +0000 (23:01 -0800)

git-am -i: report rewritten title

Jeff Garzik noticed that "git am -i" reports the applied patch with
the title before the user edited it. This was confusing.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

git grep shows the same hit repeatedly for unmerged... Junio C Hamano Thu, 6 Dec 2007 00:13:08 +0000 (16:13 -0800)

git grep shows the same hit repeatedly for unmerged paths

When the index is unmerged, e.g.

$ git ls-files -u
100644 faf413748eb6ccb15161a212156c5e348302b1b6 1 setup.c
100644 145eca50f41d811c4c8fcb21ed2604e6b2971aba 2 setup.c
100644 cb9558c49b6027bf225ba2a6154c4d2a52bcdbe2 3 setup.c

running "git grep" for work tree files repeats hits for each unmerged
stage.

$ git grep -n -e setup_work_tree -- '*.[ch]'
setup.c:209:void setup_work_tree(void)
setup.c:209:void setup_work_tree(void)
setup.c:209:void setup_work_tree(void)

This should fix it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update Hungarian translation. 100% completed.Miklos Vajna Tue, 4 Dec 2007 00:28:42 +0000 (01:28 +0100)

Update Hungarian translation. 100% completed.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Update ja.po for git-guiしらいしななこ Wed, 5 Dec 2007 09:24:26 +0000 (18:24 +0900)

Update ja.po for git-gui

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge branch 'nd/maint-work-tree-fix' into maintJunio C Hamano Wed, 5 Dec 2007 23:07:23 +0000 (15:07 -0800)

Merge branch 'nd/maint-work-tree-fix' into maint

* nd/maint-work-tree-fix:
Do check_repository_format() early (re-fix)
Do check_repository_format() early
Add missing inside_work_tree setting in setup_git_directory_gently

Do check_repository_format() early (re-fix)Nguyễn Thái Ngọc Duy Wed, 5 Dec 2007 13:33:32 +0000 (20:33 +0700)

Do check_repository_format() early (re-fix)

This pushes check_repository_format() (actually _gently() version)
to setup_git_directory_gently() in order to prevent from
using unsupported repositories.

New setup_git_directory_gently()'s behaviour is stop searching
for a valid gitdir and return as if there is no gitdir if a
unsupported repository is found. Warning will be thrown in these
cases.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Revert "git-am: catch missing author date early."Junio C Hamano Wed, 5 Dec 2007 21:16:35 +0000 (13:16 -0800)

Revert "git-am: catch missing author date early."

This reverts commit 6e9e0327b7d7f384d8a223b4bc40330ef3e7fb61. People
can prepare a text file with Subject: and From: headers and feed it to
"am" (pretending the file is a piece of e-mail), and have actually been
doing so. Strict checking for Date: breaks this established workflow,
which wants to record the time of the commit as the author time.

Thanks go to Jens Axboe for injection of sanity.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

git config: Don't rely on regexec() returning 1 on... Björn Steinbrink Wed, 5 Dec 2007 15:11:24 +0000 (16:11 +0100)

git config: Don't rely on regexec() returning 1 on non-match

Some systems don't return 1 from regexec() when the pattern does not
match (notably HP-UX which returns 20).

Bug identified by Dscho and H.Merijn Brand.

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Tested-by: H.Merijn Brand <h.m.brand@xs4all.nl>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: add --patch option to synopsis of git-addMatthias Kestenholz Wed, 5 Dec 2007 11:28:50 +0000 (12:28 +0100)

Documentation: add --patch option to synopsis of git-add

Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Include diff options in the git-log manpageMiklos Vajna Thu, 1 Nov 2007 14:57:40 +0000 (15:57 +0100)

Include diff options in the git-log manpage

[jc: with quite a few fixups]

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-cvsserver runs hooks/post-updateJunio C Hamano Wed, 5 Dec 2007 09:15:01 +0000 (01:15 -0800)

git-cvsserver runs hooks/post-update

Although we have introduced post-receive, we have not deprecated post-update
hook. This adds support for it to emulate receive-pack better.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-cvsserver runs hooks/post-receiveMichael Witten Fri, 23 Nov 2007 09:12:54 +0000 (04:12 -0500)

git-cvsserver runs hooks/post-receive

git-cvsserver just did the following:
(1) run hooks/update
(2) commit if hooks/update passed

This commit simply adds:
(3) run hooks/post-receive

Also, there are a few grammar cleanups and
consistency improvements.

Signed-off-by: Michael Witten <mfwitten@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Rewrite builtin-fetch option parsing to use parse_optio... Kristian Høgsberg Tue, 4 Dec 2007 07:25:47 +0000 (02:25 -0500)

Rewrite builtin-fetch option parsing to use parse_options().

This gets a little tricky because of the way --tags and --no-tags
are handled, and the "tag <name>" syntax needs a little hand-holding too.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Set OLD_ICONV on Cygwin.Pascal Obry Sat, 1 Dec 2007 09:49:22 +0000 (10:49 +0100)

Set OLD_ICONV on Cygwin.

Cygwin still has old definition for the iconv() second
parameter. This patch fixes the last warning on Cygwin.
This has been tested with Cygwin 1.5.24.

Signed-off-by: Pascal Obry <pascal@obry.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5510: add a bit more tests for fetchJunio C Hamano Wed, 5 Dec 2007 05:58:42 +0000 (21:58 -0800)

t5510: add a bit more tests for fetch

"git pull/fetch" that gets explicit refspecs from the command line should
not update configured tracking refs.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'wc/add-i'Junio C Hamano Wed, 5 Dec 2007 05:38:28 +0000 (21:38 -0800)

Merge branch 'wc/add-i'

* wc/add-i:
git-add -i: add help text for list-and-choose UI
add -i: allow prefix highlighting for "Add untracked" as well.
Highlight keyboard shortcuts in git-add--interactive
Document all help keys in "git add -i" patch mode.
Add "--patch" option to git-add--interactive
add -i: Fix running from a subdirectory
builtin-add: fix command line building to call interactive
git-add -i: allow multiple selection in patch subcommand
Add path-limiting to git-add--interactive
Teach builtin-add to pass multiple paths to git-add--interactive

Merge branch 'kh/commit'Junio C Hamano Wed, 5 Dec 2007 01:16:33 +0000 (17:16 -0800)

Merge branch 'kh/commit'

* kh/commit: (33 commits)
git-commit --allow-empty
git-commit: Allow to amend a merge commit that does not change the tree
quote_path: fix collapsing of relative paths
Make git status usage say git status instead of git commit
Fix --signoff in builtin-commit differently.
git-commit: clean up die messages
Do not generate full commit log message if it is not going to be used
Remove git-status from list of scripts as it is builtin
Fix off-by-one error when truncating the diff out of the commit message.
builtin-commit.c: export GIT_INDEX_FILE for launch_editor as well.
Add a few more tests for git-commit
builtin-commit: Include the diff in the commit message when verbose.
builtin-commit: fix partial-commit support
Fix add_files_to_cache() to take pathspec, not user specified list of files
Export three helper functions from ls-files
builtin-commit: run commit-msg hook with correct message file
builtin-commit: do not color status output shown in the message template
file_exists(): dangling symlinks do exist
Replace "runstatus" with "status" in the tests
t7501-commit: Add test for git commit <file> with dirty index.
...

Merge branch 'sp/refspec-match'Junio C Hamano Wed, 5 Dec 2007 01:07:10 +0000 (17:07 -0800)

Merge branch 'sp/refspec-match'

* sp/refspec-match:
refactor fetch's ref matching to use refname_match()
push: use same rules as git-rev-parse to resolve refspecs
add refname_match()
push: support pushing HEAD to real branch name

Simplify crud() in ident.cAlex Riesen Mon, 3 Dec 2007 19:11:43 +0000 (20:11 +0100)

Simplify crud() in ident.c

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Do not rely on the exit status of "unset" for unset... H.Merijn Brand Tue, 4 Dec 2007 22:45:16 +0000 (22:45 +0000)

Do not rely on the exit status of "unset" for unset variables

POSIX says that exit status "0" means that "unset" successfully unset
the variable. However, it is kind of ambiguous if an environment
variable which was not set could be successfully unset.

At least the default shell on HP-UX insists on reporting an error in
such a case, so just ignore the exit status of "unset".

[Dscho: extended the patch to git-submodule.sh, as Junio realized that
this is the only other place where we check the exit status of "unset".]

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: use Perl built-in utf8 function for UTF-8 decoding.İsmail Dönmez Tue, 4 Dec 2007 08:55:41 +0000 (10:55 +0200)

gitweb: use Perl built-in utf8 function for UTF-8 decoding.

Signed-off-by: İsmail Dönmez <ismail@pardus.org.tr>
Tested-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9600: require cvsps 2.1 to perform testsJeff King Tue, 4 Dec 2007 01:41:45 +0000 (20:41 -0500)

t9600: require cvsps 2.1 to perform tests

git-cvsimport won't run at all with less than cvsps 2.1, because it
lacks the -A flag. But there's no point in preventing people who have an
old cvsps from running the full testsuite.

Tested-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib: Make remotes2config.sh script more robustJakub Narebski Sun, 2 Dec 2007 19:40:43 +0000 (20:40 +0100)

contrib: Make remotes2config.sh script more robust

The remotes2config.sh script replaced all 'unsafe' characters in repo
name with '.'; include '-' in the 'safe' characters set (the set is
probably even larger).

Script required also space after "URL:", "Push:" and "Pull:" in
remotes file. This for example made the following remote
URL: git://git.kernel.org/pub/scm/git/git.git
Pull: refs/heads/master:refs/heads/origin
Pull:+refs/heads/pu:refs/heads/pu
miss 'pu' branch (forced branch) in config file after conversion.
Allow for any number of whitespace after "URL:", "Push:", "Pull:".

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Use a strbuf for copying the command line for the reflog.Kristian Høgsberg Tue, 4 Dec 2007 07:25:46 +0000 (02:25 -0500)

Use a strbuf for copying the command line for the reflog.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/git.txt: typofixJunio C Hamano Tue, 4 Dec 2007 08:47:04 +0000 (00:47 -0800)

Documentation/git.txt: typofix

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: rerere is enabled by default these days.Junio C Hamano Tue, 4 Dec 2007 08:40:55 +0000 (00:40 -0800)

Documentation: rerere is enabled by default these days.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Formatting fix for Documentation/git-help.txtJunio C Hamano Tue, 4 Dec 2007 08:29:32 +0000 (00:29 -0800)

Formatting fix for Documentation/git-help.txt

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Run the specified perl in Documentation/Junio C Hamano Sat, 1 Dec 2007 02:36:34 +0000 (18:36 -0800)

Run the specified perl in Documentation/

Makefile uses $(PERL_PATH) but Documentation/Makefile uses "perl"; that
means the two Makefiles can use two different Perl installations.

Teach Documentation/Makefile to use PERL_PATH that is exported from the
toplevel Makefile, and give a sane fallback for people who run "make"
from Documentation directory.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes for 1.5.4Junio C Hamano Tue, 4 Dec 2007 07:13:02 +0000 (23:13 -0800)

Update draft release notes for 1.5.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Allow ':/<oneline-prefix>' syntax to work with save_com... Johannes Schindelin Mon, 3 Dec 2007 18:42:39 +0000 (18:42 +0000)

Allow ':/<oneline-prefix>' syntax to work with save_commit_buffer == 0

Earlier, ':/<oneline-prefix>' would not work (i.e. die) with commands that
set save_commit_buffer = 0, such as blame, describe, pack-objects, reflog
and bundle.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add git-fast-export to list of commands.Junio C Hamano Tue, 4 Dec 2007 05:56:09 +0000 (21:56 -0800)

Add git-fast-export to list of commands.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

fast-export: rename the signed tag mode 'ignore' to... Johannes Schindelin Mon, 3 Dec 2007 22:44:39 +0000 (22:44 +0000)

fast-export: rename the signed tag mode 'ignore' to 'verbatim'

The name 'verbatim' describes much better what this mode does with
signed tags. While at it, fix the documentation what it actually
does.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add remote.<name>.proxySam Vilain Mon, 3 Dec 2007 21:48:54 +0000 (10:48 +1300)

Add remote.<name>.proxy

As well as allowing a default http.proxy option, allow it to be set
per-remote.

Signed-off-by: Sam Vilain <sam.vilain@catalyst.net.nz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: describe -i/--info option to "git-help"Christian Couder Tue, 4 Dec 2007 05:44:29 +0000 (06:44 +0100)

Documentation: describe -i/--info option to "git-help"

Option -i|--info for "git-help" is documented only in the new
"git-help.txt" man page, but this new man page is referenced
from the "--help" option documentation in the "git.txt" man page.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-help: add -i|--info option to display info page.Christian Couder Sun, 2 Dec 2007 05:07:40 +0000 (06:07 +0100)

git-help: add -i|--info option to display info page.

"git help --info subcommand" will now call "info git-subcommand".

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Allow HTTP proxy to be overridden in configSam Vilain Fri, 23 Nov 2007 00:07:00 +0000 (13:07 +1300)

Allow HTTP proxy to be overridden in config

The http_proxy / HTTPS_PROXY variables used by curl to control
proxying may not be suitable for git. Allow the user to override them
in the configuration file.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Trace and quote with argv: get rid of unneeded count... Christian Couder Mon, 3 Dec 2007 04:51:50 +0000 (05:51 +0100)

Trace and quote with argv: get rid of unneeded count argument.

Now that str_buf takes care of all the allocations, there is
no more gain to pass an argument count.

So this patch removes the "count" argument from:
- "sq_quote_argv"
- "trace_argv_printf"
and all the callers.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

install-sh from automake does not like -m without delim... Robert Schiele Sat, 1 Dec 2007 17:05:40 +0000 (18:05 +0100)

install-sh from automake does not like -m without delimiting space

The install-sh script as shipped with automake requires a space between
the -m switch and its argument. Since this is also the regular way of
doing it with other install implementations this change inserts the
missing space in all makefiles.

Signed-off-by: Robert Schiele <rschiele@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: add a new man page for "git-help"Christian Couder Tue, 4 Dec 2007 05:44:29 +0000 (06:44 +0100)

Documentation: add a new man page for "git-help"

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-commit documentation: fix unfinished sentence.Junio C Hamano Mon, 3 Dec 2007 21:35:26 +0000 (13:35 -0800)

git-commit documentation: fix unfinished sentence.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-add -i: add help text for list-and-choose UIWincent Colaiuta Mon, 3 Dec 2007 08:09:43 +0000 (09:09 +0100)

git-add -i: add help text for list-and-choose UI

Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-commit --allow-emptyJunio C Hamano Mon, 3 Dec 2007 08:03:10 +0000 (00:03 -0800)

git-commit --allow-empty

It does not usually make sense to record a commit that has the exact
same tree as its sole parent commit and that is why git-commit prevents
you from making such a mistake, but when data from foreign scm is
involved, it is a different story. We are equipped to represent such an
(perhaps insane, perhaps by mistake, or perhaps done on purpose) empty
change, and it is better to represent it bypassing the safety valve for
native use.

This is primarily for use by foreign scm interface scripts.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-commit --allow-emptyJunio C Hamano Mon, 3 Dec 2007 08:03:10 +0000 (00:03 -0800)

git-commit --allow-empty

It does not usually make sense to record a commit that has the exact
same tree as its sole parent commit and that is why git-commit prevents
you from making such a mistake, but when data from foreign scm is
involved, it is a different story. We are equipped to represent such an
(perhaps insane, perhaps by mistake, or perhaps done on purpose) empty
change, and it is better to represent it bypassing the safety valve for
native use.

This is primarily for use by foreign scm interface scripts.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-commit: Allow to amend a merge commit that does... Johannes Sixt Mon, 3 Dec 2007 07:24:50 +0000 (08:24 +0100)

git-commit: Allow to amend a merge commit that does not change the tree

Normally, it should not be allowed to generate an empty commit. A merge
commit generated with git 'merge -s ours' does not change the tree (along
the first parent), but merges are not "empty" even if they do not change
the tree. Hence, commit 8588452ceb7 allowed to amend a merge commit that
does not change the tree, but 4fb5fd5d301 disallowed it again in an
attempt to avoid that an existing commit is amended such that it becomes
empty. With this change, a commit can be edited (create a new one or amend
an existing one) either if there are changes or if there are at least two
parents.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-commit: Allow to amend a merge commit that does... Junio C Hamano Mon, 3 Dec 2007 07:55:23 +0000 (23:55 -0800)

git-commit: Allow to amend a merge commit that does not change the tree

Normally, it should not be allowed to generate an empty commit. A merge
commit generated with git 'merge -s ours' does not change the tree (along
the first parent), but merges are not "empty" even if they do not change
the tree. Hence, we should be careful not to forbid this case.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

quote_path: fix collapsing of relative pathsJeff King Mon, 3 Dec 2007 05:30:01 +0000 (00:30 -0500)

quote_path: fix collapsing of relative paths

The code tries to collapse identical leading components
between the prefix and the path. So if we're in "dir1", the
path "dir1/file" should become just "file". However, we were
ending up with "../dir1/file". The included test expected
the wrong output.

The "len" parameter to quote_path can be negative to mean
"this is a NUL terminated string". Simply count it so that
the loop can rely on it being the length of the path.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Make git status usage say git status instead of git... Shawn Bohrer Mon, 3 Dec 2007 05:02:09 +0000 (23:02 -0600)

Make git status usage say git status instead of git commit

git status shares the same usage information as git commit since it
shows what would be committed if the same options are given. However,
when displaying the usage information for git status it should say it
is for git status not git commit.

Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix --signoff in builtin-commit differently.Junio C Hamano Sun, 2 Dec 2007 21:43:34 +0000 (13:43 -0800)

Fix --signoff in builtin-commit differently.

Introduce fmt_name() specifically meant for formatting the name and
email pair, to add signed-off-by value. This reverts parts of
13208572fbe8838fd8835548d7502202d1f7b21d (builtin-commit: fix --signoff)
so that an empty datestamp string given to fmt_ident() by mistake will
error out as before.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'js/prune-expire'Junio C Hamano Mon, 3 Dec 2007 07:03:38 +0000 (23:03 -0800)

Merge branch 'js/prune-expire'

* js/prune-expire:
Add "--expire <time>" option to 'git prune'

Merge branch 'js/export-with-assignment'Junio C Hamano Mon, 3 Dec 2007 07:01:25 +0000 (23:01 -0800)

Merge branch 'js/export-with-assignment'

* js/export-with-assignment:
Replace instances of export VAR=VAL with VAR=VAL; export VAR

Merge branch 'js/fast-export'Junio C Hamano Mon, 3 Dec 2007 07:01:15 +0000 (23:01 -0800)

Merge branch 'js/fast-export'

* js/fast-export:
Add 'git fast-export', the sister of 'git fast-import'

Merge branch 'js/rebase-i-rerere'Junio C Hamano Mon, 3 Dec 2007 07:01:02 +0000 (23:01 -0800)

Merge branch 'js/rebase-i-rerere'

* js/rebase-i-rerere:
rebase -i: give rerere a chance

Merge branch 'js/pull-rebase'Junio C Hamano Mon, 3 Dec 2007 07:00:43 +0000 (23:00 -0800)

Merge branch 'js/pull-rebase'

* js/pull-rebase:
Teach 'git pull' about --rebase

Merge branch 'wc/rebase-insn'Junio C Hamano Mon, 3 Dec 2007 07:00:28 +0000 (23:00 -0800)

Merge branch 'wc/rebase-insn'

* wc/rebase-insn:
Mention that git-rm can be an appropriate resolution as well as git-add.
revert/cherry-pick: Allow overriding the help text by the calling Porcelain

Merge branch 'jc/typebreak'Junio C Hamano Mon, 3 Dec 2007 06:59:28 +0000 (22:59 -0800)

Merge branch 'jc/typebreak'

* jc/typebreak:
Enable rewrite as well as rename detection in git-status
rename: Break filepairs with different types.

Enable rewrite as well as rename detection in git-statusJeff King Mon, 3 Dec 2007 06:58:37 +0000 (22:58 -0800)

Enable rewrite as well as rename detection in git-status

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jc/color'Junio C Hamano Mon, 3 Dec 2007 06:49:58 +0000 (22:49 -0800)

Merge branch 'jc/color'

* jc/color:
git-config --get-color: get configured color
"color.diff = true" is not "always" anymore.

git-gui: Improve the application icon on Windows.Johannes Sixt Tue, 27 Nov 2007 15:25:24 +0000 (16:25 +0100)

git-gui: Improve the application icon on Windows.

Previusly, there was only a 16x16 image, which looked very distorted.
Here we add a 32x32 version, and also make the image sharper.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: install-sh from automake does not like -m755Robert Schiele Sat, 1 Dec 2007 17:05:40 +0000 (18:05 +0100)

git-gui: install-sh from automake does not like -m755

The install-sh script as shipped with automake requires a space between
the -m switch and its argument. Since this is also the regular way of
doing it with other install implementations this change inserts the
missing space.

Signed-off-by: Robert Schiele <rschiele@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Reorder msgfmt command-line argumentsbrian m. carlson Mon, 3 Dec 2007 01:26:33 +0000 (01:26 +0000)

git-gui: Reorder msgfmt command-line arguments

Any program using getopt or getopt_long will stop processing options
once a non-option argument has been encountered, if POSIXLY_CORRECT is
set. Therefore, reorder the command-line arguments to put options
first, so that the msgfmt call works in this scenario.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.ath.cx>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Add 'git fast-export', the sister of 'git fast-import'Johannes Schindelin Sun, 2 Dec 2007 14:14:13 +0000 (14:14 +0000)

Add 'git fast-export', the sister of 'git fast-import'

This program dumps (parts of) a git repository in the format that
fast-import understands.

For clarity's sake, it does not use the 'inline' method of specifying
blobs in the commits, but builds the blobs before building the commits.

Since signed tags' signatures will not necessarily be valid (think
transformations after the export, or excluding revisions, changing
the history), there are 4 modes to handle them: abort (default),
ignore, warn and strip. The latter just turns the tags into
unsigned ones.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'dc/gitweb'Junio C Hamano Mon, 3 Dec 2007 03:07:48 +0000 (19:07 -0800)

Merge branch 'dc/gitweb'

* dc/gitweb:
gitweb: the commitdiff is very commonly used, it's needed on search page, too

gitweb: Update and improve gitweb/README fileJakub Narebski Sun, 2 Dec 2007 23:22:02 +0000 (00:22 +0100)

gitweb: Update and improve gitweb/README file

Update list of build configuration variables, add references
to gitweb/INSTALL, add description of runtime and per-repository
runtime configuration.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-stash: Display help message if git-stash is run... Kevin Leung Mon, 3 Dec 2007 02:34:05 +0000 (10:34 +0800)

git-stash: Display help message if git-stash is run with wrong sub-commands

The current git-stash behaviour is very error prone to typos. For example,
if you typed "git-stash llist", git-stash would think that you wanted to
save to a stash named "llist", but in fact, you meant "git-stash list".

Signed-off-by: Kevin Leung <kevinlsk@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-am: catch missing author date early.Junio C Hamano Sun, 2 Dec 2007 22:38:40 +0000 (14:38 -0800)

git-am: catch missing author date early.

Even though commit-tree would default to the current time if the incoming
e-mail message somehow did not record the timestamp, it is safer to catch
the breakage sooner.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

add -i: allow prefix highlighting for "Add untracked... Wincent Colaiuta Sun, 2 Dec 2007 13:44:11 +0000 (14:44 +0100)

add -i: allow prefix highlighting for "Add untracked" as well.

These changes make the automatic prefix highlighting work with the "Add
untracked" subcommand in git-add--interactive by explicitly handling
arrays, hashes and strings internally (previously only arrays and hashes
were handled).

In addition, prefixes which have special meaning for list_and_choose
(things like "*" for "all" and "-" for "deselect) are explicitly
excluded (highlighting these prefixes would be misleading).

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Sun, 2 Dec 2007 19:00:45 +0000 (11:00 -0800)

Merge branch 'maint'

* maint:
t9600: test cvsimport from CVS working tree

t9600: test cvsimport from CVS working treeJeff King Sun, 2 Dec 2007 17:22:19 +0000 (12:22 -0500)

t9600: test cvsimport from CVS working tree

This test passes with v1.5.3.7, but not with v1.5.3.6.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: the commitdiff is very commonly used, it's... Denis Cheng Mon, 26 Nov 2007 12:42:06 +0000 (20:42 +0800)

gitweb: the commitdiff is very commonly used, it's needed on search page, too

Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rename: Break filepairs with different types.Junio C Hamano Sat, 1 Dec 2007 06:22:38 +0000 (22:22 -0800)

rename: Break filepairs with different types.

When we consider if a path has been totally rewritten, we did not
touch changes from symlinks to files or vice versa. But a change
that modifies even the type of a blob surely should count as a
complete rewrite.

While we are at it, modernise diffcore-break to be aware of gitlinks (we
do not want to touch them).

Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-commit: clean up die messagesJeff King Sun, 2 Dec 2007 06:07:03 +0000 (01:07 -0500)

git-commit: clean up die messages

These are three types of cleanups here:

1. remove newline from die message (die/report adds it
already)
2. typo: s/merger/merge/
3. the old "* no commit message? aborting commit." is now
prepended with "fatal: ", making the asterisk look a
little funny. Let's just remove it.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes for 1.5.4Junio C Hamano Sun, 2 Dec 2007 07:45:31 +0000 (23:45 -0800)

Update draft release notes for 1.5.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Consolidate command list to one.Junio C Hamano Sun, 2 Dec 2007 07:39:19 +0000 (23:39 -0800)

Consolidate command list to one.

The categorized list of commands in git(7) and the list of common
commands in "git help" output were maintained separately, which was
insane. This consolidates them to a single command-list.txt file.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Resurrect peek-remoteJunio C Hamano Sun, 2 Dec 2007 07:38:35 +0000 (23:38 -0800)

Resurrect peek-remote

8951d7c1f1ae38f34617b6c2490bf65e73e371f7 (Build in ls-remote) made
peek-remote as a synonym to ls-remote by enhancing the latter, but
at the same time actually _removed_ it, before we officially gave
removal notice. This was bad.

Resurrect it for v1.5.4.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'tt/help'Junio C Hamano Sun, 2 Dec 2007 04:05:49 +0000 (20:05 -0800)

Merge branch 'tt/help'

* tt/help:
Remove hint to use "git help -a"
Make the list of common commands more exclusive

Merge branch 'jc/move-gitk'Junio C Hamano Sat, 1 Dec 2007 21:58:57 +0000 (13:58 -0800)

Merge branch 'jc/move-gitk'

* jc/move-gitk:
Move gitk to its own subdirectory

Merge branch 'jc/branch-contains'Junio C Hamano Sat, 1 Dec 2007 21:58:54 +0000 (13:58 -0800)

Merge branch 'jc/branch-contains'

* jc/branch-contains:
git-branch --contains: doc and test
git-branch --contains=commit
parse-options: Allow to hide options from the default usage.

Merge branch 'cr/tag-options'Junio C Hamano Sat, 1 Dec 2007 21:58:46 +0000 (13:58 -0800)

Merge branch 'cr/tag-options'

* cr/tag-options:
git-tag: test that -s implies an annotated tag
"git-tag -s" should create a signed annotated tag
builtin-tag: accept and process multiple -m just like git-commit
Make builtin-tag.c use parse_options.

Update draft release notes for 1.5.4Junio C Hamano Sat, 1 Dec 2007 21:13:11 +0000 (13:13 -0800)

Update draft release notes for 1.5.4

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge 1.5.3.7 inJunio C Hamano Sat, 1 Dec 2007 20:48:19 +0000 (12:48 -0800)

Merge 1.5.3.7 in

Signed-off-by: Junio C Hamano <gitster@pobox.com>

GIT 1.5.3.7 v1.5.3.7Junio C Hamano Sat, 1 Dec 2007 19:20:00 +0000 (11:20 -0800)

GIT 1.5.3.7

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix typo in t4008 test titleJunio C Hamano Sat, 1 Dec 2007 19:06:41 +0000 (11:06 -0800)

Fix typo in t4008 test title

Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: Don't create a "master" branch every time... Steven Grimm Thu, 29 Nov 2007 19:54:39 +0000 (11:54 -0800)

git-svn: Don't create a "master" branch every time rebase is run

If you run "git-svn rebase" while sitting on a topic branch, there is
no need to create a "master" branch if one didn't exist already. The
branch was created implicitly by the automatic checkout after fetching,
which in the case of rebase isn't actually necessary anyway.

Signed-off-by: Steven Grimm <koreth@midwinter.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: add a show-externals command.Vineet Kumar Mon, 19 Nov 2007 22:56:15 +0000 (14:56 -0800)

git-svn: add a show-externals command.

show-externals can be used by scripts to provide svn:externals-like
functionality. For example, a script can list all of the externals and then
use check out the listed URLs at the appropriate paths, similar to what the svn
client does. Said script (or perhaps git-svn itself, in the future) could
simply invoke svn export on the paths, or it could go one further, using
git-svn clone and even git-submodule together to better integrate externals
checkouts.

The implementation is shamelessly copied from show-ignores. A more general
command to list user-specified properties is probably a better idea.

Signed-off-by: Vineet Kumar <vineet@doorstop.net>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: Remove unnecessary Git::SVN::Util packageDavid D. Kilzer Thu, 22 Nov 2007 19:18:00 +0000 (11:18 -0800)

git-svn: Remove unnecessary Git::SVN::Util package

Digest::MD5 is loaded regardless of the package in which it's
declared, so move its 'use' statement and the md5sum() function
into the main package.

Signed-off-by: David D. Kilzer <ddkilzer@kilzer.net>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: add support for pulling author from From:... Andy Whitcroft Thu, 22 Nov 2007 13:44:42 +0000 (13:44 +0000)

git-svn: add support for pulling author from From: and Signed-off-by:

Add support for pulling the real author of a commit from the From:
and first Signed-off-by: fields of the SVN commit message.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn now reads settings even if called in subdirectoryGustaf Hendeby Sat, 24 Nov 2007 13:47:56 +0000 (14:47 +0100)

git-svn now reads settings even if called in subdirectory

Previously, git-svn first read the .git/config file for settings as if
current working directory was the repository top-directory, and after
that made sure to cd into top-directory. The result was a silent
failur to read configuration settings. This patch changes the order
these two things are done.

Signed-off-by: Gustaf Hendeby <hendeby@isy.liu.se>
Acked-by: Eric Wong <normalperson@yhbt.net>

Merge branch 'maint'Junio C Hamano Sat, 1 Dec 2007 00:21:33 +0000 (16:21 -0800)

Merge branch 'maint'

* maint:
Replace the word 'update-cache' by 'update-index' everywhere
cvsimport: fix usage of cvsimport.module
t7003-filter-branch: Fix test of a failing --msg-filter.
cvsimport: miscellaneous packed-ref fixes
cvsimport: use rev-parse to support packed refs
Add basic cvsimport tests