5cd75c7 | Vincent van Ravesteijn | 23 November 2011, 06:31:55 UTC | builtin-branch: Fix crash on invalid use of --force The option --force should not put us in 'create branch' mode. The fact that this option is only valid in 'create branch' mode is already caught by the the next 'if' in which we assure that we are in the correct mode. Without this patch, "git branch -f" without any other argument ends up calling create_branch without any branch name. Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 November 2011, 21:23:33 UTC |
b15aa97 | Jonathan Nieder | 23 November 2011, 10:04:52 UTC | revert --abort: do not leave behind useless sequencer-old directory The "git cherry-pick --abort" command currently renames the .git/sequencer directory to .git/sequencer-old instead of removing it on success due to an accident. cherry-pick --abort is designed to work in three steps: 1) find which commit to roll back to 2) call "git reset --merge <commit>" to move to that commit 3) remove the .git/sequencer directory But the careless author forgot step 3 entirely. The only reason the command worked anyway is that "git reset --merge <commit>" renames the .git/sequencer directory as a secondary effect --- after moving to <commit>, or so the logic goes, it is unlikely but possible that the caller of git reset wants to continue the series of cherry-picks that was in progress, so git renames the sequencer state to .git/sequencer-old to be helpful while allowing the cherry-pick to be resumed if the caller did not want to end the sequence after all. By running "git cherry-pick --abort", the operator has clearly indicated that she is not planning to continue cherry-picking. Remove the (renamed) .git/sequencer directory as intended all along. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 November 2011, 18:56:29 UTC |
2a4037d | Johannes Sixt | 23 November 2011, 08:49:38 UTC | Fix revert --abort on Windows On Windows, it is not possible to rename or remove a directory that has open files. 'revert --abort' renamed .git/sequencer when it still had .git/sequencer/head open. Close the file as early as possible to allow the rename operation on Windows. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Acked-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 November 2011, 18:54:57 UTC |
b4524d3 | Nguyễn Thái Ngọc Duy | 23 November 2011, 12:45:36 UTC | revert: do not pass non-literal string as format to git_path() This fixes the following warning. CC builtin/revert.o builtin/revert.c: In function ‘write_cherry_pick_head’: builtin/revert.c:311: warning: format not a string literal and no format arguments Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 November 2011, 17:29:53 UTC |
017d1e1 | Junio C Hamano | 23 November 2011, 02:23:36 UTC | Update 1.7.8 draft release notes in preparation for rc4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 November 2011, 02:23:36 UTC |
9fd389b | Junio C Hamano | 23 November 2011, 02:22:08 UTC | Merge branch 'jn/revert-quit' * jn/revert-quit: revert: remove --reset compatibility option revert: introduce --abort to cancel a failed cherry-pick revert: write REVERT_HEAD pseudoref during conflicted revert revert: improve error message for cherry-pick during cherry-pick revert: rearrange pick_revisions() for clarity revert: rename --reset option to --quit | 23 November 2011, 02:22:08 UTC |
c427b21 | Jonathan Nieder | 22 November 2011, 11:20:46 UTC | revert: remove --reset compatibility option Remove the "git cherry-pick --reset" option, which has a different preferred spelling nowadays ("--quit"). Luckily the old --reset name was not around long enough for anyone to get used to it. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 November 2011, 02:18:02 UTC |
539047c | Jonathan Nieder | 23 November 2011, 01:27:21 UTC | revert: introduce --abort to cancel a failed cherry-pick After running some ill-advised command like "git cherry-pick HEAD..linux-next", the bewildered novice may want to return to more familiar territory. Introduce a "git cherry-pick --abort" command that rolls back the entire cherry-pick sequence and places the repository back on solid ground. Just like "git merge --abort", this internally uses "git reset --merge", so local changes not involved in the conflict resolution are preserved. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 November 2011, 02:16:59 UTC |
82433cd | Jonathan Nieder | 22 November 2011, 11:17:36 UTC | revert: write REVERT_HEAD pseudoref during conflicted revert When conflicts are encountered while reverting a commit, it can be handy to have the name of that commit easily available. For example, to produce a copy of the patch to refer to while resolving conflicts: $ git revert 2eceb2a8 error: could not revert 2eceb2a8... awesome, buggy feature $ git show -R REVERT_HEAD >the-patch $ edit $(git diff --name-only) Set a REVERT_HEAD pseudoref when "git revert" does not make a commit, for cases like this. This also makes it possible for scripts to distinguish between a revert that encountered conflicts and other sources of an unmerged index. After successfully committing, resetting with "git reset", or moving to another commit with "git checkout" or "git reset", the pseudoref is no longer useful, so remove it. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 November 2011, 21:34:44 UTC |
b8c7469 | Jonathan Nieder | 22 November 2011, 11:15:47 UTC | revert: improve error message for cherry-pick during cherry-pick In the spirit of v1.6.3.3~3^2 (refuse to merge during a merge, 2009-07-01), "git cherry-pick" refuses to start a new cherry-pick when in the middle of an existing conflicted cherry-pick in the following sequence: 1. git cherry-pick HEAD..origin 2. resolve conflicts 3. git cherry-pick HEAD..origin (instead of "git cherry-pick --continue", by mistake) Good. However, the error message on attempting step 3 is more convoluted than necessary: $ git cherry-pick HEAD..origin error: .git/sequencer already exists. error: A cherry-pick or revert is in progress. hint: Use --continue to continue the operation hint: or --quit to forget about it fatal: cherry-pick failed Clarify by removing the redundant first "error:" message, simplifying the advice, and using lower-case and no full stops to be consistent with other commands that prefix their messages with "error:", so it becomes error: a cherry-pick or revert is already in progress hint: try "git cherry-pick (--continue | --quit)" fatal: cherry-pick failed The "fatal: cherry-pick failed" line seems unnecessary, too, but that can be fixed some other day. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 November 2011, 21:33:49 UTC |
dffc860 | Jonathan Nieder | 22 November 2011, 11:15:10 UTC | revert: rearrange pick_revisions() for clarity Deal completely with "cherry-pick --quit" and --continue at the beginning of pick_revisions(), leaving the rest of the function for the more interesting "git cherry-pick <commits>" case. No functional change intended. The impact is just to unindent the code a little. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 November 2011, 21:33:01 UTC |
f80a872 | Jonathan Nieder | 22 November 2011, 11:14:29 UTC | revert: rename --reset option to --quit The option to "git cherry-pick" and "git revert" to discard the sequencer state introduced by v1.7.8-rc0~141^2~6 (revert: Introduce --reset to remove sequencer state, 2011-08-04) has a confusing name. Change it now, while we still have the time. The new name for "cherry-pick, please get out of my way, since I've long forgotten about the sequence of commits I was cherry-picking when you wrote that old .git/sequencer directory" is --quit. Mnemonic: this is analagous to quiting a program the user is no longer using --- we just want to get out of the multiple-command cherry-pick procedure and not to reset HEAD or rewind any other old state. The "--reset" option is kept as a synonym to minimize the impact. We might consider dropping it for simplicity in a separate patch, though. Adjust documentation and tests to use the newly preferred name (--quit) instead of --reset. While at it, let's clarify the short descriptions of these operations in "-h" output. Before: --reset forget the current operation --continue continue the current operation After: --quit end revert or cherry-pick sequence --continue resume revert or cherry-pick sequence Noticed-by: Phil Hord <phil.hord@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 November 2011, 21:30:35 UTC |
e14d631 | Junio C Hamano | 21 November 2011, 22:30:45 UTC | Merge branch 'maint' * maint: documentation fix: git difftool uses diff tools, not merge tools. | 21 November 2011, 22:30:45 UTC |
0f64a5a | Junio C Hamano | 21 November 2011, 19:03:20 UTC | Merge branch 'rr/misc-fixes' * rr/misc-fixes: convert.c: Fix return type of git_path_check_eol() | 21 November 2011, 19:03:20 UTC |
ef563de | Ramsay Jones | 21 November 2011, 18:42:09 UTC | convert.c: Fix return type of git_path_check_eol() The git_path_check_eol() function converts a string value to the corresponding 'enum eol' value. However, the function is currently declared to return an 'enum crlf_action', which causes sparse to complain thus: SP convert.c convert.c:736:50: warning: mixing different enum types convert.c:736:50: int enum crlf_action versus convert.c:736:50: int enum eol In order to suppress the warning, we simply correct the return type in the function declaration. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 November 2011, 19:00:57 UTC |
1e501a7 | Thomas Hochstein | 14 November 2011, 22:55:52 UTC | documentation fix: git difftool uses diff tools, not merge tools. Let the documentation for -t list valid *diff* tools, not valid *merge* tools. Signed-off-by: Thomas Hochstein <thh@inter.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 November 2011, 17:14:34 UTC |
05bab3e | Ramsay Jones | 19 November 2011, 19:42:00 UTC | config.c: Fix a static buffer overwrite bug by avoiding mkpath() On cygwin, test number 21 of t3200-branch.sh (git branch -m q q2 without config should succeed) fails. The failure involves the functions from path.c which parcel out internal static buffers from the git_path() and mkpath() functions. In particular, the rename_ref() function calls safe_create_leading\ _directories() with a filename returned by git_path("logs/%s", ref). safe_create_leading_directories(), in turn, calls stat() on each element of the path it is given. On cygwin, this leads to a call to git_config() for each component of the path, since this test explicitly removes the config file. git_config() calls mkpath(), so on the fourth component of the path, the original buffer passed into the function is overwritten with the config filename. Note that this bug is specific to cygwin and it's schizophrenic stat() functions (see commits adbc0b6, 7faee6b and 7974843). The lack of a config file and a path with at least four elements is also important to trigger the bug. In order to fix the problem, we replace the call to mkpath() with a call to mksnpath() and provide our own buffer. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 November 2011, 03:32:09 UTC |
3a81f33 | Ramsay Jones | 19 November 2011, 19:38:54 UTC | t5501-*.sh: Fix url passed to clone in setup test In particular, the url passed to git-clone has an extra '/' given after the 'file://' schema prefix, thus: git clone --reference=original "file:///$(pwd)/original one Once the prefix is removed, the remainder of the url looks something like "//home/ramsay/git/t/...", which is then interpreted as an network path. This then results in a "Permission denied" error, like so: ramsay $ ls //home ls: cannot access //home: No such host or network path ramsay $ ls //home/ramsay ls: cannot access //home/ramsay: Permission denied ramsay $ In order to fix the problem, we simply remove the extraneous '/' character from the url. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 November 2011, 03:24:24 UTC |
f56ef11 | Junio C Hamano | 18 November 2011, 22:19:45 UTC | Hopefully final update of release notes before 1.7.8 final Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 November 2011, 22:19:45 UTC |
9e9ab40 | Junio C Hamano | 18 November 2011, 22:13:48 UTC | Merge branch 'rr/misc-fixes' * rr/misc-fixes: git-compat-util: don't assume value for undefined variable sha1_file: don't mix enum with int convert: don't mix enum with int http: remove unused function hex() | 18 November 2011, 22:13:48 UTC |
024c843 | Jonathan Nieder | 18 November 2011, 09:58:21 UTC | Makefile: add option to disable automatic dependency generation Now that the COMPUTE_HEADER_DEPENDENCIES feature is turned on automatically for compilers that support it (see v1.7.8-rc0~142^2~1, 2011-08-18), there is no easy way to force it off. For example, setting COMPUTE_HEADER_DEPENDENCIES to the empty string in config.mak just tells the makefile to treat it as undefined and run a test command to see if the -MMD option is supported. So allow setting COMPUTE_HEADER_DEPENDENCIES=no to explicitly force the feature off. The new semantics: - "yes" means to explicitly enable the feature - "no" means to disable it - "auto" means to autodetect The default is still "auto". Any value other than these three will cause the build to error out with a descriptive message so typos and stale settings in config.mak don't result in mysterious behavior. Makefile:1278: *** please set COMPUTE_HEADER_DEPENDENCIES to yes, no, or auto (not "1"). Stop. So now when someone using a compiler without -MMD support reports trouble building git, you can reproduce it by running "make COMPUTE_HEADER_DEPENDENCIES=no". Suggested-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Improved-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Tested-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 November 2011, 19:35:08 UTC |
4c00c85 | Junio C Hamano | 18 November 2011, 19:30:02 UTC | Sync with 1.7.7.4 | 18 November 2011, 19:30:02 UTC |
bd5bce7 | Junio C Hamano | 18 November 2011, 19:28:05 UTC | Git 1.7.7.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 November 2011, 19:28:05 UTC |
c9de921 | Junio C Hamano | 18 November 2011, 19:14:16 UTC | Merge branch 'jc/maint-name-rev-all' into maint * jc/maint-name-rev-all: name-rev --all: do not even attempt to describe non-commit object | 18 November 2011, 19:14:16 UTC |
79cfe0c | Junio C Hamano | 18 November 2011, 19:14:00 UTC | Merge branch 'ml/mailmap' into maint * ml/mailmap: mailmap: xcalloc mailmap_info Conflicts: mailmap.c | 18 November 2011, 19:14:00 UTC |
01e0f16 | Junio C Hamano | 18 November 2011, 19:11:50 UTC | Merge branch 'jn/maint-notes-avoid-va-args' into maint * jn/maint-notes-avoid-va-args: notes merge: eliminate OUTPUT macro Conflicts: notes-merge.c | 18 November 2011, 19:11:50 UTC |
487da9c | Jonathan Nieder | 18 November 2011, 10:02:02 UTC | Makefile: add missing header file dependencies When the streaming filter API was introduced in v1.7.7-rc0~60^2~7 (2011-05-20), we forgot to add its header to LIB_H. Most translation units depend on streaming.h via cache.h. v1.7.5-rc0~48 (Fix sparse warnings, 2011-03-22) introduced undeclared dependencies by url.o on url.h and thread-utils.o on thread-utils.h. Noticed by make CHECK_HEADER_DEPENDENCIES=1. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 November 2011, 18:45:33 UTC |
5f9f8d1 | Jonathan Nieder | 18 November 2011, 01:27:46 UTC | notes merge: eliminate OUTPUT macro The macro is variadic, which breaks support for pre-C99 compilers, and it hides an "if", which can make code hard to understand on first reading if some arguments have side-effects. The OUTPUT macro seems to have been inspired by the "output" function from merge-recursive. But that function in merge-recursive exists to indent output based on the level of recursion and there is no similar justification for such a function in "notes merge". Noticed with 'make CC="gcc -std=c89 -pedantic"': notes-merge.c:24:22: warning: anonymous variadic macros were introduced in C99 [-Wvariadic-macros] Encouraged-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 November 2011, 07:35:22 UTC |
418c9b1 | Jonathan Nieder | 16 November 2011, 08:03:36 UTC | do not let git_path clobber errno when reporting errors Because git_path() calls vsnprintf(), code like fd = open(git_path("SQUASH_MSG"), O_WRONLY | O_CREAT, 0666); die_errno(_("Could not write to '%s'"), git_path("SQUASH_MSG")); can end up printing an error indicator from vsnprintf() instead of open() by mistake. Store the path we are trying to write to in a temporary variable and pass _that_ to die_errno(), so the messages written by git cherry-pick/revert and git merge can avoid this source of confusion. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 November 2011, 23:06:27 UTC |
4d2440f | Junio C Hamano | 17 November 2011, 19:06:15 UTC | Git 1.7.8-rc3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 November 2011, 19:06:15 UTC |
09116a1 | Junio C Hamano | 17 November 2011, 00:54:32 UTC | refs: loosen over-strict "format" check The add_extra_ref() interface is used to add an extra-ref that is _not_ our ref for the purpose of helping auto-following of tags and reducing object transfer from remote repository, and they are typically formatted as a tagname followed by ^{} to make sure no valid refs match that pattern. In other words, these entries are deliberately formatted not to pass check-refname-format test. A recent series however added a test unconditionally to the add_ref() function that is called from add_extra_ref(). The check may be sensible for other two callsites of the add_ref() interface, but definitely is a wrong thing to do in add_extra_ref(). Disable it. Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: Michael Haggerty <mhagger@alum.mit.edu> | 17 November 2011, 05:52:24 UTC |
74b531f | Marc-André Lureau | 17 November 2011, 01:25:06 UTC | mailmap: xcalloc mailmap_info This is to avoid reaching free of uninitialized members. With an invalid .mailmap (and perhaps in other cases), it can reach free(mi->name) with garbage for example. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 November 2011, 02:00:56 UTC |
5e1e6b9 | Ramkumar Ramachandra | 15 November 2011, 09:31:32 UTC | revert: prettify fatal messages Some of the fatal messages printed by revert and cherry-pick look ugly like the following: fatal: Could not open .git/sequencer/todo.: No such file or directory The culprit here is that these callers of the die_errno() function did not take it into account that the message string they give to it is followed by ": <strerror>", hence the message typically should not end with the full-stop. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 November 2011, 00:59:46 UTC |
e4ac953 | Ramkumar Ramachandra | 15 November 2011, 17:31:09 UTC | git-compat-util: don't assume value for undefined variable Suggested-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 November 2011, 00:09:34 UTC |
5e12e78 | Ramkumar Ramachandra | 15 November 2011, 16:59:39 UTC | sha1_file: don't mix enum with int Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 November 2011, 00:09:20 UTC |
7356b51 | Ramkumar Ramachandra | 15 November 2011, 16:59:37 UTC | convert: don't mix enum with int Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 November 2011, 00:09:02 UTC |
620771c | Ramkumar Ramachandra | 15 November 2011, 16:59:36 UTC | http: remove unused function hex() Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 November 2011, 00:08:48 UTC |
e8b14d7 | Junio C Hamano | 15 November 2011, 23:51:05 UTC | name-rev --all: do not even attempt to describe non-commit object This even dates back to the very beginning of "git name-rev"; it does not make much sense to dump all objects in the repository and label non-commits as "undefined". Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 November 2011, 23:51:05 UTC |
f0c7fd4 | Junio C Hamano | 15 November 2011, 23:39:33 UTC | Revert "upload-archive: use start_command instead of fork" This reverts commit c09cd77ea2fe3580b33918a99fe138d239ac2aaf, expecting a better version to be rerolled soon. | 15 November 2011, 23:39:33 UTC |
bc1bbe0 | Junio C Hamano | 13 November 2011, 06:14:53 UTC | Git 1.7.8-rc2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 November 2011, 06:14:53 UTC |
dc865af | Junio C Hamano | 12 November 2011, 05:34:06 UTC | Merge branch 'ly/mktree-using-strbuf' * ly/mktree-using-strbuf: mktree: fix a memory leak in write_tree() | 12 November 2011, 05:34:06 UTC |
c444c16 | Junio C Hamano | 10 November 2011, 17:10:51 UTC | Merge "Move 'builtin-*' into a 'builtin/' subdirectory" | 10 November 2011, 17:10:51 UTC |
77f143b | Junio C Hamano | 10 November 2011, 17:05:31 UTC | Merge 'build-in git-mktree' * commit '633e3556ccbc': (5835 commits) build-in git-mktree allow -t abbreviation for --track in git branch gitweb: Remove function prototypes (cleanup) Documentation: cloning to empty directory is allowed Clarify kind of conflict in merge-one-file helper git config: clarify --add and --get-color archive-tar.c: squelch a type mismatch warning Start 1.6.4 development Start 1.6.3.1 maintenance series. GIT 1.6.3 t4029: use sh instead of bash t4200: convert sed expression which operates on non-text file to perl t4200: remove two unnecessary lines t/annotate-tests.sh: avoid passing a non-newline terminated file to sed t4118: avoid sed invocation on file without terminating newline t4118: add missing '&&' t8005: use egrep when extended regular expressions are required git-clean doc: the command only affects paths under $(cwd) improve error message in config.c t4018-diff-funcname: add cpp xfuncname pattern to syntax test ... | 10 November 2011, 17:05:31 UTC |
cd9519b | Liu Yuan | 10 November 2011, 08:39:22 UTC | mktree: fix a memory leak in write_tree() We forget to call strbuf_release to release the buf memory. Signed-off-by: Liu Yuan <tailai.ly@taobao.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 November 2011, 17:04:08 UTC |
248dbbe | Junio C Hamano | 09 November 2011, 13:46:39 UTC | Merge branch 'sn/complete-bash-wo-process-subst' * sn/complete-bash-wo-process-subst: completion: don't leak variable from the prompt into environment | 09 November 2011, 13:46:39 UTC |
4804d43 | SZEDER Gábor | 09 November 2011, 10:02:50 UTC | completion: don't leak variable from the prompt into environment Commit e5b8eebc (completion: fix issue with process substitution not working on Git for Windows, 2011-10-26) introduced a new variable in __git_ps1_show_upstream(), but didn't declare it as local to prevent it from leaking into the environment. We may want to rewrite it like the following, but that can wait until the next cycle. while read key value do ... done <<-EOF $(git config -z --get-regexp ...) EOF Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 November 2011, 13:44:05 UTC |
8a04247 | Junio C Hamano | 09 November 2011, 00:42:33 UTC | Update draft release notes to 1.7.8 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 November 2011, 00:42:33 UTC |
d7a0129 | Junio C Hamano | 09 November 2011, 00:40:31 UTC | Merge branch 'jc/remote-setbranches-usage-fix' * jc/remote-setbranches-usage-fix: remote: fix set-branches usage | 09 November 2011, 00:40:31 UTC |
8327ee8 | Junio C Hamano | 09 November 2011, 00:40:27 UTC | Merge branch 'fc/remote-seturl-usage-fix' * fc/remote-seturl-usage-fix: remote: fix remote set-url usage | 09 November 2011, 00:40:27 UTC |
14ba45a | Junio C Hamano | 09 November 2011, 00:38:14 UTC | Sync with 1.7.7.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 November 2011, 00:38:14 UTC |
d4d5ab4 | Junio C Hamano | 09 November 2011, 00:37:00 UTC | Git 1.7.7.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 November 2011, 00:37:00 UTC |
916034b | Junio C Hamano | 09 November 2011, 00:35:53 UTC | Merge branch 'jc/maint-remove-renamed-ref' into maint * jc/maint-remove-renamed-ref: branch -m/-M: remove undocumented RENAMED-REF Conflicts: refs.c | 09 November 2011, 00:35:53 UTC |
1a61a9d | Junio C Hamano | 09 November 2011, 00:26:50 UTC | Merge branch 'jm/maint-gitweb-filter-forks-fix' into maint * jm/maint-gitweb-filter-forks-fix: gitweb: fix regression when filtering out forks | 09 November 2011, 00:26:50 UTC |
992499d | Junio C Hamano | 09 November 2011, 00:26:45 UTC | Merge branch 'dm/pack-objects-update' into maint * dm/pack-objects-update: pack-objects: don't traverse objects unnecessarily pack-objects: rewrite add_descendants_to_write_order() iteratively pack-objects: use unsigned int for counter and offset values pack-objects: mark add_to_write_order() as inline | 09 November 2011, 00:26:45 UTC |
fcbebfd | Junio C Hamano | 08 November 2011, 18:17:40 UTC | docs: Update install-doc-quick The preformatted documentation pages live in their own repositories these days. Adjust the installation procedure to the updated layout. Tested-by: Stefan Naewe <stefan.naewe@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 November 2011, 21:37:10 UTC |
939ca96 | Jeff King | 08 November 2011, 21:29:30 UTC | docs: don't mention --quiet or --exit-code in git-log(1) These are diff-options, but they don't actually make sense in the context of log. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 November 2011, 21:37:02 UTC |
4cb6764 | Junio C Hamano | 08 November 2011, 00:48:34 UTC | Git 1.7.8-rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 November 2011, 00:48:34 UTC |
92622e6 | Junio C Hamano | 08 November 2011, 00:43:19 UTC | Merge branch 'ss/blame-textconv-fake-working-tree' * ss/blame-textconv-fake-working-tree: blame.c: Properly initialize strbuf after calling textconv_object(), again | 08 November 2011, 00:43:19 UTC |
8518088 | Sebastian Schuberth | 07 November 2011, 17:33:34 UTC | blame.c: Properly initialize strbuf after calling textconv_object(), again 2564aa4 started to initialize buf.alloc, but that should actually be one more byte than the string length due to the trailing \0. Also, do not modify buf.alloc out of the strbuf code. Use the existing strbuf_attach instead. Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 November 2011, 00:42:57 UTC |
5ae0f68 | Junio C Hamano | 07 November 2011, 05:22:22 UTC | Merge branch 'ab/i18n-test-fix' * ab/i18n-test-fix: t/t7508-status.sh: use test_i18ncmp t/t6030-bisect-porcelain.sh: use test_i18ngrep | 07 November 2011, 05:22:22 UTC |
78c17b9 | Junio C Hamano | 07 November 2011, 05:22:19 UTC | Merge branch 'sn/http-auth-with-netrc-fix' * sn/http-auth-with-netrc-fix: http: don't always prompt for password | 07 November 2011, 05:22:19 UTC |
de26347 | Junio C Hamano | 07 November 2011, 05:21:57 UTC | Merge branch 'pw/p4-appledouble-fix' * pw/p4-appledouble-fix: git-p4: ignore apple filetype | 07 November 2011, 05:21:57 UTC |
c49904e | Felipe Contreras | 07 November 2011, 03:36:57 UTC | remote: fix remote set-url usage Bad copy-paste. Otherwise the help text for "git remote set-url --help" would show help for "git remote update" subcommand. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 November 2011, 05:16:34 UTC |
656cdf0 | Junio C Hamano | 07 November 2011, 05:12:59 UTC | remote: fix set-branches usage Bad copy-paste. Otherwise "git remote set-branches" without necessary argument will result in an error message and help for set-url subcommand. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 November 2011, 05:15:30 UTC |
9f7ef0e | Pete Wyckoff | 05 November 2011, 17:36:07 UTC | git-p4: ignore apple filetype Revert 97a21ca (git-p4: stop ignoring apple filetype, 2011-10-16) and add a test case. Reported-by: Michael Wookey <michaelwookey@gmail.com> Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 November 2011, 06:17:52 UTC |
ca0f515 | Ævar Arnfjörð Bjarmason | 05 November 2011, 17:28:43 UTC | t/t7508-status.sh: use test_i18ncmp Change a i18n-specific comparison in t/t7508-status.sh to use test_i18ncmp instead. This was introduced in v1.7.6.3~11^2 and has been broken under GETTEXT_POISON=YesPlease since. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 November 2011, 06:14:26 UTC |
475b377 | Ævar Arnfjörð Bjarmason | 05 November 2011, 17:28:42 UTC | t/t6030-bisect-porcelain.sh: use test_i18ngrep Change a i18n-specific grep in t/t6030-bisect-porcelain.sh to use test_i18ngrep instead. This was introduced in v1.7.7.2~5^2~11 and has been broken under GETTEXT_POISON=YesPlease since. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 November 2011, 06:14:25 UTC |
986bbc0 | Stefan Naewe | 04 November 2011, 07:03:08 UTC | http: don't always prompt for password When a username is already specified at the beginning of any HTTP transaction (e.g. "git push https://user@hosting.example.com/project.git" or "git ls-remote https://user@hosting.example.com/project.git"), the code interactively asks for a password before calling into the libcurl library. It is very likely that the reason why user included the username in the URL is because the user knows that it would require authentication to access the resource. Asking for the password upfront would save one roundtrip to get a 401 response, getting the password and then retrying the request. This is a reasonable optimization. HOWEVER. This is done even when $HOME/.netrc might have a corresponding entry to access the site, or the site does not require authentication to access the resource after all. But neither condition can be determined until we call into libcurl library (we do not read and parse $HOME/.netrc ourselves). In these cases, the user is forced to respond to the password prompt, only to give a password that is not used in the HTTP transaction. If the password is in $HOME/.netrc, an empty input would later let the libcurl layer to pick up the password from there, and if the resource does not require authentication, any input would be taken and then discarded without getting used. It is wasteful to ask this unused information to the end user. Reduce the confusion by not trying to optimize for this case and always incur roundtrip penalty. An alternative might be to document this and keep this round-trip optimization as-is. Signed-off-by: Stefan Naewe <stefan.naewe@gmail.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 November 2011, 16:47:18 UTC |
ee6dfb2 | Junio C Hamano | 03 November 2011, 19:15:08 UTC | receive-pack: do not expect object 0{40} to exist When pushing to delete a ref, it uses 0{40} as an object name to signal that the request is a deletion. We shouldn't trigger "deletion of a corrupt ref" warning in such a case, which was designed to notice that a ref points at an object that is truly missing from the repository. Reported-by: Stefan Näwe Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 November 2011, 21:27:04 UTC |
db85b3a | Stefan Naewe | 02 November 2011, 15:07:05 UTC | t3200: add test case for 'branch -m' Signed-off-by: Stefan Naewe <stefan.naewe@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2011, 19:36:56 UTC |
3706ed2 | Tay Ray Chuan | 02 November 2011, 16:17:12 UTC | branch -m: handle no arg properly Modify the option parsing heuristic to handle all -m (rename) cases, including the no-arg case. Previously, this "fell through" to the (argc <= 2) case and caused segfault. Reported-by: Stefan Näwe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 02 November 2011, 19:35:37 UTC |
87bf9a7 | Junio C Hamano | 01 November 2011, 23:37:33 UTC | Update draft release notes to 1.7.8 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 November 2011, 23:44:57 UTC |
79eec36 | Junio C Hamano | 01 November 2011, 23:20:42 UTC | Sync with 1.7.7.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 November 2011, 23:43:50 UTC |
8d19b44 | Junio C Hamano | 01 November 2011, 23:16:36 UTC | Git 1.7.7.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 November 2011, 23:41:57 UTC |
60a31ec | Junio C Hamano | 01 November 2011, 23:41:41 UTC | Merge branch 'rs/maint-estimate-cache-size' into maint * rs/maint-estimate-cache-size: t7511: avoid use of reserved filename on Windows. | 01 November 2011, 23:41:41 UTC |
ac7acaa | Junio C Hamano | 01 November 2011, 23:12:19 UTC | Merge branch 'md/smtp-tls-hello-again' into maint * md/smtp-tls-hello-again: send-email: Honour SMTP domain when using TLS | 01 November 2011, 23:12:19 UTC |
0814d6e | Junio C Hamano | 01 November 2011, 23:11:00 UTC | Merge branch 'jk/pull-rebase-with-work-tree' into maint * jk/pull-rebase-with-work-tree: pull,rebase: handle GIT_WORK_TREE better Conflicts: git-pull.sh | 01 November 2011, 23:11:00 UTC |
eee947f | Junio C Hamano | 01 November 2011, 23:10:56 UTC | Merge branch 'jc/maint-diffstat-numstat-context' into maint * jc/maint-diffstat-numstat-context: diff: teach --stat/--numstat to honor -U$num | 01 November 2011, 23:10:56 UTC |
dddc411 | Junio C Hamano | 01 November 2011, 23:03:35 UTC | Merge branch 'js/bisect-no-checkout' into maint * js/bisect-no-checkout: bisect: fix exiting when checkout failed in bisect_start() | 01 November 2011, 23:03:35 UTC |
a4fdd79 | Junio C Hamano | 01 November 2011, 22:54:45 UTC | Merge branch 'bc/attr-ignore-case' into maint * bc/attr-ignore-case: attr.c: respect core.ignorecase when matching attribute patterns attr: read core.attributesfile from git_default_core_config builtin/mv.c: plug miniscule memory leak cleanup: use internal memory allocation wrapper functions everywhere attr.c: avoid inappropriate access to strbuf "buf" member Conflicts: remote.c | 01 November 2011, 22:54:46 UTC |
ffa4c36 | Junio C Hamano | 01 November 2011, 22:51:01 UTC | Merge branch 'cn/fetch-prune' into maint * cn/fetch-prune: fetch: treat --tags like refs/tags/*:refs/tags/* when pruning fetch: honor the user-provided refspecs when pruning refs remote: separate out the remote_find_tracking logic into query_refspecs t5510: add tests for fetch --prune fetch: free all the additional refspecs | 01 November 2011, 22:51:01 UTC |
7fa6c90 | Junio C Hamano | 01 November 2011, 22:45:16 UTC | Merge branch 'sp/smart-http-failure' into maint * sp/smart-http-failure: remote-curl: Fix warning after HTTP failure | 01 November 2011, 22:45:16 UTC |
5b5d92a | Junio C Hamano | 01 November 2011, 22:42:25 UTC | Merge jn/maint-http-error-message * commit 'be22d92eac809ad2bfa2b7c83ad7cad5a15f1c43': http: avoid empty error messages for some curl errors http: remove extra newline in error message | 01 November 2011, 22:42:25 UTC |
b1b7ced | Junio C Hamano | 01 November 2011, 22:31:12 UTC | Merge branch 'jk/name-hash-dirent' * jk/name-hash-dirent: name-hash.c: always initialize dir_next pointer | 01 November 2011, 22:31:12 UTC |
395c735 | Johannes Sixt | 01 November 2011, 22:21:06 UTC | name-hash.c: always initialize dir_next pointer Test t2021-checkout-overwrite.sh reveals a segfault in 'git add' on a case-insensitive file system when git is compiled with XMALLOC_POISON defined. The reason is that 2548183b (fix phantom untracked files when core.ignorecase is set) added a new member dir_next to struct cache_entry, but forgot to initialize it in all cases. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 November 2011, 22:29:18 UTC |
b919f84 | Junio C Hamano | 01 November 2011, 22:20:28 UTC | Merge branch 'ss/blame-textconv-fake-working-tree' * ss/blame-textconv-fake-working-tree: (squash) test for previous blame.c: Properly initialize strbuf after calling, textconv_object() Conflicts: t/t8006-blame-textconv.sh | 01 November 2011, 22:20:28 UTC |
7406aa2 | Junio C Hamano | 01 November 2011, 22:20:22 UTC | Merge branch 'ef/mingw-upload-archive' * ef/mingw-upload-archive: mingw: poll.h is no longer in sys/ upload-archive: use start_command instead of fork compat/win32/poll.c: upgrade from upstream mingw: move poll out of sys-folder | 01 November 2011, 22:20:22 UTC |
84a9ea9 | Junio C Hamano | 01 November 2011, 22:20:07 UTC | Merge branch 'dm/pack-objects-update' * dm/pack-objects-update: pack-objects: don't traverse objects unnecessarily pack-objects: rewrite add_descendants_to_write_order() iteratively pack-objects: use unsigned int for counter and offset values pack-objects: mark add_to_write_order() as inline | 01 November 2011, 22:20:07 UTC |
c17f1a9 | Junio C Hamano | 01 November 2011, 22:20:03 UTC | Merge branch 'nd/pretty-commit-log-message' * nd/pretty-commit-log-message: pretty.c: use original commit message if reencoding fails pretty.c: free get_header() return value | 01 November 2011, 22:20:03 UTC |
0e7e30f | Ted Percival | 31 October 2011, 22:37:12 UTC | svn: Quote repository root in regex match Fixes a problem matching repository URLs, especially those with a '+' in the URL, such as svn+ssh:// URLs. Parts of the URL were interpreted as special characters by the regex matching. Signed-off-by: Ted Percival <ted.percival@quest.com> Acked-by: Eric Wong <normalperson@yhbt.net> | 01 November 2011, 20:05:33 UTC |
2d52ea9 | Erik Faye-Lund | 01 November 2011, 11:56:21 UTC | mingw: poll.h is no longer in sys/ Earlier we moved this header file in the code but forgot to update the Makefile that refers to it. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 November 2011, 17:02:11 UTC |
b323c64 | Pat Thoyts | 31 October 2011, 14:07:27 UTC | t7511: avoid use of reserved filename on Windows. PRN is a special filename on Windows to send data to the printer. As this is generated during test 3 substitute an alternate prefix to avoid this. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2011, 19:31:42 UTC |
be3fa91 | Junio C Hamano | 31 October 2011, 02:14:24 UTC | Git 1.7.8-rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2011, 02:14:24 UTC |
324bc2a | Junio C Hamano | 31 October 2011, 02:13:13 UTC | Merge branch 'jk/git-tricks' * jk/git-tricks: completion: match ctags symbol names in grep patterns contrib: add git-jump script contrib: add diff highlight script | 31 October 2011, 02:13:13 UTC |
c09cd77 | Erik Faye-Lund | 24 October 2011, 16:02:11 UTC | upload-archive: use start_command instead of fork The POSIX-function fork is not supported on Windows. Use our start_command API instead. As this is the last call-site that depends on the fork-stub in compat/mingw.h, remove that as well. Add an undocumented flag to git-archive that tells it that the action originated from a remote, so features can be disabled. Thanks to Jeff King for work on this part. Remove the NOT_MINGW-prereq for t5000, as git-archive --remote now works. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2011, 01:45:21 UTC |
f0bd664 | Erik Faye-Lund | 24 October 2011, 16:02:10 UTC | compat/win32/poll.c: upgrade from upstream poll.c is updated from revision adc3a5b in git://git.savannah.gnu.org/gnulib.git The changes are applied with --whitespace=fix to reduce noise. poll.h is not upgraded, because the most recent version now contains template-stuff that breaks compilation for us. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Acked-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2011, 01:45:16 UTC |
0f77dea | Erik Faye-Lund | 24 October 2011, 16:02:09 UTC | mingw: move poll out of sys-folder Both XSI and upstream Gnulib versions expects to find poll.h at the root of some include path, not inside the sys-folder. This helps us when upgrading Gnulib. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Acked-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 October 2011, 01:44:28 UTC |
55e7c0a | Junio C Hamano | 28 October 2011, 16:36:55 UTC | (squash) test for previous Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 October 2011, 16:36:55 UTC |
2564aa4 | Sebastian Schuberth | 28 October 2011, 15:28:28 UTC | blame.c: Properly initialize strbuf after calling, textconv_object() For a plain string where only the length is known, strbuf.alloc needs to be initialized to the length. Otherwise strbuf.alloc is 0 and a later call to strbuf_setlen() will fail. This bug surfaced when calling git blame under Windows on a *.doc file. The *.doc file is converted to plain text by antiword via the textconv mechanism. However, the plain text returned by antiword contains DOS line endings instead of Unix line endings which triggered the strbuf_setlen() which previous to this patch failed. Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 October 2011, 15:41:56 UTC |
e8e1c29 | Junio C Hamano | 27 October 2011, 19:06:44 UTC | Update draft release notes to 1.7.8 Getting very close to -rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 October 2011, 19:06:44 UTC |