gitweb.git
t/Makefile: include config.makJeff King Sun, 9 Aug 2009 08:50:37 +0000 (04:50 -0400)

t/Makefile: include config.mak

This is useful if you want to specify GIT_TEST_OPTS that you
always use.

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

tests: allow user to specify trash directory locationJeff King Sun, 9 Aug 2009 08:39:45 +0000 (04:39 -0400)

tests: allow user to specify trash directory location

The tests generate a large amount of I/O activity creating
and destroying repositories and files. We can improve the
time it takes to run the test suite by creating trash
directories on filesystems with better performance
characteristic, even though we may not want the rest of the
git repository on those filesystems (e.g., because they are
not network connected, or because they are temporary
ramdisks).

For example, on a dual processor system:

$ cd t && time make -j32
real 1m51.562s
user 0m59.260s
sys 1m20.933s

# /dev/shm is tmpfs
$ cd t && time make -j32 GIT_TEST_OPTS="--root=/dev/shm"
real 1m1.484s
user 0m53.555s
sys 1m5.264s

We almost halve the wall clock time, and we utilize the
dual processors much better.

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

tests: provide $TRASH_DIRECTORY variableJeff King Sun, 9 Aug 2009 08:38:11 +0000 (04:38 -0400)

tests: provide $TRASH_DIRECTORY variable

Most scripts don't care about the absolute path to the trash
directory. The one exception was t4014 script, which pieced
together $TEST_DIRECTORY and $test itself to get an absolute
directory.

Instead, let's provide a $TRASH_DIRECTORY which specifies
the same thing. This keeps the $test variable internal to
test-lib.sh and paves the way for trash directories in other
locations.

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

tests: use "$TEST_DIRECTORY" instead of ".."Jeff King Sun, 9 Aug 2009 08:37:52 +0000 (04:37 -0400)

tests: use "$TEST_DIRECTORY" instead of ".."

The $TEST_DIRECTORY variable allows tests to find the
top-level test directory regardless of the current working
directory.

In the past, this has been used to accomodate tests which
change directories, but it is also the first step to being
able to move trash directories outside of the
$TEST_DIRECTORY hierarchy.

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

t0001-init: split the existence test from the permissio... Johannes Sixt Sun, 9 Aug 2009 16:02:55 +0000 (18:02 +0200)

t0001-init: split the existence test from the permission test

The test for correct permissions after init created a deep directory
must be guarded by POSIXPERM. But testing that the deep dirctory exists
is good even on platforms that do not provide the POSIXPERM prerequiste.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t0001-init: fix a file nameJohannes Sixt Sun, 9 Aug 2009 15:38:04 +0000 (17:38 +0200)

t0001-init: fix a file name

Without this change, grep fails because it does not find the file
instead of because it does not find the text in the file.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Sat, 8 Aug 2009 05:35:17 +0000 (22:35 -0700)

Merge branch 'maint'

* maint:
verify-pack -v: do not report "chain length 0"
t5510: harden the way verify-pack is used

Merge branch 'maint-1.6.3' into maintJunio C Hamano Sat, 8 Aug 2009 03:44:26 +0000 (20:44 -0700)

Merge branch 'maint-1.6.3' into maint

* maint-1.6.3:
verify-pack -v: do not report "chain length 0"
t5510: harden the way verify-pack is used

Merge branch 'maint-1.6.2' into maint-1.6.3Junio C Hamano Sat, 8 Aug 2009 03:44:15 +0000 (20:44 -0700)

Merge branch 'maint-1.6.2' into maint-1.6.3

* maint-1.6.2:
verify-pack -v: do not report "chain length 0"
t5510: harden the way verify-pack is used

Merge branch 'maint-1.6.1' into maint-1.6.2Junio C Hamano Sat, 8 Aug 2009 03:44:09 +0000 (20:44 -0700)

Merge branch 'maint-1.6.1' into maint-1.6.2

