6be0559 | Junio C Hamano | 06 April 2011, 17:57:32 UTC | Git 1.7.5-rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 April 2011, 17:57:32 UTC |
e38f2a8 | Junio C Hamano | 06 April 2011, 17:51:30 UTC | Sync with 1.7.4.4 | 06 April 2011, 17:51:30 UTC |
5fb41b8 | Junio C Hamano | 06 April 2011, 17:49:35 UTC | Git 1.7.4.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 April 2011, 17:50:00 UTC |
0c41f33 | Junio C Hamano | 06 April 2011, 17:41:17 UTC | Merge branch 'nm/maint-conflicted-submodule-entries' into maint * nm/maint-conflicted-submodule-entries: submodule: process conflicting submodules only once | 06 April 2011, 17:41:17 UTC |
df0a6ae | Junio C Hamano | 06 April 2011, 17:40:49 UTC | Merge branch 'mg/rev-list-n-reverse-doc' into maint * mg/rev-list-n-reverse-doc: git-log.txt,rev-list-options.txt: put option blocks in proper order git-log.txt,rev-list-options.txt: -n/--max-count is commit limiting | 06 April 2011, 17:40:49 UTC |
cea667e | Junio C Hamano | 06 April 2011, 17:38:14 UTC | Merge branch 'jk/maint-remote-mirror-safer' * jk/maint-remote-mirror-safer: remote: deprecate --mirror remote: separate the concept of push and fetch mirrors remote: disallow some nonsensical option combinations | 06 April 2011, 17:38:14 UTC |
7e3ead1 | Junio C Hamano | 06 April 2011, 17:37:56 UTC | Merge branch 'mg/doc-revisions-txt' * mg/doc-revisions-txt: revisions.txt: language improvements revisions.txt: structure with a labelled list revisions.txt: consistent use of quotes | 06 April 2011, 17:37:56 UTC |
b62c769 | Michael J Gruber | 04 April 2011, 15:27:05 UTC | revisions.txt: language improvements Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 April 2011, 23:43:57 UTC |
fa38cfc | Junio C Hamano | 04 April 2011, 22:02:08 UTC | Merge branch 'maint' * maint: Documentation: trivial grammar fix in core.worktree description gitweb: Fix parsing of negative fractional timezones in JavaScript | 04 April 2011, 22:02:08 UTC |
2071fb0 | Junio C Hamano | 04 April 2011, 22:02:01 UTC | Merge branch 'jl/submodule-fetch-on-demand' * jl/submodule-fetch-on-demand: fetch/pull: Describe --recurse-submodule restrictions in the BUGS section submodule update: Don't fetch when the submodule commit is already present fetch/pull: Don't recurse into a submodule when commits are already present Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option config: teach the fetch.recurseSubmodules option the 'on-demand' value fetch/pull: Add the 'on-demand' value to the --recurse-submodules option fetch/pull: recurse into submodules when necessary Conflicts: builtin/fetch.c submodule.c | 04 April 2011, 22:02:01 UTC |
2c320e7 | Junio C Hamano | 04 April 2011, 17:55:38 UTC | Merge branch 'jc/rev-list-options-fix' * jc/rev-list-options-fix: "log --cherry-pick" documentation regression fix | 04 April 2011, 17:55:38 UTC |
d424a47 | SZEDER Gábor | 04 April 2011, 14:59:25 UTC | Documentation: trivial grammar fix in core.worktree description Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 April 2011, 17:25:21 UTC |
9029ebb | Jakub Narebski | 01 April 2011, 19:06:28 UTC | gitweb: Fix parsing of negative fractional timezones in JavaScript Extract converting numerical timezone in the form of '(+|-)HHMM' to timezoneOffset function, and fix parsing of negative fractional timezones. This is used to format timestamps in 'blame_incremental' view; this complements commit 2b1e172 (gitweb: Fix handling of fractional timezones in parse_date, 2011-03-25). Now gitweb.cgi/git.git/blame_incremental/3fe5489:/contrib/gitview/gitview#l853 and gitweb.cgi/git.git/blame/3fe5489:/contrib/gitview/gitview#l853 show the same correct time in author's local timezone in title (on mouseover) [Aneesh Kumar K.V, 2006-02-24 00:59:42 +0530]. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 April 2011, 16:33:05 UTC |
1eb71bc | Junio C Hamano | 04 April 2011, 10:41:24 UTC | Merge branch 'nm/maint-conflicted-submodule-entries' * nm/maint-conflicted-submodule-entries: submodule: process conflicting submodules only once | 04 April 2011, 10:41:24 UTC |
44bc573 | Junio C Hamano | 03 April 2011, 20:53:11 UTC | Merge branch 'maint' * maint: Start preparing for 1.7.4.4 pull: do not clobber untracked files on initial pull compat: add missing #include <sys/resource.h> Conflicts: RelNotes | 03 April 2011, 20:53:11 UTC |
8e84886 | Junio C Hamano | 03 April 2011, 19:58:23 UTC | Start preparing for 1.7.4.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 April 2011, 19:58:23 UTC |
8c8674f | Jeff King | 25 March 2011, 18:13:31 UTC | pull: do not clobber untracked files on initial pull For a pull into an unborn branch, we do not use "git merge" at all. Instead, we call read-tree directly. However, we used the --reset parameter instead of "-m", which turns off the safety features. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 April 2011, 19:35:39 UTC |
44ec754 | Junio C Hamano | 03 April 2011, 19:33:05 UTC | Merge branch 'jc/index-update-if-able' into maint * jc/index-update-if-able: update $GIT_INDEX_FILE when there are racily clean entries diff/status: refactor opportunistic index update | 03 April 2011, 19:33:05 UTC |
be57695 | Junio C Hamano | 03 April 2011, 19:32:51 UTC | Merge branch 'lt/default-abbrev' into maint * lt/default-abbrev: Rename core.abbrevlength back to core.abbrev Make the default abbrev length configurable | 03 April 2011, 19:32:51 UTC |
3967c99 | Junio C Hamano | 03 April 2011, 19:32:35 UTC | Merge branch 'jc/maint-rev-list-culled-boundary' into maint * jc/maint-rev-list-culled-boundary: list-objects.c: don't add an unparsed NULL as a pending tree Conflicts: list-objects.c | 03 April 2011, 19:32:35 UTC |
1030536 | Junio C Hamano | 03 April 2011, 19:31:59 UTC | Merge branch 'mm/maint-log-n-with-diff-filtering' into maint * mm/maint-log-n-with-diff-filtering: log: fix --max-count when used together with -S or -G | 03 April 2011, 19:31:59 UTC |
c3d1a43 | Junio C Hamano | 03 April 2011, 19:31:19 UTC | Merge branch 'jk/format-patch-multiline-header' into maint * jk/format-patch-multiline-header: format-patch: rfc2047-encode newlines in headers format-patch: wrap long header lines strbuf: add fixed-length version of add_wrapped_text | 03 April 2011, 19:31:19 UTC |
7a4750a | Junio C Hamano | 03 April 2011, 19:30:58 UTC | Merge branch 'jn/maint-instaweb-plack-fix' into maint * jn/maint-instaweb-plack-fix: git-instaweb: Change how gitweb.psgi is made runnable as standalone app | 03 April 2011, 19:30:58 UTC |
625589b | Junio C Hamano | 03 April 2011, 19:29:45 UTC | Merge branch 'lp/config-vername-check' into maint * lp/config-vername-check: Disallow empty section and variable names Sanity-check config variable names | 03 April 2011, 19:29:45 UTC |
ebae9ff | Jonathan Nieder | 18 March 2011, 20:23:52 UTC | compat: add missing #include <sys/resource.h> Starting with commit c793430 (Limit file descriptors used by packs, 2011-02-28), git uses getrlimit to tell how many file descriptors it can use. Unfortunately it does not include the header declaring that function, resulting in compilation errors: sha1_file.c: In function 'open_packed_git_1': sha1_file.c:718: error: storage size of 'lim' isn't known sha1_file.c:721: warning: implicit declaration of function 'getrlimit' sha1_file.c:721: error: 'RLIMIT_NOFILE' undeclared (first use in this function) sha1_file.c:718: warning: unused variable 'lim' The standard header to include for this is <sys/resource.h> (which on some systems itself requires declarations from <sys/types.h> or <sys/time.h>). Probably the problem was missed until now because in current glibc sys/resource.h happens to be included by sys/wait.h. MinGW does not provide sys/resource.h (and compat/mingw takes care of providing getrlimit some other way), so add the missing #include to the "#ifndef __MINGW32__" block in git-compat-util.h. Reported-by: Stefan Sperling <stsp@stsp.name> Tested-by: Stefan Sperling <stsp@stsp.name> [on OpenBSD] Tested-by: Arnaud Lacombe <lacombar@gmail.com> [on FreeBSD 8] Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 April 2011, 19:21:34 UTC |
485cdb9 | Lawrence Mitchell | 04 February 2011, 10:59:18 UTC | git.el: Don't use font-lock-compile-keywords If font-lock is disabled, font-lock-compile-keywords complains. Really what we want to do is to replace log-edit's font-lock definitions with our own, so define a major mode deriving from log-edit and set up font-lock-defaults there. We then use the optional MODE argument to log-edit to set up the major mode of the commit buffer appropriately. Signed-off-by: Lawrence Mitchell <wence@gmx.li> Acked-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 April 2011, 18:08:54 UTC |
6b3d83e | Ævar Arnfjörð Bjarmason | 03 April 2011, 13:33:39 UTC | t2019-checkout-ambiguous-ref.sh: depend on C_LOCALE_OUTPUT The t2019-checkout-ambiguous-ref.sh tests added in v1.7.4.3~12^2 examines the output for a translatable string, and must be marked with C_LOCALE_OUTPUT; otherwise, GETTEXT_POISON=YesPlease tests will break. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 April 2011, 18:06:07 UTC |
13ee138 | Dan McGee | 28 March 2011, 01:32:19 UTC | Fix two unused variable warnings in gcc 4.6 Seen with -Wunused-but-set-variable. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 April 2011, 17:59:40 UTC |
37be802 | Dan McGee | 31 March 2011, 02:26:01 UTC | Remove old binaries from .gitignore These two programs were dumped a while ago. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 April 2011, 17:32:13 UTC |
1e4cd68 | Stephen Boyd | 03 April 2011, 07:06:54 UTC | sparse: Fix errors and silence warnings * load_file() returns a void pointer but is using 0 for the return value * builtin/receive-pack.c forgot to include builtin.h * packet_trace_prefix can be marked static * ll_merge takes a pointer for its last argument, not an int * crc32 expects a pointer as the second argument but Z_NULL is defined to be 0 (see 38f4d13 sparse fix: Using plain integer as NULL pointer, 2006-11-18 for more info) Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 April 2011, 17:14:53 UTC |
cb35c06 | Junio C Hamano | 03 April 2011, 07:18:50 UTC | Update release notes As 1.7.4.3 has backmerged a handful of fixes from the master, drop these entries from 1.7.5 release notes. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 April 2011, 07:18:50 UTC |
8f84c95 | Junio C Hamano | 03 April 2011, 07:14:16 UTC | Sync with 1.7.4.3 | 03 April 2011, 07:14:16 UTC |
d83a831 | Junio C Hamano | 03 April 2011, 07:12:31 UTC | Git 1.7.4.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 April 2011, 07:12:31 UTC |
c14f372 | Junio C Hamano | 03 April 2011, 06:08:13 UTC | Doc: mention --delta-base-offset is the default for Porcelain commands The underlying pack-objects plumbing command still needs an explicit option from the command line, but these days Porcelain passes the option, so there is no need for end users to worry about it anymore. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 April 2011, 06:08:13 UTC |
c4b2ce6 | Junio C Hamano | 02 April 2011, 00:57:37 UTC | Merge branch 'nd/init-gitdir' * nd/init-gitdir: init, clone: support --separate-git-dir for .git file git-init.txt: move description section up Conflicts: builtin/clone.c | 02 April 2011, 00:57:37 UTC |
ffc5e3c | Junio C Hamano | 02 April 2011, 00:57:16 UTC | Merge branch 'jc/merge-sans-branch' * jc/merge-sans-branch: merge: merge with the default upstream branch without argument merge: match the help text with the documentation Conflicts: builtin/merge.c | 02 April 2011, 00:57:16 UTC |
b966427 | Junio C Hamano | 02 April 2011, 00:56:27 UTC | Merge branch 'jr/grep-en-config' * jr/grep-en-config: grep: allow -E and -n to be turned on by default via configuration | 02 April 2011, 00:56:27 UTC |
6c80cd2 | Junio C Hamano | 02 April 2011, 00:55:55 UTC | Merge branch 'ab/i18n-st' * ab/i18n-st: (69 commits) i18n: git-shortlog basic messages i18n: git-revert split up "could not revert/apply" message i18n: git-revert literal "me" messages i18n: git-revert "Your local changes" message i18n: git-revert basic messages i18n: git-notes GIT_NOTES_REWRITE_MODE error message i18n: git-notes basic commands i18n: git-gc "Auto packing the repository" message i18n: git-gc basic messages i18n: git-describe basic messages i18n: git-clean clean.requireForce messages i18n: git-clean basic messages i18n: git-bundle basic messages i18n: git-archive basic messages i18n: git-status "renamed: " message i18n: git-status "Initial commit" message i18n: git-status "Changes to be committed" message i18n: git-status shortstatus messages i18n: git-status "nothing to commit" messages i18n: git-status basic messages ... Conflicts: builtin/branch.c builtin/checkout.c builtin/clone.c builtin/commit.c builtin/grep.c builtin/merge.c builtin/push.c builtin/revert.c t/t3507-cherry-pick-conflict.sh t/t7607-merge-overwrite.sh | 02 April 2011, 00:55:55 UTC |
84dd63e | Junio C Hamano | 02 April 2011, 00:50:54 UTC | Merge branch 'jk/pull-into-empty' * jk/pull-into-empty: pull: do not clobber untracked files on initial pull merge: merge unborn index before setting ref | 02 April 2011, 00:50:54 UTC |
82d861f | Junio C Hamano | 02 April 2011, 00:50:20 UTC | Merge branch 'sb/sparse-more' * sb/sparse-more: Makefile: Cover more files with make check | 02 April 2011, 00:50:20 UTC |
142c945 | Junio C Hamano | 02 April 2011, 00:45:59 UTC | Merge branch 'maint' * maint: docs: fix filter-branch subdir example for exotic repo names | 02 April 2011, 00:45:59 UTC |
094574b | Junio C Hamano | 01 April 2011, 23:23:55 UTC | Merge branch 'nd/index-doc' into maint * nd/index-doc: doc: technical details about the index file format doc: technical details about the index file format | 01 April 2011, 23:23:55 UTC |
2aa5b6b | Junio C Hamano | 01 April 2011, 23:23:43 UTC | Merge branch 'pk/stash-apply-status-relative' into maint * pk/stash-apply-status-relative: Add test: git stash shows status relative to current dir git stash: show status relative to current directory | 01 April 2011, 23:23:43 UTC |
bcf3d1f | Junio C Hamano | 01 April 2011, 23:23:34 UTC | Merge branch 'jc/maint-diff-q-filter' into maint * jc/maint-diff-q-filter: diff --quiet: disable optimization when --diff-filter=X is used | 01 April 2011, 23:23:34 UTC |
bf87e09 | Junio C Hamano | 01 April 2011, 23:23:21 UTC | Merge branch 'js/maint-stash-index-copy' into maint * js/maint-stash-index-copy: stash: copy the index using --index-output instead of cp -p stash: fix incorrect quoting in cleanup of temporary files | 01 April 2011, 23:23:21 UTC |
b7f6afe | Junio C Hamano | 01 April 2011, 23:23:15 UTC | Merge branch 'mg/doc-bisect-tweak-worktree' into maint * mg/doc-bisect-tweak-worktree: git-bisect.txt: example for bisecting with hot-fix git-bisect.txt: streamline run presentation | 01 April 2011, 23:23:15 UTC |
ac53196 | Junio C Hamano | 01 April 2011, 23:20:45 UTC | Merge branch 'jh/maint-do-not-track-non-branches' into maint * jh/maint-do-not-track-non-branches: branch/checkout --track: Ensure that upstream branch is indeed a branch | 01 April 2011, 23:20:45 UTC |
f35bb7c | Junio C Hamano | 01 April 2011, 23:20:24 UTC | Merge branch 'fk/maint-cvsimport-early-failure' into maint * fk/maint-cvsimport-early-failure: git-cvsimport.perl: Bail out right away when reading from the server fails | 01 April 2011, 23:20:24 UTC |
4584c94 | Junio C Hamano | 01 April 2011, 23:20:19 UTC | Merge branch 'jc/maint-apply-report-offset' into maint * jc/maint-apply-report-offset: apply -v: show offset count when patch did not apply exactly | 01 April 2011, 23:20:19 UTC |
b46c9fa | Junio C Hamano | 01 April 2011, 23:20:11 UTC | Merge branch 'jc/maint-apply-no-double-patch' into maint * jc/maint-apply-no-double-patch: apply: do not patch lines that were already patched | 01 April 2011, 23:20:11 UTC |
46a1f07 | Junio C Hamano | 01 April 2011, 23:19:03 UTC | Merge branch 'js/checkout-untracked-symlink' into maint * js/checkout-untracked-symlink: do not overwrite untracked symlinks Demonstrate breakage: checkout overwrites untracked symlink with directory | 01 April 2011, 23:19:03 UTC |
d12d8ec | Junio C Hamano | 01 April 2011, 23:16:23 UTC | Merge "checkout ambiguous ref bugfix" into maint * commit '0cb6ad3': checkout: fix bug with ambiguous refs | 01 April 2011, 23:16:51 UTC |
3add01b | Junio C Hamano | 01 April 2011, 18:04:46 UTC | "log --cherry-pick" documentation regression fix Earlier f98fd43 (git-log.txt,rev-list-options.txt: put option blocks in proper order, 2011-03-08) moved the text around in the documentation for options in the rev-list family of commands such as "log". Consequently, the description of the --cherry-pick option appears way above the description of the --left-right option now. But the description of the --cherry-pick option still refers to the example for the --left-right option, like this: ... with --left-right, like the example ABOVE in the description of that option. Rephrase it to clarify that we are making a forward reference. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 April 2011, 22:14:38 UTC |
61e508d | Michael J Gruber | 01 April 2011, 09:27:41 UTC | revisions.txt: structure with a labelled list Currently, the reader has to parse a textual description in order to find a specific syntax in the list. Restructure as a labelled list with systematic labels as well as concrete examples as a visual guide. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 April 2011, 22:08:32 UTC |
83456b1 | Michael J Gruber | 01 April 2011, 09:27:40 UTC | revisions.txt: consistent use of quotes Our use of quotes is inconsistent everywhere and within some files. Before reworking the structure of revisions.txt, make the quotes consistent: `git command` 'some snippet or term' The former gets typeset as code, the latter with some form of emphasis. the man backend uses two types of emphasis. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 April 2011, 22:06:54 UTC |
6cb0186 | Jeff King | 01 April 2011, 14:46:27 UTC | docs: fix filter-branch subdir example for exotic repo names The GIT_INDEX_FILE variable we get from git has the full path to the repo, which may contain spaces. When we use it in our shell snippet, it needs to be quoted. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 April 2011, 19:17:45 UTC |
6acef04 | Junio C Hamano | 31 March 2011, 20:58:16 UTC | Git 1.7.5-rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 March 2011, 20:58:47 UTC |
bcef9b6 | Junio C Hamano | 31 March 2011, 02:33:53 UTC | Merge branch 'maint' * maint: parse-remote: typofix | 31 March 2011, 02:33:53 UTC |
2352570 | Junio C Hamano | 31 March 2011, 02:33:33 UTC | parse-remote: typofix An earlier patch had a trivial typo that two people did not notice. Pointed out by Michael Schubert. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 March 2011, 02:33:41 UTC |
313ee0d | Nicolas Morey-Chaisemartin | 30 March 2011, 05:20:02 UTC | submodule: process conflicting submodules only once During a merge module_list returns conflicting submodules several times (stage 1,2,3) which caused the submodules to be used multiple times in git submodule init, sync, update and status command. There are 5 callers of module_list; they all read (mode, sha1, stage, path) tuple, and most of them care only about path. As a first level approximation, it should be Ok (in the sense that it does not make things worse than it currently is) to filter the duplicate paths from module_list output, but some callers should change their behaviour when the merge in the superproject still has conflicts. Notice the higher-stage entries, and emit only one record from module_list, but while doing so, mark the entry with "U" (not [0-3]) in the $stage field and null out the SHA-1 part, as the object name for the lowest stage does not give any useful information to the caller, and this way any caller that uses the object name would hopefully barf. Then update the codepaths for each subcommands this way: - "update" should not touch the submodule repository, because we do not know what commit should be checked out yet. - "status" reports the conflicting submodules as 'U000...000' and does not recurse into them (we might later want to make it recurse). - The command called by "foreach" may want to do whatever it wants to do by noticing the merged status in the superproject itself, so feed the path to it from module_list as before, but only once per submodule. - "init" and "sync" are unlikely things to do while the superproject is still not merged, but as long as a submodule is there in $path, there is no point skipping it. It might however want to take the merged status of .gitmodules into account, but that is outside of the scope of this topic. Acked-by: Jens Lehmann <Jens.Lehmann@web.de> Thanks-to: Junio C Hamano <gitster@pobox.com> Signed-off-by: Nicolas Morey-Chaisemartin <nicolas@morey-chaisemartin.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 31 March 2011, 00:34:08 UTC |
17a0299 | Junio C Hamano | 30 March 2011, 21:10:41 UTC | Merge branch 'maint' * maint: contrib/thunderbird-patch-inline: do not require bash to run the script t8001: check the exit status of the command being tested strbuf.h: remove a tad stale docs-in-comment and reference api-doc instead Typos: t/README Documentation/config.txt: make truth value of numbers more explicit git-pack-objects.txt: fix grammatical errors parse-remote: replace unnecessary sed invocation | 30 March 2011, 21:10:41 UTC |
0990248 | Jeff King | 30 March 2011, 19:53:39 UTC | remote: deprecate --mirror The configuration created by plain --mirror is dangerous and useless, and we now have --mirror=fetch and --mirror=push to replace it. Let's warn the user. One alternative to this is to try to guess which type the user wants. In a non-bare repository, a fetch mirror doesn't make much sense, since it would overwrite local commits. But in a bare repository, you might use either type, or even both (e.g., if you are acting as an intermediate drop-point across two disconnected networks). So rather than try for complex heuristics, let's keep it simple. The user knows what they're trying to do, so let them tell us. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 March 2011, 20:47:54 UTC |
a9f5a35 | Jeff King | 30 March 2011, 19:53:19 UTC | remote: separate the concept of push and fetch mirrors git-remote currently has one option, "--mirror", which sets up mirror configuration which can be used for either fetching or pushing. It looks like this: [remote "mirror"] url = wherever fetch = +refs/*:refs/* mirror = true However, a remote like this can be dangerous and confusing. Specifically: 1. If you issue the wrong command, it can be devastating. You are not likely to "push" when you meant to "fetch", but "git remote update" will try to fetch it, even if you intended the remote only for pushing. In either case, the results can be quite destructive. An unintended push will overwrite or delete remote refs, and an unintended fetch can overwrite local branches. 2. The tracking setup code can produce confusing results. The fetch refspec above means that "git checkout -b new master" will consider refs/heads/master to come from the remote "mirror", even if you only ever intend to push to the mirror. It will set up the "new" branch to track mirror's refs/heads/master. 3. The push code tries to opportunistically update tracking branches. If you "git push mirror foo:bar", it will see that we are updating mirror's refs/heads/bar, which corresponds to our local refs/heads/bar, and will update our local branch. To solve this, we split the concept into "push mirrors" and "fetch mirrors". Push mirrors set only remote.*.mirror, solving (2) and (3), and making an accidental fetch write only into FETCH_HEAD. Fetch mirrors set only the fetch refspec, meaning an accidental push will not force-overwrite or delete refs on the remote end. The new syntax is "--mirror=<fetch|push>". For compatibility, we keep "--mirror" as-is, setting up both types simultaneously. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 March 2011, 20:47:53 UTC |
13fc2c1 | Jeff King | 30 March 2011, 19:52:52 UTC | remote: disallow some nonsensical option combinations It doesn't make sense to use "-m" on a mirror, since "-m" sets up the HEAD symref in the remotes namespace, but with mirror, we are by definition not using a remotes namespace. Similarly, it does not make much sense to specify refspecs with --mirror. For a mirror you plan to push to, those refspecs will be ignored. For a mirror you are fetching from, there is no point in mirroring, since the refspec specifies everything you want to grab. There is one case where "--mirror -t <X>" would be useful. Because <X> is used as-is in the refspec, and because we append it to to refs/, you could mirror a subset of the hierarchy by doing: git remote add --mirror -t 'tags/*' But using anything besides a single branch as an argument to "-t" is not documented and only happens to work, so closing it off is not a serious regression. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 March 2011, 20:47:51 UTC |
b22520a | Joe Ratterman | 30 March 2011, 19:31:05 UTC | grep: allow -E and -n to be turned on by default via configuration Add two configration variables grep.extendedRegexp and grep.lineNumbers to allow the user to skip typing -E and -n on the command line, respectively. Scripts that are meant to be used by random users and/or in random repositories now have use -G and/or --no-line-number options as appropriately to override the settings in the repository or user's ~/.gitconfig settings. Just because the script didn't say "git grep -n" no longer guarantees that the output from the command will not have line numbers. Signed-off-by: Joe Ratterman <jratt0@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 March 2011, 20:17:07 UTC |
806e0ab | Maxin john | 30 March 2011, 08:52:23 UTC | contrib/thunderbird-patch-inline: do not require bash to run the script The script does not have to be run under bash, but any POSIX compliant shell would do, as it does not use any bash-isms. It may be written under a different style than what is recommended in Documentation/CodingGuidelines, but that is a different matter. While at it, fix obvious typos in the comment. Signed-off-by: Maxin B. John <maxin@maxinbjohn.info> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 March 2011, 19:29:39 UTC |
4b705f4 | Junio C Hamano | 30 March 2011, 19:22:05 UTC | t8001: check the exit status of the command being tested Avoid running the command being tested as an upstream of a pipe; doing so will lose its exit status. While at it, modernise the style of the script. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 March 2011, 19:22:05 UTC |
e039011 | Michael Witten | 15 February 2011, 23:12:04 UTC | strbuf.h: remove a tad stale docs-in-comment and reference api-doc instead Signed-off-by: Michael Witten <mfwitten@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 March 2011, 19:02:50 UTC |
63d3294 | Michael Witten | 22 February 2011, 17:15:00 UTC | Typos: t/README Signed-off-by: Michael Witten <mfwitten@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 March 2011, 18:59:52 UTC |
18b19e4 | Carlos Martín Nieto | 30 March 2011, 10:22:32 UTC | Documentation/config.txt: make truth value of numbers more explicit Change the order to 1/0 to have the same true/false order as the rest of the possibilities for a boolean variable in order not not confuse users. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 March 2011, 18:44:59 UTC |
2f8ee02 | Stephen Boyd | 30 March 2011, 09:00:06 UTC | git-pack-objects.txt: fix grammatical errors Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 March 2011, 18:43:15 UTC |
9ecd3ad | Stephen Boyd | 30 March 2011, 08:48:40 UTC | parse-remote: replace unnecessary sed invocation Just use parameter expansion instead. Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 30 March 2011, 18:42:08 UTC |
44a9ced | Junio C Hamano | 30 March 2011, 17:49:13 UTC | Merge branch 'svn-fe' of git://repo.or.cz/git/jrn * 'svn-fe' of git://repo.or.cz/git/jrn: tests: kill backgrounded processes more robustly vcs-svn: a void function shouldn't try to return something tests: make sure input to sed is newline terminated vcs-svn: add missing cast to printf argument | 30 March 2011, 17:49:13 UTC |
a892a2d | Jeff King | 30 March 2011, 03:30:17 UTC | tests: kill backgrounded processes more robustly t0081 creates several background processes that write to a fifo and then go to sleep for a while (so the reader of the fifo does not see EOF). Each background process is made in a curly-braced block in the shell, and after we are done reading from the fifo, we use "kill $!" to kill it off. For a simple, single-command process, this works reliably and kills the child sleep process. But for more complex commands like "make_some_output && sleep", the results are less predictable. When executing under bash, we end up with a subshell that gets killed by the $! but leaves the sleep process still alive. This is bad not only for process hygeine (we are leaving random sleep processes to expire after a while), but also interacts badly with the "prove" command. When prove executes a test, it does not realize the test is done when it sees SIGCHLD, but rather waits until the test's stdout pipe is closed. The orphaned sleep process may keep that pipe open via test-lib's file descriptor 5, causing prove to hang for 100 seconds. The solution is to explicitly use a subshell and to exec the final sleep process, so that when we "kill $!" we get the process id of the sleep process. [jn: original patch by Jeff had some additional bits: 1. Wrap the "kill" in a test_when_finished, since we want to clean up the process whether the test succeeds or not. 2. The "kill" is part of our && chain for test success. It probably won't fail, but it can if the process has expired before we manage to kill it. So let's mark it as OK to fail. I'm postponing that for now.] Reported-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> | 30 March 2011, 04:18:27 UTC |
537d990 | Junio C Hamano | 29 March 2011, 21:09:15 UTC | Merge branch 'maint' * maint: HOME must be set before calling git-init when creating test repositories | 29 March 2011, 21:09:15 UTC |
96220d8 | Junio C Hamano | 29 March 2011, 21:09:08 UTC | Merge branch 'jc/fetch-progressive-stride' * jc/fetch-progressive-stride: Fix potential local deadlock during fetch-pack | 29 March 2011, 21:09:08 UTC |
2eee139 | Junio C Hamano | 29 March 2011, 21:09:02 UTC | Merge branches 'sp/maint-fetch-pack-stop-early' and 'sp/maint-upload-pack-stop-early' * sp/maint-fetch-pack-stop-early: enable "no-done" extension only when fetching over smart-http * sp/maint-upload-pack-stop-early: enable "no-done" extension only when serving over smart-http | 29 March 2011, 21:09:02 UTC |
9e11398 | Michael Witten | 29 March 2011, 17:31:30 UTC | vcs-svn: a void function shouldn't try to return something As v1.7.4-rc0~184 (2010-10-04) and C99 §6.8.6.4.1 remind us, standard C does not permit returning an expression of type void, even for a tail call. Noticed with gcc -pedantic: vcs-svn/svndump.c: In function 'handle_node': vcs-svn/svndump.c:213:3: warning: ISO C forbids 'return' with expression, in function returning void [-pedantic] [jn: with simplified log message] Signed-off-by: Michael Witten <mfwitten@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> | 29 March 2011, 19:47:02 UTC |
4e10cf9 | Junio C Hamano | 29 March 2011, 19:29:10 UTC | Revert two "no-done" reverts Last night I had to make these two emergency reverts, but now we have a better understanding of which part of the topic was broken, let's get rid of the revert to fix it correctly. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 March 2011, 19:29:10 UTC |
cf2ad8e | Junio C Hamano | 29 March 2011, 17:24:59 UTC | enable "no-done" extension only when serving over smart-http Do not advertise no-done capability when upload-pack is not serving over smart-http, as there is no way for this server to know when it should stop reading in-flight data from the client, even though it is necessary to drain all the in-flight data in order to unblock the client. Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: Shawn O. Pearce <spearce@spearce.org> | 29 March 2011, 19:21:28 UTC |
44d8dc5 | Junio C Hamano | 29 March 2011, 17:06:19 UTC | Fix potential local deadlock during fetch-pack The fetch-pack/upload-pack protocol relies on the underlying transport (local pipe or TCP socket) to have enough slack to allow one window worth of data in flight without blocking the writer. Traditionally we always relied on being able to have two windows of 32 "have"s in flight (roughly 3k bytes) to stream. The recent "progressive-stride" change allows "fetch-pack" to send up to 1024 "have"s without reading any response from "upload-pack". The outgoing pipe of "upload-pack" can be clogged with many ACK and NAK that are unread, while "fetch-pack" is still stuffing its outgoing pipe with more "have"s, leading to a deadlock. Revert the change unless we are in stateless rpc (aka smart-http) mode, as using a large window full of "have"s is still a good way to help reduce the number of back-and-forth, and there is no buffering issue there (it is strictly "ping-pong" without an overlap). Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 March 2011, 19:20:22 UTC |
8e9182e | Junio C Hamano | 29 March 2011, 17:16:29 UTC | enable "no-done" extension only when fetching over smart-http When 'no-done' protocol extension is used, the upload-pack (i.e. the server side) process stops listening to the fetch-pack after issuing the final NAK, and starts sending the generated pack data back, but there may be more "have" send by the latter in flight that the fetch-pack is expecting to be responded with ACK/NAK. This will typically result in a deadlock (both will block on write that the other end never reads) or SIGPIPE on the fetch-pack end (upload-pack will finish writing a small pack and goes away). Disable it unless fetch-pack is running under smart-http, where there is no such streaming issue. Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: Shawn O. Pearce <spearce@spearce.org> | 29 March 2011, 19:19:58 UTC |
90cff96 | Alex Riesen | 26 March 2011, 18:46:34 UTC | HOME must be set before calling git-init when creating test repositories Otherwise the created test repositories will be affected by users ~/.gitconfig. For example, setting core.logAllrefupdates in users config will make all calls to "git config --unset core.logAllrefupdates" fail which will break the first test which uses the statement and expects it to succeed. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 March 2011, 08:13:36 UTC |
4c502d6 | Jonathan Nieder | 29 March 2011, 03:08:20 UTC | tests: make sure input to sed is newline terminated POSIX only requires sed to work on text files and because it does not end with a newline, this commit's content is not a text file. Add a newline to fix it. Without this change, OS X sed helpfully adds a newline to actual.message, causing t9010.13 to fail. Reported-by: Torsten Bögershausen <tboegi@web.de> Tested-by: Brian Gernhardt <benji@silverinsanity.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> | 29 March 2011, 07:14:23 UTC |
07514c8 | Junio C Hamano | 29 March 2011, 06:35:39 UTC | Revert "fetch-pack: Implement no-done capability" This reverts commit 761ecf0bc7b6cddf311f00877c59e6381cdbdeea. | 29 March 2011, 06:35:39 UTC |
4793b7e | Junio C Hamano | 29 March 2011, 06:33:51 UTC | Revert "upload-pack: Implement no-done capability" This reverts 3e63b21 (upload-pack: Implement no-done capability, 2011-03-14). Together with 761ecf0 (fetch-pack: Implement no-done capability, 2011-03-14) it seems to make the fetch-pack process out of sync and makes it keep talking long after upload-pack stopped listening to it, terminating the process with SIGPIPE. | 29 March 2011, 06:33:51 UTC |
61e8aaf | Junio C Hamano | 28 March 2011, 21:17:17 UTC | Merge branch 'maint' * maint: git tag documentation grammar fixes and readability updates grep: Add the option '--line-number' | 28 March 2011, 21:17:17 UTC |
f1723ee | Michael Witten | 28 March 2011, 15:11:49 UTC | git tag documentation grammar fixes and readability updates ... with help from Eric Raible. In addition, describe the use of GIT_COMMITTER_DATE more comprehensively by including "date-formats.txt" Signed-off-by: Michael Witten <mfwitten@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 March 2011, 21:14:45 UTC |
730477f | Jens Lehmann | 28 March 2011, 19:16:09 UTC | tests: fix overeager scrubbing of environment variables In commit 95a1d12e9b9f ("tests: scrub environment of GIT_* variables") all environment variables starting with "GIT_" were unset for the tests using a perl script rather than unsetting them one by one. Only three exceptions were made to make them work as before: "GIT_TRACE*", "GIT_DEBUG*" and "GIT_USE_LOOKUP". Unfortunately some environment variables used by the test framework itself were not added to the exceptions and thus stopped working when given before the make command instead of after it. Those are: - GIT_NOTES_TIMING_TESTS - GIT_PATCHID_TIMING_TESTS - GIT_PROVE_OPTS - GIT_REMOTE_SVN_TEST_BIG_FILES - GIT_SKIP_TESTS - GIT_TEST* - GIT_VALGRIND_OPTIONS I noticed that when skipping a test the way I was used to suddenly failed: GIT_SKIP_TESTS='t1234' GIT_TEST_OPTS='--root=/dev/shm' make -j10 test This should work according to t/README, but didn't anymore, so let's fix that by adding them to the exception list. And to avoid having a long regexp put the exceptions in a separate variable using nicer formatting. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Acked-by: Jonathan Nieder <jrnieder@gmail.com> Thanks-to: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 March 2011, 21:08:36 UTC |
7d6cb10 | Joe Ratterman | 28 March 2011, 18:11:55 UTC | grep: Add the option '--line-number' This is a synonym for the existing '-n' option, matching GNU grep. Signed-off-by: Joe Ratterman <jratt0@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 March 2011, 21:02:12 UTC |
cea13a8 | Giuseppe Bilotta | 28 March 2011, 07:39:59 UTC | Improve test for pthreads flag When compiling with CC=clang using Clang 1.1 as shipped by Debian unstable (package version 2.7-3), the -mt flag is sufficient to compile during the `configure` test. However, building git would then fail at link time complaining about missing symbols such as `pthread_key_create' and `pthread_create'. Work around this issue by adding pthread key creation to the pthreads configure test source. Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 March 2011, 17:54:54 UTC |
8cc299d | Jonathan Nieder | 28 March 2011, 00:38:15 UTC | vcs-svn: add missing cast to printf argument gcc -m32 correctly warns: vcs-svn/fast_export.c: In function 'fast_export_commit': vcs-svn/fast_export.c:54:2: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 2 has type 'unsigned int' [-Wformat] Fix it. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 March 2011, 16:46:44 UTC |
41e6b91 | Jonathan Nieder | 27 March 2011, 17:19:14 UTC | vcs-svn: add missing cast to printf argument gcc -m32 correctly warns: vcs-svn/fast_export.c: In function 'fast_export_commit': vcs-svn/fast_export.c:54:2: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 2 has type 'unsigned int' [-Wformat] Fix it. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> | 27 March 2011, 17:21:12 UTC |
be919d5 | Junio C Hamano | 27 March 2011, 03:17:15 UTC | Update draft release note to 1.7.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 March 2011, 03:17:15 UTC |
bf0c5bb | Junio C Hamano | 27 March 2011, 03:13:17 UTC | Merge branch 'mg/rev-list-n-parents' * mg/rev-list-n-parents: tests: avoid nonportable {foo,bar} glob rev-list --min-parents,--max-parents: doc, test and completion revision.c: introduce --min-parents and --max-parents options t6009: use test_commit() from test-lib.sh | 27 March 2011, 03:13:17 UTC |
8194fca | Junio C Hamano | 27 March 2011, 03:13:17 UTC | Merge branch 'js/remove-unused-variables' * js/remove-unused-variables: Remove unused variables | 27 March 2011, 03:13:17 UTC |
908535c | Junio C Hamano | 27 March 2011, 03:13:17 UTC | Merge branch 'jp/completion-help-alias' * jp/completion-help-alias: git-completion: Add git help completion for aliases | 27 March 2011, 03:13:17 UTC |
149971b | Junio C Hamano | 27 March 2011, 03:13:16 UTC | Merge branch 'jc/index-update-if-able' * jc/index-update-if-able: update $GIT_INDEX_FILE when there are racily clean entries diff/status: refactor opportunistic index update | 27 March 2011, 03:13:16 UTC |
4d46ee7 | Junio C Hamano | 27 March 2011, 03:13:16 UTC | Merge branch 'jk/checkout-orphan-warning' * jk/checkout-orphan-warning: checkout: tweak detached-orphan warning format checkout: clear commit marks after detached-orphan check checkout: add basic tests for detached-orphan warning | 27 March 2011, 03:13:16 UTC |
ad7bb2f | Junio C Hamano | 27 March 2011, 03:13:16 UTC | Merge branch 'jc/maint-rerere-in-workdir' * jc/maint-rerere-in-workdir: rerere: make sure it works even in a workdir attached to a young repository | 27 March 2011, 03:13:16 UTC |