OSDN Git Service
Alex Riesen [Wed, 23 May 2007 20:21:39 +0000 (22:21 +0200)]
Allow environment variables to be unset in the processes started by run_command
To unset a variable, just specify its name, without "=". For example:
const char *env[] = {"GIT_DIR=.git", "PWD", NULL};
const char *argv[] = {"git-ls-files", "-s", NULL};
int err = run_command_v_opt_cd_env(argv, RUN_GIT_CMD, ".", env);
The PWD will be unset before executing git-ls-files.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Alex Riesen [Tue, 22 May 2007 21:48:47 +0000 (23:48 +0200)]
Add ability to specify environment extension to run_command
There is no way to specify and override for the environment:
there'd be no user for it yet.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Alex Riesen [Tue, 22 May 2007 21:48:23 +0000 (23:48 +0200)]
Add run_command_v_opt_cd: chdir into a directory before exec
It can make code simplier (no need to preserve cwd) and safer
(no chance the cwd of the current process is accidentally forgotten).
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Thu, 24 May 2007 05:37:23 +0000 (22:37 -0700)]
Merge branch 'maint'
* maint:
Fix possible coredump with fast-import --import-marks
Refactor fast-import branch creation from existing commit
fast-import: Fix crash when referencing already existing objects
fast-import: Fix uninitialized variable
Documentation: fix git-config.xml generation
Junio C Hamano [Thu, 24 May 2007 05:37:03 +0000 (22:37 -0700)]
Merge branch 'maint' of git://repo.or.cz/git/fastimport into maint
* 'maint' of git://repo.or.cz/git/fastimport:
Fix possible coredump with fast-import --import-marks
Refactor fast-import branch creation from existing commit
fast-import: Fix crash when referencing already existing objects
fast-import: Fix uninitialized variable
Junio C Hamano [Thu, 24 May 2007 05:34:11 +0000 (22:34 -0700)]
Merge branch 'maint-1.5.1' into maint
* maint-1.5.1:
Documentation: fix git-config.xml generation
Shawn O. Pearce [Thu, 24 May 2007 04:32:31 +0000 (00:32 -0400)]
Fix possible coredump with fast-import --import-marks
When
e8438420bb7d368bec3647b90c557b9931582267 allowed us to reload
the marks table on subsequent runs of fast-import we really broke
things, as we set pack_id to MAX_PACK_ID for any objects we imported
into the marks table. Creating a branch from that mark should fail
as we attempt to read the object through a non-existant packed_git
pointer. Instead we have to use the normal Git object system to
locate the older commit, as we ourselves do not have a reference
to the packed_git it resides in.
This bug only occurred because t9300 was not complete enough.
When we added the --import-marks feature we didn't actually test
its implementation enough to verify the function worked as intended.
I have corrected that, and included the changes as part of this fix.
Prior versions of fast-import fail the new test(s); this commit
allows them to pass.
Credit for this bug find goes to Simon Hausmann <simon@lst.de> as
he recently identified a similiar bug in the tree lazy-loading path.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce [Thu, 24 May 2007 04:05:19 +0000 (00:05 -0400)]
Refactor fast-import branch creation from existing commit
To resolve a corner case uncovered by Simon Hausmann I need to
reuse the logic for the SHA-1 expression version of the 'from '
command within the mark version of the 'from ' command. This change
doesn't alter any functionality, but is merely breaking the common
code out to a function that I can reuse.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Simon Hausmann [Wed, 23 May 2007 21:01:49 +0000 (23:01 +0200)]
fast-import: Fix crash when referencing already existing objects
Commit
a5c1780a0355a71b9fb70f1f1977ce726ee5b8d8 sets the pack_id of existing
objects to MAX_PACK_ID. When the same object is referenced later again it is
found in the local object hash. With such a pack_id fast-import should not try
to locate that object in the newly created pack(s).
Signed-off-by: Simon Hausmann <simon@lst.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Simon Hausmann [Wed, 23 May 2007 21:00:22 +0000 (23:00 +0200)]
fast-import: Fix uninitialized variable
Fix uninitialized last_object->no_free variable that is accessed in
store_object.
Signed-off-by: Simon Hausmann <simon@lst.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
James Bowes [Wed, 23 May 2007 22:16:12 +0000 (18:16 -0400)]
Documentation: fix git-config.xml generation
Signed-off-by: James Bowes <jbowes@dangerouslyinc.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Mark Levedahl [Sun, 20 May 2007 15:46:46 +0000 (11:46 -0400)]
gitweb.perl - Optionally send archives as .zip files
git-archive already knows how to generate an archive as a tar or a zip
file, but gitweb did not. zip archvies are much more usable in a Windows
environment due to native support and this patch allows a site admin the
option to deliver zip rather than tar files. The selection is done by
inserting
$feature{'snapshot'}{'default'} = ['x-zip', 'zip', ''];
in gitweb_config.perl.
Tar files remain the default option.
Signed-off-by: Mark Levedahl <mdl123@verizon.net>
Acked-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Wed, 23 May 2007 21:54:18 +0000 (14:54 -0700)]
Merge branch 'fl/cvsserver'
* fl/cvsserver:
t9400: Add some basic pserver tests
t9400: Add some more cvs update tests
t9400: Add test cases for config file handling
Junio C Hamano [Wed, 23 May 2007 18:39:58 +0000 (11:39 -0700)]
Merge branch 'ar/progress'
* ar/progress:
Fix the progress code to output LF only when it is really needed
Junio C Hamano [Wed, 23 May 2007 18:39:53 +0000 (11:39 -0700)]
Merge branch 'maint'
* maint:
Use git-for-each-ref to check whether the origin branch exists.
Alex Riesen [Wed, 23 May 2007 16:07:25 +0000 (18:07 +0200)]
Fix the progress code to output LF only when it is really needed
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Stephan Springl [Wed, 23 May 2007 11:13:21 +0000 (12:13 +0100)]
Use git-for-each-ref to check whether the origin branch exists.
This works in repositories that have their refs packed by
"git-pack-refs --all --prune" whereas testing the file
$git_dir/refs/heads/$opt_o does not.
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Wed, 23 May 2007 05:52:59 +0000 (22:52 -0700)]
Fix command line parameter parser of revert/cherry-pick
The parser was inconsistently done, in that it did not look at
the last command line parameter to see if it could be an unknown
option, although it was designed to notice unknown options if
they were given in positions the command expects to find them
(i.e. everything except the last parameter, which ought to be
<commit-ish>). This prevented a very natural invocation
$ git cherry-pick --usage
from issuing the usage help.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Wed, 23 May 2007 07:17:47 +0000 (00:17 -0700)]
Merge branch 'jn/lstree'
* jn/lstree:
Add an option to git-ls-tree to display also the size of blob
Junio C Hamano [Wed, 23 May 2007 07:16:11 +0000 (00:16 -0700)]
Merge branch 'maint'
* maint:
Document branch.autosetupmerge.
Junio C Hamano [Wed, 23 May 2007 07:15:35 +0000 (00:15 -0700)]
Merge branch 'maint-1.5.1' into maint
* maint-1.5.1:
Document branch.autosetupmerge.
Paolo Bonzini [Wed, 23 May 2007 05:07:54 +0000 (07:07 +0200)]
Document branch.autosetupmerge.
This patch documents the branch.autosetupmerge config option, added
by commit
0746d19a.
Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Frank Lichtenheld [Sun, 20 May 2007 22:31:58 +0000 (00:31 +0200)]
t9400: Add some basic pserver tests
While we can easily test the cvs <-> git-cvsserver
communication with :fork: and git-cvsserver server
there are some pserver specifics we should test, too.
Currently this are two tests of the pserver authentication.
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Frank Lichtenheld [Sun, 20 May 2007 22:31:57 +0000 (00:31 +0200)]
t9400: Add some more cvs update tests
Add some cvs update tests that include various merge
situations. Also add a basic test for update -C
since it fits so well in there.
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Frank Lichtenheld [Sun, 20 May 2007 22:31:56 +0000 (00:31 +0200)]
t9400: Add test cases for config file handling
Add a few test cases for the config file parsing
done by git-cvsserver.
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Tue, 22 May 2007 06:57:05 +0000 (23:57 -0700)]
Merge branch 'mc/ws'
* mc/ws:
git-apply: Fix removal of new trailing blank lines.
Teach 'git-apply --whitespace=strip' to remove empty lines at the end of file
Shawn O. Pearce [Mon, 21 May 2007 07:20:25 +0000 (03:20 -0400)]
Teach git-describe how to run name-rev
Often users want to know not which tagged version a commit came
after, but which tagged version a commit is contained within.
This latter task is the job of git-name-rev, but most users are
looking to git-describe to do the job.
Junio suggested we make `git describe --contains` run the correct
tool, `git name-rev`, and that's exactly what we do here. The output
of name-rev was adjusted slightly through the new --name-only option,
allowing describe to execv into name-rev and maintain its current
output format.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Martin Waitz [Mon, 21 May 2007 20:08:28 +0000 (22:08 +0200)]
rename dirlink to gitlink.
Unify naming of plumbing dirlink/gitlink concept:
git ls-files -z '*.[ch]' |
xargs -0 perl -pi -e 's/dirlink/gitlink/g;' -e 's/DIRLNK/GITLINK/g;'
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Tue, 22 May 2007 03:03:53 +0000 (20:03 -0700)]
Merge branch 'maint'
* maint:
git-cvsserver: fix disabling service via per-method config
git-status: respect core.excludesFile
SubmittingPatches: mention older C compiler compatibility
git-daemon: don't ignore pid-file write failure
Junio C Hamano [Mon, 21 May 2007 00:57:27 +0000 (17:57 -0700)]
git-cvsserver: fix disabling service via per-method config
When the per-method enable logic disables the access, we should
not even look at the global one.
git-cvsserver.perl | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Tue, 22 May 2007 01:42:35 +0000 (18:42 -0700)]
Merge branch 'maint-1.5.1' into maint
* maint-1.5.1:
git-status: respect core.excludesFile
SubmittingPatches: mention older C compiler compatibility
git-daemon: don't ignore pid-file write failure
Johannes Schindelin [Tue, 22 May 2007 00:12:17 +0000 (01:12 +0100)]
git-status: respect core.excludesFile
git-add reads this variable, and honours the contents of that file if that
exists. Match this behaviour in git-status, too.
Noticed by Evan Carroll on IRC.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Johannes Schindelin [Mon, 21 May 2007 12:48:49 +0000 (13:48 +0100)]
SubmittingPatches: mention older C compiler compatibility
We do not appreciate C99 initializers, declarations after statements,
or "0" instead of "NULL".
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Jim Meyering [Mon, 21 May 2007 07:58:01 +0000 (09:58 +0200)]
git-daemon: don't ignore pid-file write failure
Note: since the consequence of failure is to call die,
I don't bother to close "f".
Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Mon, 21 May 2007 06:51:06 +0000 (23:51 -0700)]
git-apply: Fix removal of new trailing blank lines.
The earlier code removed one newline too many from the hunk that
adds new lines at the end of the file. Also the way the code
counted the added blank lines was somewhat roundabout; I think
the way updated code does it is more direct and easier to
follow:
* We keep track of the number of blank lines added;
* While processing each line, we notice if it adds a blank
line, and increment the counter, or reset it to zero
otherwise;
* When actually we apply the data, we remove the empty lines we
counted earlier if we are applying it at the end of the
file.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Jakub Narebski [Sat, 19 May 2007 20:08:11 +0000 (22:08 +0200)]
Add an option to git-ls-tree to display also the size of blob
Add -l/--long option to git-ls-tree command, which displays
object size of a blob entry. Object size is placed after
object id (left-justified with minimum width of 7 characters).
For non-blob entries `-' is used.
Rationale: for non-blob entries size of an object has no much
meaning, and is not very interesting. Moreover, in planned
pack v4 tree objects would be constructed on demand, so tree
size would need to be calculated.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Marco Costalba [Sun, 20 May 2007 12:45:59 +0000 (14:45 +0200)]
Teach 'git-apply --whitespace=strip' to remove empty lines at the end of file
[jc: with an obvious microfix to avoid doing this unless --whitespace=strip]
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Petr Baudis [Sat, 19 May 2007 00:13:29 +0000 (02:13 +0200)]
git-rev-list: Add regexp tuning options
This patch introduces --extended-regexp and --regexp-ignore-case options to
tune what kind of patterns the pattern-limiting options (--grep, --author,
...) accept.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Jakub Narebski [Sat, 19 May 2007 00:19:20 +0000 (02:19 +0200)]
gitweb: Add test t9500 for gitweb (as standalone script)
This test runs gitweb (git web interface) as CGI script from
commandline, and checks that it would not write any errors
or warnings to log.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Mon, 21 May 2007 02:58:03 +0000 (19:58 -0700)]
Merge branch 'maint'
* maint:
annotate: make it work from subdirectories.
git-config: Correct asciidoc documentation for --int/--bool
t1300: Add tests for git-config --bool --get
unpack-trees.c: verify_uptodate: remove dead code
Use PATH_MAX instead of TEMPFILE_PATH_LEN
branch: fix segfault when resolving an invalid HEAD
Junio C Hamano [Mon, 21 May 2007 02:57:00 +0000 (19:57 -0700)]
Merge branch 'maint-1.5.1' into maint
* maint-1.5.1:
annotate: make it work from subdirectories.
git-config: Correct asciidoc documentation for --int/--bool
t1300: Add tests for git-config --bool --get
unpack-trees.c: verify_uptodate: remove dead code
Use PATH_MAX instead of TEMPFILE_PATH_LEN
branch: fix segfault when resolving an invalid HEAD
Junio C Hamano [Mon, 21 May 2007 02:56:28 +0000 (19:56 -0700)]
annotate: make it work from subdirectories.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Frank Lichtenheld [Sun, 20 May 2007 22:12:58 +0000 (00:12 +0200)]
git-config: Correct asciidoc documentation for --int/--bool
The asciidoc documentation seemed to indicate that type specifiers
are honoured on writing operations which they aren't. Make this
more clear.
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Frank Lichtenheld [Sun, 20 May 2007 22:12:57 +0000 (00:12 +0200)]
t1300: Add tests for git-config --bool --get
Noticed that there were only tests for --int, but not
for --bool. Add some.
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Sven Verdoolaege [Sun, 20 May 2007 17:26:37 +0000 (19:26 +0200)]
unpack-trees.c: verify_uptodate: remove dead code
This code was killed by commit
fcc387db9bc453dc7e07a262873481af2ee9e5c8.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Fernando J. Pereda [Sun, 20 May 2007 13:35:46 +0000 (15:35 +0200)]
Use PATH_MAX instead of TEMPFILE_PATH_LEN
Signed-off-by: Fernando J. Pereda <ferdy@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Jonas Fonseca [Sun, 20 May 2007 12:19:17 +0000 (14:19 +0200)]
branch: fix segfault when resolving an invalid HEAD
Caused by return value of resolve_ref being passed directly
to xstrdup whereby the sanity checking was never reached.
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Sun, 20 May 2007 09:19:19 +0000 (02:19 -0700)]
Merge branch 'dh/pack'
* dh/pack:
Custom compression levels for objects and packs
Junio C Hamano [Sun, 20 May 2007 09:18:50 +0000 (02:18 -0700)]
Merge branch 'mst/connect'
* mst/connect:
connect: display connection progress
Junio C Hamano [Sun, 20 May 2007 09:18:47 +0000 (02:18 -0700)]
Merge branch 'sv/checkout'
* sv/checkout:
git-update-ref: add --no-deref option for overwriting/detaching ref
Junio C Hamano [Sun, 20 May 2007 09:18:43 +0000 (02:18 -0700)]
Merge branch 'np/pack'
* np/pack:
deprecate the new loose object header format
make "repack -f" imply "pack-objects --no-reuse-object"
allow for undeltified objects not to be reused
Junio C Hamano [Sun, 20 May 2007 09:18:40 +0000 (02:18 -0700)]
Merge branch 'tt/gc'
* tt/gc:
Add --aggressive option to 'git gc'
Junio C Hamano [Sun, 20 May 2007 09:18:37 +0000 (02:18 -0700)]
Merge branch 'jb/statcolor'
* jb/statcolor:
Add colour support in rebase and merge tree diff stats output.
Junio C Hamano [Sun, 20 May 2007 07:30:39 +0000 (00:30 -0700)]
GIT 1.5.2
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Sun, 20 May 2007 00:53:45 +0000 (17:53 -0700)]
git-cvsserver: exit with 1 upon "I HATE YOU"
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Sun, 20 May 2007 07:19:30 +0000 (00:19 -0700)]
Merge branch 'maint' to synchronize with 1.5.1.6
* maint:
GIT 1.5.1.6
git-svn: don't minimize-url when doing an init that tracks multiple paths
git-svn: avoid crashing svnserve when creating new directories
user-manual: Add section on ignoring files
user-manual: finding commits referencing given file content
user-manual: discourage shared repository
tutorial: revise index introduction
tutorials: add user-manual links
Conflicts:
GIT-VERSION-GEN
RelNotes
Junio C Hamano [Sun, 20 May 2007 01:18:24 +0000 (18:18 -0700)]
GIT 1.5.1.6
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Sun, 20 May 2007 06:25:59 +0000 (23:25 -0700)]
Merge branch 'maint' of git://linux-nfs.org/~bfields/git into maint
* 'maint' of git://linux-nfs.org/~bfields/git:
user-manual: Add section on ignoring files
user-manual: finding commits referencing given file content
user-manual: discourage shared repository
tutorial: revise index introduction
tutorials: add user-manual links
Eric Wong [Sat, 19 May 2007 10:59:02 +0000 (03:59 -0700)]
git-svn: don't minimize-url when doing an init that tracks multiple paths
I didn't have a chance to test the off-by-default minimize-url
stuff enough before, but it's quite broken for people passing
the --trunk/-T, --tags/-t, --branches/-b switches to "init" or
"clone" commands.
Additionally, follow-parent functionality seems broken when we're
not connected to the root of the repository.
Default behavior for "traditional" git-svn users who only track
one directory (without needing follow-parent) should be
reasonable, as those users started using things before
minimize-url functionality existed.
Behavior for users more used to the git-svnimport-like command
line will also benefit from a more-flexible command-line than
svnimport given the assumption they're working with
non-restrictive read permissions on the repository.
I hope to properly fix these bugs when I get a chance to in the
next week or so, but I would like to get this stopgap measure of
reverting to the old behavior as soon as possible.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Eric Wong [Sat, 19 May 2007 09:58:37 +0000 (02:58 -0700)]
git-svn: avoid crashing svnserve when creating new directories
When sorting directory names by depth (slash ("/") count) and
closing the deepest directories first (as the protocol
requires), we failed to put the root baton (with an empty string
as its key "") after top-level directories (which did not have
any slashes).
This resulted in svnserve being in a situation it couldn't
handle and caused a segmentation fault on the remote server.
This bug did not affect users of DAV and filesystem repositories.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Confirmed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Johan Herland [Wed, 16 May 2007 00:31:40 +0000 (02:31 +0200)]
user-manual: Add section on ignoring files
The todo list at the end of the user manual says that something must be
said about .gitignore. Also, there seems to be a lack of documentation
on how to choose between the various types of ignore files (.gitignore
vs. .git/info/exclude, etc.).
This patch adds a section on ignoring files which try to introduce how
to tell git about ignored files, and how the different strategies
complement eachother.
The syntax of exclude patterns is explained in a simplified manner, with
a reference to git-ls-files(1) which already contains a more thorough
explanation.
Signed-off-by: Johan Herland <johan@herland.net>
J. Bruce Fields [Sat, 19 May 2007 04:37:25 +0000 (00:37 -0400)]
user-manual: finding commits referencing given file content
Another amusing git exploration example brought up in irc. (Credit to
aeruder for the complete solution.)
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Tue, 15 May 2007 04:30:58 +0000 (00:30 -0400)]
user-manual: discourage shared repository
I don't really want to look like we're encouraging the shared repository
thing. Take down some of the argument for using purely
single-developer-owned repositories and collaborating using patches and
pulls instead.
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Fri, 18 May 2007 04:51:42 +0000 (00:51 -0400)]
tutorial: revise index introduction
The embarassing history of this tutorial is that I started it without
really understanding the index well, so I avoided mentioning it.
And we all got the idea that "index" was a word to avoid using around
newbies, but it was reluctantly mentioned that *something* had to be
said. The result is a little awkward: the discussion of the index never
actually uses that word, and isn't well-integrated into the surrounding
material.
Let's just go ahead and use the word "index" from the very start, and
try to demonstrate its use with a minimum of lecturing.
Also, remove discussion of using git-commit with explicit filenames.
We're already a bit slow here to get people to their first commit, and
I'm not convinced this is really so important.
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Fri, 18 May 2007 03:56:08 +0000 (23:56 -0400)]
tutorials: add user-manual links
Mention the user manual, especially as an alternative introduction for
user's mainly interested in read-only operations.
And fix a typo while we're there.
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Junio C Hamano [Sat, 19 May 2007 04:50:56 +0000 (21:50 -0700)]
Merge branch 'maint'
* maint:
Documentation: Reformatted SYNOPSIS for several commands
Documentation: Added [verse] to SYNOPSIS where necessary
Matthias Kestenholz [Fri, 18 May 2007 13:39:34 +0000 (15:39 +0200)]
Documentation: Reformatted SYNOPSIS for several commands
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Matthias Kestenholz [Fri, 18 May 2007 13:39:33 +0000 (15:39 +0200)]
Documentation: Added [verse] to SYNOPSIS where necessary
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Sat, 19 May 2007 04:43:13 +0000 (21:43 -0700)]
Documentation/git.txt: Update links to older documentation pages.
It's starting to take too much space at the beginning of the
main documentation page.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Jakub Narebski [Sat, 19 May 2007 00:47:51 +0000 (02:47 +0200)]
gitweb: Fix "Use of uninitialized value" warning in git_feed
Initial (root) commit has no parents, and $co{'parent'} is
undefined. Use '--root' for initial commit.
This fixes "Use of uninitialized value in open at gitweb/gitweb.perl
line 4925." warning.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Sat, 19 May 2007 00:28:50 +0000 (17:28 -0700)]
Merge branch 'sp/cvsexport'
* sp/cvsexport:
Optimized cvsexportcommit: calling 'cvs status' once instead of once per touched file.
Junio C Hamano [Sat, 19 May 2007 00:28:24 +0000 (17:28 -0700)]
Add link to 1.5.1.5 release notes.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Sat, 19 May 2007 00:27:08 +0000 (17:27 -0700)]
Merge 1.5.1.5 in
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Sat, 19 May 2007 00:21:31 +0000 (17:21 -0700)]
GIT v1.5.1.5
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Sat, 19 May 2007 00:13:47 +0000 (17:13 -0700)]
Merge branch 'maint' of git://linux-nfs.org/~bfields/git into maint
* 'maint' of git://linux-nfs.org/~bfields/git:
user-manual: reorganize public git repo discussion
user-manual: listing commits reachable from some refs not others
user-manual: introduce git
user-manual: add a "counting commits" example
user-manual: move howto/using-topic-branches into manual
user-manual: move howto/make-dist.txt into user manual
Documentation: remove howto's now incorporated into manual
user-manual: move quick-start to an appendix
glossary: expand and clarify some definitions, prune cross-references
user-manual: revise birdseye-view chapter
Add a birdview-on-the-source-code section to the user manual
Petr Baudis [Fri, 18 May 2007 23:12:32 +0000 (01:12 +0200)]
gitweb: Remove redundant $searchtype setup
Sorry, this was inadverently introduced by my grep search patch. It causes
annoying "redefined" warnings.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Petr Baudis [Fri, 18 May 2007 23:21:53 +0000 (01:21 +0200)]
Documentation: git-rev-list's "patterns"
git-rev-list(1) talks about patterns as values for the
--grep, --committed etc. parameters, without going into detail.
This patch mentions that these patterns are actually regexps.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Andy Parkins [Fri, 18 May 2007 12:33:32 +0000 (13:33 +0100)]
Fix crlf attribute handling to match documentation
gitattributes.txt says, of the crlf attribute:
Set::
Setting the `crlf` attribute on a path is meant to mark
the path as a "text" file. 'core.autocrlf' conversion
takes place without guessing the content type by
inspection.
That is to say that the crlf attribute does not force the file to have
CRLF line endings, instead it removes the autocrlf guesswork and forces
the file to be treated as text. Then, whatever line ending is defined
by the autocrlf setting is applied.
However, that is not what convert.c was doing. The conversion to CRLF
was being skipped in crlf_to_worktree() when the following condition was
true:
action == CRLF_GUESS && auto_crlf <= 0
That is to say conversion took place when not in guess mode (crlf attribute
not specified) or core.autocrlf set to true. This was wrong. It meant
that the crlf attribute being on for a given file _forced_ CRLF
conversion, when actually it should force the file to be treated as
text, and converted accordingly. The real test should simply be
auto_crlf <= 0
That is to say, if core.autocrlf is falsei (or input), conversion from
LF to CRLF is never done. When core.autocrlf is true, conversion from
LF to CRLF is done only when in CRLF_GUESS (and the guess is "text"), or
CRLF_TEXT mode.
Similarly for crlf_to_worktree(), if core.autocrlf is false, no conversion
should _ever_ take place. In reality it was only not taking place if
core.autocrlf was false _and_ the crlf attribute was unspecified.
Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
René Scharfe [Fri, 18 May 2007 22:09:41 +0000 (00:09 +0200)]
git-archive: convert archive entries like checkouts do
As noted by Johan Herland, git-archive is a kind of checkout and needs
to apply any checkout filters that might be configured.
This patch adds the convenience function convert_sha1_file which returns
a buffer containing the object's contents, after converting, if necessary
(i.e. it's a combination of read_sha1_file and convert_to_working_tree).
Direct calls to read_sha1_file in git-archive are then replaced by calls
to convert_sha1_file.
Since convert_sha1_file expects its path argument to be NUL-terminated --
a convention it inherits from convert_to_working_tree -- the patch also
changes the path handling in archive-tar.c to always NUL-terminate the
string. It used to solely rely on the len field of struct strbuf before.
archive-zip.c already NUL-terminates the path and thus needs no such
change.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
J. Bruce Fields [Tue, 15 May 2007 04:00:29 +0000 (00:00 -0400)]
user-manual: reorganize public git repo discussion
Helping a couple people set up public repos recently, I wanted to point
them at this piece of the user manual, but found it wasn't as helpful as
it could be:
- It starts with a big explanation of why you'd want a public
repository, not necessary in their case since they already knew
why they wanted that. So, separate that out.
- It skimps on some of the git-daemon details, and puts the http
export information first. Fix that.
Also group all the public repo subsections into a single section, and do
some miscellaneous related editing.
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Mon, 14 May 2007 02:58:06 +0000 (22:58 -0400)]
user-manual: listing commits reachable from some refs not others
This is just an amusing example raised by someone in irc.
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Sun, 13 May 2007 06:23:11 +0000 (02:23 -0400)]
user-manual: introduce git
Well, we should say at least something about what git is.
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Sun, 13 May 2007 06:14:45 +0000 (02:14 -0400)]
user-manual: add a "counting commits" example
This is partly just an excuse to mention --pretty= and rev-list.
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Sun, 13 May 2007 05:48:47 +0000 (01:48 -0400)]
user-manual: move howto/using-topic-branches into manual
Move howto/using-topic-branches into the user manual as an example for
the "sharing development" chapter. While we're at it, remove some
discussion that's covered in earlier chapters, modernize somewhat (use
separate-heads setup, remotes, replace "whatchanged" by "log", etc.),
and replace syntax we'd need to explain by syntax we've already covered
(e.g. old..new instead of new ^old).
The result may not really describe what Tony Luck does any more.... Hope
that's not annoying.
Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Sun, 13 May 2007 04:14:40 +0000 (00:14 -0400)]
user-manual: move howto/make-dist.txt into user manual
There seems to be a perception that the howto's are bit-rotting a
little. The manual might be a more visible location for some of them,
and make-dist.txt seems like a good candidate to include as an example
in the manual.
For now, incorporate much of it verbatim. Later we may want to update
the example a bit.
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Sun, 13 May 2007 03:52:24 +0000 (23:52 -0400)]
Documentation: remove howto's now incorporated into manual
These two howto's have both been copied into the manual. I'd rather not
maintain both versions if possible, and I think the user-manual will be
more visible than the howto directory. (Though I wouldn't mind some
duplication if people really like having them here.)
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Sun, 13 May 2007 02:55:40 +0000 (22:55 -0400)]
user-manual: move quick-start to an appendix
The quick start interrupts the flow of the manual a bit. Move it to
"appendix A" but add a reference to it in the preface. Also rename the
todo chapter to "appendix B", and revise the preface a little.
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Sun, 13 May 2007 02:17:03 +0000 (22:17 -0400)]
glossary: expand and clarify some definitions, prune cross-references
Revise and expand some of the definitions in the glossary, based in part
on a recent thread started by a user looking for help with some of the
jargon. I've borrowed some of the language from Linus's email on that
thread. (I'm assuming standing permission to plagiarize Linus's
email....)
Also start making a few changes to mitigate the appearance of
"circularity" mentioned in that thread:
- feel free to use somewhat longer definitions and to explain
some things more than once instead of relying purely on
cross-references
- don't use cross-references when they're redundant: eliminate
self-references and repeated references to the same entry.
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
J. Bruce Fields [Sat, 12 May 2007 23:48:31 +0000 (19:48 -0400)]
user-manual: revise birdseye-view chapter
Some revisions suggested by Junio along with some minor style fixes and
one compile fix (asterisks need escaping).
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Petr Baudis [Thu, 17 May 2007 02:30:42 +0000 (04:30 +0200)]
gitweb: Allow arbitrary strings to be dug with pickaxe
Currently, there are rather draconian restrictions on the strings accepted
by the pickaxe search, which degrades its usefulness for digging in code
significantly. This patch remedies mentioned limitation.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Petr Baudis [Thu, 17 May 2007 02:31:12 +0000 (04:31 +0200)]
gitweb: Add support for grep searches
The 'grep' type of search greps the currently selected tree for given
regexp and shows the results in a fancy table with links into blob view.
The number of shown matches is limited to 1000 and the whole feature
can be turned off (grepping linux-2.6.git already makes repo.or.cz a bit
unhappy).
This second revision makes it in documentation explicit that grep accepts
regexps, and makes grep accept extended regexps instead of basic regexps.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Petr Baudis [Thu, 17 May 2007 02:24:19 +0000 (04:24 +0200)]
gitweb: Normalize searchbar font size
Currently, searchbar font was as big as the page heading font, because
font-size was made relative - but to the parent element, which was for some
reason indeed page_header. Since that seems to be illogical to me, I just
moved the div.search outside of div.page_header. I'm no CSS/DOM expert but
no adverse effects were observed by me.
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Fri, 18 May 2007 00:36:57 +0000 (17:36 -0700)]
Merge branch 'maint'
* maint:
Document core.excludesfile for git-add
git-send-email: allow leading white space on mutt aliases
Michael Hendricks [Thu, 17 May 2007 05:08:50 +0000 (23:08 -0600)]
Document core.excludesfile for git-add
During the discussion of core.excludesfile in the user-manual, I realized
that the configuration wasn't mentioned in the man pages.
Signed-off-by: Michael Hendricks <michael@ndrix.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Jakub Narebski [Thu, 17 May 2007 20:54:28 +0000 (22:54 +0200)]
gitweb: Fix error in git_patchset_body for deletion in merge commit
Checking if $diffinfo->{'status'} is equal 'D' is no longer the way to
check if the file was deleted in result. For merge commits
$diffinfo->{'status'} is reference to array of statuses for each
parent. Use the fact that $diffinfo->{'to_id'} is all zeros as sign
that file was deleted in result.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Thu, 17 May 2007 23:52:45 +0000 (16:52 -0700)]
Merge branch 'master' of git://repo.or.cz/git-gui
* 'master' of git://repo.or.cz/git-gui:
git-gui: Gracefully handle bad TCL_PATH at compile time
Shawn O. Pearce [Thu, 17 May 2007 22:01:50 +0000 (18:01 -0400)]
git-gui: Gracefully handle bad TCL_PATH at compile time
Petr Baudis pointed out the main git.git repository's Makefile dies
now if git-gui 0.7.0-rc1 or later is being used and TCL_PATH was not
set to a working tclsh program path. This breaks people who may have
a working build configuration today and suddenly upgrade to the latest
git release.
The tclIndex is required for git-gui to load its associated lib files,
but using the Tcl auto_load procedure to source only the files we need
is a performance optimization. We can emulate the auto_load by just
source'ing every file in that directory, assuming we source class.tcl
first to initialize our crude class system.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Michael Hendricks [Thu, 17 May 2007 05:15:16 +0000 (23:15 -0600)]
git-send-email: allow leading white space on mutt aliases
mutt version 1.5.14 (perhaps earlier versions too) permits alias files to have
white space before the 'alias' keyword.
Signed-off-by: Michael Hendricks <michael@ndrix.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Junio C Hamano [Thu, 17 May 2007 04:04:16 +0000 (21:04 -0700)]
gitweb: fix another use of undefined value
Pasky and Jakub competed fixing these and in the confusion this ended up
not being covered.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Johannes Schindelin [Thu, 10 May 2007 10:36:15 +0000 (12:36 +0200)]
Add a birdview-on-the-source-code section to the user manual
In http://thread.gmane.org/gmane.comp.version-control.git/42479,
a birdview on the source code was requested.
J. Bruce Fields suggested that my reply should be included in the
user manual, and there was nothing of an outcry, so here it is,
not 2 months later.
It includes modifications as suggested by J. Bruce Fields, Karl
Hasselström and Daniel Barkalow.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>