* maint-1.6.1:
verify-pack -v: do not report "chain length 0"
t5510: harden the way verify-pack is used

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Sat, 8 Aug 2009 03:44:02 +0000 (20:44 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
verify-pack -v: do not report "chain length 0"
t5510: harden the way verify-pack is used

verify-pack -v: do not report "chain length 0"Junio C Hamano Fri, 7 Aug 2009 22:36:31 +0000 (15:36 -0700)

verify-pack -v: do not report "chain length 0"

When making a histogram of delta chain length in the pack, the program
collects number of objects whose delta depth exceeds the MAX_CHAIN limit
in histogram[0], and showed it as the number of items that exceeds the
limit correctly. HOWEVER, it also showed the same number labeled as
"chain length = 0".

In fact, we are not showing the number of objects whose chain length is
zero, i.e. the base objects. Correct this.

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

t5510: harden the way verify-pack is usedJunio C Hamano Sat, 8 Aug 2009 03:12:13 +0000 (20:12 -0700)

t5510: harden the way verify-pack is used

The test ignored the exit status from verify pack command, and also relied
on not seeing any delta chain statistics.

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

Show usage string for 'git log -h', 'git show -h' and... Matthieu Moy Thu, 6 Aug 2009 10:47:21 +0000 (12:47 +0200)

Show usage string for 'git log -h', 'git show -h' and 'git diff -h'

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-ls-files.txt: clarify what "other files" mean for... Matthieu Moy Thu, 6 Aug 2009 15:11:48 +0000 (17:11 +0200)

git-ls-files.txt: clarify what "other files" mean for --other

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-describe: Die early if there are no possible descri... Björn Steinbrink Thu, 6 Aug 2009 12:15:14 +0000 (14:15 +0200)

git-describe: Die early if there are no possible descriptions

If we find no refs that may be used for git-describe with the current
options, then die early instead of pointlessly walking the whole
history.

In git.git with all the tags dropped, this makes "git describe" go down
from 0.244 to 0.003 seconds for me. This is especially noticeable with
"git submodule status" which calls describe with increasing levels of
allowed refs to be matched. For a submodule without tags, this means
that it walks the whole history in the submodule twice (first annotated,
then plain tags), just to find out that it can't describe the commit
anyway.

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

rebase: consistent error messages for staged and unstag... Matthieu Moy Wed, 5 Aug 2009 14:56:25 +0000 (16:56 +0200)

rebase: consistent error messages for staged and unstaged changes.

Previous version expose the output of the plumbing update-index to the
user, which novice users have difficulty to understand.

We still need to run update-index to refresh the cache (if
diff.autorefreshindex is false, git diff won't do it).

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-tag(1): Refer to git-check-ref-format(1) for <name>Jari Aalto Wed, 5 Aug 2009 21:20:32 +0000 (00:20 +0300)

git-tag(1): Refer to git-check-ref-format(1) for <name>

Explain briefly what characters are prohibited in tag <name>
and point to git-check-ref-format(1) manual page for
further information.

Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-rev-list.txt: Clarify the use of multiple revision... Junio C Hamano Wed, 5 Aug 2009 16:42:33 +0000 (09:42 -0700)

git-rev-list.txt: Clarify the use of multiple revision arguments

If one thinks of a revision as the set of commits which can be reached
from the rev, and of ^rev as the complement, then multiple arguments to
git rev-list can be neither understood as the intersection nor the union
of the individual sets.

But set language is the natural as well as logical language in which to
phrase this. So, add a paragraph which explains multiple arguments using
set language.

Suggested-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git.el: Clarify documentation of git-commit-treeDavid Kågedal Fri, 31 Jul 2009 07:23:09 +0000 (09:23 +0200)

git.el: Clarify documentation of git-commit-tree

Signed-off-by: David Kågedal <davidk@lysator.liu.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'sb/read-tree'Junio C Hamano Wed, 5 Aug 2009 19:40:07 +0000 (12:40 -0700)

Merge branch 'sb/read-tree'

* sb/read-tree:
read-tree: migrate to parse-options
read-tree: convert unhelpful usage()'s to helpful die()'s

Merge branch 'jc/apply-epoch-patch'Junio C Hamano Wed, 5 Aug 2009 19:40:00 +0000 (12:40 -0700)

Merge branch 'jc/apply-epoch-patch'

* jc/apply-epoch-patch:
apply: notice creation/removal patches produced by GNU diff

Merge branch 'sb/parse-options'Junio C Hamano Wed, 5 Aug 2009 19:39:37 +0000 (12:39 -0700)

Merge branch 'sb/parse-options'

* sb/parse-options:
prune-packed: migrate to parse-options
verify-pack: migrate to parse-options
verify-tag: migrate to parse-options
write-tree: migrate to parse-options

Merge branch 'ns/init-mkdir'Junio C Hamano Wed, 5 Aug 2009 19:39:33 +0000 (12:39 -0700)

Merge branch 'ns/init-mkdir'

* ns/init-mkdir:
git init: optionally allow a directory argument

Conflicts:
builtin-init-db.c

Merge branch 'mk/init-db-parse-options'Junio C Hamano Wed, 5 Aug 2009 19:39:06 +0000 (12:39 -0700)

Merge branch 'mk/init-db-parse-options'

* mk/init-db-parse-options:
init-db: migrate to parse-options

Merge branch 'jk/maint-show-tag'Junio C Hamano Wed, 5 Aug 2009 19:38:54 +0000 (12:38 -0700)

Merge branch 'jk/maint-show-tag'

* jk/maint-show-tag:
show: add space between multiple items
show: suppress extra newline when showing annotated tag

Merge branch 'sb/maint-pull-rebase'Junio C Hamano Wed, 5 Aug 2009 19:38:39 +0000 (12:38 -0700)

Merge branch 'sb/maint-pull-rebase'

* sb/maint-pull-rebase:
pull: support rebased upstream + fetch + pull --rebase
t5520-pull: Test for rebased upstream + fetch + pull --rebase

Merge branch 'ne/futz-upload-pack'Junio C Hamano Wed, 5 Aug 2009 19:38:29 +0000 (12:38 -0700)

Merge branch 'ne/futz-upload-pack'

* ne/futz-upload-pack:
Shift object enumeration out of upload-pack

Conflicts:
upload-pack.c

Merge branch 'maint'Junio C Hamano Wed, 5 Aug 2009 19:37:40 +0000 (12:37 -0700)

Merge branch 'maint'

* maint:
gitweb/README: Document $base_url
Documentation: git submodule: add missing options to synopsis
Better usage string for reflog.
hg-to-git: don't import the unused popen2 module
send-email: remove debug trace
config: Keep inner whitespace verbatim

Merge branch 'maint-1.6.3' into maintJunio C Hamano Wed, 5 Aug 2009 19:37:24 +0000 (12:37 -0700)

Merge branch 'maint-1.6.3' into maint

* maint-1.6.3:
Better usage string for reflog.
hg-to-git: don't import the unused popen2 module
send-email: remove debug trace
config: Keep inner whitespace verbatim

gitweb/README: Document $base_urlJakub Narebski Tue, 4 Aug 2009 15:54:32 +0000 (17:54 +0200)

gitweb/README: Document $base_url

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

Documentation: git submodule: add missing options to... Jens Lehmann Sat, 1 Aug 2009 18:49:47 +0000 (20:49 +0200)

Documentation: git submodule: add missing options to synopsis

The option --merge was missing for submodule update and --cached for
submodule summary.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-merge-base/git-show-branch --merge-base: Documentat... Michael J Gruber Wed, 5 Aug 2009 07:59:20 +0000 (09:59 +0200)

git-merge-base/git-show-branch --merge-base: Documentation and test

Currently, the documentation suggests that 'git merge-base -a' and 'git
show-branch --merge-base' are equivalent (in fact it claims that the
former cannot handle more than two revs).

Alas, the handling of more than two revs is very different. Document
this by tests and correct the documentation to reflect this.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-merge-base/git-show-branch: Cleanup documentation... Michael J Gruber Wed, 5 Aug 2009 07:59:19 +0000 (09:59 +0200)

git-merge-base/git-show-branch: Cleanup documentation and usage

Make sure that usage strings and documentation coincide with each other
and with the actual code.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t6010-merge-base.sh: Depict the octopus test graphMichael J Gruber Wed, 5 Aug 2009 07:59:18 +0000 (09:59 +0200)

t6010-merge-base.sh: Depict the octopus test graph

...so that it is easier to reuse it for other tests.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Better usage string for reflog.Matthieu Moy Wed, 5 Aug 2009 15:36:28 +0000 (17:36 +0200)

Better usage string for reflog.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

hg-to-git: don't import the unused popen2 moduleMiklos Vajna Mon, 3 Aug 2009 16:41:34 +0000 (18:41 +0200)

hg-to-git: don't import the unused popen2 module

Importing the popen2 module in Python-2.6 results in the
"DeprecationWarning: The popen2 module is deprecated. Use the
subprocess module." message. The module itself isn't used in fact, so
just removing it solves the problem.

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

send-email: remove debug traceErik Faye-Lund Tue, 4 Aug 2009 21:57:34 +0000 (21:57 +0000)

send-email: remove debug trace

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>

gitweb: fix 'Use of uninitialized value' error in href()Giuseppe Bilotta Fri, 31 Jul 2009 06:48:49 +0000 (08:48 +0200)

gitweb: fix 'Use of uninitialized value' error in href()

Equality between file_parent and file_name was being checked without a
preliminary check for existence of the parameters.

Fix by wrapping the equality check in appropriate if (defined ...),
rearranging the lines to prevent excessive length.

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

technical-docs: document tree-walking APIStephen Boyd Tue, 4 Aug 2009 04:13:21 +0000 (21:13 -0700)

technical-docs: document tree-walking API

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix typos on pt_BR/gittutorial.txt translationAndré Goddard Rosa Fri, 31 Jul 2009 16:50:50 +0000 (13:50 -0300)

Fix typos on pt_BR/gittutorial.txt translation

With extra fixes from Thadeu and Carlos as well.

Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Carlos R. Mafra <crmafra2@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: git-send-email: correct statement about... Wesley J. Landaker Fri, 31 Jul 2009 17:45:00 +0000 (11:45 -0600)

Documentation: git-send-email: correct statement about standard ports

The current documentation states that servers typically listen on port
465 and calls this "ssmtp". While it's true that many mail servers use
port 465 for SSL smtp, this is non-standard, and hails from the days
before smtp and submission TLS support, that arrived in RFC2487 and
RFC3207. Port 465 is actually assigned by IANA for unrelated purposes,
and is mostly still used by mail servers today only to support Outlook
Express.

In any case, this patch helps the documentation better reflect both
standards and reality, while still helpfully mentioning ports numbers
that a user may wish to specify.

Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: git-send-email: fix submission port... Wesley J. Landaker Thu, 30 Jul 2009 23:08:53 +0000 (17:08 -0600)

Documentation: git-send-email: fix submission port number

The current documentation confuses non-standard SSL smtp port 465 with
submission port 587 (RFC 4406). This patch just changes the referenced
number.

Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

config: Keep inner whitespace verbatimBjörn Steinbrink Thu, 30 Jul 2009 11:41:57 +0000 (13:41 +0200)

config: Keep inner whitespace verbatim

Configuration values are expected to be quoted when they have leading or
trailing whitespace, but inner whitespace should be kept verbatim even if
the value is not quoted. This is already documented in git-config(1), but
the code caused inner whitespace to be collapsed to a single space,
breaking, for example, clones from a path that has two consecutive spaces
in it, as future fetches would only see a single space.

Reported-by: John te Bokkel <tanj.tanj@gmail.com>
Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git fast-export: add --no-data optionGeoffrey Irving Tue, 28 Jul 2009 02:20:22 +0000 (22:20 -0400)

git fast-export: add --no-data option

When using git fast-export and git fast-import to rewrite the history
of a repository with large binary files, almost all of the time is
spent dealing with blobs. This is extremely inefficient if all we want
to do is rewrite the commits and tree structure. --no-data skips the
output of blobs and writes SHA-1s instead of marks, which provides a
massive speedup.

Signed-off-by: Geoffrey Irving <irving@naml.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

parse-opt: optionally show "--no-" option stringJohannes Schindelin Mon, 27 Jul 2009 18:49:56 +0000 (20:49 +0200)

parse-opt: optionally show "--no-" option string

It is usually better to have positive options, to avoid confusing double
negations. However, sometimes it is desirable to show the negative option
in the help.

Introduce the flag PARSE_OPT_NEGHELP to do that.

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

Translate the tutorial to Brazillian PortugueseThadeu Lima de Souza Cascardo Mon, 29 Jun 2009 15:32:22 +0000 (12:32 -0300)

Translate the tutorial to Brazillian Portuguese

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

request-pull: optionally show a patch as wellJunio C Hamano Mon, 27 Jul 2009 21:27:47 +0000 (14:27 -0700)

request-pull: optionally show a patch as well

Allow git request-pull to append diff body into the pull request.

It's useful for small series of commits.

Tested-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'hv/cvsps-tests'Junio C Hamano Wed, 29 Jul 2009 17:39:57 +0000 (10:39 -0700)

Merge branch 'hv/cvsps-tests'

* hv/cvsps-tests:
t/t9600: remove exit after test_done
cvsimport: extend testcase about patchset order to contain branches
cvsimport: add test illustrating a bug in cvsps
Add a test of "git cvsimport"'s handling of tags and branches
Add some tests of git-cvsimport's handling of vendor branches
Test contents of entire cvsimported "master" tree contents
Use CVS's -f option if available (ignore user's ~/.cvsrc file)
Start a library for cvsimport-related tests

