44d1c19 | Linus Torvalds | 14 June 2008, 18:32:37 UTC | Make loose object file reading more careful We used to do 'stat()+open()+mmap()+close()' to read the loose object file data, which does work fine, but has a couple of problems: - it unnecessarily walks the filename twice (at 'stat()' time and then again to open it) - NFS generally has open-close consistency guarantees, which means that the initial 'stat()' was technically done outside of the normal consistency rules. So change it to do 'open()+fstat()+mmap()+close()' instead, which avoids both these issues. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 21:39:22 UTC |
5723fe7 | Linus Torvalds | 14 June 2008, 17:50:12 UTC | Avoid cross-directory renames and linking on object creation Instead of creating new temporary objects in the top-level git object directory, create them in the same directory they will finally end up in anyway. This avoids making the final atomic "rename to stable name" operation be a cross-directory event, which makes it a lot easier for various filesystems. Several filesystems do things like change the inode number when moving files across directories (or refuse to do it entirely). In particular, it can also cause problems for NFS implementations that change the filehandle of a file when it moves to a different directory, like the old user-space NFS server did, and like the Linux knfsd still does if you don't export your filesystems with 'no_subtree_check' or if you export a filesystem that doesn't have stable inode numbers across renames). This change also obviously implies creating the object fan-out subdirectory at tempfile creation time, rather than at the final move_temp_to_file() time. Which actually accounts for most of the size of the patch. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 21:39:22 UTC |
9adefee | Jakub Narebski | 14 June 2008, 18:14:12 UTC | Use 'trash directory' thoroughly in t/test-lib.sh ...also in comments. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 20:00:01 UTC |
7c1a9e7 | Mike Hommey | 14 June 2008, 10:02:22 UTC | Don't allocate too much memory in quote_ref_url In c13b263, http_fetch_ref got "refs/" included in the ref passed to it, which, incidentally, makes the allocation in quote_ref_url too big, now. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 19:53:09 UTC |
66115d3 | Jakub Narebski | 14 June 2008, 18:37:59 UTC | gitweb: Make it work with $GIT containing spaces This fixes single point where $GIT (which can contain full path to git binary) with embedded spaces gave errors. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 19:48:06 UTC |
1d284cb | SZEDER Gábor | 14 June 2008, 09:48:01 UTC | completion: add more 'git add' options Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 19:47:44 UTC |
69c61c4 | SZEDER Gábor | 14 June 2008, 09:48:00 UTC | git add: add long equivalents of '-u' and '-f' options The option -u stands for --update and it is a good idea to make it clear especially because this is the only mode of operation of "git add" that does something different from "adding". Give longer --force synonym to -f while we are at it as well. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 19:47:31 UTC |
b994ec1 | Junio C Hamano | 14 June 2008, 18:48:59 UTC | Merge branch 'rs/attr' * rs/attr: Ignore .gitattributes in bare repositories | 14 June 2008, 18:48:59 UTC |
c8c6a2e | Avery Pennarun | 12 June 2008, 23:10:51 UTC | git-svn: test that extra blank lines aren't inserted in commit messages. Improve the git-svn-author test to check that extra newlines aren't inserted into commit messages as they take a round trip from git to svn and back. We test both with and without the --add-author-from option to git-svn. git-svn: test that svn repo doesn't have extra newlines. Signed-off-by: Avery Pennarun <apenwarr@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 18:47:56 UTC |
328eb9b | Avery Pennarun | 12 June 2008, 23:10:50 UTC | git-svn: don't append extra newlines at the end of commit messages. In git, all commits end in exactly one newline character. In svn, commits end in zero or more newlines. Thus, when importing commits from svn into git, git-svn always appends two extra newlines to ensure that the git-svn-id: line is separated from the main commit message by at least one blank line. Combined with the terminating newline that's always present in svn commits produced by git, you usually end up with two blank lines instead of one between the commit message and git-svn-id: line, which is undesirable. Instead, let's remove all trailing whitespace from the git commit on the way through to svn. Signed-off-by: Avery Pennarun <apenwarr@gmail.com> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 18:47:55 UTC |
8e7e6f3 | Mark Levedahl | 14 June 2008, 17:09:41 UTC | git-submodule - Fix errors regarding resolve_relative_url git-submodule was invoking "die" from within resolve-relative-url, but this does not actually cause the script to exit. Fix this by returning the error to the caller and have the caller exit. While we're at it, clean up the quoting on invocation of resolve_relative_url as it was wrong. Signed-off-by: Mark Levedahl <mlevedahl@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 18:34:00 UTC |
65e73db | Christian Couder | 14 June 2008, 07:21:36 UTC | documentation: bisect: remove bits talking about a bisection branch ... because we are now bisecting using a detached HEAD. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 17:52:57 UTC |
6483925 | Junio C Hamano | 14 June 2008, 06:00:51 UTC | sha1_file.c: dead code removal write_sha1_from_fd() and write_sha1_to_fd() were dead code nobody called, neither the latter's helper repack_object() was. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 06:00:51 UTC |
43d60d2 | Flavio Poletti | 12 June 2008, 21:54:55 UTC | git-instaweb: improve auto-discovery of httpd and call conventions. This patch allows calling: git-instaweb -d apache2 and have the script Do The Right Thing. In particular, the auto-discovery mechanism has been extended in order to be used for module listing as well, and the call convention is that if the daemon is apache2/lighttpd and the parameter to the "-d" option does not end by "-f", the "-f" is added to the end of the option itself. Change all backticks to $( ... ) as per Documentation/CodingGuidelines. Signed-off-by: Flavio Poletti <flavio@polettix.it> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 05:08:30 UTC |
d88593f | Junio C Hamano | 14 June 2008, 00:16:02 UTC | t4126: fix test that happened to work due to timing The test did "reset --hard" (where the HEAD commit has an empty blob at path "empty") followed by "> empty", expecting that the index does not notice the file _changed_ since git wrote it out upon "reset" if the redirection is done quickly enough. There was no need to do the emptying, and it gave a wrong result if "reset --hard" happened on time T and then ">empty" happened on the next second T+1. This fixes it. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 June 2008, 05:07:34 UTC |
dc92cc2 | Junio C Hamano | 13 June 2008, 05:55:44 UTC | Merge branch 'om/remote-fix' * om/remote-fix: "remote prune": be quiet when there is nothing to prune remote show: list tracked remote branches with -n remote prune: print the list of pruned branches builtin-remote: split show_or_prune() in two separate functions remote show: fix the -n option | 13 June 2008, 05:55:44 UTC |
d8933f0 | Shawn O. Pearce | 13 June 2008, 04:38:55 UTC | fast-export: Correctly generate initial commits with no parents If we are exporting a commit which has no parents we may be doing it to a branch that already exists, causing fast-import to assume the branch's current revision should be the sole parent of the new commit. This can cause `git fast-export | git fast-import` to produce an incorrect graph for: A-------M----o------o refs/heads/master / B-+ In this graph A and B are initial commits (no parents) but if A was output first to refs/heads/master and then B is output fast-import would assume the graph was this instead: A-------M----o------o refs/heads/master \ / +-B-+ Which would cause B, M, and all later commits to have a different SHA-1, and obviously be quite a different graph. Sending a reset command prior to B informs fast-import to clear the implied parent of A, allowing B to remain an initial commit. Reported-by: Ben Lynn <benlynn@gmail.com> Deemed-obviously-correct-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 June 2008, 05:42:20 UTC |
7b7b451 | Lea Wiemann | 12 June 2008, 22:35:59 UTC | t/.gitattributes: only ignore whitespace errors in test files Only ignore whitespace errors in t/tNNNN-*.sh and the t/tNNNN subdirectories. Other files (like test libraries) should still be checked. Also fix a whitespace error in t/test-lib.sh. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 June 2008, 05:22:55 UTC |
fa5b4f3 | Jeff King | 12 June 2008, 06:14:28 UTC | document --pretty=tformat: option This was introduced in 4da45bef, but never documented anywhere. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 June 2008, 05:22:36 UTC |
fe22e54 | Chris Ridd | 11 June 2008, 13:09:19 UTC | Improve sed portability The behaviour of "sed" on an incomplete line is unspecified by POSIX, and On Solaris it apparently fails to process input that doesn't end in a LF. Consequently constructs like re=$(printf '%s' foo | sed -e 's/bar/BAR/g' $) cause re to be set to the empty string. Such a construct is used in git-submodule.sh. Because the LF at the end of command output are stripped away by the command substitution, it is a safe and sane change to add a LF at the end of the printf format specifier. Signed-off-by: Chris Ridd <chris.ridd@isode.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 June 2008, 05:20:18 UTC |
4209752 | Junio C Hamano | 12 June 2008, 21:30:37 UTC | user-manual: describe how higher stages are set during a merge Higher stages store the blobs involved from their side verbatim. Removal of uninteresting hunks are done by "diff --cc" upon demand and not stored in the index. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2008, 21:30:51 UTC |
9501fc8 | Geoffrey Irving | 12 June 2008, 14:29:42 UTC | doc: adding gitman.info and *.texi to .gitignore Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2008, 21:28:53 UTC |
5ada369 | Junio C Hamano | 12 June 2008, 21:21:05 UTC | Documentation: exclude @pxref{[REMOTES]} from texinfo intermediate output We already had a hack to exclude @pxref{[URLS]} from the texi stream that refers to nonexistent anchor. This allows "make info" to produce gitman.info again. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2008, 21:21:05 UTC |
6bfa3c9 | Junio C Hamano | 12 June 2008, 21:19:09 UTC | Documentation/git-pull.txt: Use more standard [NOTE] markup Unlike other manual pages (e.g. git-blame.txt), this used *NOTE:* to show a side note headed with boldface string "NOTE". Use a paragraph headed by [NOTE] like others instead. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2008, 21:19:09 UTC |
8b7d4e7 | Junio C Hamano | 12 June 2008, 06:43:25 UTC | "remote prune": be quiet when there is nothing to prune The previous commit made it always say "Pruning $remote" but reported the URL only when there is something to prune. Make it consistent by not saying anything at all when there is nothing to prune. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2008, 06:43:25 UTC |
97fc865 | Mikael Magnusson | 12 June 2008, 02:38:38 UTC | Typo in RelNotes. Signed-off-by: Mikael Magnusson <mikachu@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2008, 05:18:09 UTC |
196821f | Junio C Hamano | 11 June 2008, 23:22:53 UTC | Merge git://git.kernel.org/pub/scm/gitk/gitk * git://git.kernel.org/pub/scm/gitk/gitk: gitk: Handle detached heads better | 11 June 2008, 23:22:53 UTC |
8de7e9c | Junio C Hamano | 11 June 2008, 23:21:56 UTC | Merge branch 'maint' * maint: fix typo in tutorial | 11 June 2008, 23:21:56 UTC |
2feaf4e | Fred Maranhão | 11 June 2008, 23:09:48 UTC | fix typo in tutorial Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 June 2008, 23:21:45 UTC |
e7d5a97 | Olivier Marin | 10 June 2008, 22:54:49 UTC | remote show: list tracked remote branches with -n Signed-off-by: Olivier Marin <dkr@freesurf.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 June 2008, 06:18:13 UTC |
8d76792 | Olivier Marin | 10 June 2008, 14:51:35 UTC | remote prune: print the list of pruned branches This command is really too quiet which make it unconfortable to use. Also implement a --dry-run option, in place of the original -n one, to list stale tracking branches that will be pruned, but do not actually prune them. Add a test case for --dry-run. Signed-off-by: Olivier Marin <dkr@freesurf.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 June 2008, 06:17:41 UTC |
67a7e2d | Olivier Marin | 10 June 2008, 14:51:21 UTC | builtin-remote: split show_or_prune() in two separate functions This allow us to add different features to each of them and keep the code simple at the same time. Also create a get_remote_ref_states() to avoid duplicated code. Signed-off-by: Olivier Marin <dkr@freesurf.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 June 2008, 05:43:05 UTC |
0ecfcb3 | Olivier Marin | 10 June 2008, 14:51:08 UTC | remote show: fix the -n option The perl version accepted a -n flag, to show local informations only without querying remote heads, that seems to have been lost in the C revrite. This restores the older behaviour and add a test case. Signed-off-by: Olivier Marin <dkr@freesurf.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 June 2008, 05:30:01 UTC |
8c372fb | Philippe Bruhat (BooK) | 10 June 2008, 12:32:06 UTC | git-cvsimport: do not fail when CVSROOT is / For CVS repositories with unusual CVSROOT, git-cvsimport would fail: $ git-cvsimport -v -C foo -d :pserver:anon:@cvs.example.com:/ foo AuthReply: error 0 : no such repository This patch ensures that the path is never empty, but at least '/'. Signed-off-by: Philippe Bruhat (BooK) <book@cpan.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 June 2008, 05:24:01 UTC |
e9039dd | Linus Torvalds | 11 June 2008, 01:47:18 UTC | Consolidate SHA1 object file close This consolidates the common operations for closing the new temporary file that we have written, before we move it into place with the final name. There's some common code there (make it read-only and check for errors on close), but more importantly, this also gives a single place to add an fsync_or_die() call if we want to add a safe mode. This was triggered due to Denis Bueno apparently twice being able to corrupt his git repository on OS X due to an unlucky combination of kernel crashes and a not-very-robust filesystem. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 June 2008, 05:23:18 UTC |
cdf222f | Lea Wiemann | 03 June 2008, 11:06:12 UTC | Documentation/git-cat-file.txt: add missing line break Without [verse], the line break between the two synopsis lines does not make it into the man page. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 June 2008, 06:12:48 UTC |
ea81e10 | Junio C Hamano | 09 June 2008, 23:13:10 UTC | Merge branch 'js/merge-recursive' * js/merge-recursive: merge-recursive: respect core.autocrlf when writing out the result Add testcase for merging in a CRLF repo | 09 June 2008, 23:13:10 UTC |
5bcde30 | Junio C Hamano | 09 June 2008, 23:13:08 UTC | Merge branch 'maint' * maint: git-read-tree: document -v option. Remove exec bit from builtin-fast-export.c | 09 June 2008, 23:13:08 UTC |
249c61a | Johannes Schindelin | 09 June 2008, 21:23:16 UTC | merge-recursive: respect core.autocrlf when writing out the result 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> | 09 June 2008, 23:11:08 UTC |
22e801f | Miklos Vajna | 09 June 2008, 20:25:15 UTC | git-read-tree: document -v option. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 June 2008, 22:49:44 UTC |
eea9828 | Marius Storm-Olsen | 09 June 2008, 21:22:37 UTC | Add testcase for merging in a CRLF repo 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> | 09 June 2008, 22:37:44 UTC |
2d35d55 | René Scharfe | 08 June 2008, 15:16:11 UTC | Ignore .gitattributes in bare repositories Attributes can be specified at three different places: the internal table of default values, the file $GIT_DIR/info/attributes and files named .gitattributes in the work tree. Since bare repositories don't have a work tree, git should ignore any .gitattributes files there. This patch makes git do that, so the only way left for a user to specify attributes in a bare repository is the file info/attributes (in addition to changing the defaults and recompiling). In addition, git-check-attr is now allowed to run without a work tree. Like any user of the code in attr.c, it ignores the .gitattributes files when run in a bare repository. It can still read from info/attributes. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 June 2008, 22:08:26 UTC |
3c076db | Lea Wiemann | 09 June 2008, 00:02:21 UTC | cat-file --batch / --batch-check: do not exit if hashes are missing 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> | 09 June 2008, 20:46:08 UTC |
4e44ae4 | Lea Wiemann | 08 June 2008, 23:03:13 UTC | t1006-cat-file.sh: typo 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> | 09 June 2008, 20:31:23 UTC |
457bb45 | Boyd Lynn Gerber | 08 June 2008, 20:47:54 UTC | Port to 12 other Platforms. 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> | 08 June 2008, 21:27:46 UTC |
d4c4444 | Boyd Lynn Gerber | 08 June 2008, 15:26:15 UTC | progress.c: avoid use of dynamic-sized array 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> | 08 June 2008, 20:56:32 UTC |
eba1351 | Stephan Beyer | 08 June 2008, 01:36:12 UTC | git-name-rev.txt: document --no-undefined and --always Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 June 2008, 20:46:38 UTC |
a3800f6 | Stephan Beyer | 08 June 2008, 01:36:11 UTC | git-describe.txt: document --always Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 June 2008, 20:46:38 UTC |
459cf2e | Stephan Beyer | 08 June 2008, 01:36:10 UTC | Docs: add some long/short options 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> | 08 June 2008, 20:46:38 UTC |
3240240 | Stephan Beyer | 08 June 2008, 01:36:09 UTC | Docs: Use "-l::\n--long\n" format in OPTIONS sections 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> | 08 June 2008, 20:46:38 UTC |
bc47c29 | Stephan Beyer | 08 June 2008, 01:36:08 UTC | git-commit.txt: Add missing long/short options 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> | 08 June 2008, 20:46:38 UTC |
d1eb35b | Pieter de Bie | 07 June 2008, 13:34:36 UTC | git-send-email: allow whitespace in addressee list 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> | 08 June 2008, 20:46:38 UTC |
9f7820a | Ask Bjørn Hansen | 07 June 2008, 07:33:42 UTC | send-email: Allow the envelope sender to be set via configuration Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 June 2008, 20:46:38 UTC |
55f409a | Ask Bjørn Hansen | 07 June 2008, 07:19:26 UTC | gitweb setup instruction: rewrite HEAD and root as well 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> | 08 June 2008, 20:46:37 UTC |
c4a7ff5 | Stephan Beyer | 07 June 2008, 11:06:45 UTC | git-commit.txt: Correct option alternatives 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> | 08 June 2008, 20:46:37 UTC |
88b1f0b | Miklos Vajna | 07 June 2008, 16:20:19 UTC | git-rebase -i: mention the short command aliases in the todo list 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> | 08 June 2008, 20:46:37 UTC |
39468de | Miklos Vajna | 07 June 2008, 20:38:37 UTC | Remove unused code in parse_commit_buffer() 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> | 08 June 2008, 20:46:37 UTC |
d633c88 | Junio C Hamano | 07 June 2008, 18:39:20 UTC | http-push.c: remove duplicated code 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> | 08 June 2008, 20:46:37 UTC |
170e095 | Johannes Sixt | 08 June 2008, 14:40:13 UTC | Remove exec bit from builtin-fast-export.c Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 June 2008, 17:48:46 UTC |
e048a49 | Johannes Sixt | 08 June 2008, 14:34:40 UTC | make_nonrelative_path: Use is_absolute_path() This helps porting to Windows. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 June 2008, 17:48:01 UTC |
218bf69 | Junio C Hamano | 07 June 2008, 20:05:34 UTC | GIT 1.5.6-rc2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 June 2008, 20:05:34 UTC |
dceab83 | Junio C Hamano | 07 June 2008, 20:01:14 UTC | Merge 1.5.5.4 in Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 June 2008, 20:01:14 UTC |
7064ca5 | Junio C Hamano | 07 June 2008, 18:45:48 UTC | GIT 1.5.5.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 June 2008, 18:45:48 UTC |
03300c0 | Adam Simpkins | 05 June 2008, 09:28:13 UTC | git log --graph: print '*' for all commits, including merges 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> | 06 June 2008, 18:56:43 UTC |
1b9a946 | Daniel Barkalow | 06 June 2008, 03:15:19 UTC | Use nonrelative paths instead of absolute paths for cloned repositories 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> | 06 June 2008, 18:23:10 UTC |
9e1f0a8 | Christian Couder | 06 June 2008, 07:07:32 UTC | documentation: move git(7) to git(1) 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> | 06 June 2008, 18:18:28 UTC |
30eba7b | Christian Couder | 06 June 2008, 07:07:28 UTC | documentation: convert "diffcore" and "repository-layout" to man pages 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> | 06 June 2008, 18:14:52 UTC |
a0ebe57 | Adam Simpkins | 05 June 2008, 08:56:19 UTC | graph API: fix "git log --graph --first-parent" 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> | 06 June 2008, 16:23:09 UTC |
b7d9681 | Teemu Likonen | 05 June 2008, 21:15:36 UTC | Print info about "git help COMMAND" on git's main usage pages 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> | 06 June 2008, 16:22:18 UTC |
e919cb3 | Junio C Hamano | 06 June 2008, 16:21:48 UTC | Merge branch 'maint' * maint: git-for-each-ref.txt: minor improvements name-rev: Fix segmentation fault when using --all | 06 June 2008, 16:21:48 UTC |
c0f6dc9 | Lea Wiemann | 05 June 2008, 21:01:38 UTC | git-for-each-ref.txt: minor improvements 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> | 06 June 2008, 15:39:54 UTC |
a83123d | Björn Steinbrink | 05 June 2008, 23:31:55 UTC | name-rev: Fix segmentation fault when using --all 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> | 06 June 2008, 04:01:45 UTC |
7f718e8 | Jakub Narebski | 03 June 2008, 14:47:10 UTC | gitweb: Add charset info to "raw" output of 'text/plain' blobs 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> | 04 June 2008, 22:05:01 UTC |
dd613e6 | Miklos Vajna | 04 June 2008, 21:20:05 UTC | Strbuf documentation: document most functions 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> | 04 June 2008, 22:02:42 UTC |
9e3fd41 | Dirk Suesserott | 04 June 2008, 20:50:31 UTC | Documentation/git-mailsplit: Enhanced description of -o option Added '-o' in the description of '-o<directory>' for consistency reasons. Signed-off-by: Dirk Suesserott <newsletter@dirk.my1.cc> | 04 June 2008, 21:51:34 UTC |
541fc21 | Jeff King | 04 June 2008, 18:38:58 UTC | Fix "git clone http://$URL" to check out the worktree when asked 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> | 04 June 2008, 20:33:25 UTC |
60727b5 | Junio C Hamano | 04 June 2008, 20:15:59 UTC | Merge branch 'maint' * maint: describe: match pattern for lightweight tags too | 04 June 2008, 20:15:59 UTC |
4ed19a3 | Michael Dressel | 04 June 2008, 19:06:31 UTC | describe: match pattern for lightweight tags too 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> | 04 June 2008, 20:08:03 UTC |
de5825c | Junio C Hamano | 04 June 2008, 19:10:01 UTC | t7502: honor SHELL_PATH Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 June 2008, 19:11:59 UTC |
adf60f1 | Junio C Hamano | 04 June 2008, 06:56:56 UTC | Documentation: git-log cannot use rev-list specific options 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> | 04 June 2008, 06:56:56 UTC |
70ca472 | Alex Riesen | 03 June 2008, 22:16:26 UTC | Fix t5516 on cygwin: it does not like double slashes at the beginning of a path 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> | 04 June 2008, 05:12:08 UTC |
a3c91e0 | Junio C Hamano | 04 June 2008, 01:10:08 UTC | t7502: tighten loosely written test sequence We would like to catch breakage at any step in the sequence. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 June 2008, 01:13:33 UTC |
7845944 | Junio C Hamano | 04 June 2008, 01:08:08 UTC | t7502: do not globally unset GIT_COMMITTER_* environment variables 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> | 04 June 2008, 01:08:08 UTC |
422b206 | Lea Wiemann | 03 June 2008, 18:34:17 UTC | cat-file --batch: flush stdout also when objects are missing 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> | 03 June 2008, 19:40:12 UTC |
02c1719 | Junio C Hamano | 03 June 2008, 07:17:22 UTC | GIT v1.5.6-rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 June 2008, 07:17:22 UTC |
67bfc03 | Junio C Hamano | 03 June 2008, 05:17:42 UTC | commit: drop duplicated parents 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> | 03 June 2008, 06:55:57 UTC |
69e66f5 | Johannes Sixt | 02 June 2008, 14:01:40 UTC | rebase --interactive: Compute upstream SHA1 before switching branches 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> | 03 June 2008, 03:36:14 UTC |
c5833f6 | Kevin Ballard | 30 May 2008, 21:43:40 UTC | Documentation/git-filter-branch.txt: Fix description of --commit-filter The old description was misleading and logically impossible. It claimed that the ancestors of the original commit would be re-written to have the multiple emitted ids as parents. Not only would this modify existing objects, but it would create a cycle. What this actually does is pass the multiple emitted ids to the newly-created children to use as parents. Signed-off-by: Kevin Ballard <kevin@sb.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 June 2008, 03:36:09 UTC |
f70dda2 | Jakub Narebski | 02 June 2008, 09:54:41 UTC | gitweb: Fix "next" link on bottom of page Fix search form generation to not modify $cgi->param(...)'s. In git_header_html() we used to use $cgi->hidden(-name => "a") etc. to generate hidden fields; unfortunately to use this form it is required to modify $cgi->param("a") etc., which makes href(-replay,...) use wrong replay values. This for example made the "next" link on the bottom of the page has a=search instead of a=$action, and thus fails to get you to the next page. Because in CGI the value of a hidden field is "sticky", there is no way to modify it short of modifying $cgi->param(...). Therefore it got replaced by generating <input type="hidden" ...> element [semi] directly. Alternate solution would be for href(-replay,...) to use values saved in global variables, such as $action etc., instead of (re)reading them from $cgi->param($symbol). The bad link was reported by Kai Blin through http://bugs.debian.org/481902 Reported-by: Kai Blin <kai.blin@gmail.com> Signed-off-by: Jakub Narebski <jnareb@gmail.com> Tested-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 June 2008, 03:36:02 UTC |
3db4723 | Karl Hasselström | 02 June 2008, 22:41:44 UTC | Revert "git.el: Set process-environment instead of invoking env" This reverts commit dbe48256b41c1e94d81f2458d7e84b1fdcb47026, which caused mis-encoding of non-ASCII author/committer names when the git-status mode is used to create commits. Signed-off-by: Karl Hasselström <kha@treskal.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 June 2008, 02:07:12 UTC |
06f60e8 | Junio C Hamano | 02 June 2008, 06:45:41 UTC | Merge branch 'sb/am-tests' * sb/am-tests: Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.sh Add test cases for git-am | 02 June 2008, 06:45:41 UTC |
f0d2a05 | Junio C Hamano | 02 June 2008, 06:45:37 UTC | Merge branch 'lw/test-fix' * lw/test-fix: t/test-lib.sh: resolve symlinks in working directory, for pathname comparisons | 02 June 2008, 06:45:37 UTC |
0cc01c9 | Junio C Hamano | 02 June 2008, 06:43:30 UTC | Merge branch 'sp/remote' * sp/remote: Make "git-remote rm" delete refs acccording to fetch specs Make "git-remote prune" delete refs according to fetch specs Remove unused remote_prefix member in builtin-remote | 02 June 2008, 06:43:30 UTC |
d8ad63a | Junio C Hamano | 02 June 2008, 06:43:21 UTC | Merge branch 'lt/pack-sync' * lt/pack-sync: Remove now unnecessary 'sync()' calls Make pack creation always fsync() the result | 02 June 2008, 06:43:21 UTC |
a44a5c0 | Junio C Hamano | 02 June 2008, 06:39:24 UTC | Merge branch 'np/pack-check' * np/pack-check: make verify-pack a bit more useful with bad packs | 02 June 2008, 06:39:24 UTC |
6241360 | Nicolas Pitre | 29 May 2008, 21:34:50 UTC | make verify-pack a bit more useful with bad packs When a pack gets corrupted, its SHA1 checksum will fail. However, this is more useful to let the test go on in order to find the actual problem location than only complain about the SHA1 mismatch and bail out. Also, it is more useful to compare the stored pack SHA1 with the one in the index file instead of the computed SHA1 since the computed SHA1 from a corrupted pack won't match the one stored in the index either. Finally a few code and message cleanups were thrown in as a bonus. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 June 2008, 06:25:38 UTC |
310b9de | Junio C Hamano | 02 June 2008, 06:14:11 UTC | Merge branch 'jb/reset-q' * jb/reset-q: git-reset: honor -q and do not show progress message | 02 June 2008, 06:14:11 UTC |
8f1b063 | Junio C Hamano | 02 June 2008, 05:55:33 UTC | Merge branch 'jc/checkout' * 'jc/checkout': checkout: "best effort" checkout unpack_trees(): allow callers to differentiate worktree errors from merge errors checkout: consolidate reset_{to_new,clean_to_new}() checkout: make reset_clean_to_new() not die by itself | 02 June 2008, 05:55:36 UTC |
6810053 | Junio C Hamano | 02 June 2008, 05:54:16 UTC | Merge branch 'lr/init-bare' * lr/init-bare: git-init: accept --bare option | 02 June 2008, 05:54:16 UTC |
32d8050 | Lea Wiemann | 01 June 2008, 20:34:47 UTC | Git.pm: fix return value of config method If config is called in array context, it is supposed to return all values set for the given option key. This works for all cases except if there is no value set at all. In that case, it wrongly returns (undef) instead of (). This fixes the return statement so that it returns undef in scalar context but an empty array in array context. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 June 2008, 05:28:27 UTC |