Junio C Hamano [Wed, 14 Jan 2009 07:09:57 +0000 (23:09 -0800)]
Merge branch 'jc/maint-ls-tree'
* jc/maint-ls-tree:
Document git-ls-tree --full-tree
ls-tree: add --full-tree option
Junio C Hamano [Wed, 14 Jan 2009 07:09:50 +0000 (23:09 -0800)]
Merge branch 'js/bundle-tags'
* js/bundle-tags:
bundle: allow rev-list options to exclude annotated tags
Junio C Hamano [Wed, 14 Jan 2009 07:09:47 +0000 (23:09 -0800)]
Merge branch 'js/add-not-submodule'
* js/add-not-submodule:
git add: do not add files from a submodule
Junio C Hamano [Wed, 14 Jan 2009 07:09:42 +0000 (23:09 -0800)]
Merge branch 'pb/maint-git-pm-false-dir'
* pb/maint-git-pm-false-dir:
Git.pm: correctly handle directory name that evaluates to "false"
Junio C Hamano [Wed, 14 Jan 2009 07:09:38 +0000 (23:09 -0800)]
Merge branch 'pj/maint-ldflags'
* pj/maint-ldflags:
configure clobbers LDFLAGS
Junio C Hamano [Wed, 14 Jan 2009 07:09:35 +0000 (23:09 -0800)]
Merge branch 'fe/cvsserver'
* fe/cvsserver:
cvsserver: change generation of CVS author names
cvsserver: add option to configure commit message
Junio C Hamano [Wed, 14 Jan 2009 07:09:29 +0000 (23:09 -0800)]
Merge branch 'js/maint-bisect-gitk'
* js/maint-bisect-gitk:
bisect view: call gitk if Cygwin's SESSIONNAME variable is set
Junio C Hamano [Wed, 14 Jan 2009 07:09:24 +0000 (23:09 -0800)]
Merge branch 'np/no-loosen-prune-expire-now'
* np/no-loosen-prune-expire-now:
objects to be pruned immediately don't have to be loosened
Junio C Hamano [Wed, 14 Jan 2009 07:09:20 +0000 (23:09 -0800)]
Merge branch 'cb/maint-unpack-trees-absense'
* cb/maint-unpack-trees-absense:
unpack-trees: remove redundant path search in verify_absent
unpack-trees: fix path search bug in verify_absent
unpack-trees: handle failure in verify_absent
Junio C Hamano [Wed, 14 Jan 2009 07:09:13 +0000 (23:09 -0800)]
Merge branch 'mc/cd-p-pwd'
* mc/cd-p-pwd:
git-sh-setup: Fix scripts whose PWD is a symlink to a work-dir on OS X
Junio C Hamano [Wed, 14 Jan 2009 07:09:09 +0000 (23:09 -0800)]
Merge branch 'mh/cherry-default'
* mh/cherry-default:
Documentation: clarify which parameters are optional to git-cherry
git-cherry: make <upstream> parameter optional
Junio C Hamano [Tue, 13 Jan 2009 09:25:55 +0000 (01:25 -0800)]
Merge branch 'maint'
* maint:
Avoid spurious error messages on error mistakes.
contrib/examples/README: give an explanation of the status of these files
Junio C Hamano [Tue, 13 Jan 2009 09:15:49 +0000 (01:15 -0800)]
Merge branch 'kk/maint-http-push' into maint
* kk/maint-http-push:
http-push: support full URI in handle_remote_ls_ctx()
Junio C Hamano [Tue, 13 Jan 2009 09:15:19 +0000 (01:15 -0800)]
Merge branch 'js/maint-merge-recursive-r-d-conflict' into maint
* js/maint-merge-recursive-r-d-conflict:
merge-recursive: mark rename/delete conflict as unmerged
Junio C Hamano [Tue, 13 Jan 2009 09:13:56 +0000 (01:13 -0800)]
Merge branch 'cb/maint-merge-recursive-fix' into maint
* cb/maint-merge-recursive-fix:
merge-recursive: do not clobber untracked working tree garbage
modify/delete conflict resolution overwrites untracked file
Conflicts:
builtin-merge-recursive.c
Junio C Hamano [Tue, 13 Jan 2009 08:56:40 +0000 (00:56 -0800)]
Merge branch 'ap/maint-apply-modefix' into maint
* ap/maint-apply-modefix:
builtin-apply: prevent non-explicit permission changes
Junio C Hamano [Tue, 13 Jan 2009 08:40:19 +0000 (00:40 -0800)]
Merge branch 'maint-1.6.0' into maint
* maint-1.6.0:
Avoid spurious error messages on error mistakes.
contrib/examples/README: give an explanation of the status of these files
Pierre Habouzit [Mon, 12 Jan 2009 23:09:36 +0000 (00:09 +0100)]
Avoid spurious error messages on error mistakes.
Prior to that, if the user chose "squash" as a first action, the stderr
looked like:
grep: /home/madcoder/dev/scm/git/.git/rebase-merge/done: No such file or directory
Cannot 'squash' without a previous commit
Now the first line is gone.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jon Loeliger [Mon, 12 Jan 2009 20:02:07 +0000 (14:02 -0600)]
Fix Documentation typos surrounding the word 'handful'.
Some instances replaced by "handful of", others use
the word "few", a couple get a slight rewording.
Signed-off-by: Jon Loeliger <jdl@freescale.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Christian Couder [Mon, 12 Jan 2009 17:42:24 +0000 (18:42 +0100)]
sha1_file: make "read_object" static
This function is only used from "sha1_file.c".
And as we want to add a "replace_object" hook in "read_sha1_file",
we must not let people bypass the hook using something other than
"read_sha1_file".
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Markus Heidelberg [Tue, 13 Jan 2009 02:10:26 +0000 (03:10 +0100)]
contrib/vim: change URL to point to the latest syntax files
Vim's SVN repository doesn't offer the latest runtime files, since
normally they are only updated there on a release. Though currently
there is no difference between the SVN and HTTP/FTP version of the git
syntax files.
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
jidanni@jidanni.org [Tue, 13 Jan 2009 01:19:42 +0000 (09:19 +0800)]
contrib/examples/README: give an explanation of the status of these files
We attempt to give an explanation of the status of the files in this
directory.
Signed-off-by: jidanni <jidanni@jidanni.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 12 Jan 2009 07:29:26 +0000 (23:29 -0800)]
Merge branch 'maint'
* maint:
Documentation/git-push.txt: minor: compress one option
Junio C Hamano [Mon, 12 Jan 2009 07:27:29 +0000 (23:27 -0800)]
Merge branch 'mh/maint-sendmail-cc-doc' into maint
* mh/maint-sendmail-cc-doc:
doc/git-send-email: mention sendemail.cc config variable
Junio C Hamano [Mon, 12 Jan 2009 07:24:42 +0000 (23:24 -0800)]
Merge branch 'jc/maint-do-not-switch-to-non-commit' into maint
* jc/maint-do-not-switch-to-non-commit:
git checkout: do not allow switching to a tree-ish that is not a commit
jidanni@jidanni.org [Mon, 12 Jan 2009 03:05:54 +0000 (11:05 +0800)]
Documentation/git-push.txt: minor: compress one option
Signed-off-by: jidanni <jidanni@jidanni.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Eric Wong [Sun, 11 Jan 2009 23:44:07 +0000 (15:44 -0800)]
git-svn: add --authors-file test
I'm not sure how often this functionality is used, but in case
it's not, having an extra test here will help catch breakage
sooner.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Kjetil Barvik [Sun, 11 Jan 2009 18:36:42 +0000 (19:36 +0100)]
Cleanup of unused symcache variable inside diff-lib.c
Commit
c40641b77b0274186fd1b327d5dc3246f814aaaf, 'Optimize
symlink/directory detection' by Linus Torvalds, removed the 'char
*symcache' parameter to the has_symlink_leading_path() function. This
made all variables currently named 'symcache' inside diff-lib.c
unnecessary.
This also let us throw away the 'struct oneway_unpack_data', and
instead directly use the 'struct rev_info *revs' member, which
was the only member left after removal of the 'symcache[] array'
member. The 'struct oneway_unpack_data' was introduced by the
following commit:
948dd346 "diff-files: careful when inspecting work tree items"
Impact: cleanup
PATH_MAX bytes less memory stack usage in some cases
Signed-off-by: Kjetil Barvik <barvik@broadpark.no>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Sun, 11 Jan 2009 11:25:06 +0000 (06:25 -0500)]
Makefile: clean up TEST_PROGRAMS definition
We try to keep lines under 80 characters, not to mention
that sticking a bunch of stuff on one line makes diffs
messier.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adeodato Simó [Fri, 9 Jan 2009 17:30:05 +0000 (18:30 +0100)]
t7501-commit.sh: explicitly check that -F prevents invoking the editor
The "--signoff" test case in t7500-commit.sh was setting VISUAL while
using -F -, which indeed tested that the editor is not spawned with -F.
However, having it there was confusing, since there was no obvious reason
to the casual reader for it to be there.
This commits removes the setting of VISUAL from the --signoff test, and
adds in t7501-commit.sh a dedicated test case, where the rest of tests for
-F are.
Signed-off-by: Adeodato Simó <dato@net.com.org.es>
Okay-then-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Lee Marlow [Wed, 10 Dec 2008 19:39:18 +0000 (12:39 -0700)]
bash completion: Use 'git add' completions for 'git stage'
Signed-off-by: Lee Marlow <lee.marlow@gmail.com>
Trivially-Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Lee Marlow [Wed, 10 Dec 2008 19:39:17 +0000 (12:39 -0700)]
bash completion: Add '--intent-to-add' long option for 'git add'
Signed-off-by: Lee Marlow <lee.marlow@gmail.com>
Trivially-Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pierre Habouzit [Fri, 31 Oct 2008 09:12:21 +0000 (10:12 +0100)]
filter-branch: add git_commit_non_empty_tree and --prune-empty.
git_commit_non_empty_tree is added to the functions that can be run from
commit filters. Its effect is to commit only commits actually touching the
tree and that are not merge points either.
The option --prune-empty is added. It defaults the commit-filter to
'git_commit_non_empty_tree "$@"', and can be used with any other
combination of filters, except --commit-hook that must used
'git_commit_non_empty_tree "$@"' where one puts 'git commit-tree "$@"'
usually to achieve the same result.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 7 Jan 2009 08:10:19 +0000 (00:10 -0800)]
Merge branch 'mh/maint-sendmail-cc-doc'
* mh/maint-sendmail-cc-doc:
doc/git-send-email: mention sendemail.cc config variable
Junio C Hamano [Wed, 7 Jan 2009 08:10:14 +0000 (00:10 -0800)]
Merge branch 'rs/diff-ihc'
* rs/diff-ihc:
diff: add option to show context between close hunks
Conflicts:
Documentation/diff-options.txt
Junio C Hamano [Wed, 7 Jan 2009 08:09:42 +0000 (00:09 -0800)]
Merge branch 'js/maint-merge-recursive-r-d-conflict'
* js/maint-merge-recursive-r-d-conflict:
merge-recursive: mark rename/delete conflict as unmerged
Junio C Hamano [Wed, 7 Jan 2009 08:09:33 +0000 (00:09 -0800)]
Merge branch 'mk/gitweb-feature'
* mk/gitweb-feature:
gitweb: unify boolean feature subroutines
Junio C Hamano [Wed, 7 Jan 2009 08:09:27 +0000 (00:09 -0800)]
Merge branch 'cb/merge-recursive-fix'
* cb/merge-recursive-fix:
merge-recursive: do not clobber untracked working tree garbage
modify/delete conflict resolution overwrites untracked file
Junio C Hamano [Wed, 7 Jan 2009 08:09:14 +0000 (00:09 -0800)]
Merge branch 'kk/maint-http-push'
* kk/maint-http-push:
http-push: support full URI in handle_remote_ls_ctx()
Junio C Hamano [Wed, 7 Jan 2009 08:09:10 +0000 (00:09 -0800)]
Merge branch 'mv/um-pdf'
* mv/um-pdf:
Add support for a pdf version of the user manual
Junio C Hamano [Wed, 7 Jan 2009 08:09:06 +0000 (00:09 -0800)]
Merge branch 'jn/gitweb-blame'
* jn/gitweb-blame:
gitweb: cache $parent_commit info in git_blame()
gitweb: A bit of code cleanup in git_blame()
gitweb: Move 'lineno' id from link to row element in git_blame
Junio C Hamano [Wed, 7 Jan 2009 08:09:00 +0000 (00:09 -0800)]
Merge branch 'wp/add-p-goto'
* wp/add-p-goto:
Add 'g' command to go to a hunk
Add subroutine to display one-line summary of hunks
René Scharfe [Tue, 6 Jan 2009 20:41:14 +0000 (21:41 +0100)]
strbuf: instate cleanup rule in case of non-memory errors
Make all strbuf functions that can fail free() their memory on error if
they have allocated it. They don't shrink buffers that have been grown,
though.
This allows for easier error handling, as callers only need to call
strbuf_release() if A) the command succeeded or B) if they would have had
to do so anyway because they added something to the strbuf themselves.
Bonus hunk: document strbuf_readlink.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 7 Jan 2009 06:13:41 +0000 (22:13 -0800)]
Merge branch 'maint'
* maint:
README: tutorial.txt is now called gittutorial.txt
Junio C Hamano [Wed, 7 Jan 2009 06:12:35 +0000 (22:12 -0800)]
Merge branch 'maint-1.6.0' into maint
* maint-1.6.0:
README: tutorial.txt is now called gittutorial.txt
Junio C Hamano [Wed, 7 Jan 2009 06:12:30 +0000 (22:12 -0800)]
Merge branch 'maint-1.5.6' into maint-1.6.0
* maint-1.5.6:
README: tutorial.txt is now called gittutorial.txt
Joey Hess [Wed, 7 Jan 2009 04:23:37 +0000 (23:23 -0500)]
README: tutorial.txt is now called gittutorial.txt
Signed-off-by: Joey Hess <joey@gnu.kitenet.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Paul Jarc [Mon, 5 Jan 2009 02:27:41 +0000 (21:27 -0500)]
configure clobbers LDFLAGS
In a couple of tests, configure clobbers the LDFLAGS value set by the
caller. This patch fixes it.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 6 Jan 2009 00:10:52 +0000 (16:10 -0800)]
Merge branch 'maint'
* maint:
Be consistent in switch usage for tar
Use capitalized names where appropriate
fast-export: print usage when no options specified
Alexander Potashev [Sun, 4 Jan 2009 18:38:41 +0000 (21:38 +0300)]
remove trailing LF in die() messages
LF at the end of format strings given to die() is redundant because
die already adds one on its own.
Signed-off-by: Alexander Potashev <aspotashev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Clemens Buchacher [Thu, 1 Jan 2009 20:54:33 +0000 (21:54 +0100)]
unpack-trees: remove redundant path search in verify_absent
Since the only caller, verify_absent, relies on the fact that o->pos
points to the next index entry anyways, there is no need to recompute
its position.
Furthermore, if a nondirectory entry were found, this would return too
early, because there could still be an untracked directory in the way.
This is currently not a problem, because verify_absent is only called
if the index does not have this entry.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Clemens Buchacher [Thu, 1 Jan 2009 20:54:32 +0000 (21:54 +0100)]
unpack-trees: fix path search bug in verify_absent
Commit
0cf73755 (unpack-trees.c: assume submodules are clean during
check-out) changed an argument to verify_absent from 'path' to 'ce',
which is however shadowed by a local variable of the same name.
The bug triggers if verify_absent is used on a tree entry, for which
the index contains one or more subsequent directories of the same
length. The affected subdirectories are removed from the index. The
testcase included in this commit bisects to
55218834 (checkout: do not
lose staged removal), which reveals the bug in this case, but is
otherwise unrelated.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Clemens Buchacher [Thu, 1 Jan 2009 20:54:31 +0000 (21:54 +0100)]
unpack-trees: handle failure in verify_absent
Commit
203a2fe1 (Allow callers of unpack_trees() to handle failure)
changed the "die on error" behavior to "return failure code".
verify_absent did not handle errors returned by
verify_clean_subdirectory, however.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Henrik Austad [Mon, 5 Jan 2009 15:25:37 +0000 (16:25 +0100)]
Be consistent in switch usage for tar
tar handles switches with and witout preceding '-', but the
documentation should be consistent nonetheless.
Signed-off-by: Henrik Austad <henrik@austad.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Henrik Austad [Mon, 5 Jan 2009 15:25:36 +0000 (16:25 +0100)]
Use capitalized names where appropriate
The Linux kernel and Emacs are both spelled capitalized
Signed-off-by: Henrik Austad <henrik@austad.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Marcel M. Cary [Tue, 30 Dec 2008 15:10:24 +0000 (07:10 -0800)]
git-sh-setup: Fix scripts whose PWD is a symlink to a work-dir on OS X
On Mac OS X and possibly BSDs, /bin/pwd reads PWD from the environment if
available and shows the logical path by default rather than the physical
one.
Unset PWD before running /bin/pwd in both cd_to_toplevel and its test.
Still use the external /bin/pwd because in my Bash on Linux, the builtin
pwd prints the same result whether or not PWD is set.
Signed-off-by: Marcel M. Cary <marcel@oak.homeunix.org>
Tested-by: Wincent Colaiuta <win@wincent.com> (on Mac OS X 10.5.5)
Tested-by: Marcel Koeppen <git-dev@marzelpan.de> (on Mac OS X 10.5.6)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Markus Heidelberg [Thu, 1 Jan 2009 21:56:29 +0000 (22:56 +0100)]
Documentation: clarify which parameters are optional to git-cherry
An earlier parameter is only optional when all of the later parameters are
omitted.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Fabian Emmes [Fri, 2 Jan 2009 15:40:14 +0000 (16:40 +0100)]
cvsserver: change generation of CVS author names
CVS username is generated from local part email address.
We take the whole local part but restrict the character set to the
Portable Filename Character Set, which is used for Unix login names
according to Single Unix Specification v3.
This will obviously report different usernames from existing repositories
for commits with the local part of the author e-mail address that contains
characters outside the PFCS. Hopefully this won't break an old CVS
checkout from an earlier version of git-cvsserver, because the names are
always shown afresh to the CVS clients and not kept on the client side.
Signed-off-by: Fabian Emmes <fabian.emmes@rwth-aachen.de>
Signed-off-by: Lars Noschinski <lars@public.noschinski.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
SZEDER Gábor [Mon, 29 Dec 2008 15:05:46 +0000 (16:05 +0100)]
bash: add '--merge' to 'git reset'
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Fri, 2 Jan 2009 18:08:43 +0000 (19:08 +0100)]
show <tag>: reuse pp_user_info() instead of duplicating code
We used to extract the tagger information "by hand" in "git show <tag>",
but the function pp_user_info() already does that. Even better:
it respects the commit_format and date_format specified by the user.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Fri, 2 Jan 2009 18:08:40 +0000 (19:08 +0100)]
git add: do not add files from a submodule
It comes quite as a surprise to an unsuspecting Git user that calling
"git add submodule/file" (which is a mistake, alright) _removes_
the submodule in the index, and adds the file. Instead, complain loudly.
While at it, be nice when the user said "git add submodule/" which is
most likely the consequence of tab-completion, and stage the submodule,
instead of trying to add the contents of that directory.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Fri, 2 Jan 2009 18:08:46 +0000 (19:08 +0100)]
bundle: allow rev-list options to exclude annotated tags
With options such as "--all --since=2.weeks.ago", annotated tags used to
be included, when they should have been excluded. The reason is that we
heavily abuse the revision walker to determine what needs to be included
or excluded. And the revision walker does not show tags at all (and
therefore never marks tags as uninteresting).
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Giuseppe Bilotta [Fri, 2 Jan 2009 12:15:28 +0000 (13:15 +0100)]
gitweb: use href() when generating URLs in OPML
Since the OPML project list view was hand-coding the RSS and HTML URLs,
it didn't respect global options such as use_pathinfo. Make it use
href() to ensure consistency with the rest of the gitweb setup.
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>
Johannes Schindelin [Fri, 2 Jan 2009 18:08:00 +0000 (19:08 +0100)]
bisect view: call gitk if Cygwin's SESSIONNAME variable is set
It seems that Cygwin sets the variable SESSIONNAME when an interactive
desktop session is running, and does not set it when you log in via ssh.
So we can use this variable to determine whether to run gitk or git log
in git bisect view.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Miklos Vajna [Sat, 3 Jan 2009 03:59:12 +0000 (04:59 +0100)]
fast-export: print usage when no options specified
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Fabian Emmes [Fri, 2 Jan 2009 15:40:13 +0000 (16:40 +0100)]
cvsserver: add option to configure commit message
cvsserver annotates each commit message by "via git-CVS emulator". This is
made configurable via gitcvs.commitmsgannotation.
Signed-off-by: Fabian Emmes <fabian.emmes@rwth-aachen.de>
Signed-off-by: Lars Noschinski <lars@public.noschinski.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 3 Jan 2009 21:57:30 +0000 (13:57 -0800)]
Merge branch 'jc/maint-do-not-switch-to-non-commit'
* jc/maint-do-not-switch-to-non-commit:
git checkout: do not allow switching to a tree-ish that is not a commit
Junio C Hamano [Sat, 3 Jan 2009 21:57:10 +0000 (13:57 -0800)]
Merge branch 'ap/maint-apply-modefix'
* ap/maint-apply-modefix:
builtin-apply: prevent non-explicit permission changes
Junio C Hamano [Sat, 3 Jan 2009 12:07:32 +0000 (04:07 -0800)]
git checkout: do not allow switching to a tree-ish that is not a commit
"git checkout -b newbranch $commit^{tree}" mistakenly created a new branch
rooted at the current HEAD, because in that case, the two structure fields
used to see if the command was invoked without any argument (hence it
needs to default to checking out the HEAD) were populated incorrectly.
Upon seeing a command line argument that we took as a rev, we should store
that string in new.name, even if that does not name a commit. This will
correctly trigger the existing safety logic.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Daniel Barkalow <barkalow@iabervon.org>
Junio C Hamano [Fri, 2 Jan 2009 10:55:37 +0000 (02:55 -0800)]
builtin-apply: prevent non-explicit permission changes
A git patch that does not change the executable bit records the mode bits
on its "index" line. "git apply" used to interpret this mode exactly the
same way as it interprets the mode recorded on "new mode" line, as the
wish by the patch submitter to set the mode to the one recorded on the
line.
The reason the mode does not agree between the submitter and the receiver
in the first place is because there is _another_ commit that only appears
on one side but not the other since their histories diverged, and that
commit changes the mode. The patch has "index" line but not "new mode"
line because its change is about updating the contents without affecting
the mode. The application of such a patch is an explicit wish by the
submitter to only cherry-pick the commit that updates the contents without
cherry-picking the commit that modifies the mode. Viewed this way, the
current behaviour is problematic, even though the command does warn when
the mode of the path being patched does not match this mode, and a careful
user could detect this inconsistencies between the patch submitter and the
patch receiver.
This changes the semantics of the mode recorded on the "index" line;
instead of interpreting it as the submitter's wish to set the mode to the
recorded value, it merely informs what the mode submitter happened to
have, and the presense of the "index" line is taken as submitter's wish to
keep whatever the mode is on the receiving end.
This is based on the patch originally done by Alexander Potashev with a
minor fix; the tests are mine.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Fri, 2 Jan 2009 18:07:52 +0000 (19:07 +0100)]
git wrapper: Make while loop more reader-friendly
It is not a good practice to prefer performance over readability in
something as performance uncritical as finding the trailing slash
of argv[0].
So avoid head-scratching by making the loop user-readable, and not
hyper-performance-optimized.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Philippe Bruhat (BooK) [Mon, 29 Dec 2008 00:25:00 +0000 (01:25 +0100)]
Git.pm: correctly handle directory name that evaluates to "false"
The repository constructor mistakenly rewrote a Directory parameter that
Perl happens to evaluate to false (e.g. "0") to ".".
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 1 Jan 2009 13:48:40 +0000 (05:48 -0800)]
Merge branch 'cb/mergetool'
* cb/mergetool:
mergetool: Don't keep temporary merge files unless told to
mergetool: Add prompt to continue after failing to merge a file
Add -y/--no-prompt option to mergetool
Fix some tab/space inconsistencies in git-mergetool.sh
Junio C Hamano [Thu, 1 Jan 2009 13:48:35 +0000 (05:48 -0800)]
Merge branch 'maint'
* maint:
Documentation/git-tag.txt: minor typo and grammar fix
jidanni@jidanni.org [Sat, 27 Dec 2008 19:49:03 +0000 (03:49 +0800)]
Documentation/git-tag.txt: minor typo and grammar fix
Signed-off-by: jidanni <jidanni@jidanni.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nicolas Pitre [Tue, 30 Dec 2008 19:45:11 +0000 (14:45 -0500)]
objects to be pruned immediately don't have to be loosened
When there is no grace period before pruning unreferenced objects, it is
pointless to push those objects in their loose form just to delete them
right away.
Also be more explicit about the possibility of using "now" in the
gc.pruneexpire config variable (needed for the above behavior to
happen).
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nanako Shiraishi [Wed, 31 Dec 2008 10:00:50 +0000 (19:00 +0900)]
Document git-ls-tree --full-tree
Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Markus Heidelberg [Mon, 29 Dec 2008 17:45:20 +0000 (18:45 +0100)]
git-cherry: make <upstream> parameter optional
The upstream branch <upstream> now defaults to the first tracked
remote branch, which is set by the configuration variables
branch.<name>.remote and branch.<name>.merge of the current branch.
Without such a remote branch, the command "git cherry [-v]" fails with
usage output as before and an additional message.
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 29 Dec 2008 09:21:45 +0000 (01:21 -0800)]
Merge branch 'lt/reset-merge'
* lt/reset-merge:
Document "git-reset --merge"
Add 'merge' mode to 'git reset'
Junio C Hamano [Mon, 29 Dec 2008 09:21:33 +0000 (01:21 -0800)]
Merge branch 'np/auto-thread'
* np/auto-thread:
Force t5302 to use a single thread
pack-objects: don't use too many threads with few objects
autodetect number of CPUs by default when using threads
Junio C Hamano [Mon, 29 Dec 2008 09:18:34 +0000 (01:18 -0800)]
Merge branch 'maint'
* maint:
Prepare for v1.6.1.1 maintenance release
Documentation/diff-options.txt: unify options
gitweb: Fix export check in git_get_projects_list
Conflicts:
RelNotes
Junio C Hamano [Mon, 29 Dec 2008 09:17:34 +0000 (01:17 -0800)]
Prepare for v1.6.1.1 maintenance release
Signed-off-by: Junio C Hamano <gitster@pobox.com>
jidanni@jidanni.org [Mon, 29 Dec 2008 07:03:17 +0000 (15:03 +0800)]
Documentation/diff-options.txt: unify options
Instead of listing short option (e.g. "-U<n>") as a shorthand for its
longer counterpart (e.g. "--unified=<n>"), list the synonyms together. It
saves one indirection to find what the reader wants.
Signed-off-by: jidanni <jidanni@jidanni.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Markus Heidelberg [Sun, 28 Dec 2008 23:37:25 +0000 (00:37 +0100)]
doc/git-send-email: mention sendemail.cc config variable
This variable was added in
5f8b9fc (git-send-email: add a new
sendemail.cc configuration variable, 2008-04-27), but is not yet refered
to by the documentation.
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sun, 28 Dec 2008 18:45:32 +0000 (19:45 +0100)]
diff: add option to show context between close hunks
Merge two hunks if there is only the specified number of otherwise unshown
context between them. For --inter-hunk-context=1, the resulting patch has
the same number of lines but shows uninterrupted context instead of a
context header line in between.
Patches generated with this option are easier to read but are also more
likely to conflict if the file to be patched contains other changes.
This patch keeps the default for this option at 0. It is intended to just
make the feature available in order to see its advantages and downsides.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Teemu Likonen [Mon, 29 Dec 2008 08:03:09 +0000 (10:03 +0200)]
Fix the building of gitman.info document
"makeinfo" failed to generate gitman.info from gitman.texi input file
because the combined manual page file contains several nodes with the
same name (DESCRIPTION, OPTIONS, SEE ALSO etc.). An Info document should
contain unique node names.
This patch creates a simple (read: ugly) work-around by suppressing the
validation of the final Info file. Jumping to nodes in the Info document
still works but they are not very useful. Common man-page headings like
DESCRIPTION and OPTIONS appear in the Info node list and they point to
the man page where they appear first (that is git-add currently).
Also, this patch adds directory-entry information for Info document to
make the document appear in the top-level Info directory.
Signed-off-by: Teemu Likonen <tlikonen@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Teemu Likonen [Mon, 29 Dec 2008 08:03:08 +0000 (10:03 +0200)]
Fix the building of user-manual.texi and gitman.texi documents
Previously "docbook2x-texi" failed to generate user-manual.texi and
gitman.texi files from .xml input files because "iconv" stopped at
"illegal input sequence" error. This was due to some UTF-8 octets in the
input .xml files. This patch adds option --encoding=UTF-8 for
"docbook2x-texi" to allow the building of .texi files complete.
Signed-off-by: Teemu Likonen <tlikonen@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Devin Doucette [Sat, 27 Dec 2008 09:39:31 +0000 (02:39 -0700)]
gitweb: Fix export check in git_get_projects_list
When $filter was empty, the path passed to check_export_ok would
contain an extra '/', which some implementations of export_auth_hook
are sensitive to.
It makes more sense to fix this here than to handle the special case
in each implementation of export_auth_hook.
Signed-off-by: Devin Doucette <devin@doucette.cc>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 27 Dec 2008 22:25:14 +0000 (14:25 -0800)]
Merge branch 'maint'
* maint:
git-send-email.txt: move --format-patch paragraph to a proper location
git-shortlog.txt: improve documentation about .mailmap files
pretty: support multiline subjects with format:
pretty: factor out format_subject()
pretty: factor out skip_empty_lines()
merge-file: handle freopen() failure
daemon: cleanup: factor out xstrdup_tolower()
daemon: cleanup: replace loop with if
daemon: handle freopen() failure
describe: Avoid unnecessary warning when using --all
Junio C Hamano [Sat, 27 Dec 2008 22:25:10 +0000 (14:25 -0800)]
Start 1.6.2 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 27 Dec 2008 22:22:37 +0000 (14:22 -0800)]
Merge branch 'rs/maint-tformat-foldline' into maint
* rs/maint-tformat-foldline:
pretty: support multiline subjects with format:
pretty: factor out format_subject()
pretty: factor out skip_empty_lines()
Junio C Hamano [Sat, 27 Dec 2008 22:21:24 +0000 (14:21 -0800)]
Merge branch 'rs/maint-retval-fix' into maint
* rs/maint-retval-fix:
merge-file: handle freopen() failure
daemon: cleanup: factor out xstrdup_tolower()
daemon: cleanup: replace loop with if
daemon: handle freopen() failure
Junio C Hamano [Sat, 27 Dec 2008 22:21:15 +0000 (14:21 -0800)]
Merge branch 'sp/maint-describe-all-tag-warning' into maint
* sp/maint-describe-all-tag-warning:
describe: Avoid unnecessary warning when using --all
Adeodato Simó [Sat, 27 Dec 2008 08:50:30 +0000 (09:50 +0100)]
git-send-email.txt: move --format-patch paragraph to a proper location
When introducing --format-patch, its documentation was accidentally inserted
in the middle of documentation for --validate.
Signed-off-by: Adeodato Simó <dato@net.com.org.es>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adeodato Simó [Sat, 27 Dec 2008 18:23:30 +0000 (19:23 +0100)]
git-shortlog.txt: improve documentation about .mailmap files
The description on .mailmap made it seem like they are only useful for
commits with a wrong address for an author, but they are about fixing the
real name. Explain this better in the text, and replace the existing
example with a new one that hopefully makes things clearer.
Signed-off-by: Adeodato Simó <dato@net.com.org.es>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sat, 27 Dec 2008 00:49:21 +0000 (01:49 +0100)]
pretty: support multiline subjects with format:
git log --pretty=format:%s (and tformat:) used to display the first
line of the subject, unlike the other --pretty options, which would
construct a subject line from all lines of the first paragraph of
the commit message.
For consistency and increased code reuse, change format: to do the
same as the other options.
Before:
$ git log --pretty=oneline v1.6.1 | md5sum
7c0896d2a94fc3315a0372b9b3373a8f -
$ git log --pretty=tformat:"%H %s" v1.6.1 | md5sum
298903b1c065002e15daa5329213c51f -
After:
$ git log --pretty=tformat:"%H %s" v1.6.1 | md5sum
7c0896d2a94fc3315a0372b9b3373a8f -
$ git log --pretty=oneline v1.6.1 | md5sum
7c0896d2a94fc3315a0372b9b3373a8f -
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sat, 27 Dec 2008 00:39:35 +0000 (01:39 +0100)]
pretty: factor out format_subject()
The next patch will use it.
In the version that was factored out, we can't rely on the len of the
struct strbuf to find out if a line separator needs to be added, as
it might already contain something. Add a guard variable ("first")
instead.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sat, 27 Dec 2008 00:32:49 +0000 (01:32 +0100)]
pretty: factor out skip_empty_lines()
The patch after the next one will use it.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Fri, 26 Dec 2008 10:17:04 +0000 (11:17 +0100)]
merge-file: handle freopen() failure
Report the error if redirection of stderr to /dev/null failed.
This silences a compiler warning about ignoring the return value
of freopen() on Ubuntu 8.10.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Fri, 26 Dec 2008 10:12:15 +0000 (11:12 +0100)]
daemon: cleanup: factor out xstrdup_tolower()
Add xstrdup_tolower(), a helper to get a lower case copy of a
string, and use it in two cases.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>