https://github.com/git/git

sort by:
Revision Author Date Message Commit Date
e636106 GIT 1.5.6.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 June 2008, 00:13:48 UTC
df79b9f fix update-hook-example to work with packed tag references The update-hook-example used 'test -f' to check the tag present, which does not work if the checked reference is packed. This check has been changed to use 'git rev-parse $tag' instead. Signed-off-by: Dmitry Potapov <dpotapov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 June 2008, 19:44:32 UTC
2beebd2 clone: create intermediate directories of destination repo The shell version used to use "mkdir -p" to create the repo path, but the C version just calls "mkdir". Let's replicate the old behavior. We have to create the git and worktree leading dirs separately; while most of the time, the worktree dir contains the git dir (as .git), the user can override this using GIT_WORK_TREE. We can reuse safe_create_leading_directories, but we need to make a copy of our const buffer to do so. Since merge-recursive uses the same pattern, we can factor this out into a global function. This has two other cleanup advantages for merge-recursive: 1. mkdir_p wasn't a very good name. "mkdir -p foo/bar" actually creates bar, but this function just creates the leading directories. 2. mkdir_p took a mode argument, but it was completely ignored. Acked-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 June 2008, 18:44:15 UTC
4ace4fc Merge branch 'jc/maint-combine-diff-pre-context' into maint * jc/maint-combine-diff-pre-context: diff -c/--cc: do not include uninteresting deletion before leading context 25 June 2008, 18:20:01 UTC
41cb0fc Merge branch 'lt/maint-gitdir-relative' into maint * lt/maint-gitdir-relative: Make git_dir a path relative to work_tree in setup_work_tree() 25 June 2008, 18:19:33 UTC
340a6b5 Merge branch 'sb/maint-rebase' into maint * sb/maint-rebase: git-rebase.sh: Add check if rebase is in progress 25 June 2008, 18:18:39 UTC
87412ec for-each-ref: implement missing tag values The "type" and "object" fields for tags were accepted as valid atoms, but never implemented. Consequently, they simply returned the empty string, even for valid tags. Noticed by Lea Wiemann. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 25 June 2008, 18:05:26 UTC
74b1e12 git-svn: make rebuild respect rewriteRoot option Suppose someone fetches git-svn-ified commits from another repo and then attempts to use 'git-svn init --rewrite-root=foo bar'. Using git svn rebase after that will fail badly: * For each commit tried by working_head_info, rebuild is called indirectly. * rebuild will iterate over all commits and skip all of them because the URL does not match. Because of that no rev_map file is generated at all. * Thus, rebuild will run once for every commit. This takes ages. * In the end there still isn't any rev_map file and thus working_head_info fails. Addressing this behaviour fixes an apparently not too uncommon problem with providing git-svn mirrors of Subversion repositories. Some repositories are accessed using different URLs depending on whether the user has push privileges or not. In the latter case, an anonymous URL is often used that differs from the push URL. Providing a mirror that is usable in both cases becomes a lot more possible with this change. Signed-off-by: Jan Krüger <jk@jk.gs> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 June 2008, 00:38:08 UTC
6ff6af6 Workaround for AIX mkstemp() The AIX mkstemp will modify it's template parameter to an empty string if the call fails. This caused a subsequent mkdir to fail. Signed-off-by: Patrick Higgins <patrick.higgins@cexp.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 June 2008, 23:13:38 UTC
010a2da Extend parse-options test suite This patch serves two purposes: 1. test-parse-option.c should be a more complete example for the parse-options API, and 2. there have been no tests for OPT_CALLBACK, OPT_DATE, OPT_BIT, OPT_SET_INT and OPT_SET_PTR before. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 June 2008, 01:15:18 UTC
224712e api-parse-options.txt: Introduce documentation for parse options API Add some documentation of basics, macros and callback implementation of the parse-options API. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 June 2008, 01:14:58 UTC
6422f63 parse-options.c: fix documentation syntax of optional arguments When an argument for an option is optional, short options don't need a space between the option and the argument, and long options need a "=". Otherwise, arguments are misinterpreted. Signed-off-by: Michele Ballabio <barra_cuda@katamail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 June 2008, 01:14:37 UTC
82936f2 api-builtin.txt: update and fix typo Mention NEED_WORK_TREE flag and command-list.txt. Fix "bulit-in" typo and AsciiDoc-formatting of a paragraph. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 June 2008, 01:14:17 UTC
cd5320f git-rebase.sh: Add check if rebase is in progress "git rebase --continue" and friends gave nonsense errors when there is no rebase in progress. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 June 2008, 01:09:15 UTC
044bbbc Make git_dir a path relative to work_tree in setup_work_tree() Once we find the absolute paths for git_dir and work_tree, we can make git_dir a relative path since we know pwd will be work_tree. This should save the kernel some time traversing the path to work_tree all the time if git_dir is inside work_tree. Daniel's patch didn't apply for me as-is, so I recreated it with some differences, and here are the numbers from ten runs each. There is some IO for me - probably due to more-or-less random flushing of the journal - so the variation is bigger than I'd like, but whatever: Before: real 0m8.135s real 0m7.933s real 0m8.080s real 0m7.954s real 0m7.949s real 0m8.112s real 0m7.934s real 0m8.059s real 0m7.979s real 0m8.038s After: real 0m7.685s real 0m7.968s real 0m7.703s real 0m7.850s real 0m7.995s real 0m7.817s real 0m7.963s real 0m7.955s real 0m7.848s real 0m7.969s Now, going by "best of ten" (on the assumption that the longer numbers are all due to IO), I'm saying a 7.933s -> 7.685s reduction, and it does seem to be outside of the noise (ie the "after" case never broke 8s, while the "before" case did so half the time). So looks like about 3% to me. Doing it for a slightly smaller test-case (just the "arch" subdirectory) gets more stable numbers probably due to not filling the journal with metadata updates, so we have: Before: real 0m1.633s real 0m1.633s real 0m1.633s real 0m1.632s real 0m1.632s real 0m1.630s real 0m1.634s real 0m1.631s real 0m1.632s real 0m1.632s After: real 0m1.610s real 0m1.609s real 0m1.610s real 0m1.608s real 0m1.607s real 0m1.610s real 0m1.609s real 0m1.611s real 0m1.608s real 0m1.611s where I'ld just take the averages and say 1.632 vs 1.610, which is just over 1% peformance improvement. So it's not in the noise, but it's not as big as I initially thought and measured. (That said, it obviously depends on how deep the working directory path is too, and whether it is behind NFS or something else that might need to cause more work to look up). Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 June 2008, 23:44:21 UTC
3b2bbe9 Documentation: fix formatting in git-svn Due to a misplaced list block separator, general hints about the config file options got indented at the same level as the description of the last option, making it easy to miss them. Signed-off-by: Jan Krüger <jk@jk.gs> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 June 2008, 23:30:26 UTC
e200783 t7502-commit.sh: test_must_fail doesn't work with inline environment variables When the arguments to test_must_fail() begin with a variable assignment, test_must_fail() attempts to execute the variable assignment as a command. This fails, and so test_must_fail returns with a successful status value without running the command it was intended to test. For example, the following script: #!/bin/sh test_must_fail () { "$@" test $? -gt 0 -a $? -le 129 } foo='wo adrian' test_must_fail foo='yo adrian' sh -c 'echo foo: $foo' always exits zero and prints the message: test.sh: line 3: foo=yo adrian: command not found Test 16 calls test_must_fail in such a way and therefore has not been testing whether git 'do[es] not fire editor in the presence of conflicts'. A workaround is to set and export the variable in a normal way, not using one-shot notation. Because this would affect the remainder of the process, the test is done inside a subshell. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 June 2008, 23:07:06 UTC
20827d9 completion: add --graph to log command completion Signed-off-by: Dan McGee <dpmcgee@gmail.com> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 June 2008, 23:02:31 UTC
037e98f git-merge.sh: fix typo in usage message: sucesses --> succeeds Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 June 2008, 21:13:02 UTC
c86fbe5 diff -c/--cc: do not include uninteresting deletion before leading context When we include a few uninteresting lines before the interesting ones as context, we are only interested in seeing the surviving lines themselves and not the deleted lines that are before them. Mark the added leading context lines in give_context() and not show deleted lines form them. Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 June 2008, 06:59:41 UTC
e449f10 GIT 1.5.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 June 2008, 20:09:43 UTC
9a7bbd1 clean up error conventions of remote.c:match_explicit match_explicit is called for each push refspec to try to fully resolve the source and destination sides of the refspec. Currently, we look at each refspec and report errors on both the source and the dest side before aborting. It makes sense to report errors for each refspec, since an error in one is independent of an error in the other. However, reporting errors on the 'dst' side of a refspec if there has been an error on the 'src' side does not necessarily make sense, since the interpretation of the 'dst' side depends on the 'src' side (for example, when creating a new unqualified remote ref, we use the same type as the src ref). This patch lets match_explicit return early when the src side of the refspec is bogus. We still look at all of the refspecs before aborting the push, though. At the same time, we clean up the call signature, which previously took an extra "errs" flag. This was pointless, as we didn't act on that flag, but rather just passed it back to the caller. Instead, we now use the more traditional "return -1" to signal an error, and the caller aggregates the error count. This change fixes two bugs, as well: - the early return avoids a segfault when passing a NULL matched_src to guess_ref() - the check for multiple sources pointing to a single dest aborted if the "err" flag was set. Presumably the intent was not to bother with the check if we had no matched_src. However, since the err flag was passed in from the caller, we might abort the check just because a previous refspec had a problem, which doesn't make sense. In practice, this didn't matter, since due to the error flag we end up aborting the push anyway. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 June 2008, 19:39:13 UTC
8c6b578 Fix approxidate("never") to always return 0 Commit af66366a9feb0194ed04b1f538998021ece268a8 introduced the keyword "never" to be used with approxidate() but defined it with a fixed date without taking care of timezone. As a result approxidate() will return a timestamp in the future with a negative timezone. With this patch, approxidate("never") always return 0 whatever your timezone is. Signed-off-by: Olivier Marin <dkr@freesurf.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2008, 23:40:09 UTC
1d9b265 git-am: head -1 is obsolete and doesn't work on some new systems head -<n> was deprecated by POSIX, and as modern versions of coreutils package don't support it at least one exports _POSIX2_VERSION=199209 it's fails on some systems. head -n<n> is portable, but sed <n>q is even more. Signed-off-by: Alejandro Mery <amery@geeks.cl> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2008, 23:40:09 UTC
1a8fb15 builtin-rerere: fix a small leak The data read from MERGE_RR file is kept in path-list by hanging textual 40-byte conflict signature to path of the blob that contains the conflict. The signature is strdup'ed twice, and the second copy is given to the path-list, leaking the first copy. Signed-off-by: Junio C Hamano <junio@pobox.com> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> 17 June 2008, 23:39:59 UTC
61fb0b7 gitweb: remove unused parse_ref method The parse_ref method became unused in cd1464083c, but the author decided to leave it in. Now it gets in the way of refactoring, so let's remove it. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2008, 23:39:18 UTC
516381d gitweb: quote commands properly when calling the shell This eliminates the function git_cmd_str, which was used for composing command lines, and adds a quote_command function, which quotes all of its arguments (as in quote.c). Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2008, 23:39:09 UTC
79c6dca sha1_file.c: simplify parse_pack_index() It was implemented as a thin wrapper around an otherwise unused helper function parse_pack_index_file(). The code becomes simpler and easier to read by consolidating the two. Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2008, 05:19:00 UTC
3bfaf01 create_tempfile: make sure that leading directories can be accessible by peers In a shared repository, we should make sure adjust_shared_perm() is called after creating the initial fan-out directories under objects/ directory. Earlier an logico called the function only when mkdir() failed; we should do so when mkdir() succeeded. Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2008, 05:02:12 UTC
1421c5f write_loose_object: don't bother trying to read an old object Before even calling this, all callers have done a "has_sha1_file(sha1)" or "has_loose_object(sha1)" check, so there is no point in doing a second check. If something races with us on object creation, we handle that in the final link() that moves it to the right place. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2008, 04:46:47 UTC
328a475 path-list documentation: document all functions and data structures Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2008, 04:32:22 UTC
9e18522 run-command documentation: fix "memset()" parameter When initializing the struct async and struct child_process structures, the documentation suggested "clearing" the structure with '0' instead of '\0'. It is enough to use integer zero here. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2008, 04:31:17 UTC
5f54de5 Merge branch 'maint' * maint: diff.c: fix emit_line() again not to add extra line 17 June 2008, 00:39:50 UTC
4afbcab diff.c: fix emit_line() again not to add extra line Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 June 2008, 00:37:21 UTC
9dc784a Merge branch 'maint' * maint: diff: reset color before printing newline 16 June 2008, 23:14:22 UTC
06ff64a diff: reset color before printing newline It worked that way since commit 50f575fc (Tweak diff colors, 2006-06-22), but commit c1795bb0 (Unify whitespace checking, 2007-12-13) changed it. This patch restores the old behaviour. Besides Linus' arguments in the log message of 50f575fc, resetting color before printing newline is also important to keep 'git add --patch' happy. If the last line(s) of a file are removed, then that hunk will end with a colored line. However, if the newline comes before the color reset, then the diff output will have an additional line at the end containing only the reset sequence. This causes trouble in git-add--interactive.perl's parse_diff function, because @colored will have one more element than @diff, and that last element will contain the color reset. The elements of these arrays will then be copied to @hunk, but only as many as the number of elements in @diff. As a result the last color reset is lost and all subsequent terminal output will be printed in color. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 June 2008, 22:22:09 UTC
336d09d Make git reflog expire honour core.sharedRepository. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2008, 22:54:06 UTC
4744d72 Update RPM spec to drop curl executable requirement Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2008, 20:47:14 UTC
1d53f90 The "curl" executable is no longer required git-clone.sh was the last user of the "curl" executable. Relevant git commands now use libcurl instead. This should be reflected in the install requirements. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2008, 20:44:44 UTC
d0594be Makefile: update check-docs target Earlier series to rename documentation pages around did not update this target and left check-docs broken. This should fix it. Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2008, 20:43:32 UTC
8da1e21 Consistency: Use "libcurl" instead of "cURL library" and "curl" Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2008, 20:35:10 UTC
b96317f cpio is no longer used by git-clone Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2008, 20:34:32 UTC
5570406 Documentation: RelNotes-1.5.6: talk about renamed HTML files Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 June 2008, 20:33:48 UTC
52cb2bc GIT 1.5.6-rc3 Just a lot of small fixes, mostly documentation. Signed-off-by: Junio C Hamano <gitster@pobox.com> 14 June 2008, 21:39:22 UTC
c529d75 Simplify and rename find_sha1_file() Now that we've made the loose SHA1 file reading more careful and streamlined, we only use the old find_sha1_file() function for checking whether a loose object file exists at all. As such, the whole 'return stat information' part of it was just pointless (nobody cares any more), and the naming of the function is not really all that relevant either. So simplify it to not do a 'stat()', but just an existence check (which is what the callers want), and rename it to 'has_loose_object()' which matches the use. 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
44d1c19 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 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 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 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 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 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 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 Merge branch 'rs/attr' * rs/attr: Ignore .gitattributes in bare repositories 14 June 2008, 18:48:59 UTC
c8c6a2e 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 "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 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 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 Merge branch 'maint' * maint: fix typo in tutorial 11 June 2008, 23:21:56 UTC
2feaf4e 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
back to top