1e8df76 | Junio C Hamano | 13 December 2007, 01:48:21 UTC | GIT 1.5.4-rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 December 2007, 01:48:21 UTC |
467f42c | Junio C Hamano | 13 December 2007, 01:46:16 UTC | Merge branch 'cc/help' * cc/help: RPM spec: Adjust htmldir git-help -w: do not require to be in git repository git.spec.in: remove python_path Documentation: rename git.texi to user-manual.texi Add git-browse-help to .gitignore git-help -i: show info documentation from matching version of git git-help -i: invoke info with document and node name Documentation: add gitman.info target Documentation: describe -w/--web option to "git-help". Use {web,instaweb,help}.browser config options. git-help: add -w|--web option to display html man page in a browser. Documentation: describe -i/--info option to "git-help" git-help: add -i|--info option to display info page. | 13 December 2007, 01:46:16 UTC |
39bf13f | Junio C Hamano | 12 December 2007, 22:00:24 UTC | RPM spec: Adjust htmldir git help -w needs to know the right location of installed pages. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 December 2007, 01:41:58 UTC |
22c9071 | Junio C Hamano | 13 December 2007, 01:34:30 UTC | git-help -w: do not require to be in git repository The users used to be able to say "git help cat-file" from anywhere, but the browse-help script insisted to be in a git repository, which caused "git help -w cat-file" to barf outside. Correct it. While at it, remove leftover debugging "echo". Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 December 2007, 01:41:58 UTC |
cd1bea9 | Junio C Hamano | 13 December 2007, 01:07:03 UTC | Merge branch 'jc/shortlog-e' * jc/shortlog-e: shortlog: default to HEAD when the standard input is a tty Invert numbers and names in the git-shortlog summary mode. shortlog: document -e option git-shortlog -e: show e-mail address as well | 13 December 2007, 01:07:03 UTC |
3e5f260 | Junio C Hamano | 13 December 2007, 00:53:06 UTC | Merge branch 'ew/svn-rev-db' * ew/svn-rev-db: git-svn: reinstate old rev_db optimization in new rev_map git-svn: replace .rev_db with a more space-efficient .rev_map format | 13 December 2007, 00:53:06 UTC |
d9cf4ec | Junio C Hamano | 13 December 2007, 00:52:59 UTC | Merge branch 'jc/merge-recursive-gitlink' * jc/merge-recursive-gitlink: Support a merge with conflicting gitlink change | 13 December 2007, 00:52:59 UTC |
cfa97ae | Junio C Hamano | 13 December 2007, 00:52:51 UTC | Merge branch 'jk/svn-color' * jk/svn-color: git-svn: get color config from --get-colorbool Support GIT_PAGER_IN_USE environment variable | 13 December 2007, 00:52:51 UTC |
c49d3c8 | Junio C Hamano | 12 December 2007, 21:42:12 UTC | git.spec.in: remove python_path We do not depend on python nor customize scripts for it anymore. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 21:42:12 UTC |
50b3555 | Junio C Hamano | 12 December 2007, 21:31:02 UTC | Documentation: rename git.texi to user-manual.texi Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 21:31:02 UTC |
8d08f2d | Junio C Hamano | 12 December 2007, 19:53:29 UTC | disable t9119 for now. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 19:53:29 UTC |
86f8c23 | Wincent Colaiuta | 12 December 2007, 16:22:59 UTC | Fix "diff --check" whitespace detection "diff --check" would only detect spaces before tabs if a tab was the last character in the leading indent. Fix that and add a test case to make sure the bug doesn't regress in the future. Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 19:24:33 UTC |
f604652 | Junio C Hamano | 12 December 2007, 07:46:30 UTC | git-diff --numstat -z: make it machine readable The "-z" format is all about machine parsability, but showing renamed paths as "common/{a => b}/suffix" makes it impossible. The scripts would never have successfully parsed "--numstat -z -M" in the old format. This fixes the output format in a (hopefully minimally) backward incompatible way. * The output without -z is not changed. This has given a good way for humans to view added and deleted lines separately, and showing the path in combined, shorter way would preserve readability. * The output with -z is unchanged for paths that do not involve renames. Existing scripts that do not pass -M/-C are not affected at all. * The output with -z for a renamed path is shown in a format that can easily be distinguished from an unrenamed path. This is based on Jakub Narebski's patch. Bugs and documentation typos are mine. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 18:59:22 UTC |
71a9883 | Wincent Colaiuta | 12 December 2007, 08:14:20 UTC | Documentation: minor grammar fix for "git apply" Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 18:59:22 UTC |
0ac7903 | Wincent Colaiuta | 12 December 2007, 08:12:01 UTC | Use "whitespace" consistently For consistency, change "white space" and "whitespaces" to "whitespace", fixing a couple of adjacent grammar problems in the docs. Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 18:59:22 UTC |
472b257 | Mike Hommey | 11 December 2007, 22:50:21 UTC | Fix XML parser leaks in http-push XML_Parser were never freed. While at it, move the parser initialization to right before it is needed. Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 18:59:22 UTC |
03b69c7 | Mike Hommey | 11 December 2007, 21:59:55 UTC | Fix small memory leaks induced by diff_tree_setup_paths Run diff_tree_release_paths in the appropriate places, and add a test to avoid NULL dereference. Better safe than sorry. Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 18:59:22 UTC |
b0fe0d7 | Alex Riesen | 11 December 2007, 22:01:28 UTC | Fix git-fast-export for zero-sized blobs Writing 1 elements of size 0-byte successfully will cause fwrite(3) to return 0, and flagging it as error is a mistake. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 18:59:22 UTC |
d4110a9 | Charles Bailey | 11 December 2007, 06:47:31 UTC | Fix clone not to ignore depth when performing a local clone When git-clone detects that it can perform a local clone it follows a path that silently ignores the depth parameter. Presumably if the user explicitly requests a shallow clone they have a reason to prefer a space efficient clone of just the recent history so bypass the local magic if the user specifies the depth parameter. Signed-off-by: Charles Bailey <charles@hashpling.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 18:59:22 UTC |
3384a2d | Junio C Hamano | 11 December 2007, 18:09:04 UTC | shortlog: default to HEAD when the standard input is a tty Instead of warning the user that it is expecting git log output from the standard input (and waiting for the user to type the log from the keyboard, which is a silly thing to do), default to traverse from HEAD when there is no rev parameter given and the standard input is a tty. This factors out a useful helper "add_head()" from builtin-diff.c to a more appropriate place revision.c while renaming it to more descriptive name add_head_to_pending(), as that is what the function is about. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 01:01:31 UTC |
7c3c796 | Junio C Hamano | 12 December 2007, 00:05:50 UTC | blame: drop blob data after passing blame to the parent We used to keep the blob data for each origin that has any remaining line in the result, but this will get very costly with a huge file that has a deep history. This patch releases the blob after we ran diff between the child rev and its parents. When passing blame from a parent to its parent (i.e. the grandparent), the blob data for the parent may need to be read again, but it should be relatively cheap, thanks to delta-base cache. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 December 2007, 00:05:50 UTC |
ef4cffd | Jeff King | 11 December 2007, 12:53:47 UTC | git-clone: print an error message when trying to clone empty repo Previously, cloning an empty repository looked like this: $ (mkdir parent && cd parent && git --bare init) $ git-clone parent child Initialized empty Git repository in /home/peff/clone/child/.git/ $ cd child -bash: cd: child: No such file or directory $ echo 'wtf?' | mail git@vger.kernel.org Now we at least report that the clone was not successful. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 19:07:23 UTC |
97566ea | Pierre Habouzit | 11 December 2007, 14:43:51 UTC | Invert numbers and names in the git-shortlog summary mode. Also make it `cut` friendly using a tab to separate the numbers and names. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 17:57:29 UTC |
6508bb7 | Jeff King | 11 December 2007, 12:33:12 UTC | shortlog: document -e option This shows e-mail address in addition to author's name. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 17:56:27 UTC |
18ff365 | Alexandre Julliard | 11 December 2007, 12:56:09 UTC | git.el: Added a menu for git-status-mode. Originally written by Rémi Vanicat, I just changed the layout a little. Signed-off-by: Rémi Vanicat <vanicat@debian.org> Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 17:55:21 UTC |
550f8fd | Johannes Sixt | 11 December 2007, 16:36:32 UTC | Fix a typo in checkout.sh and cleanup one-line help messages This also shortens option descriptions to fit in 80 columns. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 17:52:44 UTC |
cd459e3 | Jeff King | 11 December 2007, 06:28:42 UTC | git-svn: get color config from --get-colorbool git-config recently learned a --get-colorbool option. By using it, we will get the same color=auto behavior that other git commands have. Specifically, this fixes the case where "color.diff = true" meant "always" in git-svn, but "auto" in other programs. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 08:42:07 UTC |
6e9af86 | Jeff King | 11 December 2007, 06:27:33 UTC | Support GIT_PAGER_IN_USE environment variable When deciding whether or not to turn on automatic color support, git_config_colorbool checks whether stdout is a tty. However, because we run a pager, if stdout is not a tty, we must check whether it is because we started the pager. This used to be done by checking the pager_in_use variable. This variable was set only when the git program being run started the pager; there was no way for an external program running git indicate that it had already started a pager. This patch allows a program to set GIT_PAGER_IN_USE to a true value to indicate that even though stdout is not a tty, it is because a pager is being used. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 08:42:05 UTC |
ff72af0 | Junio C Hamano | 10 December 2007, 19:22:05 UTC | Support a merge with conflicting gitlink change merge-recursive did not support merging trees that have conflicting changes in submodules they contain, and died. Support it exactly the same way as how it handles conflicting symbolic link changes --- mark it as a conflict, take the tentative result from the current side, and letting the caller resolve the conflict, without dying in merge_file() function. Also reword the error message issued when merge_file() has to die because it sees a tree entry of type it does not support yet. [jc: fixed up initial draft by Finn Arne Gangstad] Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 08:40:56 UTC |
bf82a15 | Junio C Hamano | 11 December 2007, 05:02:26 UTC | commit: do not add extra LF at the end of the summary. The scripted version relied on the nice "auto-strip the terminating LF" behaviour shell gives to "var=$(cmd)" construct, but we have to roll that ourselves. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 08:38:46 UTC |
be15f50 | Linus Torvalds | 11 December 2007, 04:08:06 UTC | "git tag -u keyname" broken Commit 396865859918e9c7bf8ce74aae137c57da134610 broke signed tags using the "-u" flag when it made builtin-tag.c use parse_options() to parse its arguments (but it quite possibly was broken even before that, by the builtin rewrite). It used to be that passing the signing ID with the -u parameter also (obviously!) implied that you wanted to sign and annotate the tag, but that logic got dropped. It also totally ignored the actual key ID that was passed in. This reinstates it all. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 08:38:46 UTC |
ace9c2a | Junio C Hamano | 11 December 2007, 05:44:42 UTC | send-email: do not muck with initial-reply-to when unset. When not prompting, initial_reply_to can be left unset. Do not try to sanitize it and get useless warning. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 08:38:46 UTC |
28072a5 | Gerrit Pape | 10 December 2007, 09:31:02 UTC | Don't cache DESTDIR in perl/perl.mak. DESTDIR is supposed to be overridden on 'make install' after doing 'make'. Have the automatically generated perl/perl.mak not cache the value of DESTDIR to support that for the perl/ subdirectory also. Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 08:38:46 UTC |
923db42 | Jakub Narebski | 09 December 2007, 12:57:39 UTC | autoconf: Check asciidoc version to automatically set ASCIIDOC8 Check for asciidoc, and if it exists check asciidoc version, setting ASCIIDOC8 when needed. Currently it just runs asciidoc in asciidoc7 compatibility mode (see: Documentation/Makefile). Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 08:38:38 UTC |
66ab84b | Eric Wong | 09 December 2007, 07:27:42 UTC | git-svn: reinstate old rev_db optimization in new rev_map This reinstates an old optimization in .rev_db which stored the highest revision number we scanned, allowing us to avoid scanning the SVN log for those revisions again in a subsequent invocation. This means the last 24-byte record in a .rev_map file can be a 4-byte SVN revision number with 20-bytes of zeroes representing a non-existent commit. This record can and will be overwritten when a new commit iff the commit is all zeroes. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 05:28:27 UTC |
060610c | Eric Wong | 09 December 2007, 07:27:41 UTC | git-svn: replace .rev_db with a more space-efficient .rev_map format Migrations are done automatically on an as-needed basis when new revisions are to be fetched. Stale remote branches do not get migrated, yet. However, unless you set noMetadata or useSvkProps it's safe to just do: find $GIT_DIR/svn -name '.rev_db*' -print0 | xargs rm -f to purge all the old .rev_db files. The new format is a one-way migration and is NOT compatible with old versions of git-svn. This is the replacement for the rev_db format, which was too big and inefficient for large repositories with a lot of sparse history (mainly tags). The format is this: - 24 bytes for every record, * 4 bytes for the integer representing an SVN revision number * 20 bytes representing the sha1 of a git commit - No empty padding records like the old format - new records are written append-only since SVN revision numbers increase monotonically - lookups on SVN revision number are done via a binary search - Piping the file to xxd(1) -c24 is a good way of dumping it for viewing or editing, should the need ever arise. As with .rev_db, these files are disposable unless noMetadata or useSvmProps is set. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 05:28:25 UTC |
eb9688f | Nicolas Pitre | 10 December 2007, 19:19:32 UTC | pack-objects: more threaded load balancing fix with often changed paths The code that splits the object list amongst work threads tries to do so on "path" boundaries not to prevent good delta matches. However, in some cases, a few paths may largely dominate the hash distribution and it is not possible to have good load balancing without ignoring those boundaries. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 December 2007, 01:10:16 UTC |
c07c7bf | Daniel Barkalow | 10 December 2007, 03:05:34 UTC | Add more checkout tests If you have local changes that don't conflict with the branch-switching changes, these should be kept, not cause errors even without -m, and be reported afterwards in name-status format. With -m, the changes carried across should be listed as well. And, for now, include the merge-recursive output from this process. Also test the detatched head message in at least one case. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 December 2007, 19:24:56 UTC |
bf79caf | Jeff King | 10 December 2007, 10:29:18 UTC | Add git-browse-help to .gitignore Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 December 2007, 19:22:51 UTC |
e306be5 | Eyvind Bernhardsen | 10 December 2007, 13:40:20 UTC | Fix mis-markup of the -p, --patch option in git-add(1) An item in a bulletted list in AsciiDoc is followed with two colons, not just one. Signed-off-by: Eyvind Bernhardsen <eyvind-git@orakel.ntnu.no> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 December 2007, 18:58:09 UTC |
a149a1a | Junio C Hamano | 10 December 2007, 09:35:29 UTC | git-help -i: show info documentation from matching version of git Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 December 2007, 09:36:31 UTC |
78d39f9 | Junio C Hamano | 10 December 2007, 09:19:31 UTC | git-help -i: invoke info with document and node name Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 December 2007, 09:36:31 UTC |
5cefc33 | Junio C Hamano | 10 December 2007, 09:15:57 UTC | Documentation: add gitman.info target Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 December 2007, 09:36:13 UTC |
7be2b6e | Junio C Hamano | 10 December 2007, 09:22:42 UTC | Merge branch 'master' into cc/help This is to primarily pull in MANPATH tweak and help.txt formatting fix from the master branch. | 10 December 2007, 09:22:42 UTC |
591aa25 | Junio C Hamano | 10 December 2007, 08:07:18 UTC | Update draft Release Notes for 1.5.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 December 2007, 08:08:05 UTC |
cf7e147 | Wincent Colaiuta | 10 December 2007, 07:42:45 UTC | Style fixes for pre-commit hook tests As pointed out by Junio on the mailing list, surrounding tests in double quotes can lead to bugs wherein variables get substituted away, so this isn't just style churn but important to prevent others from looking at these tests in the future and thinking that this is "the way" that Git tests should be written. Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 December 2007, 08:05:52 UTC |
80f8660 | Wincent Colaiuta | 10 December 2007, 07:33:26 UTC | Interactive editor tests for commit-msg hook Supplement the existing tests for the commit-msg hook (which all use "git commit -m") with tests which use an interactive editor (no -m switch) to ensure that all code paths get tested. At the same time the quoting of some of the existing tests is changed to conform to Junio's recommendations for test style (single quotes used around the test unless there is a compelling reason not to, and the opening quote on the same line as the test_expect and the closing quote in column 1). Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 December 2007, 08:05:52 UTC |
3d3c4f5 | Junio C Hamano | 09 December 2007, 20:16:55 UTC | Re-fix ls-remote An earlier attempt in 2ea7fe0 (ls-remote: resurrect pattern limit support) forgot that the user string can also be a glob. This should finally fix it. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 20:18:42 UTC |
cc3530e | Mike Hommey | 09 December 2007, 17:04:57 UTC | Cleanup variables in http.[ch] Quite some variables defined as extern in http.h are only used in http.c, and some others, only defined in http.c, were not static. Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 20:18:42 UTC |
ace7208 | Mike Hommey | 09 December 2007, 17:17:28 UTC | git-send-email.perl: Really add angle brackets to In-Reply-To if necessary 3803bcea tried to fix this, but it only adds the branckes when the given In-Reply-To begins and ends with whitespaces. It also didn't do anything to the --in-reply-to argument. Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 20:18:37 UTC |
cc2d6b8 | Jeff King | 09 December 2007, 08:21:34 UTC | don't mention index refreshing side effect in git-status docs The tip about speeding up subsequent operations is now obsolete; since aecbf914, git-diff now squelches empty diffs and performs an automatic refresh. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 10:39:53 UTC |
bb4e352 | Nguyễn Thái Ngọc Duy | 09 December 2007, 10:14:39 UTC | Remove repo version check from setup_git_directory setup_git_directory_gently has done the check already. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 10:24:51 UTC |
4eb39e9 | Junio C Hamano | 09 December 2007, 09:23:48 UTC | Merge branch 'jc/spht' * jc/spht: Use gitattributes to define per-path whitespace rule core.whitespace: documentation updates. builtin-apply: teach whitespace_rules builtin-apply: rename "whitespace" variables and fix styles core.whitespace: add test for diff whitespace error highlighting git-diff: complain about >=8 consecutive spaces in initial indent War on whitespace: first, a bit of retreat. Conflicts: cache.h config.c diff.c | 09 December 2007, 09:23:48 UTC |
c07a07c | Christian Couder | 05 December 2007, 05:09:40 UTC | Documentation: describe -w/--web option to "git-help". Also explain that "git instaweb" may use "web.browser" config variable. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 09:19:54 UTC |
d3a866b | Christian Couder | 02 December 2007, 05:08:00 UTC | Use {web,instaweb,help}.browser config options. Now "git-instaweb" will try to use the browser configured as "web.browser", if "instaweb.browser" is not set. "git-browse-help" will check first "help.browser" and then "web.browser". Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 09:19:54 UTC |
5d6491c | Christian Couder | 02 December 2007, 05:07:55 UTC | git-help: add -w|--web option to display html man page in a browser. Now when using "git help -w cmd", we will try to show the HTML man page "git-cmd.html" in your prefered web browser. To do that "help.c" code will call a new shell script "git-browse-help". This currently works only if the HTML versions of the man page have been installed in $(htmldir) (typically "/usr/share/doc/git-doc"), so new target to do that is added to "Documentation/Makefile". The browser to use can be configured using the "web.browser" config variable. We try to open a new tab in an existing web browser, if possible. The code in "git-browse-help" is heavily stolen from "git-mergetool" by Theodore Y. Ts'o. Thanks. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 09:19:44 UTC |
05e74f4 | Junio C Hamano | 09 December 2007, 09:01:50 UTC | Merge branch 'pr/mergetool' * pr/mergetool: Open external merge tool with original file extensions for all three files | 09 December 2007, 09:01:50 UTC |
9b433e4 | Junio C Hamano | 09 December 2007, 08:56:44 UTC | Merge branch 'maint' * maint: config.c:store_write_pair(): don't read the byte before a malloc'd buffer. | 09 December 2007, 08:56:44 UTC |
774751a | Junio C Hamano | 09 December 2007, 01:32:08 UTC | Re-fix "builtin-commit: fix --signoff" An earlier fix to the said commit was incomplete; it mixed up the meaning of the flag parameter passed to the internal fmt_ident() function, so this corrects it. git_author_info() and git_committer_info() can be told to issue a warning when no usable user information is found, and optionally can be told to error out. Operations that actually use the information to record a new commit or a tag will still error out, but the caller to leave reflog record will just silently use bogus user information. Not warning on misconfigured user information while writing a reflog entry is somewhat debatable, but it is probably nicer to the users to silently let it pass, because the only information you are losing is who checked out the branch. * git_author_info() and git_committer_info() used to take 1 (positive int) to error out with a warning on misconfiguration; this is now signalled with a symbolic constant IDENT_ERROR_ON_NO_NAME. * These functions used to take -1 (negative int) to warn but continue; this is now signalled with a symbolic constant IDENT_WARN_ON_NO_NAME. * fmt_ident() function implements the above error reporting behaviour common to git_author_info() and git_committer_info(). A symbolic constant IDENT_NO_DATE can be or'ed in to the flag parameter to make it return only the "Name <email@address.xz>". * fmt_name() is a thin wrapper around fmt_ident() that always passes IDENT_ERROR_ON_NO_NAME and IDENT_NO_DATE. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 08:55:55 UTC |
264474f | Wincent Colaiuta | 08 December 2007, 12:29:47 UTC | Add tests for pre-commit and commit-msg hooks As desired, these pass for git-commit.sh, fail for builtin-commit (prior to the fixes), and succeeded for builtin-commit (after the fixes). Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 08:55:55 UTC |
740001a | Junio C Hamano | 09 December 2007, 07:23:20 UTC | Fix commit-msg hook to allow editing The old git-commit.sh script allowed the commit-msg hook to not only prevent a commit from proceding, but also to edit the commit message on the fly and allow it to proceed. So here we teach builtin-commit to do the same. This is based on Wincent's patch, but redone with a clarified logic. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 08:55:55 UTC |
aa6da6c | Wincent Colaiuta | 08 December 2007, 11:38:08 UTC | Documentation: fix --no-verify documentation for "git commit" The documentation for the --no-verify switch should mention the commit-msg hook, not just the pre-commit hook. Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 08:55:54 UTC |
6b95655 | Wincent Colaiuta | 08 December 2007, 11:38:07 UTC | Allow --no-verify to bypass commit-msg hook At the moment the --no-verify switch to "git commit" instructs it to skip over the pre-commit hook. Here we teach "git commit --no-verify" to skip over the commit-msg hook as well. This brings the behaviour of builtin-commit back in line with git-commit.sh. Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 08:55:54 UTC |
2ea7fe0 | Junio C Hamano | 09 December 2007, 06:52:59 UTC | ls-remote: resurrect pattern limit support "git ls-remote $remote $name1 $name2..." used to limit the output to refs that end with one of the $name given from the command line, but recent rewrite to C forgot to implement that support. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 December 2007, 08:55:46 UTC |
6281f39 | Jim Meyering | 08 December 2007, 15:48:05 UTC | config.c:store_write_pair(): don't read the byte before a malloc'd buffer. Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 22:24:13 UTC |
4602c17 | Junio C Hamano | 08 December 2007, 01:19:31 UTC | git-shortlog -e: show e-mail address as well This option shows the author's email address next to the name. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 19:32:05 UTC |
1e931cb | Junio C Hamano | 08 December 2007, 01:07:41 UTC | shortlog: code restructuring and clean-up The code tried to parse and clean-up the author name and the one line information in three places (two callers of insert_author_oneline() and the called function itself), which was a mess. This renames the callee to insert_one_record() and make it responsible for cleaning up the author name and one line information. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 19:31:17 UTC |
fd99b36 | Junio C Hamano | 08 December 2007, 01:04:11 UTC | mailmap: fix bogus for() loop that happened to be safe by accident The empty loop pretended to have an empty statement as its body by a phony indentation, but in fact was slurping the next statement into it. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 11:40:12 UTC |
384b32c | Nicolas Pitre | 08 December 2007, 05:03:17 UTC | pack-objects: fix threaded load balancing The current method consists of a master thread serving chunks of objects to work threads when they're done with their previous chunk. The issue is to determine the best chunk size: making it too large creates poor load balancing, while making it too small has a negative effect on pack size because of the increased number of chunk boundaries and poor delta window utilization. This patch implements a completely different approach by initially splitting the work in large chunks uniformly amongst all threads, and whenever a thread is done then it steals half of the remaining work from another thread with the largest amount of unprocessed objects. This has the advantage of greatly reducing the number of chunk boundaries with an almost perfect load balancing. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 11:38:36 UTC |
b904166 | Nicolas Pitre | 08 December 2007, 05:00:08 UTC | pack-objects: reverse the delta search sort list It is currently sorted and then walked backward. Not only this doesn't feel natural for my poor brain, but it would make the next patch less obvious as well. So reverse the sort order, and reverse the list walking direction, which effectively produce the exact same end result as before. Also bring the relevant comment nearer the actual code and adjust it accordingly, with minor additional clarifications. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 11:38:35 UTC |
b7a28f7 | Nicolas Pitre | 08 December 2007, 01:27:52 UTC | pack-objects: fix delta cache size accounting The wrong value was substracted from delta_cache_size when replacing a cached delta, as trg_entry->delta_size was used after the old size had been replaced by the new size. Noticed by Linus. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 11:38:35 UTC |
2099bca | Jeff King | 08 December 2007, 09:00:31 UTC | git-status: documentation improvements This patch is the result of reading over git-status with an editorial eye: - fix a few typo/grammatical errors - mention untracked output - present output types in the order they appear from the command Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 11:33:24 UTC |
46f721c | Jeff King | 07 December 2007, 21:26:07 UTC | add status.relativePaths config variable The output of git-status was recently changed to output relative paths. Setting this variable to false restores the old behavior for any old-timers that prefer it. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 11:33:24 UTC |
c3ce326 | Jeff King | 07 December 2007, 16:57:04 UTC | wt-status.c:quote_path(): convert empty path to "./" Now that we are correctly removing leading prefixes from files in git status, there is a degenerate case: the directory matching the prefix. Because we show only the directory name for a directory that contains only untracked files, it gets collapsed to an empty string. Example: $ git init $ mkdir subdir $ touch subdir/file $ git status ... # Untracked files: # (use "git add <file>..." to include in what will be committed) # # subdir/ So far, so good. $ cd subdir $ git status .... # Untracked files: # (use "git add <file>..." to include in what will be committed) # # Oops, that's a bit confusing. This patch prints './' to show that there is some output. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 11:33:24 UTC |
235997c | Junio C Hamano | 07 December 2007, 10:25:34 UTC | git-bisect visualize: work in non-windowed environments better This teaches "git bisect visualize" to be more useful in non-windowed environments. (1) When no option is given, and $DISPLAY is set, it continues to spawn gitk as before; (2) When no option is given, and $DISPLAY is unset, "git log" is run to show the range of commits between the bad one and the good ones; (3) If only "-flag" options are given, "git log <options>" is run. E.g. "git bisect visualize --stat" (4) Otherwise, all of the given options are taken as the initial part of the command line and the commit range expression is given to that command. E.g. "git bisect visualize tig" will run "tig" history viewer to show between the bad one and the good ones. As "visualize" is a bit too long to type, we also give it a shorter synonym "view". Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 10:58:26 UTC |
4af756f | Wincent Colaiuta | 07 December 2007, 12:35:10 UTC | Teach "git add -i" to colorize whitespace errors Rather than replicating the colorization logic of "git diff-files" we rely on "git diff-files" itself. This guarantees consistent colorization in and outside "git add -i". Seeing as speed is not a concern here (the bottleneck is how fast the user can read, not how fast "git diff-files" runs) we do this by actually running it twice, once without color and once with. In this way as the whitespace colorization provided by "git diff-files" evolves (per-path attributes, new classes of whitespace error), "git add -i" will automatically benefit from it and stay in synch. Also, by working with two sets of diff output (an uncolorized one for internal processing and a colorized one for display only) we minimize the risk of regressions because the changes required to implement this are minimally invasive. Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 10:53:19 UTC |
8e566f2 | Sergei Organov | 06 December 2007, 18:33:01 UTC | Let git-help prefer man-pages installed with this version of git Prepend $(prefix)/share/man to the MANPATH environment variable before invoking 'man' from help.c:show_man_page(). There may be other git documentation in the user's MANPATH but the user is asking a specific instance of git about its own documentation, so we'd better show the documentation for _that_ instance of git. Signed-off-by: Sergei Organov <osv@javad.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 December 2007, 10:50:54 UTC |
9758ecd | Junio C Hamano | 07 December 2007, 09:28:05 UTC | Update draft release notes to 1.5.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 December 2007, 09:28:05 UTC |
d9f4059 | Junio C Hamano | 07 December 2007, 07:51:15 UTC | Merge branch 'master' of git://repo.or.cz/git-gui * 'master' of git://repo.or.cz/git-gui: Update Hungarian translation. 100% completed. Update ja.po for git-gui git-gui: Improve the application icon on Windows. git-gui: install-sh from automake does not like -m755 git-gui: Reorder msgfmt command-line arguments Update German translation. 100% completed. Update git-gui.pot with latest (few) string additions and changes. git-gui: update it.po and glossary/it.po git-gui: fix a typo in lib/commit.tcl | 07 December 2007, 07:51:15 UTC |
5f7003b | Junio C Hamano | 07 December 2007, 07:44:49 UTC | Merge branch 'mw/cvsserver' * mw/cvsserver: git-cvsserver runs hooks/post-update git-cvsserver runs hooks/post-receive | 07 December 2007, 07:44:49 UTC |
9f6f4e0 | Junio C Hamano | 07 December 2007, 07:44:43 UTC | Merge branch 'kh/fetch-optparse' * kh/fetch-optparse: Rewrite builtin-fetch option parsing to use parse_options(). | 07 December 2007, 07:44:43 UTC |
c1f2386 | Junio C Hamano | 07 December 2007, 07:43:54 UTC | Merge branch 'jc/git-log-doc' * jc/git-log-doc: Include diff options in the git-log manpage | 07 December 2007, 07:43:54 UTC |
ca73256 | Junio C Hamano | 07 December 2007, 07:43:47 UTC | Merge branch 'jc/addi-color' * jc/addi-color: config --get-colorbool: diff.color is a deprecated synonym to color.diff Color support for "git-add -i" git config --get-colorbool | 07 December 2007, 07:43:47 UTC |
9539a56 | Junio C Hamano | 07 December 2007, 07:43:42 UTC | Merge branch 'jc/docmake-perl' * jc/docmake-perl: Run the specified perl in Documentation/ | 07 December 2007, 07:43:42 UTC |
a43aa4c | Junio C Hamano | 07 December 2007, 07:43:35 UTC | Merge branch 'jc/clean-fix' * jc/clean-fix: t7300: add test for clean with wildcard pathspec git-clean: Honor pathspec. | 07 December 2007, 07:43:35 UTC |
0f7a9c9 | Jakub Narebski | 07 December 2007, 01:27:20 UTC | autoconf: Add test for OLD_ICONV (squelching compiler warning) Update configure.ac (and config.mak.in) to keep up with git development by adding [compile] test whether your library has an old iconv(), where the second (input buffer pointer) parameter is declared with type (const char **) (OLD_ICONV). Test-proposed-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 December 2007, 07:23:42 UTC |
fe4aafb | Wincent Colaiuta | 06 December 2007, 19:07:03 UTC | Silence iconv warnings on Leopard Apple ships a newer version of iconv with Leopard (Mac OS X 10.5/Darwin 9). Ensure that OLD_ICONV is not set on any version of Darwin in the 9.x series; this should be good for at least a couple of years, when Darwin 10 comes out and we can invert the sense of the test to specifically check for Darwin 7 or 8. A more sophisticated and robust check is possible for those who use autoconf, but not everybody does that. Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 December 2007, 07:22:25 UTC |
08e1812 | Junio C Hamano | 07 December 2007, 07:20:18 UTC | Merge branch 'maint' * maint: Change from using email.com to example.com as example domain, as per RFC 2606. | 07 December 2007, 07:20:18 UTC |
8e7425d | David Symonds | 06 December 2007, 23:36:45 UTC | Change from using email.com to example.com as example domain, as per RFC 2606. Signed-off-by: David Symonds <dsymonds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 December 2007, 07:20:11 UTC |
c786050 | Junio C Hamano | 06 December 2007, 17:15:39 UTC | git-status documentation: mention subdirectory behaviour Consistently with all other diff oriented commands, we have given paths relative to the work tree root in git-status output for a long time. This documents the recent behaviour change, as people's eyes (and worse yet, scripts, although scripts should not parse "git status" output) may depend on the old behaviour. In the longer run, giving a --full-name option to git-diff Porcelain similar to what ls-files has, and change the default for git-diff Porcelain to show relative paths may be a good thing to do, in order to hide the oddballness of this git-status behaviour, but that would have a rather large impact to established expectation by existing users. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2007, 17:15:39 UTC |
c6bc400 | Junio C Hamano | 05 December 2007, 07:01:19 UTC | do not discard status in fetch_refs_via_pack() The code calls fetch_pack() to get the list of refs it fetched, and discards refs and always returns 0 to signal success. But builtin-fetch-pack.c::fetch_pack() has error cases. The function returns NULL if error is detected (shallow-support side seems to choose to die but I suspect that is easily fixable to error out as well). Make fetch_refs_via_pack() propagate that error to the caller. Acked-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2007, 15:54:06 UTC |
c9ecf4f | Johannes Sixt | 06 December 2007, 12:24:39 UTC | for-each-ref: Fix quoting style constants. for-each-ref can accept only one quoting style. For this reason it uses OPT_BIT for the quoting style switches so that it is easy to check for more than one bit being set. However, not all symbolic constants were actually single bit values. In particular: $ git for-each-ref --python error: more than one quoting style ? This fixes it. While we are here, let's also remove the space before the question mark. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2007, 15:53:20 UTC |
90e0653 | Junio C Hamano | 06 December 2007, 15:26:29 UTC | hg-to-git: handle an empty dir in hg. Mark Drago had a subversion repository which was then converted to hg and now is moving in to git. The first commit in the svn repo was just the creation of the empty directory. This made its way in to the hg repository fine, but converting from hg to git would cause an error. The problem was that hg-to-git.py tries to commit the change, git-commit fails, and then hg-to-git.py tries to checkout the new revision and that fails (because it was not created). This may have only caused an error because it was the first commit in the repository. If an empty directory was added in the middle of the repo somewhere things might have worked out fine. This patch will use the new --allow-empty option to git-commit to record such an "empty" commit, to reproduce the history recorded in hg more faithfully. Tested-by: Mark Drago <markdrago@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2007, 15:26:29 UTC |
cf1b786 | Junio C Hamano | 06 December 2007, 08:14:14 UTC | Use gitattributes to define per-path whitespace rule The `core.whitespace` configuration variable allows you to define what `diff` and `apply` should consider whitespace errors for all paths in the project (See gitlink:git-config[1]). This attribute gives you finer control per path. For example, if you have these in the .gitattributes: frotz whitespace nitfol -whitespace xyzzy whitespace=-trailing all types of whitespace problems known to git are noticed in path 'frotz' (i.e. diff shows them in diff.whitespace color, and apply warns about them), no whitespace problem is noticed in path 'nitfol', and the default types of whitespace problems except "trailing whitespace" are noticed for path 'xyzzy'. A project with mixed Python and C might want to have: *.c whitespace *.py whitespace=-indent-with-non-tab in its toplevel .gitattributes file. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2007, 08:45:30 UTC |
69243c2 | Junio C Hamano | 06 December 2007, 06:12:07 UTC | config --get-colorbool: diff.color is a deprecated synonym to color.diff The applications can ask for color.diff but the configuration of old timer users can still instruct it to use color with diff.color this way. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2007, 07:05:10 UTC |
d3357ab | Jeff King | 06 December 2007, 03:28:06 UTC | t7300: add test for clean with wildcard pathspec Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2007, 06:47:45 UTC |
c3d51cd | Pini Reznik | 05 December 2007, 07:19:13 UTC | Open external merge tool with original file extensions for all three files Before this change, conflicted files were open in external merge tool with temporary filenames like REMOTE.$$ and LOCAL.$$. This way meld was unable to recognize these files and syntax highlighting feature was unusable. Help such merge tools by giving temporar files the same extension as the original. Signed-off-by: Pini Reznik <pinir@expand.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2007, 02:43:20 UTC |
d871c86 | Junio C Hamano | 05 December 2007, 07:55:41 UTC | git-clean: Honor pathspec. git-clean "*.rej" should attempt to look at only paths that match pattern "*.rej", but rewrite to C broke it. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2007, 02:42:49 UTC |
b4c61ed | Junio C Hamano | 05 December 2007, 08:50:23 UTC | Color support for "git-add -i" This is mostly lifted from earlier series by Dan Zwell, but updated to use "git config --get-color" and "git config --get-colorbool" to make it simpler and more consistent with commands written in C. A new configuration color.interactive variable is like color.diff and color.status, and controls if "git-add -i" uses color. A set of configuration variables, color.interactive.<slot>, are used to define what color is used for the prompt, header, and help text. For perl scripts, Git.pm provides $repo->get_color() method, which takes the slot name and the default color, and returns the terminal escape sequence to color the output text. $repo->get_colorbool() method can be used to check if color is set to be used for a given operation. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2007, 01:57:11 UTC |
0f6f5a4 | Junio C Hamano | 06 December 2007, 01:26:11 UTC | git config --get-colorbool This adds an option to help scripts find out color settings from the configuration file. git config --get-colorbool color.diff inspects color.diff variable, and exits with status 0 (i.e. success) if color is to be used. It exits with status 1 otherwise. If a script wants "true"/"false" answer to the standard output of the command, it can pass an additional boolean parameter to its command line, telling if its standard output is a terminal, like this: git config --get-colorbool color.diff true When called like this, the command outputs "true" to its standard output if color is to be used (i.e. "color.diff" says "always", "auto", or "true"), and "false" otherwise. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 06 December 2007, 01:57:11 UTC |