Christian Couder [Thu, 29 May 2008 17:21:46 +0000 (19:21 +0200)]
Documentation: convert "glossary" and "core-tutorial" to man pages
This patch renames the following documents and at the same time converts
them to the man format:
core-tutorial.txt -> gitcore-tutorial.txt
glossary.txt -> gitglossary.txt
But as the glossary is included in the user manual and as the new
gitglossary man page cannot be included as a whole in the user manual,
the actual glossary content is now in its own "glossary-content.txt"
new file. And this file is included by both the user manual and the
gitglossary man page.
Other documents that reference the above ones are changed accordingly
and sometimes improved a little too.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Lea Wiemann [Sun, 1 Jun 2008 20:26:25 +0000 (22:26 +0200)]
Git.pm: fix documentation of hash_object
The documentation of hash_object incorrectly states that it accepts a
file handle -- in fact it doesn't, and there is even a TODO comment
for this. This fixes the documentation.
Signed-off-by: Lea Wiemann <LeWiemann@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Simpkins [Sun, 1 Jun 2008 20:56:58 +0000 (13:56 -0700)]
graph API: avoid printing unnecessary padding before some octopus merges
When an octopus merge is printed, several lines are printed before it to
move over existing branch lines to its right. This is needed to make
room for the children of the octopus merge. For example:
| | | |
| | \ \
| | \ \
| | \ \
| M---. \ \
| |\ \ \ \ \
However, this step isn't necessary if there are no branch lines to the
right of the octopus merge. Therefore, skip this step when it is not
needed, to avoid printing extra lines that don't really serve any
purpose.
Signed-off-by: Adam Simpkins <adam@adamsimpkins.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Simpkins [Sun, 1 Jun 2008 20:56:57 +0000 (13:56 -0700)]
graph API: improve display of merge commits
This change improves the way merge commits are displayed, to eliminate a
few visual artifacts. Previously, merge commits were displayed as:
| M \
| |\ |
As pointed out by Teemu Likonen, this didn't look nice if the rightmost
branch line was displayed as '\' on the previous line, as it then
appeared to have an extra space in it:
| |\
| M \
| |\ |
This change updates the code so that branch lines to the right of merge
commits are printed slightly differently depending on how the previous
line was displayed:
| |\ | | | | | /
| M \ | M | | M |
| |\ \ | |\ \ | |\ \
Signed-off-by: Adam Simpkins <adam@adamsimpkins.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Christian Engwer [Tue, 27 May 2008 08:46:55 +0000 (08:46 +0000)]
git-svn fails in prop_walk if $self->{path} is not empty
If url://repo/trunk is the current Git branch, prop_walk strips trunk
from the path name. That is useful as, for example "git svn show-ignore"
should not return results like
trunk/foo
but
foo
if svn:ignore for trunk includes foo.
The problem now is that prop_walk strips trunk from the path and then
calls itself recursively. But now trunk is missing in the path and
get_dir fails, because it is called for a non existing path.
The attached patch fixed the problem, by adding the previously stipped
$self->{path} in the recursive call. I tested it with my current
git-svn repository for the commands show-ignore and show-external.
Patch was submitted through
http://bugs.debian.org/477393
Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Seth Falcon [Tue, 20 May 2008 03:29:17 +0000 (20:29 -0700)]
Add a --dry-run option to git-svn rebase
When working with multiple branches in an svn repository, it can be
useful to verify the svn repository and local tracking branch that will
be used for the rebase operation.
Signed-off-by: Seth Falcon <seth@userprimary.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Karl Hasselström [Sat, 17 May 2008 15:07:09 +0000 (17:07 +0200)]
Fix path duplication in git svn commit-diff
Given an SVN repo file:///tmp/svntest/repo, trying to commit changes
to a file proj/trunk/foo.txt in that repo with this command line
git svn commit-diff -r2 HEAD^ HEAD file:///tmp/svntest/repo/proj/trunk
gave the error message
Filesystem has no item: File not found: transaction '2-6', path
'/proj/trunk/proj/trunk/foo.txt'
This fixes the duplication.
Signed-off-by: Karl Hasselström <kha@treskal.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John J. Franey [Thu, 29 May 2008 17:32:31 +0000 (13:32 -0400)]
Clarify description of <repository> argument to pull/fetch for naming remotes.
Alter the description of <repository> in OPTIONS section to
explicitly state that a 'remote name' is accepted.
Rewrite REMOTES section to more directly identify the
different kinds of remote-name permitted.
Signed-off-by: John J. Franey <jjfraney@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Paolo Bonzini [Thu, 29 May 2008 14:55:53 +0000 (16:55 +0200)]
rollback lock files on more signals than just SIGINT
Other signals are also common, for example SIGTERM and SIGHUP.
This patch modifies the lock file mechanism to catch more signals.
It also modifies http-push.c which was missing SIGTERM.
Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Miklos Vajna [Sat, 31 May 2008 00:18:08 +0000 (02:18 +0200)]
Revision walking documentation: document most important functions
Unfortunately the list is not complete, but includes the essential ones.
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jakub Narebski [Sat, 31 May 2008 18:28:18 +0000 (20:28 +0200)]
gitweb: Remove gitweb/test/ directory
Testing if gitweb handles filenames with spaces, filenames with plus
sign ('+') which encodes spaces in CGI parameters (in URLs), and
filenames with Unicode characters should be handled by gitweb tests.
Those files are remainder of the time when gitweb was project on its
own, not a part of git (with its testsuite).
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Marius Storm-Olsen [Fri, 30 May 2008 12:38:35 +0000 (14:38 +0200)]
Add shortcut in refresh_cache_ent() for marked entries.
When a cache entry has been marked as CE_VALID, the user has
promised us that any change in the work tree does not matter.
Just mark the entry as up-to-date, and continue.
Signed-off-by: Marius Storm-Olsen <marius@trolltech.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Marius Storm-Olsen [Fri, 30 May 2008 11:14:24 +0000 (13:14 +0200)]
Clearify the documentation for core.ignoreStat
The previous documentation didn't make it clear that the
"assume unchanged" was on per file basis, and not a global
flag.
Signed-off-by: Marius Storm-Olsen <marius@trolltech.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 28 May 2008 21:48:57 +0000 (14:48 -0700)]
"git checkout -- paths..." should error out when paths cannot be written
When "git checkout -- paths..." cannot update work tree for whatever
reason, checkout_entry() correctly issued an error message for the path to
the end user, but the command ignored the error, causing the entire
command to succeed. This fixes it.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 29 May 2008 00:03:46 +0000 (17:03 -0700)]
Documentation: git-cherry uses git-patch-id
Geoffrey Irving noticed that git-cherry talks about comparing commits without
hinting how they are compared.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 28 May 2008 23:55:27 +0000 (16:55 -0700)]
Manual subsection to refer to other pages is SEE ALSO
Consistently say so in all caps as it is customary to do so.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Christian Couder [Wed, 28 May 2008 16:57:02 +0000 (18:57 +0200)]
bisect: use "$GIT_DIR/BISECT_START" to check if we are bisecting
It seems simpler and safer to use the BISECT_START file everywhere
to decide if we are bisecting or not, instead of using it in some
places and BISECT_NAMES in other places.
In commit
6459c7c6786aa9bda0c7a095c9db66c36da0e5f0 (Nov 18 2007,
Bisect: use "$GIT_DIR/BISECT_NAMES" to check if we are bisecting.),
we decided to use BISECT_NAMES but code changed a lot and we now
have to check BISECT_START first in the "bisect_start" function
anyway.
This patch also makes things a little bit safer by creating
the BISECT_START file first and deleting it last, and also by
adding checks in "bisect_clean_state".
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Dmitry V. Levin [Wed, 28 May 2008 15:29:36 +0000 (19:29 +0400)]
builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value
Sync with builtin-fetch--tool.c where append_fetch_head()
honors update_local_ref() return value.
This fixes non fast forward fetch exit status,
http://bugzilla.altlinux.org/show_bug.cgi?id=15037
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 28 May 2008 16:47:43 +0000 (09:47 -0700)]
fix sha1_pack_index_name()
An earlier commit
633f43e (Remove redundant code, eliminate one static
variable, 2008-05-24) had a thinko (perhaps an eyeno) that broke
sha1_pack_index_name() function. One symptom of this was that the http
walker is now completely broken.
This should fix it.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 28 May 2008 06:33:22 +0000 (23:33 -0700)]
Git::cat_blob: allow using an empty blob to fix git-svn breakage
Recent "git-svn optimization" series introduced Git::cat_blob() subroutine
whose interface was broken in that it returned the size of the blob but
signalled an error by returning 0. You can never use an empty blob with
such an interface.
This fixes the interface to return a negative value to signal an error.
Reported by Björn Steinbrink.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 28 May 2008 06:12:29 +0000 (23:12 -0700)]
t5100: Avoid filename "nul"
There are broken filesystems that cannot have a file whose name is "nul"
anywhere on it. Rename the test file to make ourselves more portable.
Noticed by Mark Levedahl.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 28 May 2008 05:22:47 +0000 (22:22 -0700)]
Merge 1.5.5.3 in
Junio C Hamano [Wed, 28 May 2008 05:20:53 +0000 (22:20 -0700)]
GIT 1.5.5.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Gerrit Pape [Tue, 27 May 2008 08:59:16 +0000 (08:59 +0000)]
commit --interactive: properly update the index before commiting
When adding files through git commit --interactive, and 'quit'
afterwards, the message in the editor of the commit message indicates
that many (maybe all) files are deleted from the tree. Dismissing that
and running git commit afterwards does the right thing. This commit
fixes git commit --interactive to properly update the index before
commiting.
Reported by Jiří Paleček through
http://bugs.debian.org/480429
Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Lea Wiemann [Tue, 27 May 2008 23:25:42 +0000 (01:25 +0200)]
gitweb: only display "next" links in logs if there is a next page
There was a bug in the implementation of the "next" links in
format_paging_nav (for log and shortlog), which caused the next links
to always be displayed, even if there is no next page. This fixes it.
Signed-off-by: Lea Wiemann <LeWiemann@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Sixt [Mon, 26 May 2008 19:09:18 +0000 (21:09 +0200)]
Revert "filter-branch: subdirectory filter needs --full-history"
This reverts commit
cfabd6eee1745cfec58cfcb794ce8847e43b888a. I had
implemented it without understanding what --full-history does. Consider
this history:
C--M--N
/ / /
A--B /
\ /
D-/
where B and C modify a path, X, in the same way so that the result is
identical, and D does not modify it at all. With the path limiter X and
without --full-history this is simplified to
A--B
i.e. only one of the paths via B or C is chosen. I had assumed that
--full-history would keep both paths like this
C--M
/ /
A--B
removing the path via D; but in fact it keeps the entire history.
Currently, git does not have the capability to simplify to this
intermediary case. However, the other extreme to keep the entire history
is not wanted either in usual cases. I think we can expect that histories
like the above are rare, and in the usual cases we want a simplified
history. So let's remove --full-history again.
(Concerning t7003, subsequent tests depend on what the test case sets up,
so we can't just back out the entire test case.)
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Gerrit Pape [Tue, 27 May 2008 08:51:22 +0000 (08:51 +0000)]
Documentation/git-bundle.txt: fix synopsis
The <git-rev-list args> are mandatory to git bundle create, not
optional. The usage output of git bundle is already right on this.
Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Tue, 27 May 2008 14:28:43 +0000 (10:28 -0400)]
clone: make sure we support the transport type
If we use an unsupported transport (e.g., http when curl
support is not compiled in), transport_get reports an error
to the user, but we still get a transport object. We need to
manually check and abort the clone process at that point, or
we end up with a segfault.
Noticed by Thomas Rast.
Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Sixt [Tue, 27 May 2008 07:36:22 +0000 (09:36 +0200)]
t5700-clone-reference: Quote $U
The new "trash directory" bites again.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Karl Hasselström [Sun, 25 May 2008 16:14:29 +0000 (18:14 +0200)]
Add some tests for git update-ref -d
Signed-off-by: Karl Hasselström <kha@treskal.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 27 May 2008 05:38:19 +0000 (22:38 -0700)]
Merge branch 'jc/diff-no-no-index'
* jc/diff-no-no-index:
git diff --no-index: default to page like other diff frontends
git-diff: allow --no-index semantics a bit more
"git diff": do not ignore index without --no-index
diff-files: do not play --no-index games
tests: do not use implicit "git diff --no-index"
Junio C Hamano [Tue, 27 May 2008 05:35:07 +0000 (22:35 -0700)]
git diff --no-index: default to page like other diff frontends
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 27 May 2008 04:54:23 +0000 (21:54 -0700)]
git-diff: allow --no-index semantics a bit more
Even when inside a git work tree, if two paths are given and at least one
is clearly outside the work tree, it cannot be a request to diff a tracked
path anyway; allow such an invocation to use --no-index semantics.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 27 May 2008 02:49:01 +0000 (19:49 -0700)]
Merge branch 'maint'
* maint:
Documentation: fix graph in git-rev-parse.txt
show-branch --current: do not barf on detached HEAD
Junio C Hamano [Tue, 27 May 2008 02:15:03 +0000 (19:15 -0700)]
Merge branch 'gp/bisect-fix' into maint
* gp/bisect-fix:
bisect: print an error message when "git rev-list --bisect-vars" fails
git-bisect.sh: don't accidentally override existing branch "bisect"
Junio C Hamano [Tue, 27 May 2008 02:10:43 +0000 (19:10 -0700)]
Merge git://repo.or.cz/git-gui
* git://repo.or.cz/git-gui:
git-gui: Vertically align textboxes with labels
git-gui: Handle workdir detection when CYGWIN=nowinsymlinks
git-gui: Add a --trace command line option
Michele Ballabio [Mon, 26 May 2008 13:24:02 +0000 (15:24 +0200)]
Documentation: fix graph in git-rev-parse.txt
Preformatted html and man pages show a mangled graph, caused by a
backslash.
Commit
f1ec6b22a8c1ab1cca0f1875f85aea5d2434e5a6 fixed this same issue,
but it seems that new versions of the Asciidoc toolchain changed their
behaviour.
Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Twiinz [Mon, 19 May 2008 04:01:58 +0000 (00:01 -0400)]
git-gui: Vertically align textboxes with labels
In git-gui after clicking either on 'Create New Repository' or
'Open Existing Repository' the form elements aren't centered like
they are pretty much everywhere else in the app. At least when ran
on a mac, haven't checked on other platforms.
Using grid instead of pack seems to fix this.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Junio C Hamano [Mon, 26 May 2008 22:09:51 +0000 (15:09 -0700)]
show-branch --current: do not barf on detached HEAD
The code assumed that there always is the current branch, but the result
from resolve_ref() on detached HEAD does not even start with "refs/heads/".
Originally noticed and fixed by Stephan Beyer.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 26 May 2008 21:56:19 +0000 (14:56 -0700)]
Makefile: fix dependency on wt-status.h
Noticed by Hannes, reported by Dscho.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Mon, 26 May 2008 13:20:54 +0000 (14:20 +0100)]
hg-to-git: add --verbose option
This patch adds an option to make hg-to-git quiet by default. Note:
it only suppresses those messages that would be printed when everything
was up-to-date.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Acked-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 26 May 2008 04:14:09 +0000 (21:14 -0700)]
Documentation/git.txt: link to 1.5.5.2 documentation.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 26 May 2008 05:43:05 +0000 (22:43 -0700)]
Merge branch 'maint'
* maint:
builtin-fast-export: Only output a single parent per line
Release Notes for 1.5.5.2
Conflicts:
RelNotes
Junio C Hamano [Mon, 26 May 2008 05:34:23 +0000 (22:34 -0700)]
Merge branch 'jk/maint-send-email-compose' into maint
* jk/maint-send-email-compose:
send-email: rfc2047-quote subject lines with non-ascii characters
send-email: specify content-type of --compose body
Junio C Hamano [Mon, 26 May 2008 05:34:20 +0000 (22:34 -0700)]
Merge branch 'hb/maint-send-email-quote-recipients' into maint
* hb/maint-send-email-quote-recipients:
Fix recipient santitization
Junio C Hamano [Mon, 26 May 2008 05:34:05 +0000 (22:34 -0700)]
Merge branch 'maint-1.5.4' into maint
* maint-1.5.4:
builtin-fast-export: Only output a single parent per line
Pieter de Bie [Sat, 24 May 2008 23:21:53 +0000 (01:21 +0200)]
builtin-fast-export: Only output a single parent per line
According to the git-fast-import man-page, you can only put a single
committish per merge: line, like this:
merge :10
merge :11
However, git-fast-export puts all parents on a single line, like this:
merge :10 :11
This changes fast-export to output a single parent per line. Otherwise
neither git-fast-import nor bzr-fast-import can read its output.
[jc: fix-up to remove excess LF in the output that makes fast-import barf]
Signed-off-by: Pieter de Bie <pdebie@ai.rug.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 26 May 2008 04:11:24 +0000 (21:11 -0700)]
Release Notes for 1.5.5.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Shawn O. Pearce [Mon, 26 May 2008 02:18:05 +0000 (22:18 -0400)]
Ignore no-op changes in paranoid update hook
If the hook gets invoked with identical old and new ids there
is no change taking place. We probably should not have been
called, but instead of failing silently allow the no-op.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Shawn O. Pearce [Mon, 26 May 2008 02:18:01 +0000 (22:18 -0400)]
Don't load missing ACL files in paranoid update hook
If a user or group ACL file does not exist in the current tip
revision of the acl repository we will get an error from cat-file
when we ask for that blob as it cannot be resolved. A quick look
at the history by rev-list can tell us if there is a path there
or not.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Shawn O. Pearce [Mon, 26 May 2008 02:17:57 +0000 (22:17 -0400)]
Don't diff empty tree on branch creation in paranoid update hook
Listing all files in a branch during branch creation is silly;
the user's file-level ACLs probably don't mean anything at this
point. We now treat the base case of 0{40} as an empty diff,
as this happens only when the user is creating the branch and
there are file level ACLs that diff against the old value of
the branch.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 26 May 2008 03:19:30 +0000 (20:19 -0700)]
log --pretty: do not accept bogus "--prettyshort"
... nor bogus "format.pretty = '=short'". Both are syntax errors.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 26 May 2008 03:19:25 +0000 (20:19 -0700)]
log --graph: do not accept log --graphbogus
An obvious fix to the argument parser.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 26 May 2008 01:28:37 +0000 (18:28 -0700)]
Update draft release notes for 1.5.6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 25 May 2008 21:25:02 +0000 (14:25 -0700)]
Merge branch 'js/config-cb'
* js/config-cb:
Provide git_config with a callback-data parameter
Conflicts:
builtin-add.c
builtin-cat-file.c
Junio C Hamano [Sun, 25 May 2008 21:05:11 +0000 (14:05 -0700)]
Merge branch 'as/graph'
* as/graph:
get_revision(): honor the topo_order flag for boundary commits
Fix output of "git log --graph --boundary"
log --graph --left-right: show left/right information in place of '*'
graph API: don't print branch lines for uninteresting merge parents
graph API: fix graph mis-alignment after uninteresting commits
Junio C Hamano [Sun, 25 May 2008 21:05:09 +0000 (14:05 -0700)]
Merge branch 'js/mailinfo'
* js/mailinfo:
mailsplit: minor clean-up in read_line_with_nul()
mailinfo: apply the same fix not to lose NULs in BASE64 and QP codepaths
mailsplit and mailinfo: gracefully handle NUL characters
Junio C Hamano [Sun, 25 May 2008 21:03:50 +0000 (14:03 -0700)]
Merge branch 'jc/add-n-u'
* jc/add-n-u:
Make git add -n and git -u -n output consistent
"git-add -n -u" should not add but just report
Conflicts:
builtin-add.c
builtin-mv.c
cache.h
read-cache.c
Junio C Hamano [Sun, 25 May 2008 20:49:16 +0000 (13:49 -0700)]
Merge branch 'ar/t6031'
* ar/t6031:
Fix t6031 on filesystems without working exec bit
Junio C Hamano [Sun, 25 May 2008 20:38:44 +0000 (13:38 -0700)]
Merge branch 'db/clone-in-c'
* db/clone-in-c:
Add test for cloning with "--reference" repo being a subset of source repo
Add a test for another combination of --reference
Test that --reference actually suppresses fetching referenced objects
clone: fall back to copying if hardlinking fails
builtin-clone.c: Need to closedir() in copy_or_link_directory()
builtin-clone: fix initial checkout
Build in clone
Provide API access to init_db()
Add a function to set a non-default work tree
Allow for having for_each_ref() list extra refs
Have a constant extern refspec for "--tags"
Add a library function to add an alternate to the alternates file
Add a lockfile function to append to a file
Mark the list of refs to fetch as const
Conflicts:
cache.h
t/t5700-clone-reference.sh
Junio C Hamano [Sun, 25 May 2008 20:38:31 +0000 (13:38 -0700)]
Merge branch 'jc/apply-whitespace'
* jc/apply-whitespace:
builtin-apply: do not declare patch is creation when we do not know it
builtin-apply: accept patch to an empty file
builtin-apply: typofix
Junio C Hamano [Sun, 25 May 2008 20:38:27 +0000 (13:38 -0700)]
Merge branch 'jc/unpack-trees-reword'
* jc/unpack-trees-reword:
unpack-trees: allow Porcelain to give different error messages
Junio C Hamano [Sun, 25 May 2008 20:38:06 +0000 (13:38 -0700)]
Merge branch 'ar/batch-cat'
* ar/batch-cat:
change quoting in test t1006-cat-file.sh
builtin-cat-file.c: use parse_options()
git-svn: Speed up fetch
Git.pm: Add hash_and_insert_object and cat_blob
Git.pm: Add command_bidi_pipe and command_close_bidi_pipe
git-hash-object: Add --stdin-paths option
Add more tests for git hash-object
Move git-hash-object tests from t5303 to t1007
git-cat-file: Add --batch option
git-cat-file: Add --batch-check option
git-cat-file: Make option parsing a little more flexible
git-cat-file: Small refactor of cmd_cat_file
Add tests for git cat-file
Junio C Hamano [Sun, 25 May 2008 20:38:03 +0000 (13:38 -0700)]
Merge branch 'cc/bisect'
* cc/bisect:
bisect: use a detached HEAD to bisect
bisect: trap critical errors in "bisect_start"
bisect: fix left over "BISECT_START" file when starting with junk rev
bisect: add test cases to check that "git bisect start" is atomic
Junio C Hamano [Sun, 25 May 2008 20:37:25 +0000 (13:37 -0700)]
Merge branch 'ap/svn'
* ap/svn:
git-svn: add test for --add-author-from and --use-log-author
git-svn: add documentation for --add-author-from option.
git-svn: Add --add-author-from option.
git-svn: add documentation for --use-log-author option.
Junio C Hamano [Sun, 25 May 2008 20:37:20 +0000 (13:37 -0700)]
Merge branch 'js/cvsexportcommit'
* js/cvsexportcommit:
cvsexportcommit: introduce -W for shared working trees (between Git and CVS)
cvsexportcommit: chomp only removes trailing whitespace
Conflicts:
git-cvsexportcommit.perl
Junio C Hamano [Sun, 25 May 2008 20:37:08 +0000 (13:37 -0700)]
Merge branch 'js/ignore-submodule'
* js/ignore-submodule:
Ignore dirty submodule states during rebase and stash
Teach update-index about --ignore-submodules
diff options: Introduce --ignore-submodules
Junio C Hamano [Sun, 25 May 2008 20:37:04 +0000 (13:37 -0700)]
Merge branch 'mo/cvsserver'
* mo/cvsserver:
Documentation: Fix skipped section level
git-cvsserver: add ability to guess -kb from contents
implement gitcvs.usecrlfattr
git-cvsserver: add mechanism for managing working tree and current directory
Junio C Hamano [Sun, 25 May 2008 08:23:55 +0000 (01:23 -0700)]
mailsplit: minor clean-up in read_line_with_nul()
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 25 May 2008 08:16:05 +0000 (01:16 -0700)]
mailinfo: apply the same fix not to lose NULs in BASE64 and QP codepaths
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Fri, 16 May 2008 13:03:30 +0000 (14:03 +0100)]
mailsplit and mailinfo: gracefully handle NUL characters
The function fgets() has a big problem with NUL characters: it reads
them, but nobody will know if the NUL comes from the file stream, or
was appended at the end of the line.
So implement a custom read_line_with_nul() function.
Noticed by Tommy Thorn.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Clemens Buchacher [Sun, 25 May 2008 18:27:44 +0000 (20:27 +0200)]
http-push: remove remote locks on exit signals
If locks are not cleaned up the repository is inaccessible for 10 minutes.
Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Clemens Buchacher [Sun, 25 May 2008 18:26:50 +0000 (20:26 +0200)]
Reset the signal being handled
This did not cause any problems, because remove_lock_file_on_signal is
only registered for SIGINT.
Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Paul Oliver [Fri, 23 May 2008 18:29:22 +0000 (19:29 +0100)]
Make git-cvsimport remove ['s from tags, as bad_ref_char doesn't allow them.
Signed-off-by: Paul Oliver <puzza007@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Simpkins [Sat, 24 May 2008 23:02:05 +0000 (16:02 -0700)]
get_revision(): honor the topo_order flag for boundary commits
Now get_revision() sorts the boundary commits when topo_order is set.
Since sort_in_topological_order() takes a struct commit_list, it first
places the boundary commits into revs->commits.
Signed-off-by: Adam Simpkins <adam@adamsimpkins.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Simpkins [Sat, 24 May 2008 23:02:04 +0000 (16:02 -0700)]
Fix output of "git log --graph --boundary"
Previously the graphing API wasn't aware of the revs->boundary flag, and
it always assumed that commits marked UNINTERESTING would not be
displayed. As a result, the boundary commits were printed at the end of
the log output, but they didn't have any branch lines connecting them to
their children in the graph.
There was also another bug in the get_revision() code that caused
graph_update() to be called twice on the first boundary commit. This
caused the graph API to think that a commit had been skipped, and print
a "..." line in the output.
Signed-off-by: Adam Simpkins <adam@adamsimpkins.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Simpkins [Sun, 25 May 2008 07:07:21 +0000 (00:07 -0700)]
log --graph --left-right: show left/right information in place of '*'
With the --graph option, the graph already outputs 'o' instead of '*'
for boundary commits. Make it emit '<' or '>' when --left-right is
specified.
(This change also disables the '^' prefix for UNINTERESTING commits.
The graph code currently doesn't print anything special for these
commits, since it assumes no UNINTERESTING, non-BOUNDARY commits are
displayed. This is potentially a bug if UNINTERESTING non-BOUNDARY
commits can actually be displayed via some code path.)
[jc: squashed the left-right change from Dscho and Adam's fixup into one]
Signed-off-by: Adam Simpkins <adam@adamsimpkins.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Simpkins [Sat, 24 May 2008 02:24:11 +0000 (19:24 -0700)]
graph API: don't print branch lines for uninteresting merge parents
Previously, the graphing code printed lines coming out of a merge commit
for all of its parents, even if some of them were uninteresting. Now it
only prints lines for interesting commits.
For example, for a merge commit where only the first parent is
interesting, the code now prints:
* merge commit
* interesting child
instead of:
M merge commit
|\
* interesting child
Signed-off-by: Adam Simpkins <adam@adamsimpkins.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Simpkins [Sat, 24 May 2008 02:24:10 +0000 (19:24 -0700)]
graph API: fix graph mis-alignment after uninteresting commits
The graphing code had a bug that caused it to output branch lines
incorrectly after ignoring an uninteresting commit. When computing how
to match up the branch lines from the current commit to the next one, it
forgot to take into account that it needed to initially start with 2
empty spaces where the missing commit would have gone.
So, instead of drawing this,
| * | <- Commit with uninteresting parent
| /
* |
It used to incorrectly draw this:
| * | <- Commit with uninteresting parent
* |
Signed-off-by: Adam Simpkins <adam@adamsimpkins.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Christian Couder [Sat, 24 May 2008 18:56:44 +0000 (20:56 +0200)]
Documentation: convert tutorials to man pages
This patch renames the following documents and at the same time converts
them to the man page format:
cvs-migration.txt -> gitcvs-migration.txt
tutorial.txt -> gittutorial.txt
tutorial-2.txt -> gittutorial-2.txt
These new man pages are put in section 7, and other documents that reference
the above ones are change accordingly.
[jc: with help from Nanako to clean things up]
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Miklos Vajna [Thu, 22 May 2008 23:26:09 +0000 (01:26 +0200)]
CodingGuidelines: Add a note to avoid assignments inside if()
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Heikki Orsila [Fri, 23 May 2008 22:43:55 +0000 (01:43 +0300)]
Remove redundant code, eliminate one static variable
Signed-off-by: Heikki Orsila <heikki.orsila@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 24 May 2008 05:28:56 +0000 (22:28 -0700)]
"git diff": do not ignore index without --no-index
Even if "foo" and/or "bar" does not exist in index, "git diff foo bar"
should not change behaviour drastically from "git diff foo bar baz" or
"git diff foo". A feature that "sometimes works and is handy" is an
unreliable cute hack.
"git diff foo bar" outside a git repository continues to work as a more
colourful alternative to "diff -u" as before.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 24 May 2008 01:15:03 +0000 (18:15 -0700)]
diff-files: do not play --no-index games
Being able to say "git diff A B" outside a git repository and getting a
colourful version of "diff -u A B" may be nice, but such a cute hack
should not give bogus results to scripts that want to give two paths,
either or both of which happen to have been removed from the work tree,
to "git diff-files".
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 24 May 2008 05:28:56 +0000 (22:28 -0700)]
tests: do not use implicit "git diff --no-index"
As a general principle, we should not use "git diff" to validate the
results of what git command that is being tested has done. We would not
know if we are testing the command in question, or locating a bug in the
cute hack of "git diff --no-index".
Rather use test_cmp for that purpose.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 24 May 2008 01:28:52 +0000 (18:28 -0700)]
Merge git://git.kernel.org/pub/scm/gitk/gitk
* git://git.kernel.org/pub/scm/gitk/gitk:
gitk: Fix bug introduced by "gitk: Fix "wrong # coordinates" error on reload"
gitk: Fix bug where current row number display stops working
gitk: Move es.po where it belongs
gitk: Fix "wrong # coordinates" error on reload
Junio C Hamano [Fri, 23 May 2008 23:06:07 +0000 (16:06 -0700)]
Merge branch 'pb/push'
* pb/push:
add special "matching refs" refspec
Junio C Hamano [Fri, 23 May 2008 23:06:01 +0000 (16:06 -0700)]
Merge branch 'bc/repack'
* bc/repack:
Documentation/git-repack.txt: document new -A behaviour
let pack-objects do the writing of unreachable objects as loose objects
add a force_object_loose() function
builtin-gc.c: deprecate --prune, it now really has no effect
git-gc: always use -A when manually repacking
repack: modify behavior of -A option to leave unreferenced objects unpacked
Conflicts:
builtin-pack-objects.c
Junio C Hamano [Fri, 23 May 2008 23:05:52 +0000 (16:05 -0700)]
Merge branch 'sp/ignorecase'
* sp/ignorecase:
t0050: Fix merge test on case sensitive file systems
t0050: Add test for case insensitive add
t0050: Set core.ignorecase case to activate case insensitivity
t0050: Test autodetect core.ignorecase
git-init: autodetect core.ignorecase
Junio C Hamano [Fri, 23 May 2008 23:05:46 +0000 (16:05 -0700)]
Merge branch 'maint'
* maint:
rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref
Add missing "short" alternative to --date in rev-list-options.txt
git-show.txt: Not very stubby these days.
Clarify repack -n documentation
Heikki Orsila [Thu, 22 May 2008 15:24:07 +0000 (18:24 +0300)]
Add log.date config variable
log.date config variable sets the default date-time mode for the log
command. Setting log.date value is similar to using git log's --date
option.
Signed-off-by: Heikki Orsila <heikki.orsila@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 23 May 2008 22:52:43 +0000 (15:52 -0700)]
Merge branch 'maint-1.5.4' into maint
* maint-1.5.4:
rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref
Johannes Sixt [Fri, 23 May 2008 14:13:05 +0000 (16:13 +0200)]
rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref
The intention of --symbolic-full-name is to not print anything if a
revision is not an exact ref. But this command:
$ git-rev-parse --symbolic-full-name --not master~1
still emitted a sole '^' to stdout (provided that there's no other ref at
master~1). This fixes it.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Gustaf Hendeby [Thu, 22 May 2008 21:59:42 +0000 (23:59 +0200)]
Make git add -n and git -u -n output consistent
Output format from "git add -n $path" lists path to blobs that are going
to be added on a single line, separated with SP. On the other hand, the
suggested "git add -u -n" shows one path per line, like "add '<file>'\n".
Of course, these two are inconsistent.
Plain "git add -n" can afford to only say names of paths, as all it does
is to add (update). However, "git add -u" needs to be able to express
"remove" somehow. So if we need to have them formatted the same way, we
need to unify with the "git add -n -u" format. Incidentally, this is
consistent with how 'update-index' says it.
This changes the output from "git add -n $paths" but as a general
principle, output from Porcelain commands is a fair game for improvements
and not for script consumption.
Signed-off-by: Gustaf Hendeby <hendeby@isy.liu.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michele Ballabio [Fri, 23 May 2008 14:19:43 +0000 (16:19 +0200)]
change quoting in test t1006-cat-file.sh
Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michele Ballabio [Fri, 23 May 2008 14:19:42 +0000 (16:19 +0200)]
builtin-cat-file.c: use parse_options()
This simplifies the option parsing.
Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Roben [Fri, 23 May 2008 14:19:41 +0000 (16:19 +0200)]
git-svn: Speed up fetch
We were spending a lot of time forking/execing git-cat-file and
git-hash-object. We now maintain a global Git repository object in order to use
Git.pm's more efficient hash_and_insert_object and cat_blob methods.
Signed-off-by: Adam Roben <aroben@apple.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Roben [Fri, 23 May 2008 14:19:40 +0000 (16:19 +0200)]
Git.pm: Add hash_and_insert_object and cat_blob
These functions are more efficient ways of executing `git hash-object -w` and
`git cat-file blob` when you are dealing with many files/objects.
Signed-off-by: Adam Roben <aroben@apple.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Roben [Fri, 23 May 2008 14:19:39 +0000 (16:19 +0200)]
Git.pm: Add command_bidi_pipe and command_close_bidi_pipe
command_bidi_pipe hands back the stdin and stdout file handles from the
executed command. command_close_bidi_pipe closes these handles and terminates
the process.
Signed-off-by: Adam Roben <aroben@apple.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Adam Roben [Fri, 23 May 2008 14:19:38 +0000 (16:19 +0200)]
git-hash-object: Add --stdin-paths option
This allows multiple paths to be specified on stdin.
Signed-off-by: Adam Roben <aroben@apple.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>