Add a reminder test case for a merge with F/D transitionAlex Riesen Mon, 11 May 2009 09:31:42 +0000 (11:31 +0200)

Add a reminder test case for a merge with F/D transition

The problem is that if a file was replaced with a directory containing
another file with the same content and mode, an attempt to merge it
with a branch descended from a commit before this F->D transition will
cause merge-recursive to break. It breaks even if there were no
conflicting changes on that other branch.

Originally reported by Anders Melchiorsen.

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

Start 1.6.5 cycleJunio C Hamano Wed, 29 Jul 2009 16:33:29 +0000 (09:33 -0700)

Start 1.6.5 cycle

The next major release will be 1.6.5, hopefully with a shorter cycle
than the 1.6.4 cycle. After that in 1.7.0 we can make potentially
backward incompatible changes if necessary.

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

GIT 1.6.4 v1.6.4Junio C Hamano Wed, 29 Jul 2009 07:32:42 +0000 (00:32 -0700)

GIT 1.6.4

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

Sync with 1.6.3.4Junio C Hamano Wed, 29 Jul 2009 07:00:56 +0000 (00:00 -0700)

Sync with 1.6.3.4

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

GIT 1.6.3.4 v1.6.3.4Junio C Hamano Wed, 29 Jul 2009 06:52:58 +0000 (23:52 -0700)

