summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-06-09Merge branch 'js/merge-recursive'Libravatar Junio C Hamano2-0/+63
* js/merge-recursive: merge-recursive: respect core.autocrlf when writing out the result Add testcase for merging in a CRLF repo
2008-06-09Merge branch 'maint'Libravatar Junio C Hamano2-0/+3
* maint: git-read-tree: document -v option. Remove exec bit from builtin-fast-export.c
2008-06-09merge-recursive: respect core.autocrlf when writing out the resultLibravatar Johannes Schindelin2-1/+12
The code forgot to convert the blob contents into work tree representation before writing it out. Also fixes leaks -- earlier the updated blobs were never freed. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-09git-read-tree: document -v option.Libravatar Miklos Vajna1-0/+3
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-09Add testcase for merging in a CRLF repoLibravatar Marius Storm-Olsen1-0/+52
If you work on a repo with core.autocrlf == true, you would expect every text file to have CRLF EOLs. However, if you by some operation, get a conflict, then the conflicted file has LF EOLs. Now, of course you'd go about resolving the files conflict, and then 'git add <file>'. When you do that, you'll get the warning saying that LF will be replaced by CRLF. Then you commit. The end result is that you have a workingdir with a mix of LF and CRLF files, which after some more operations may trigger a "whole file changed" diff, due to the workingdir file now having LF EOLs. An LF only conflict file results in the resolved file being in LF, the commit is in LF and a warning saying that LF will be replaced by CRLF, and the working dir ends up with a mix of CRLF and LF files. Signed-off-by: Marius Storm-Olsen <marius@trolltech.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-09cat-file --batch / --batch-check: do not exit if hashes are missingLibravatar Lea Wiemann2-6/+27
Previously, cat-file --batch / --batch-check would silently exit if it was passed a non-existent SHA1 on stdin. Now it prints "<SHA1> missing" as in all other cases (and as advertised in the documentation). Note that cat-file --batch-check (but not --batch) will still output "error: unable to find <SHA1>" on stderr if a non-existent SHA1 is passed, but this does not affect parsing its stdout. Also, type <= 0 was previously using the potentially uninitialized type variable (relying on it being 0); it is now being initialized. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-09t1006-cat-file.sh: typoLibravatar Lea Wiemann1-1/+1
Previously timestamps were removed unconditionally (though this didn't seem to break this test). Now they are only removed if $no_ts is non-empty. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08Port to 12 other Platforms.Libravatar Boyd Lynn Gerber2-1/+40
This patch adds support to compile and run git on 12 additional platforms. The platforms are based on UNIX Systems Labs (USL)/Novell/SYS V code base. The most common are Novell UnixWare 2.X.X, SCO UnixWare 7.X.X, OpenServer 5.0.X, OpenServer 6.0.X, and SCO pre OSR 5 platforms. Looking at the the various platform headers, I find: #if defined(_KERNEL) || !defined(_POSIX_SOURCE) \ && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) which hides u_short and other typedefs that other header files on these platforms depend on. WIth _XOPEN_SOURCE defined, sources that include system header files that depend on the typedefs such as u_short cannot be compiled on these platforms. __USLC__ indicates UNIX System Labs Corperation (USLC), or a Novell-derived compiler and/or some SysV based OS's. __M_UNIX indicates XENIX/SCO UNIX/OpenServer 5.0.7 and prior releases of the SCO OS's. It is used just like Apple and BSD, both of these shouldn't have _XOPEN_SOURCE defined. This is with suggestions and modifications from Daniel Barkalow, Junio C Hamano, Thomas Harning, and Jeremy Maitin-Shepard. Signed-off-by: Boyd Lynn Gerber <gerberb@zenez.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08progress.c: avoid use of dynamic-sized arrayLibravatar Boyd Lynn Gerber1-3/+8
Dynamically sized arrays are gcc and C99 construct. Using them hurts portability to older compilers, although using them is nice in this case it is not desirable. This patch removes the only use of the construct in stop_progress_msg(); the function is about writing out a single line of a message, and the existing callers of this function feed messages of only bounded size anyway, so use of dynamic array is simply overkill. Signed-off-by: Boyd Lynn Gerber <gerberb@zenez.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08git-name-rev.txt: document --no-undefined and --alwaysLibravatar Stephan Beyer1-0/+7
Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08git-describe.txt: document --alwaysLibravatar Stephan Beyer1-0/+3
Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08Docs: add some long/short optionsLibravatar Stephan Beyer4-1/+14
Namely: git-clean.txt: --dry-run --quiet git-count-objects.txt: --verbose git-quiltimport.txt: -n git-remote.txt: -v --verbose Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08Docs: Use "-l::\n--long\n" format in OPTIONS sectionsLibravatar Stephan Beyer56-210/+394
The OPTIONS section of a documentation file contains a list of the options a git command accepts. Currently there are several variants to describe the case that different options (almost) do the same in the OPTIONS section. Some are: -f, --foo:: -f|--foo:: -f | --foo:: But AsciiDoc has the special form: -f:: --foo:: This patch applies this form to the documentation of the whole git suite, and removes useless em-dash prevention, so \--foo becomes --foo. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08git-commit.txt: Add missing long/short optionsLibravatar Stephan Beyer1-8/+9
Also split the "-c or -C <commit>" item into two separate items. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08git-send-email: allow whitespace in addressee listLibravatar Pieter de Bie1-1/+1
When interactively supplying addresses to send an email to with send-email, whitespace after the separation comma (as in 'list, jc') wasn't ignored. This meant that resolving of the alias ' jc' would fail, sending an email only to list. With this patch, the optional trailing whitespace is ignored. Signed-off-by: Pieter de Bie <pdebie@ai.rug.nl> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08send-email: Allow the envelope sender to be set via configurationLibravatar Ask Bjørn Hansen1-0/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08gitweb setup instruction: rewrite HEAD and root as wellLibravatar Ask Bjørn Hansen1-4/+14
Also add a few more hints for how to setup and configure gitweb as described [jc: with a fix from Mike Hommey] Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08git-commit.txt: Correct option alternativesLibravatar Stephan Beyer1-4/+4
This patch fixes the SYNOPSIS in git-commit.txt: * --amend could be used in conjunction with -c/-C/-F/-m; it is not mutually exclusive with them. * -m and -F are not alternative options to -c/-C; you can reuse authorship from a commit (-c/-C) but change the message (-m/-F). Furthermore, for long-option consistency --author <author> is changed to --author=<author>. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08git-rebase -i: mention the short command aliases in the todo listLibravatar Miklos Vajna1-3/+3
git rebase -i already supports 'p', 'e' and 's' as aliases for 'pick', 'edit' and 'squash', but one could know it only by reading the source code. If a user rebases a lot, it's quite handy, so mention these short forms as well. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08Remove unused code in parse_commit_buffer()Libravatar Miklos Vajna1-7/+1
The n_refs variable is no longer really used in this function, so there is no reason to keep it. It was introduced in 27dedf0c and the code that really used it was removed in 7914053. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08http-push.c: remove duplicated codeLibravatar Junio C Hamano1-26/+3
An earlier commit aa1dbc9 (Update http-push functionality, 2006-03-07) borrowed some code from rev-list.c. This copy and paste made sense back then, because mark_edges_uninteresting(), and its helper mark_edge_parents_uninteresting(), accessed a file scope static variable "revs" in rev-list.c, and http-push.c did not have nor care about such a variable. But these days they are already properly libified and live in list-objects.c and they take "revs" as as an argument. Make use of them and lose 20 or so lines. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08Remove exec bit from builtin-fast-export.cLibravatar Johannes Sixt1-0/+0
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-08make_nonrelative_path: Use is_absolute_path()Libravatar Johannes Sixt1-1/+1
This helps porting to Windows. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-07GIT 1.5.6-rc2Libravatar Junio C Hamano1-0/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-07Merge 1.5.5.4 inLibravatar Junio C Hamano2-1/+9
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-07GIT 1.5.5.4Libravatar Junio C Hamano4-3/+11
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-06git log --graph: print '*' for all commits, including mergesLibravatar Adam Simpkins1-14/+0
Previously, merge commits were printed with 'M' instead of '*'. This had the potential to confuse users when not all parents of the merge commit were included in the log output. As Junio has pointed out, merge commits can almost always be easily identified from the log message, anyway. Signed-off-by: Adam Simpkins <adam@adamsimpkins.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-06Use nonrelative paths instead of absolute paths for cloned repositoriesLibravatar Daniel Barkalow3-2/+39
Particularly for the "alternates" file, if one will be created, we want a path that doesn't depend on the current directory, but we want to retain any symlinks in the path as given and any in the user's view of the current directory when the path was given. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-06documentation: move git(7) to git(1)Libravatar Christian Couder140-146/+144
As the "git" man page describes the "git" command at the end-user level, it seems better to move it to man section 1. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-06documentation: convert "diffcore" and "repository-layout" to man pagesLibravatar Christian Couder8-20/+68
This patch renames the following documents and at the same time converts them to the man format: diffcore.txt -> gitdiffcore.txt (man section 7) repository-layout.txt -> gitrepository-layout.txt (man section 5) Other documents that reference the above ones are changed accordingly. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-06graph API: fix "git log --graph --first-parent"Libravatar Adam Simpkins1-11/+53
This change teaches the graph API that only the first parent of each commit is interesting when "--first-parent" was specified. This change also consolidates the graph parent walking logic into two new internal functions, first_interesting_parent() and next_interesting_parent(). A simpler fix would have been to simply break at the end of the 2 existing for loops when graph->revs->first_parent_only is set. However, this change seems nicer, especially if we ever need to add any new loops over the parent list in the future. Signed-off-by: Adam Simpkins <adam@adamsimpkins.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-06Print info about "git help COMMAND" on git's main usage pagesLibravatar Teemu Likonen3-0/+7
Git's main usage pages did not show "git help" as a way to get more information on a specific subcommand. This patch adds an info line after the list of git commands currently printed by "git", "git help", "git --help" and "git help --all". Signed-off-by: Teemu Likonen <tlikonen@iki.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-06Merge branch 'maint'Libravatar Junio C Hamano2-10/+15
* maint: git-for-each-ref.txt: minor improvements name-rev: Fix segmentation fault when using --all
2008-06-06git-for-each-ref.txt: minor improvementsLibravatar Lea Wiemann1-8/+9
Rewrapped synopsis and removed wrong asterisk behind --count option; clarified --sort=<key> description for multiple keys; documented that for-each-ref supports not only glob patterns but also prefixes like "refs/heads" as patterns, and that multiple patterns can be given. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-05name-rev: Fix segmentation fault when using --allLibravatar Björn Steinbrink1-2/+6
In commit da2478db "describe --always: fall back to showing an abbreviated object name" we lost the check that skips empty entries in the object hash table when iterating over it in cmd_name_rev. That may cause a NULL pointer being handed to show_name(), leading to a segmentation fault. So add that check back again. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-04gitweb: Add charset info to "raw" output of 'text/plain' blobsLibravatar Jakub Narebski1-9/+20
Earlier "blob_plain" view sent "charset=utf-8" only when gitweb guessed the content type to be text by reading from it, and not when the MIME type was obtained from /etc/mime.types, or when gitweb couldn't guess mimetype and used $default_blob_plain_mimetype. This fixes the bug by always add charset info from $default_text_plain_charset (if it is defined) to "raw" (a=blob_plain) output for 'text/plain' blobs. Generating information for Content-Type: header got separated into blob_contenttype() subroutine; adding charset info in a special case was removed from blob_mimetype(), which now should return mimetype only. While at it cleanup code a bit: put subroutine parameter initialization first, make error message more robust (when $file_name is not defined) if more cryptic, remove unnecessary '"' around variable ("$var" -> $var). Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-04Strbuf documentation: document most functionsLibravatar Miklos Vajna1-2/+237
All functions in strbuf.h are documented, except launch_editor(). Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-04Documentation/git-mailsplit: Enhanced description of -o optionLibravatar Dirk Suesserott1-1/+1
Added '-o' in the description of '-o<directory>' for consistency reasons. Signed-off-by: Dirk Suesserott <newsletter@dirk.my1.cc>
2008-06-04Fix "git clone http://$URL" to check out the worktree when askedLibravatar Jeff King1-0/+1
The builtin-clone now does the http commit walking and the tree unpacking in the same process, and the commit walker leaves the in-core objects in a funny state. When forgetting the data read from the tree object, the object should be marked "not parsed yet" for later users. Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-04Merge branch 'maint'Libravatar Junio C Hamano2-4/+27
* maint: describe: match pattern for lightweight tags too
2008-06-04describe: match pattern for lightweight tags tooLibravatar Michael Dressel2-4/+27
The <pattern> given "git describe --match" was used only to filter tag objects, and not to filter lightweight tags. This fixes it. [jc: made the log to clarify this is a bugfix, not an enhancement, with additional test] Signed-off-by: Michael Dressel <MichaelTiloDressel@t-online.de> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-04t7502: honor SHELL_PATHLibravatar Junio C Hamano1-3/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-03Documentation: git-log cannot use rev-list specific optionsLibravatar Junio C Hamano1-0/+6
The log family and git-rev-list share the same set of options that come from revision walking machinery, but they both have options unique to them. Notably, --header, --timestamp, --stdin and --quiet apply only to rev-list. Exclude them from the git-log documentation. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-03Fix t5516 on cygwin: it does not like double slashes at the beginning of a pathLibravatar Alex Riesen1-1/+1
The double slashes "//" result from url./$TRASH/. expansion and the current directory, which even in cygwin contains "/" as first character. In cygwin such strings have special meaning: UNC path. Accessing an UNC path built for test purpose usually fails. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-03t7502: tighten loosely written test sequenceLibravatar Junio C Hamano1-17/+18
We would like to catch breakage at any step in the sequence. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-03t7502: do not globally unset GIT_COMMITTER_* environment variablesLibravatar Junio C Hamano1-3/+6
One particular test wants to check the behaviour of the command when these variables are not set, but the later tests should have the reliable committer identity for repeatable tests. Move the "unset" of the variables inside a subshell in the test that wants to unset them. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-03cat-file --batch: flush stdout also when objects are missingLibravatar Lea Wiemann1-0/+1
cat-file --batch/--batch-check only flushes stdout when the object exists, but not when it doesn't ("<object> missing"). This makes bidirectional pipes hang. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-03GIT v1.5.6-rc1Libravatar Junio C Hamano1-1/+5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-02commit: drop duplicated parentsLibravatar Junio C Hamano2-0/+23
The scripted version of git-commit internally used git-commit-tree which omitted duplicated parents given from the command line. This prevented a nonsensical octopus merge from getting created even when you said "git merge A B" while you are already on branch A. However, when git-commit was rewritten in C, this sanity check was lost. This resurrects it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-02rebase --interactive: Compute upstream SHA1 before switching branchesLibravatar Johannes Sixt1-4/+3
If the upstream argument to rebase (the first argument) was relative to HEAD and the name of the branch to rebase (the second argument) was given, the upstream would have been interpreted relative to the second argument. In particular, this command git rebase -i HEAD topic would always finish with "Nothing to do". (a1bf91e fixed the same issue for non-interactive rebase.) Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>