swh:1:snp:87728f882295b5ba27035837248a04c5be121c53

sort by:
Revision Author Date Message Commit Date
191a8e3 GIT 1.5.6.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 July 2008, 22:23:43 UTC
460abee git-am: Do not exit silently if committer is unset Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 July 2008, 19:46:18 UTC
329636b t0004: fix timing bug The test created an initial commit, made .git/objects unwritable and then exercised various codepaths to create loose commit, tree and blob objects to make sure the commands notice failures from these attempts. However, the initial commit was not preceded with test_tick, which made its object name depend on the timestamp. The names of all the later tree and blob objects the test tried to create were static. If the initial commit's object name happened to begin with the same two hexdigits as the tree or blob objects the test later attempted to create, the fan-out directory in which these tree or blob would be created is already created when the initial commit was made, and the object creation succeeds, and commands being tested should not notice any failure --- in short, the test was bogus. This makes the fan-out directories also unwritable, and adds test_tick before the commit object creation to make the test repeatable. The contents of the file to create a blob from "a" to "60" is to force the name of the blob object to begin with "1b", which shares the fan-out directory with the initial commit that is created with the test. This was useful when diagnosing the breakage of this test. Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 July 2008, 11:15:56 UTC
b495818 git-mailinfo: document the -n option Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 July 2008, 04:10:13 UTC
8c6202d Fix backwards-incompatible handling of core.sharedRepository 06cbe85 (Make core.sharedRepository more generic, 2008-04-16) broke the traditional setting of core.sharedRepository to true, which was to make the repository group writable: with umask 022, it would clear the permission bits for 'other'. (umask 002 did not exhibit this behaviour since pre-chmod() check in adjust_shared_perm() fails in that case.) The call to adjust_shared_perm() should only loosen the permission. If the user has umask like 022 or 002 that allow others to read, the resulting files should be made readable and writable by group, without restricting the readability by others. This patch fixes the adjust_shared_perm() mode tweak based on Junio's suggestion and adds the appropriate tests to t/t1301-shared-repo.sh. Cc: Heikki Orsila <heikki.orsila@iki.fi> Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 July 2008, 03:38:30 UTC
e09c4e7 Start preparing release notes for 1.5.6.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 July 2008, 06:57:14 UTC
e965647 git-submodule - Fix bugs in adding an existing repo as a module git-submodule add would trip if path to the submodule included a space, or if its .git was a gitdir: link to a GIT_DIR kept elsewhere. Fix both. Signed-off-by: Mark Levedahl <mlevedahl@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 08 July 2008, 23:37:25 UTC
d773c63 bash: offer only paths after '--' Many git commands use '--' to separate subcommands, options, and refs from paths. However, the programmable completion for several of these commands does not respect the '--', and offer subcommands, options, or refs after a '--', although only paths are permitted. e.g. 'git bisect -- <TAB>' offers subcommands, 'git log -- --<TAB>' offers options and 'git log -- git<TAB>' offers all gitgui tags. The completion for the following commands share this wrong behaviour: am add bisect commit diff log reset shortlog submodule gitk. To avoid this, we check the presence of a '--' on the command line first and let the shell do filename completion, if one is found. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 08 July 2008, 23:35:05 UTC
1db4a75 Remove unnecessary pack-*.keep file after successful git-clone Once a clone is successful we no longer need to hold onto the .keep file created by the transport. Delete the file so we can later repack the complete repository. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 08 July 2008, 21:47:04 UTC
0b294c0 make deleting a missing ref more quiet If git attempts to delete a ref, but the unlink of the ref file fails, we print a message to stderr. This is usually a good thing, but if the error is ENOENT, then it indicates that the ref has _already_ been deleted. And since that's our goal, it doesn't make sense to complain to the user. This harmonizes the error reporting behavior for the unpacked and packed cases; the packed case already printed nothing on ENOENT, but the unpacked printed unconditionally. Additionally, send-pack would, when deleting the tracking ref corresponding to a remote delete, print "Failed to delete" on any failure. This can be a misleading message, since we actually _did_ delete at the remote side, but we failed to delete locally. Rather than make the message more precise, let's just eliminate it entirely; the delete_ref routine already takes care of printing out a much more specific message about what went wrong. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 08 July 2008, 20:05:11 UTC
30161e7 Merge branch 'qq/maint' into maint * qq/maint: run_command(): respect GIT_TRACE 08 July 2008, 20:05:06 UTC
c636d0e Merge branch 'lt/racy-empty' into maint * lt/racy-empty: racy-git: an empty blob has a fixed object name 08 July 2008, 07:19:17 UTC
39f319f Merge branch 'qq/maint' (early part) into maint * 'qq/maint' (early part): git-svn.perl: workaround assertions in svn library 1.5.0 mailinfo: feed the correct line length to decode_transfer_encoding() git-clone: remove leftover debugging fprintf(). Fix "config_error_nonbool" used with value instead of key clone -q: honor "quiet" option over native transports. attribute documentation: keep EXAMPLE at end builtin-commit.c: Use 'git_config_string' to get 'commit.template' http.c: Use 'git_config_string' to clean up SSL config. diff.c: Use 'git_config_string' to get 'diff.external' convert.c: Use 'git_config_string' to get 'smudge' and 'clean' builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and 'format.suffix' Documentation cvs: Clarify when a bare repository is needed Documentation: be precise about which date --pretty uses 07 July 2008, 23:09:17 UTC
8852f5d run_command(): respect GIT_TRACE When GIT_TRACE is set, the user is most likely wanting to see an external command that is about to be executed. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 July 2008, 20:16:33 UTC
2fe403e git-svn.perl: workaround assertions in svn library 1.5.0 With subversion 1.5.0 (C and perl libraries) the git-svn selftest t9101-git-svn-props.sh fails at test 25 and 26. The following commands cause assertions in the svn library $ cd deeply $ git-svn propget svn:ignore . perl: /build/buildd/subversion-1.5.0dfsg1/subversion/libsvn_ra/ra_loader.c:674: svn_ra_get_dir: Assertion `*path != '/'' failed. Aborted $ git-svn propget svn:ignore .. perl: /build/buildd/subversion-1.5.0dfsg1/subversion/libsvn_subr/path.c:120: svn_path_join: Assertion `is_canonical(component, clen)' failed. With this commit, git-svn makes sure the path doesn't start with a slash, and is not a dot, working around these assertions. The breakage was reported by Lucas Nussbaum through http://bugs.debian.org/489108 Signed-off-by: Gerrit Pape <pape@smarden.org> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 July 2008, 19:56:16 UTC
6fc2a25 mailinfo: feed the correct line length to decode_transfer_encoding() When handling a MIME multipart message, multi-part boundary lines are eaten by a call to handle_boundary() function from the main loop of handle_body(), and after that happens, we should update the line length correctly, because handle_boundary() udpates line[] with new data. This was caused by a thinko in 9aa2309 (mailinfo: apply the same fix not to lose NULs in BASE64 and QP codepaths, 2008-05-25). Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 July 2008, 05:59:51 UTC
77cb7bc git-clone: remove leftover debugging fprintf(). Acked-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 July 2008, 02:25:29 UTC
faf466f Fix grammar in git-rev-parse(1). Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 July 2008, 02:20:50 UTC
3ecb171 Fix "config_error_nonbool" used with value instead of key The function "config_error_nonbool", that is defined in "config.c", is used to report an error when a config key in the config file should have a corresponding value but it hasn't. So the parameter to this function should be the key and not the value, because the value is undefined. And it could crash if the value is used. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 July 2008, 06:30:38 UTC
9b37322 clone -q: honor "quiet" option over native transports. The earlier built-in conversion seems to have broken "git-clone"; this teaches the command to honor the "-q" option again when talking to the remote end over native transports (file://, git:// and ssh://). Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 July 2008, 01:32:36 UTC
8a33dd8 attribute documentation: keep EXAMPLE at end The document gives overall definition of states in DESCRIPTION, describes various aspects of git operations that can be influenced in EFFECTS, and finally gives examples in the EXAMPLE section. Archive creation however was somehow documented after the EXAMPLE section, not insode EFFECTS. Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 July 2008, 01:31:15 UTC
984c6e7 builtin-commit.c: Use 'git_config_string' to get 'commit.template' Signed-off-by: Brian Hetro <whee@smaertness.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 July 2008, 00:42:54 UTC
7ef8ea7 http.c: Use 'git_config_string' to clean up SSL config. Signed-off-by: Brian Hetro <whee@smaertness.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 July 2008, 00:42:46 UTC
daec808 diff.c: Use 'git_config_string' to get 'diff.external' Signed-off-by: Brian Hetro <whee@smaertness.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 July 2008, 00:42:34 UTC
cd8be6c convert.c: Use 'git_config_string' to get 'smudge' and 'clean' Signed-off-by: Brian Hetro <whee@smaertness.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 July 2008, 00:42:30 UTC
70cff3a builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and 'format.suffix' Signed-off-by: Brian Hetro <whee@smaertness.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 July 2008, 00:42:24 UTC
a41a32b Documentation cvs: Clarify when a bare repository is needed New users sometimes import a project and then immediately try to use the imported repository as a central shared repository. This provides pointers about setting up a bare repository for that in the parts of the documentation dealing with CVS migration. Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 July 2008, 00:42:16 UTC
2b2da68 Documentation: be precise about which date --pretty uses This makes it explicit that the --pretty formats 'medium' and 'email' use the author date (and ignore the committer date). Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 July 2008, 23:41:11 UTC
78e3118 GIT 1.5.6.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 04 July 2008, 08:38:41 UTC
2b2828b Fix executable bits in t/ scripts Pointed out by Ramsay Jones. Signed-off-by: Junio C Hamano <gitster@pobox.com> 04 July 2008, 08:38:41 UTC
f444e52 Work around gcc warnings from curl headers After master.k.org upgrade, I started seeing these warning messages: transport.c: In function 'get_refs_via_curl': transport.c:458: error: call to '_curl_easy_setopt_err_write_callback' declared with attribute warning: curl_easy_setopt expects a curl_write_callback argument for this option It appears that the curl header wants to enforce the function signature for callback function given to curl_easy_setopt() to be compatible with that of (*curl_write_callback) or fwrite. This patch seems to work the issue around. Signed-off-by: Junio C Hamano <gitster@pobox.com> 04 July 2008, 07:37:40 UTC
182c5af Merge branch 'js/maint-clone-insteadof' into maint * js/maint-clone-insteadof: clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig clone: respect url.insteadOf setting in global configs 03 July 2008, 04:32:44 UTC
1f42b8e Merge branch 'jk/maint-fetch-ref-hier' into maint * jk/maint-fetch-ref-hier: fetch: give a hint to the user when local refs fail to update fetch: report local storage errors in status table 03 July 2008, 04:32:44 UTC
4df0d7a Merge branch 'jc/maint-reset' into maint * jc/maint-reset: Allow "git-reset path" when unambiguous 03 July 2008, 04:32:44 UTC
14d4642 Fix describe --tags --long so it does not segfault If we match a lightweight (non-annotated tag) as the name to output and --long was requested we do not have a tag, nor do we have a tagged object to display. Instead we must use the object we were passed as input for the long format display. Reported-by: Mark Burton <markb@ordern.com> Backtraced-by: Mikael Magnusson <mikachu@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 July 2008, 04:21:59 UTC
7ad0f27 Start draft release notes for 1.5.6.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 02 July 2008, 00:09:21 UTC
4f3dcc2 Fix 'git show' on signed tag of signed tag of commit The cmd_show loop resolves tags by showing them, then pointing the object to the 'tagged' member. However, this object is not fully initialized; it only contains the SHA1. (This resulted in a segfault if there were two levels of tags.) We apply parse_object to get a full object. Noticed by Kalle Olavi Niemitalo on IRC. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com> 02 July 2008, 00:05:42 UTC
f3cb169 fetch: give a hint to the user when local refs fail to update There are basically two categories of update failures for local refs: 1. problems outside of git, like disk full, bad permissions, etc. 2. D/F conflicts on tracking branch ref names In either case, there should already have been an error message. In case '1', hopefully enough information has already been given that the user can fix it. In the case of '2', we can hint that the user can clean up their tracking branch area by using 'git remote prune'. Note that we don't actually know _which_ case we have, so the user will receive the hint in case 1, as well. In this case the suggestion won't do any good, but hopefully the user is smart enough to figure out that it's just a hint. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 June 2008, 06:47:41 UTC
a0d2ceb doc/rev-parse: clarify reflog vs --until for specifying revisions The rev-parse manpage introduces the branch@{date} syntax, and mentions the reflog specifically. However, new users may not be familiar with the distinction between the reflog and the commit date, so let's help them out with a "you may be interested in --until" pointer. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 June 2008, 06:47:26 UTC
5b8063b clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig After initializing the config in the newly-created repository, we need to unset GIT_CONFIG so that the global configs are read again. Noticed by Pieter de Bie. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 June 2008, 06:16:32 UTC
7829f20 git-svn: don't sanitize remote names in config The original sanitization code was just taken from the remotes2config.sh shell script in contrib. Credit to Avery Pennarun for noticing this mistake, and Junio for clarifying the rules for config section names: Junio C Hamano wrote in <7vfxr23s6m.fsf@gitster.siamese.dyndns.org>: > In > > [foo "bar"] baz = value > > foo and baz must be config.c::iskeychar() (and baz must be isalpha()), but > "bar" can be almost anything. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 June 2008, 03:55:45 UTC
29c70e0 git-svn: avoid filling up the disk with temp files. Commit ffe256f9bac8a40ff751a9341a5869d98f72c285 ("git-svn: Speed up fetch") introduced changes that create a temporary file for each object fetched by svn. These files should be deleted automatically, but perl apparently doesn't do this until the process exits (or perhaps when its garbage collector runs). This means that on a large fetch, especially with lots of branches, we sometimes fill up /tmp completely, which prevents the next temp file from being written completely. This is aggravated by the fact that a new temp file is created for each updated file, even if that update produces a file identical to one already in git. Thus, it can happen even if there's lots of disk space to store the finished repository. We weren't adequately checking for write errors, so this would result in an invalid file getting committed, which caused git-svn to fail later with an invalid checksum. This patch adds a check to syswrite() so similar problems don't lead to corruption in the future. It also unlink()'s each temp file explicitly when we're done with it, so the disk doesn't need to fill up. Signed-off-by: Avery Pennarun <apenwarr@gmail.com> Tested-by: Björn Steinbrink <B.Steinbrink@gmx.de> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 June 2008, 02:57:22 UTC
5b8a94b git cat-file: Fix memory leak in batch mode When run in batch mode, git cat-file never frees the memory for the blob contents it is printing. This quickly adds up and causes git-svn to be hardly usable for imports of large svn repos, because it uses cat-file in batch mode and cat-file's memory usage easily reaches several hundred MB without any good reason. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 June 2008, 02:50:56 UTC
762656e fix git config example syntax git-config expects a space, not '=' between option and value. Also, quote the value since it contains globs, which some shells will not pass through unchanged, or will abort if the glob doesn't expand. Signed-off-by: Joey Hess <joey@kitenet.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 June 2008, 20:43:22 UTC
74d817c avoid off-by-one error in run_upload_archive Make sure that buf has enough space to store the trailing \0 of the command line argument, too. Signed-off-by: Jochen Voss <voss@seehuhn.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 June 2008, 20:43:21 UTC
6315472 fetch: report local storage errors in status table Previously, if there was an error while storing a local tracking ref, the low-level functions would report an error, but fetch's status output wouldn't indicate any problem. E.g., imagine you have an old "refs/remotes/origin/foo/bar" but upstream has deleted "foo/bar" in favor of a new branch "foo". You would get output like this: error: there are still refs under 'refs/remotes/origin/foo' From $url_of_repo * [new branch] foo -> origin/foo With this patch, the output takes into account the status of updating the local ref: error: there are still refs under 'refs/remotes/origin/foo' From $url_of_repo ! [new branch] foo -> origin/foo (unable to update local ref) Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 June 2008, 23:22:51 UTC
bc0c0d8 clone: respect url.insteadOf setting in global configs When we call "git clone" with a url that has a rewrite rule in either $HOME/.gitconfig or /etc/gitconfig, the URL can be different from what the command line expects it to be. So, let's use the URL as the remote structure has it, not the literal string from the command line. Noticed by Pieter de Bie. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Acked-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 June 2008, 23:21:19 UTC
7ac749c Merge branch 'maint-1.5.5' into maint * maint-1.5.5: GIT 1.5.5.5 GIT 1.5.4.6 git-shell: accept "git foo" form Conflicts: GIT-VERSION-GEN RelNotes 27 June 2008, 01:08:51 UTC
006f31d GIT 1.5.5.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 June 2008, 00:59:51 UTC
53b22a9 Merge branch 'maint-1.5.4' into maint-1.5.5 * maint-1.5.4: GIT 1.5.4.6 git-shell: accept "git foo" form Conflicts: GIT-VERSION-GEN RelNotes 27 June 2008, 00:14:03 UTC
872354d GIT 1.5.4.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 June 2008, 00:11:21 UTC
bc7c73e git-shell: accept "git foo" form This is a backport of 0a47dc110e042b5bcc63dc94c8d517e67efe9306 to 'maint' to be included in 1.5.6.2 so that older server side can accept dashless form of request when clients are updated. Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 June 2008, 23:51:23 UTC
18374e5 diff --check: do not discard error status upon seeing a good line "git diff --check" should return non-zero when there was any whitespace error but the code only paid attention to the error status of the last new line in the patch. Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 June 2008, 20:26:25 UTC
dfc8f39 Allow "git-reset path" when unambiguous Resetting a selected set of index entries is done with "git reset -- paths" syntax, but we did not allow -- to be omitted even when the command is unambiguous. This updates the command to follow the general rule: * When -- appears, revs come before it, and paths come after it; * When there is no --, earlier ones are revs and the rest are paths, and we need to guess. When lack of -- marker forces us to guess, we protect from user errors and typoes by making sure what we treat as revs do not appear as filenames in the work tree, and what we treat as paths do appear as filenames in the work tree, and by erroring out if that is not the case. We tell the user to disambiguate by using -- in such a case. which is employed elsewhere in the system. When this rule is applied to "reset", because we can have only zero or one rev to the command, the check can be slightly simpler than other programs. We have to check only the first one or two tokens after the command name and options, and when they are: -- A: no explicit rev given; "A" and whatever follows it are paths. A --: explicit rev "A" given and whatever follows the "--" are paths. A B: "A" could be rev or path and we need to guess. "B" could be missing but if exists that (and everything that follows) would be paths. So we apply the guess only in the last case and only to "A" (not "B" and what comes after it). * As long as "A" is unambiguously a path, index entries for "A", "B" (and everything that follows) are reset to the HEAD revision. * If "A" is unambiguously a rev, on the other hand, the index entries for "B" (and everything that follows) are reset to the "A" revision. Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 June 2008, 01:16:36 UTC
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
f49c2c2 racy-git: an empty blob has a fixed object name We use size=0 as the magic token to say the entry is known to be racily clean, but a sequence that does: - update the path with a non-empty blob and write the index; - update an unrelated path and write the index -- this smudges the above entry; - truncate the path to size zero. would make both the size field for the path in the index and the size on the filesystem zero. We should not mistake it as a clean index entry. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 19 June 2008, 21:14:45 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
back to top