GIT 1.6.3.4

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

config.txt: document add.ignore-errorsStephen Boyd Sun, 31 May 2009 05:08:02 +0000 (22:08 -0700)

config.txt: document add.ignore-errors

Use the description of "--ignore-errors" from git-add.txt as
inspiration.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

request-pull: allow ls-remote to notice remote.$nicknam... Tom Grennan Wed, 29 Jul 2009 01:30:02 +0000 (18:30 -0700)

request-pull: allow ls-remote to notice remote.$nickname.uploadpack

The location to pull from should be converted from the configured nickname
to URL in the message, but ls-remote should be fed the nickname so that
the command uses remote.$nickname.* variables, most notably "uploadpack".

Signed-off-by: Tom Grennan <tgrennan@redback.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update the documentation of the raw diff output formatDavid Kågedal Tue, 28 Jul 2009 08:32:18 +0000 (10:32 +0200)

Update the documentation of the raw diff output format

This includes mentioning the initial hash output of diff-tree, and
changes the header to "raw output format" which is more descriptive.

Signed-off-by: David Kågedal <davidk@lysator.liu.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-rerere.txt: Clarify ambiguity of the config variableMichael J Gruber Tue, 28 Jul 2009 14:42:15 +0000 (16:42 +0200)

git-rerere.txt: Clarify ambiguity of the config variable

