Junio C Hamano [Wed, 13 Jul 2011 21:31:34 +0000 (14:31 -0700)]
Merge branch 'jc/legacy-loose-object'
* jc/legacy-loose-object:
sha1_file.c: "legacy" is really the current format
Junio C Hamano [Wed, 13 Jul 2011 21:31:34 +0000 (14:31 -0700)]
Merge branch 'an/shallow-doc'
* an/shallow-doc:
Document the underlying protocol used by shallow repositories and --depth commands.
Fix documentation of fetch-pack that implies that the client can disconnect after sending wants.
Junio C Hamano [Thu, 7 Jul 2011 00:00:46 +0000 (17:00 -0700)]
Start 1.7.7 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 6 Jul 2011 23:48:59 +0000 (16:48 -0700)]
Merge branch 'maint'
* maint:
docs: document --textconv diff option
Jeff King [Wed, 6 Jul 2011 15:13:30 +0000 (11:13 -0400)]
docs: document --textconv diff option
This has been there since textconv existed, but was never
documented. There is some overlap with what's in
gitattributes(5), but it's important to warn in both places
that textconv diffs probably can't be applied.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 30 Jun 2011 00:09:28 +0000 (17:09 -0700)]
Merge branch 'jc/streaming-filter' into next
* jc/streaming-filter:
t0021: test application of both crlf and ident
t0021-conversion.sh: fix NoTerminatingSymbolAtEOF test
streaming: filter cascading
streaming filter: ident filter
Add LF-to-CRLF streaming conversion
stream filter: add "no more input" to the filters
Add streaming filter API
convert.h: move declarations for conversion from cache.h
Junio C Hamano [Thu, 30 Jun 2011 00:09:27 +0000 (17:09 -0700)]
Merge branch 'jn/gitweb-js-blame' into next
* jn/gitweb-js-blame:
gitweb.js: use setTimeout rather than setInterval in blame_incremental.js
gitweb.js: No need for loop in blame_incremental's handleResponse()
gitweb.js: No need for inProgress in blame_incremental.js
Junio C Hamano [Thu, 30 Jun 2011 00:09:27 +0000 (17:09 -0700)]
Merge branch 'da/git-prefix-everywhere' into next
* da/git-prefix-everywhere:
t/t7503-pre-commit-hook.sh: Add GIT_PREFIX tests
git-mergetool--lib: Make vimdiff retain the current directory
git: Remove handling for GIT_PREFIX
setup: Provide GIT_PREFIX to built-ins
Junio C Hamano [Thu, 30 Jun 2011 00:09:27 +0000 (17:09 -0700)]
Merge branch 'jc/streaming' into next
* jc/streaming:
sha1_file: use the correct type (ssize_t, not size_t) for read-style function
streaming: read loose objects incrementally
sha1_file.c: expose helpers to read loose objects
streaming: read non-delta incrementally from a pack
streaming_write_entry(): support files with holes
convert: CRLF_INPUT is a no-op in the output codepath
streaming_write_entry(): use streaming API in write_entry()
streaming: a new API to read from the object store
write_entry(): separate two helper functions out
unpack_object_header(): make it public
sha1_object_info_extended(): hint about objects in delta-base cache
sha1_object_info_extended(): expose a bit more info
packed_object_info_detail(): do not return a string
Junio C Hamano [Thu, 30 Jun 2011 00:09:27 +0000 (17:09 -0700)]
Merge branch 'ab/i18n-scripts' into next
* ab/i18n-scripts: (48 commits)
i18n: git-bisect bisect_next_check "You need to" message
i18n: git-bisect [Y/n] messages
i18n: git-bisect bisect_replay + $1 messages
i18n: git-bisect bisect_reset + $1 messages
i18n: git-bisect bisect_run + $@ messages
i18n: git-bisect die + eval_gettext messages
i18n: git-bisect die + gettext messages
i18n: git-bisect echo + eval_gettext message
i18n: git-bisect echo + gettext messages
i18n: git-bisect gettext + echo message
i18n: git-bisect add git-sh-i18n
i18n: git-stash drop_stash say/die messages
i18n: git-stash "unknown option" message
i18n: git-stash die + eval_gettext $1 messages
i18n: git-stash die + eval_gettext $* messages
i18n: git-stash die + eval_gettext messages
i18n: git-stash die + gettext messages
i18n: git-stash say + gettext messages
i18n: git-stash echo + gettext message
i18n: git-stash add git-sh-i18n
...
Junio C Hamano [Thu, 30 Jun 2011 00:09:17 +0000 (17:09 -0700)]
Merge branch 'ef/maint-win-verify-path'
* ef/maint-win-verify-path:
verify_dotfile(): do not assume '/' is the path seperator
verify_path(): simplify check at the directory boundary
verify_path: consider dos drive prefix
real_path: do not assume '/' is the path seperator
A Windows path starting with a backslash is absolute
Junio C Hamano [Thu, 30 Jun 2011 00:03:13 +0000 (17:03 -0700)]
Merge branch 'js/i18n-windows'
* js/i18n-windows:
Windows: teach getenv to do a case-sensitive search
mingw.c: move definition of mingw_getenv down
sh-i18n--envsubst: do not crash when no arguments are given
Junio C Hamano [Thu, 30 Jun 2011 00:03:13 +0000 (17:03 -0700)]
Merge branch 'rs/grep-color'
* rs/grep-color:
grep: add --heading
grep: add --break
grep: fix coloring of hunk marks between files
Junio C Hamano [Thu, 30 Jun 2011 00:03:12 +0000 (17:03 -0700)]
Merge branch 'jc/maint-1.7.3-checkout-describe'
* jc/maint-1.7.3-checkout-describe:
checkout -b <name>: correctly detect existing branch
Junio C Hamano [Thu, 30 Jun 2011 00:03:12 +0000 (17:03 -0700)]
Merge branch 'db/http-cookies'
* db/http-cookies:
http: pass http.cookiefile using CURLOPT_COOKIEFILE
Junio C Hamano [Thu, 30 Jun 2011 00:03:12 +0000 (17:03 -0700)]
Merge branch 'jk/maint-1.7.2-status-ignored'
* jk/maint-1.7.2-status-ignored:
git status --ignored: tests and docs
status: fix bug with missing --ignore files
Conflicts:
Documentation/git-status.txt
t/t7508-status.sh
Junio C Hamano [Thu, 30 Jun 2011 00:03:11 +0000 (17:03 -0700)]
Merge branch 'jc/diff-index-quick-exit-early'
* jc/diff-index-quick-exit-early:
diff-index --quiet: learn the "stop feeding the backend early" logic
Conflicts:
unpack-trees.h
Junio C Hamano [Thu, 30 Jun 2011 00:03:10 +0000 (17:03 -0700)]
Merge branch 'mg/diff-stat-count'
* mg/diff-stat-count:
diff --stat-count: finishing touches
diff-options.txt: describe --stat-{width,name-width,count}
diff: introduce --stat-lines to limit the stat lines
diff.c: omit hidden entries from namelen calculation with --stat
Junio C Hamano [Thu, 30 Jun 2011 00:03:10 +0000 (17:03 -0700)]
Merge branch 'jc/advice-about-to-lose-commit'
* jc/advice-about-to-lose-commit:
checkout: make advice when reattaching the HEAD less loud
Conflicts:
builtin/checkout.c
Junio C Hamano [Thu, 30 Jun 2011 00:03:10 +0000 (17:03 -0700)]
Merge branch 'jk/combine-diff-binary-etc'
* jk/combine-diff-binary-etc:
combine-diff: respect textconv attributes
refactor get_textconv to not require diff_filespec
combine-diff: handle binary files as binary
combine-diff: calculate mode_differs earlier
combine-diff: split header printing into its own function
Junio C Hamano [Wed, 29 Jun 2011 23:43:23 +0000 (16:43 -0700)]
Merge branch 'instaweb' of git://bogomips.org/git-svn
* 'instaweb' of git://bogomips.org/git-svn:
git-instaweb: Check that correct config file exists for (re)start
git-instaweb: Move all actions at the end of script
git-instaweb: Use $conf, not $fqgitdir/gitweb/httpd.conf
git-instaweb: Extract configuring web server into configure_httpd
Junio C Hamano [Wed, 29 Jun 2011 23:42:41 +0000 (16:42 -0700)]
Merge git://bogomips.org/git-svn into maint
* git://bogomips.org/git-svn:
git-svn: Correctly handle root commits in mergeinfo ranges
git-svn: Disambiguate rev-list arguments to improve error message
git-svn: Demonstrate a bug with root commits in mergeinfo ranges
Junio C Hamano [Wed, 29 Jun 2011 23:41:55 +0000 (16:41 -0700)]
Merge branch 'maint-1.7.5' into maint
* maint-1.7.5:
test: skip clean-up when running under --immediate mode
"branch -d" can remove more than one branches
Junio C Hamano [Mon, 27 Jun 2011 18:02:22 +0000 (11:02 -0700)]
test: skip clean-up when running under --immediate mode
Some tests try to be too careful about cleaning themselves up and
do
test_expect_success description '
set-up some test refs and/or configuration &&
test_when_finished "revert the above changes" &&
the real test
'
Which is nice to make sure that a potential failure would not have
unexpected interaction with the next test. This however interferes when
"the real test" fails and we want to see what is going on, by running the
test with --immediate mode and descending into its trash directory after
the test stops. The precondition to run the real test and cause it to fail
is all gone after the clean-up procedure defined by test_when_finished is
done.
Update test_run_ which is the workhorse of running a test script
called from test_expect_success and test_expect_failure, so that we do not
run clean-up script defined with test_when_finished when a test that is
expected to succeed fails under the --immediate mode.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Jeff King <peff@peff.net>
Junio C Hamano [Mon, 27 Jun 2011 22:04:32 +0000 (15:04 -0700)]
"branch -d" can remove more than one branches
Since
03feddd (git-check-ref-format: reject funny ref names, 2005-10-13),
"git branch -d" can take more than one branch names to remove.
The documentation was correct, but the usage string was not.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Haggerty [Sat, 18 Jun 2011 06:48:00 +0000 (08:48 +0200)]
git-svn: Correctly handle root commits in mergeinfo ranges
If the bottom of a mergeinfo range is a commit that maps to a git root
commit, then it doesn't have a parent. In such a case, use git commit
range "$top_commit" rather than "$bottom_commit^..$top_commit".
[ew: line-wrap at 80 columns]
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Acked-by: Eric Wong <normalperson@yhbt.net>
Michael Haggerty [Sat, 18 Jun 2011 06:47:59 +0000 (08:47 +0200)]
git-svn: Disambiguate rev-list arguments to improve error message
Add "--" in the "git rev-list" command line so that if there is a bug
and the revisions cannot be found, the error message is a bit less
cryptic.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Acked-by: Eric Wong <normalperson@yhbt.net>
Michael Haggerty [Sat, 18 Jun 2011 06:47:58 +0000 (08:47 +0200)]
git-svn: Demonstrate a bug with root commits in mergeinfo ranges
If a svn:mergeinfo range starts at a commit that was converted as a
git root commit (e.g., r1 or a branch that was created out of thin
air), then there is an error when git-svn tries to run
git rev-list "$bottom_commit^..$top_commit"
because $bottom_commit (the git commit corresponding to r1) has no
parent.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Acked-by: Eric Wong <normalperson@yhbt.net>
Jakub Narebski [Thu, 23 Jun 2011 21:01:03 +0000 (23:01 +0200)]
git-instaweb: Check that correct config file exists for (re)start
Currently start/restart does not generate any configuration files for
spawning a new instance. This means that
$ git instaweb --http=<server> --start
might pick up stale 'httpd.conf' file for a different web server
(e.g. for default lighttpd when requesting apache2).
This commit changes that, and makes git-instaweb generate web server
config file and/or gitweb config file if don't exists.
This required naming config files after the name of web server
(alternate solution would be to somehow mark for which web server was
config file generated).
Note that web servers that embed configuration in server script file,
namely webrick and plackup, and which delete "$conf" in their *_conf
function, would have their config (server script) always regenerated.
Note: this commit introduces a bit of code repetition (but only a few
lines).
Reported-by: Gurjeet Singh <singh.gurjeet@gmail.com>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Jakub Narebski [Thu, 23 Jun 2011 20:59:26 +0000 (22:59 +0200)]
git-instaweb: Move all actions at the end of script
As a nice side-effect now the order of parameters does not matter:
$ git instaweb --httpd=apache2 --start
is now (after this patch) the same as
$ git instaweb --start --httpd=apache2
Before this commit --start, --stop, --restart (and their subcommand
versions start, stop, restart) exited immediately.
This is preparatory work for making start/restart check that correct
configuration is set up; this change was required to have access in
start_httpd to requested web browser etc.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Jakub Narebski [Thu, 23 Jun 2011 19:56:37 +0000 (21:56 +0200)]
git-instaweb: Use $conf, not $fqgitdir/gitweb/httpd.conf
Don't repeat yourself: use "$conf" instead of its [current] contents,
namely "$fqgitdir/gitweb/httpd.conf".
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Jakub Narebski [Thu, 23 Jun 2011 19:55:00 +0000 (21:55 +0200)]
git-instaweb: Extract configuring web server into configure_httpd
This is preparatory work for making start/restart check that
git-instaweb set up correct configuration, and generate it if it is
missing.
Pure refactoring, no functional changes.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Junio C Hamano [Sun, 26 Jun 2011 19:41:16 +0000 (12:41 -0700)]
Git 1.7.6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 26 Jun 2011 19:09:11 +0000 (12:09 -0700)]
Merge branch 'maint'
* maint:
completion: replace core.abbrevguard to core.abbrev
Junio C Hamano [Fri, 24 Jun 2011 16:40:02 +0000 (09:40 -0700)]
Merge branch 'maint-1.7.4' into maint
* maint-1.7.4:
completion: replace core.abbrevguard to core.abbrev
Namhyung Kim [Fri, 24 Jun 2011 06:17:42 +0000 (15:17 +0900)]
completion: replace core.abbrevguard to core.abbrev
The core.abbrevguard config variable had removed and
now core.abbrev has been used instead. Teach it.
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 22 Jun 2011 23:13:16 +0000 (16:13 -0700)]
Git 1.7.6-rc3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 22 Jun 2011 21:01:18 +0000 (14:01 -0700)]
Merge branch 'maint'
* maint:
Documentation: git diff --check respects core.whitespace
Christof Krüger [Wed, 22 Jun 2011 15:33:02 +0000 (17:33 +0200)]
Documentation: git diff --check respects core.whitespace
Fix documentation on "git diff --check" by adopting the description from
"git apply --whitespace".
Signed-off-by: Christof Krüger <git@christof-krueger.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 21 Jun 2011 21:56:59 +0000 (14:56 -0700)]
Merge branch 'maint'
* maint:
gitweb: 'pickaxe' and 'grep' features requires 'search' to be enabled
Jakub Narebski [Tue, 21 Jun 2011 06:41:16 +0000 (08:41 +0200)]
gitweb: 'pickaxe' and 'grep' features requires 'search' to be enabled
Both 'pickaxe' (searching changes) and 'grep' (searching files)
require basic 'search' feature to be enabled to work. Enabling
e.g. only 'pickaxe' won't work.
Add a comment about this.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 20 Jun 2011 21:49:44 +0000 (14:49 -0700)]
Merge branch 'mk/grep-pcre'
* mk/grep-pcre:
t7810: avoid unportable use of "echo"
Junio C Hamano [Mon, 20 Jun 2011 21:49:34 +0000 (14:49 -0700)]
t7810: avoid unportable use of "echo"
Michael J Gruber noticed that under /bin/dash this test failed
(as is expected -- \n in the string can be interpreted by the
command), while it passed with bash. We probably could work it
around by using backquote in front of it, but it is safer and
more readable to avoid "echo" altogether in a case like this.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jim Meyering [Mon, 20 Jun 2011 07:40:06 +0000 (09:40 +0200)]
plug a few coverity-spotted leaks
Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 19 Jun 2011 23:01:54 +0000 (16:01 -0700)]
Merge branch 'di/no-no-existant'
* di/no-no-existant:
Fix typo: existant->existent
Junio C Hamano [Sun, 19 Jun 2011 23:01:51 +0000 (16:01 -0700)]
Merge branch 'maint'
* maint:
builtin/gc.c: add missing newline in message
Andreas Schwab [Sun, 19 Jun 2011 08:03:26 +0000 (10:03 +0200)]
builtin/gc.c: add missing newline in message
Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Fri, 17 Jun 2011 20:36:32 +0000 (16:36 -0400)]
tests: link shell libraries into valgrind directory
When we run tests under valgrind, we symlink anything
executable that starts with git-* or test-* into a special
valgrind bin directory, and then make that our
GIT_EXEC_PATH.
However, shell libraries like git-sh-setup do not have the
executable bit marked, and did not get symlinked. This
means that any test looking for shell libraries in our
exec-path would fail to find them, even though that is a
fine thing to do when testing against a regular git build
(or in a git install, for that matter).
t2300 demonstrated this problem. The fix is to symlink these
shell libraries directly into the valgrind directory.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Fri, 17 Jun 2011 08:29:57 +0000 (04:29 -0400)]
t/Makefile: pass test opts to valgrind target properly
The valgrind target just reinvokes make with GIT_TEST_OPTS
set to "--valgrind". However, it does this using an
environment variable, which means GIT_TEST_OPTS in your
config.mak would override it, and "make valgrind" would
simply run the test suite without valgrind on.
Instead, we should pass GIT_TEST_OPTS on the command-line,
overriding what's in config.mak, and take care to append to
whatever the user has there already.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 17 Jun 2011 18:40:32 +0000 (11:40 -0700)]
Merge branch 'ab/i18n-scripts-basic'
* ab/i18n-scripts-basic:
sh-i18n--envsubst.c: do not #include getopt.h
Brandon Casey [Fri, 17 Jun 2011 18:19:26 +0000 (11:19 -0700)]
sh-i18n--envsubst.c: do not #include getopt.h
The getopt.h header file is not used. It's inclusion is left over from the
original version of this source. Additionally, getopt.h does not exist on
all platforms (SunOS 5.7) and will cause a compilation failure. So, let's
remove it.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Dmitry Ivankov [Thu, 16 Jun 2011 13:42:48 +0000 (19:42 +0600)]
Fix typo: existant->existent
refs.c had a error message "Trying to write ref with nonexistant object".
And no tests relied on the wrong spelling.
Also typo was present in some test scripts internals, these tests still pass.
Signed-off-by: Dmitry Ivankov <divanorama@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 16 Jun 2011 16:21:36 +0000 (09:21 -0700)]
Git 1.7.6-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Nieder [Thu, 9 Jun 2011 07:08:57 +0000 (02:08 -0500)]
gitweb: do not misparse nonnumeric content tag files that contain a digit
v1.7.6-rc0~27^2~4 (gitweb: Change the way "content tags" ('ctags') are
handled, 2011-04-29) tried to make gitweb's tag cloud feature more
intuitive for webmasters by checking whether the ctags/<label> under
a project's .git dir contains a number (representing the strength of
association to <label>) before treating it as one.
With that change, after putting '$feature{'ctags'}{'default'} = [1];'
in your $GITWEB_CONFIG, you could do
echo Linux >.git/ctags/linux
and gitweb would treat that as a request to tag the current repository
with the Linux tag, instead of the previous behavior of writing an
error page embedded in the projects list that triggers error messages
from Chromium and Firefox about malformed XML.
Unfortunately the pattern (\d+) used to match numbers is too loose,
and the "XML declaration allowed only at the start of the document"
error can still be experienced if you write "Linux-2.6" in place of
"Linux" in the example above. Fix it by tightening the pattern to
^\d+$.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 9 Jun 2011 01:29:48 +0000 (18:29 -0700)]
Git 1.7.6-rc1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 9 Jun 2011 01:13:39 +0000 (18:13 -0700)]
Merge branch 'maint'
* maint:
fetch: do not leak a refspec
Alex Neronskiy [Wed, 8 Jun 2011 22:11:51 +0000 (15:11 -0700)]
Document the underlying protocol used by shallow repositories and --depth commands.
Explain the exchange that occurs between a client and server when
the client is requesting shallow history and/or is already using
a shallow repository.
Signed-off-by: Alex Neronskiy <zakmagnus@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Alex Neronskiy [Wed, 8 Jun 2011 22:11:50 +0000 (15:11 -0700)]
Fix documentation of fetch-pack that implies that the client can disconnect after sending wants.
Specify conditions under which the client can terminate the connection
early. Previously, an unintended behavior was possible which could
confuse servers.
Based-on-patch-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Alex Neronskiy <zakmagnus@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jim Meyering [Wed, 8 Jun 2011 20:06:33 +0000 (22:06 +0200)]
fetch: do not leak a refspec
Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 8 Jun 2011 18:29:01 +0000 (11:29 -0700)]
sha1_file.c: "legacy" is really the current format
Every time I look at the read-loose-object codepath, legacy_loose_object()
function makes my brain go through mental contortion. When we were playing
with the experimental loose object format, it may have made sense to call
the traditional format "legacy", in the hope that the experimental one
will some day replace it to become official, but it never happened.
This renames the function (and negates its return value) to detect if we
are looking at the experimental format, and move the code around in its
caller which used to do "if we are looing at legacy, do this special case,
otherwise the normal case is this". The codepath to read from the loose
objects in experimental format is the "unlikely" case.
Someday after Git 2.0, we should drop the support of this format.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Theo Niessink [Wed, 8 Jun 2011 12:04:41 +0000 (14:04 +0200)]
verify_dotfile(): do not assume '/' is the path seperator
verify_dotfile() currently assumes that the path seperator is '/', but on
Windows it can also be '\\', so use is_dir_sep() instead.
Signed-off-by: Theo Niessink <theo@taletn.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 7 Jun 2011 03:49:06 +0000 (20:49 -0700)]
verify_path(): simplify check at the directory boundary
We simply want to say "At a directory boundary, be careful with a name
that begins with a dot, forbid a name that ends with the boundary
character or has duplicated bounadry characters".
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 7 Jun 2011 15:32:42 +0000 (08:32 -0700)]
Merge branch 'jc/magic-pathspec'
* jc/magic-pathspec:
t3703: skip more tests using colons in file names on Windows
Alex Riesen [Tue, 7 Jun 2011 09:49:44 +0000 (11:49 +0200)]
t3703: skip more tests using colons in file names on Windows
Use the same test and prerequisite as introduced in similar
fix in
650af7ae8bdf92bd92df2.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 6 Jun 2011 18:40:22 +0000 (11:40 -0700)]
Merge branch 'jn/mime-type-with-params'
* jn/mime-type-with-params:
gitweb: Fix usability of $prevent_xss
Junio C Hamano [Mon, 6 Jun 2011 18:40:18 +0000 (11:40 -0700)]
Merge branch 'jn/gitweb-docs'
* jn/gitweb-docs:
gitweb: Move "Requirements" up in gitweb/INSTALL
gitweb: Describe CSSMIN and JSMIN in gitweb/INSTALL
gitweb: Move information about installation from README to INSTALL
Junio C Hamano [Mon, 6 Jun 2011 18:40:14 +0000 (11:40 -0700)]
Merge branch 'jk/diff-not-so-quick'
* jk/diff-not-so-quick:
diff: futureproof "stop feeding the backend early" logic
diff_tree: disable QUICK optimization with diff filter
Conflicts:
diff.c
Junio C Hamano [Mon, 6 Jun 2011 18:40:08 +0000 (11:40 -0700)]
Merge branch 'bc/maint-status-z-to-use-porcelain'
* bc/maint-status-z-to-use-porcelain:
builtin/commit.c: set status_format _after_ option parsing
t7508: demonstrate status's failure to use --porcelain format with -z
Conflicts:
builtin/commit.c
Johannes Sixt [Mon, 6 Jun 2011 07:08:13 +0000 (09:08 +0200)]
Windows: teach getenv to do a case-sensitive search
getenv() on Windows looks up environment variables in a case-insensitive
manner. Even though all documentations claim that the environment is
case-insensitive, it is possible for applications to pass an environment
to child processes that has variables that differ only in case. Bash on
Windows does this, for example, and sh-i18n--envsubst depends on this
behavior.
With this patch environment variables are first looked up in a
case-sensitive manner; only if this finds nothing, the system's getenv() is
used as a fallback.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Sixt [Mon, 6 Jun 2011 07:06:02 +0000 (09:06 +0200)]
mingw.c: move definition of mingw_getenv down
We want to use static lookup_env() in a subsequent change.
At first sight, this change looks innocent. But it is not due to the
#undef getenv. There is one caller of getenv between the old location and
the new location whose behavior could change. But as can be seen from the
defintion of mingw_getenv, the behavior for this caller does not change
substantially.
To ensure consistent behavior in the future, change all getenv callers
in mingw.c to use mingw_getenv.
With this patch, this is not a big deal, yet, but with the subsequent
change, where we teach getenv to do a case-sensitive lookup, the behavior
of all call sites is changed.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Sixt [Mon, 6 Jun 2011 06:59:10 +0000 (08:59 +0200)]
sh-i18n--envsubst: do not crash when no arguments are given
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 6 Jun 2011 05:17:04 +0000 (22:17 -0700)]
checkout -b <name>: correctly detect existing branch
When create a new branch, we fed "refs/heads/<proposed name>" as a string
to get_sha1() and expected it to fail when a branch already exists.
The right way to check if a ref exists is to check with resolve_ref().
A naïve solution that might appear attractive but does not work is to
forbid slashes in get_describe_name() but that will not work. A describe
name is is in the form of "ANYTHING-g<short sha1>", and that ANYTHING part
comes from a original tag name used in the repository the user ran the
describe command. A sick user could have a confusing hierarchical tag
whose name is "refs/heads/foobar" (stored as refs/tags/refs/heads/foobar")
to generate a describe name "refs/heads/
foobar-6-g02ac983", and we should
be able to use that name to refer to the object whose name is
02ac983.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sun, 5 Jun 2011 15:24:36 +0000 (17:24 +0200)]
grep: add --heading
With --heading, the filename is printed once before matches from that
file instead of at the start of each line, giving more screen space to
the actual search results.
This option is taken from ack (http://betterthangrep.com/). And now
git grep can dress up like it:
$ git config alias.ack "grep --break --heading --line-number"
$ git ack -e --heading
Documentation/git-grep.txt
154:--heading::
t/t7810-grep.sh
785:test_expect_success 'grep --heading' '
786: git grep --heading -e char -e lo_w hello.c hello_world >actual &&
808: git grep --break --heading -n --color \
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sun, 5 Jun 2011 15:24:25 +0000 (17:24 +0200)]
grep: add --break
With --break, an empty line is printed between matches from different
files, increasing readability. This option is taken from ack
(http://betterthangrep.com/).
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sun, 5 Jun 2011 15:24:15 +0000 (17:24 +0200)]
grep: fix coloring of hunk marks between files
Commit
431d6e7b (grep: enable threading for context line printing)
split the printing of the "--\n" mark between results from different
files out into two places: show_line() in grep.c for the non-threaded
case and work_done() in builtin/grep.c for the threaded case. Commit
55f638bd (grep: Colorize filename, line number, and separator) updated
the former, but not the latter, so the separators between files are
not colored if threads are used.
This patch merges the two. In the threaded case, hunk marks are now
printed by show_line() for every file, including the first one, and the
very first mark is simply skipped in work_done(). This ensures that the
output is properly colored and works just as well.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakub Narebski [Sat, 4 Jun 2011 08:43:35 +0000 (10:43 +0200)]
gitweb: Fix usability of $prevent_xss
With XSS prevention on (enabled using $prevent_xss), blobs
('blob_plain') of all types except a few known safe ones are served
with "Content-Disposition: attachment". However the check was too
strict; it didn't take into account optional parameter attributes,
media-type = type "/" subtype *( ";" parameter )
as described in RFC 2616
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.7
This fixes that, and it for example treats following as safe MIME
media type:
text/plain; charset=utf-8
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakub Narebski [Fri, 3 Jun 2011 16:31:48 +0000 (18:31 +0200)]
gitweb: Move "Requirements" up in gitweb/INSTALL
This way you can examine prerequisites at first glance, before
detailed instructions on installing gitweb. Straightforward
text movement.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Duncan Brown [Thu, 2 Jun 2011 20:31:25 +0000 (16:31 -0400)]
http: pass http.cookiefile using CURLOPT_COOKIEFILE
If the config option http.cookiefile is set, pass this file to libCURL using
the CURLOPT_COOKIEFILE option. This is similar to calling curl with the -b
option. This allows git http authorization with authentication mechanisms
that use cookies, such as SAML Enhanced Client or Proxy (ECP) used by
Shibboleth.
To use SAML/ECP, the user needs to request a session cookie with their own ECP
code. See for example:
<https://wiki.shibboleth.net/confluence/display/SHIB2/ECP>
Once the cookie file has been created, it can be passed to git with, e.g.
git config --global http.cookiefile "/home/dbrown/.curlcookies"
libCURL will then pass the appropriate session cookies to the git http server.
Signed-off-by: Duncan Brown <duncan.brown@ligo.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 2 Jun 2011 16:07:11 +0000 (09:07 -0700)]
git status --ignored: tests and docs
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakub Narebski [Thu, 2 Jun 2011 14:55:53 +0000 (16:55 +0200)]
gitweb: Describe CSSMIN and JSMIN in gitweb/INSTALL
The build-time configuration variables JSMIN and CSSMIN were mentioned
only in Makefile; add their description to gitweb/INSTALL.
This required moving description of GITWEB_JS up, near GITWEB_CSS and
just introduced CSMIN and JSMIN.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakub Narebski [Thu, 2 Jun 2011 14:55:52 +0000 (16:55 +0200)]
gitweb: Move information about installation from README to INSTALL
Almost straightformard moving of "How to configure gitweb for your
local system" section from gitweb/README to gitweb/INSTALL, as it is
about build time configuration. Updated references to it.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David Aguilar [Thu, 2 Jun 2011 09:26:25 +0000 (02:26 -0700)]
t/t7503-pre-commit-hook.sh: Add GIT_PREFIX tests
Ensure that the pre-commit hook has access to GIT_PREFIX.
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Thu, 2 Jun 2011 05:54:49 +0000 (01:54 -0400)]
status: fix bug with missing --ignore files
Commit
1b908b6 (wt-status: rename and restructure
status-print-untracked, 2010-04-10) converted the
wt_status_print_untracked function into
wt_status_print_other, taking a string_list of either
untracked or ignored items to print. However, the "nothing
to show" early return still checked the wt_status->untracked
list instead of the passed-in list.
That meant that if we had ignored items to show, but no
untracked items, we would erroneously exit early and fail to
show the ignored items.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 1 Jun 2011 21:11:17 +0000 (14:11 -0700)]
Sync with 1.7.5.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 1 Jun 2011 21:08:26 +0000 (14:08 -0700)]
Git 1.7.5.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 1 Jun 2011 21:05:22 +0000 (14:05 -0700)]
Merge branch 'jk/maint-config-alias-fix' into maint
* jk/maint-config-alias-fix:
handle_options(): do not miscount how many arguments were used
config: always parse GIT_CONFIG_PARAMETERS during git_config
git_config: don't peek at global config_parameters
config: make environment parsing routines static
Junio C Hamano [Wed, 1 Jun 2011 21:03:07 +0000 (14:03 -0700)]
Merge branch 'jc/fmt-req-fix' into maint
* jc/fmt-req-fix:
userformat_find_requirements(): find requirement for the correct format
Junio C Hamano [Wed, 1 Jun 2011 21:02:52 +0000 (14:02 -0700)]
Merge branch 'jk/maint-docs' into maint
* jk/maint-docs:
docs: fix some antique example output
docs: make sure literal "->" isn't converted to arrow
docs: update status --porcelain format
docs: minor grammar fixes to git-status
Junio C Hamano [Wed, 1 Jun 2011 21:02:45 +0000 (14:02 -0700)]
Merge branch 'jn/doc-remote-helpers' into maint
* jn/doc-remote-helpers:
Documentation: do not misinterpret refspecs as bold text
Junio C Hamano [Wed, 1 Jun 2011 21:02:39 +0000 (14:02 -0700)]
Merge branch 'kk/maint-prefix-in-config-mak' into maint
* kk/maint-prefix-in-config-mak:
config.mak.in: allow "configure --sysconfdir=/else/where"
Jim Meyering [Fri, 29 Apr 2011 09:42:41 +0000 (11:42 +0200)]
diffcore-rename.c: avoid set-but-not-used warning
Since
9d8a5a5 (diffcore-rename: refactor "too many candidates" logic,
2011-01-06), diffcore_rename() initializes num_src but does not use it
anymore. "-Wunused-but-set-variable" in gcc-4.6 complains about this.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 31 May 2011 19:22:50 +0000 (12:22 -0700)]
Update draft release notes to 1.7.6
I think we are almost there for the feature freeze.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 31 May 2011 19:19:11 +0000 (12:19 -0700)]
Merge branch 'jk/format-patch-am'
* jk/format-patch-am:
format-patch: preserve subject newlines with -k
clean up calling conventions for pretty.c functions
pretty: add pp_commit_easy function for simple callers
mailinfo: always clean up rfc822 header folding
t: test subject handling in format-patch / am pipeline
Conflicts:
builtin/branch.c
builtin/log.c
commit.h
Junio C Hamano [Tue, 31 May 2011 19:09:35 +0000 (12:09 -0700)]
Merge branch 'jn/doc-remote-helpers'
* jn/doc-remote-helpers:
Documentation: do not misinterpret refspecs as bold text
Junio C Hamano [Tue, 31 May 2011 19:09:27 +0000 (12:09 -0700)]
Merge branch 'jk/format-patch-empty-prefix'
* jk/format-patch-empty-prefix:
format-patch: make zero-length subject prefixes prettier
Junio C Hamano [Tue, 31 May 2011 19:09:21 +0000 (12:09 -0700)]
Merge branch 'ab/i18n-envsubst-doc-fix'
* ab/i18n-envsubst-doc-fix:
git-sh-i18n--envsubst: add SYNOPSIS section to the documentation
Junio C Hamano [Tue, 31 May 2011 19:09:18 +0000 (12:09 -0700)]
Merge branch 'jc/log-quiet-fix'
* jc/log-quiet-fix:
log: --quiet should serve as synonym to -s
Junio C Hamano [Tue, 31 May 2011 19:09:12 +0000 (12:09 -0700)]
Merge branch 'kk/maint-prefix-in-config-mak'
* kk/maint-prefix-in-config-mak:
config.mak.in: allow "configure --sysconfdir=/else/where"
Junio C Hamano [Tue, 31 May 2011 19:09:08 +0000 (12:09 -0700)]
Merge branch 'jk/rebase-head-reflog'
* jk/rebase-head-reflog:
rebase: write a reflog entry when finishing
rebase: create HEAD reflog entry when aborting
Junio C Hamano [Tue, 31 May 2011 19:09:00 +0000 (12:09 -0700)]
Merge branch 'jk/maint-docs'
* jk/maint-docs:
docs: fix some antique example output
docs: make sure literal "->" isn't converted to arrow
docs: update status --porcelain format
docs: minor grammar fixes to git-status