Use the less ambiguous
"set variable foo in order to enable bar"
rather than
"set variable foo to enable bar" which may trick users into
assuming that "enable" is a good value for "foo".

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9143: do not fail if Compress::Zlib is missingEric Wong Sun, 26 Jul 2009 10:01:52 +0000 (03:01 -0700)

t9143: do not fail if Compress::Zlib is missing

"git svn gc" will not compress unhandled.log files if
Compress::Zlib is missing. However, leftover index files should
always be removed, so add a test for this behavior as well.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Trivial path quoting fixes in git-instawebSean Estabrooks Sat, 18 Jul 2009 16:45:44 +0000 (09:45 -0700)

Trivial path quoting fixes in git-instaweb

Bodo Schlecht noticed that Instaweb didn't propely quote all
path instances in the Apache config file it generated.

Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'gp/maint-rebase-p-onto'Junio C Hamano Sun, 26 Jul 2009 18:24:13 +0000 (11:24 -0700)

Merge branch 'gp/maint-rebase-p-onto'

* gp/maint-rebase-p-onto:
Fix rebase -p --onto

Merge branch 'en/fast-export'Junio C Hamano Sun, 26 Jul 2009 18:23:52 +0000 (11:23 -0700)

Merge branch 'en/fast-export'

* en/fast-export:
fast-export: Document the fact that git-rev-list arguments are accepted
Add new fast-export testcases
fast-export: Add a --tag-of-filtered-object option for newly dangling tags
fast-export: Do parent rewriting to avoid dropping relevant commits
fast-export: Make sure we show actual ref names instead of "(null)"
fast-export: Omit tags that tag trees
fast-export: Set revs.topo_order before calling setup_revisions

GIT 1.6.4-rc3 v1.6.4-rc3Junio C Hamano Sun, 26 Jul 2009 07:04:50 +0000 (00:04 -0700)

GIT 1.6.4-rc3

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

Documentation/config.txt: a variable can be defined... Nanako Shiraishi Sat, 25 Jul 2009 00:28:50 +0000 (09:28 +0900)

Documentation/config.txt: a variable can be defined on the section header line

Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://git.bogomips.org/git-svnJunio C Hamano Sun, 26 Jul 2009 05:54:03 +0000 (22:54 -0700)

Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
git svn: make minimize URL more reliable over http(s)
git svn: avoid escaping '/' when renaming/copying files
t9142: stop httpd after the test
git svn: the branch command no longer needs the full path
git svn: revert default behavior for --minimize-url
git svn: add gc command

git svn: make minimize URL more reliable over http(s)Eric Wong Sat, 25 Jul 2009 20:14:16 +0000 (13:14 -0700)

git svn: make minimize URL more reliable over http(s)

In addition to path-based restrictions, Subversion servers over
http(s) may have access controls implemented via the LimitExcept
directive in Apache. In some cases, LimitExcept may be
(arguably) misconfigured to not allow REPORT requests while
allowing OPTIONS and PROPFIND.

This caused problems with our existing minimize_url logic that
only issued OPTIONS and PROPFIND requests when connecting and
using SVN::Ra::get_latest_revnum. We now call SVN::Ra::get_log
if get_latest_revnum succeeds, resulting in a REPORT request
being sent. This will increase our chances of tripping access
controls before we start attempting to fetch history.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

Disable asciidoc 8.4.1+ semantics for `{plus}` and... Thomas Rast Sat, 25 Jul 2009 12:06:50 +0000 (14:06 +0200)

Disable asciidoc 8.4.1+ semantics for `{plus}` and friends

asciidoc 8.4.1 changed the semantics of inline backtick quoting so
that they disable parsing of inline constructs, i.e.,

Input: `{plus}`
Pre 8.4.1: +
Post 8.4.1: {plus}

Fix this by defining the asciidoc attribute 'no-inline-literal'
(which, per the 8.4.1 changelog, is the toggle to return to the old
behaviour) when under ASCIIDOC8.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git svn: avoid escaping '/' when renaming/copying filesEric Wong Sat, 25 Jul 2009 09:29:28 +0000 (02:29 -0700)

git svn: avoid escaping '/' when renaming/copying files

Timothy Schaeffer reported the following:
> Git-svn has been giving me the following error for some time
> when calling "git svn dcommit":
>
> RA layer request failed: PROPFIND request failed on
> '/svn/stf/branches/dev/sw%2Fdpemu%2Finclude%2FNetCnxn.h': PROPFIND of
> '/svn/stf/branches/dev/sw%2Fdpemu%2Finclude%2FNetCnxn.h': 302 Found
> (https://oursvnrepo.net) at /usr/local/libexec/git-core/git-svn line 508
>
> This only occurred when git detected a rename or copy.
>
> Following the lead into git-svn.perl,
> and noticing that some of the '/'s in the path were hex-encoded
> and some were not,
> I changed the regex used to find chars
> to hex-encode in the relative part of the path
> to exclude '/'.
> It works, so far.
> I have included a patch.

While this has previous not been a problem in my experience,
newer versions of SVN may be stricter and this does not
introduce regressions in t9115.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

t9142: stop httpd after the testEric Wong Sat, 25 Jul 2009 09:11:39 +0000 (02:11 -0700)

t9142: stop httpd after the test

Otherwise it would fail in subsequent runs if the same
SVN_HTTPD_PORT was used.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git svn: the branch command no longer needs the full... Eric Wong Sat, 25 Jul 2009 08:36:06 +0000 (01:36 -0700)

git svn: the branch command no longer needs the full path

This was introduced in 0b2af457a49e3b00d47d556d5301934d27909db8
("Fix branch detection when repository root is inaccessible")
but reintroduced in the previous commit.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git svn: revert default behavior for --minimize-urlEric Wong Sat, 25 Jul 2009 07:00:50 +0000 (00:00 -0700)

git svn: revert default behavior for --minimize-url

This reverts the --minimize-url behavior change that
appeared recently in commit 0b2af457a49e3b00d47d556d5301934d27909db8
("Fix branch detection when repository root is inaccessible").

However, we now allow the option to be turned off by allowing
"--no-minimize-url" so people with limited-access setups can
still take advantage of the fix in
0b2af457a49e3b00d47d556d5301934d27909db8.

Also document the behavior and default settings of minimize-url
in the manpage for the first time.

This introduces a temporary UI regression to allow t9141 to pass
that will be reverted (fixed) in the next commit.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git svn: add gc commandRobert Allan Zeh Sun, 19 Jul 2009 23:00:52 +0000 (18:00 -0500)

git svn: add gc command

Add a git svn gc command that gzips all unhandled.log files, and
removes all index files under .git/svn.

Signed-off-by: Robert Allan Zeh <robert.a.zeh@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>

git init: optionally allow a directory argumentNanako Shiraishi Fri, 24 Jul 2009 21:59:28 +0000 (06:59 +0900)

git init: optionally allow a directory argument

When starting a new repository, I see my students often say

% git init newrepo

and curse git. They could say

% mkdir newrepo; cd newrepo; git init

but allowing it as an obvious short-cut may be nicer.

Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Sat, 25 Jul 2009 09:16:25 +0000 (02:16 -0700)

Merge branch 'maint'

* maint:
t8005: Nobody writes Russian in shift_jis

Conflicts:
t/t8005-blame-i18n.sh

t8005: Nobody writes Russian in shift_jisJunio C Hamano Fri, 19 Jun 2009 02:18:37 +0000 (19:18 -0700)

t8005: Nobody writes Russian in shift_jis

The second and third tests of this script expected that Russian strings
are converted between ISO-8859-5 and Shift_JIS in the "blame --porcelain"
format output correctly.

Sure, many platforms may convert between such a combination, but that is
only because one of the base character set of Shift_JIS, JIS X 0208,
defines codepoints for Russian characters (among others); I do not think
anybody uses Shift_JIS when seriously writing Russian, and it is perfectly
understandable if iconv() libraries on some platforms fail converting
between this combination, as it does not matter in reality.

This patch changes the test to verify Japanese strings are converted
correctly between EUC-JP and Shift_JIS in the same procedure. The point
of the test is not about verifying the platform's iconv() library, but to
see if "git blame" makes correct iconv() library calls when it should.

We could instead use ISO-8859-5 and KOI8-R as the combination, because
they are both meant to represent Russian, in order to make this test
meaningful on more platforms, but we already use Shift_JIS vs EUC-JP
combinations to test other programs in our test suite, so this combination
is safer from the point of view of the portability. Besides, I do not
read nor write Russian; sorry ;-)

This change allows tests to pass on my (friend's) Solaris 5.11 box.

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

Merge branch 'maint'Junio C Hamano Sat, 25 Jul 2009 08:31:53 +0000 (01:31 -0700)

Merge branch 'maint'

* maint:
Fix severe breakage in "git-apply --whitespace=fix"

Fix severe breakage in "git-apply --whitespace=fix"Junio C Hamano Sat, 25 Jul 2009 08:29:20 +0000 (01:29 -0700)

Fix severe breakage in "git-apply --whitespace=fix"

735c674 (Trailing whitespace and no newline fix, 2009-07-22) completely
broke --whitespace=fix, causing it to lose all the empty lines in a patch.

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

Update release notes for 1.6.4Junio C Hamano Sat, 25 Jul 2009 07:51:21 +0000 (00:51 -0700)

Update release notes for 1.6.4

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

Merge branch 'js/maint-graft-unhide-true-parents'Junio C Hamano Sat, 25 Jul 2009 07:45:03 +0000 (00:45 -0700)

Merge branch 'js/maint-graft-unhide-true-parents'

* js/maint-graft-unhide-true-parents:
git repack: keep commits hidden by a graft
Add a test showing that 'git repack' throws away grafted-away parents

Conflicts:
git-repack.sh

Merge branch 'av/maint-config-reader'Junio C Hamano Sat, 25 Jul 2009 07:44:52 +0000 (00:44 -0700)

Merge branch 'av/maint-config-reader'

* av/maint-config-reader:
After renaming a section, print any trailing variable definitions
Make section_name_match start on '[', and return the length on success

Merge branch 'jk/maint-send-email-alias-loop'Junio C Hamano Sat, 25 Jul 2009 07:44:45 +0000 (00:44 -0700)

Merge branch 'jk/maint-send-email-alias-loop'

* jk/maint-send-email-alias-loop:
send-email: detect cycles in alias expansion

After renaming a section, print any trailing variable... Alex Vandiver Fri, 24 Jul 2009 21:21:44 +0000 (17:21 -0400)

After renaming a section, print any trailing variable definitions

Signed-off-by: Alex Vandiver <alex@chmrr.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Make section_name_match start on '[', and return the... Alex Vandiver Fri, 24 Jul 2009 21:21:43 +0000 (17:21 -0400)

Make section_name_match start on '[', and return the length on success

Signed-off-by: Alex Vandiver <alex@chmrr.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: detect cycles in alias expansionJeff King Thu, 23 Jul 2009 11:09:29 +0000 (07:09 -0400)

send-email: detect cycles in alias expansion

With the previous code, an alias cycle like:

$ echo 'alias a b' >aliases
$ echo 'alias b a' >aliases
$ git config sendemail.aliasesfile aliases
$ git config sendemail.aliasfiletype mutt

would put send-email into an infinite loop. This patch
detects the situation and complains to the user.

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

Show the presence of untracked files in the bash prompt.Daniel Trstenjak Wed, 22 Jul 2009 08:31:34 +0000 (10:31 +0200)

Show the presence of untracked files in the bash prompt.

Added the envvar GIT_PS1_SHOWUNTRACKEDFILES to 'git-completion.bash'.
When set to a nonempty value, then the char '%' will be shown next
to the branch name in the bash prompt.

Signed-off-by: Daniel Trstenjak <daniel.trstenjak@science-computing.de>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Fri, 24 Jul 2009 16:27:09 +0000 (09:27 -0700)

Merge branch 'maint'

* maint:
SunOS grep does not understand -C<n> nor -e
Fix export_marks() error handling.
git branch: clean up detached branch handling
git branch: avoid unnecessary object lookups
git branch: fix performance problem
do_one_ref(): null_sha1 check is not about broken ref

Conflicts:
Makefile

SunOS grep does not understand -C<n> nor -eJunio C Hamano Fri, 24 Jul 2009 05:30:07 +0000 (22:30 -0700)

SunOS grep does not understand -C<n> nor -e

The first "grep -C1" test in t7002 does not pass on my SunOS-5.11-i86pc,
and that is not because our way to spawn external grep is broken, but
because the native grep does not understand -C<n>.

It turns out that Peff was also using this option himself because our
Makefile doesn't do that automatically. Brandon Casey uses SUNWspro
compiler without having to set this, and it turns out that the compiler
does not define preprocessor macro __unix__ which made him always use the
built-in grep, never an external one.

Let's be more explicit and say that we do not use external grep on Suns.

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

Fix export_marks() error handling.Matthias Andree Fri, 24 Jul 2009 08:17:13 +0000 (10:17 +0200)

Fix export_marks() error handling.

- Don't leak one FILE * on error per export_marks() call. Found with
cppcheck and reported by Martin Ettl.

- Abort the potentially long for(;idnums.size;) loop on write errors.

- Record error if fprintf() fails for reasons not required to set the
stream error indicator, such as ENOMEM.

- Add a trailing full-stop to error message when fopen() fails.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git repack: keep commits hidden by a graftJohannes Schindelin Thu, 23 Jul 2009 15:33:49 +0000 (17:33 +0200)

git repack: keep commits hidden by a graft

When you have grafts that pretend that a given commit has different
parents than the ones recorded in the commit object, it is dangerous
to let 'git repack' remove those hidden parents, as you can easily
remove the graft and end up with a broken repository.

So let's play it safe and keep those parent objects and everything
that is reachable by them, in addition to the grafted parents.

As this behavior can only be triggered by git pack-objects, and as that
command handles duplicate parents gracefully, we do not bother to cull
duplicated parents that may result by using both true and grafted
parents.

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

Add a test showing that 'git repack' throws away grafte... Björn Steinbrink Thu, 23 Jul 2009 15:33:45 +0000 (17:33 +0200)

Add a test showing that 'git repack' throws away grafted-away parents

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

git branch: clean up detached branch handlingLinus Torvalds Thu, 23 Jul 2009 19:13:48 +0000 (12:13 -0700)

git branch: clean up detached branch handling

Make the 'show detached branch info' a routine of its own. And in the
process, avoid the object lookup that is unnecessary if the current
branch isn't detached.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git branch: avoid unnecessary object lookupsLinus Torvalds Thu, 23 Jul 2009 19:05:34 +0000 (12:05 -0700)

git branch: avoid unnecessary object lookups

They can be expensive in the cold-cache case, so don't bother looking up
the commits for all branches unless we really need them for some reason.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git branch: fix performance problemLinus Torvalds Thu, 23 Jul 2009 17:17:04 +0000 (10:17 -0700)

git branch: fix performance problem

'git branch' looks at _all_ the refs, and verifies them. Which means that
during cold-cache situations with a slow disk (and lots of tags, for
example) it can take several very annoying seconds (7.5s according to a
report by Carlos R. Mafra).

This avoids most of it by simply doing the filtering before looking up
the commits, by using the "raw" version of for_each_ref.

Reported-by: Carlos R. Mafra <crmafra2@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git svn: fix shallow clone when upstream revision is... Eric Wong Mon, 20 Jul 2009 09:06:24 +0000 (02:06 -0700)

git svn: fix shallow clone when upstream revision is too new

Thanks to Ka-Hing Cheung for the initial bug report and patch:
> git-svn uses $ra->get_latest_revnum to find out the latest
> revision, but that can be problematic, because get_latest_revnum
> returns the latest revnum in the entire repository, not
> restricted by whatever URL you used to construct $ra. So if you
> do git svn clone -r HEAD svn://blah/blah/trunk, it won't work if
> the latest checkin is in one of the branches (it will try to
> fetch a rev that doesn't exist in trunk, making the clone
> useless).

Relying on SVN::Core::INVALID_REVNUM (-1) as the "start"
argument to SVN::Ra::get_log() proved unreliable with http(s)
URLs so the result of SVN::Ra::get_latest_revnum() is used as
the "start" argument instead.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

do_one_ref(): null_sha1 check is not about broken refJunio C Hamano Thu, 23 Jul 2009 06:07:05 +0000 (23:07 -0700)

do_one_ref(): null_sha1 check is not about broken ref

f8948e2 (remote prune: warn dangling symrefs, 2009-02-08) introduced a
more dangerous variant of for_each_ref() family that skips the check for
dangling refs, but it also made another unrelated check optional by
mistake.

The check to see if a ref points at 0{40} is not about brokenness, but is
about a possible future plan to represent a deleted ref by writing 40 "0"
in a loose ref when there is a stale version of the same ref already in
.git/packed-refs, so that we can implement deletion of a ref without
having to rewrite the packed refs file excluding the ref being deleted.

This check has to live outside of the conditional.

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

configure.ac: properly unset NEEDS_SSL_WITH_CRYPTO... v1.6.4-rc2Brandon Casey Wed, 22 Jul 2009 22:20:53 +0000 (17:20 -0500)

configure.ac: properly unset NEEDS_SSL_WITH_CRYPTO when sha1 func is missing

The empty assignment NEEDS_SSL_WITH_CRYPTO= was mistakenly paired with the
assignment NEEDS_SSL_WITH_CRYPTO=YesPlease in the "action-if-found"
parameter of the AC_CHECK_LIB macro. The empty assignment was intended for
the "action-if-not-found" section, since in that case, the necessary sha1
hash function was not found and the internal sha1 implementation will be
used instead.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

janitor: useless checks before freePierre Habouzit Wed, 22 Jul 2009 21:51:55 +0000 (23:51 +0200)

janitor: useless checks before free

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

janitor: add DIV_ROUND_UP and use it.Pierre Habouzit Wed, 22 Jul 2009 21:34:35 +0000 (23:34 +0200)

janitor: add DIV_ROUND_UP and use it.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

refactor: use bitsizeof() instead of 8 * sizeof()Pierre Habouzit Wed, 22 Jul 2009 21:34:34 +0000 (23:34 +0200)

refactor: use bitsizeof() instead of 8 * sizeof()

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

janitor: use NULL and not 0 for pointers.Pierre Habouzit Wed, 22 Jul 2009 21:34:33 +0000 (23:34 +0200)

janitor: use NULL and not 0 for pointers.

Brought to you thanks to coccinelle:

---8<----
@@
expression *E;
@@
(
E ==
- 0
+ NULL
|
E !=
- 0
+ NULL
|
E =
- 0
+ NULL
)

@@
identifier f;
type T;
@@
T *f(...) {
<...
- return 0;
+ return NULL;
...>
}
--->8----

There are a lot more hits in compat/nedmallox and compat/regex but these
are borrowed code we rather do not want to maintain our own forks for,
and this patch refrains from touching them.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>