* What's in git.git (stable) @ 2007-05-13 22:30 Junio C Hamano 2007-05-17 0:21 ` Junio C Hamano 0 siblings, 1 reply; 34+ messages in thread From: Junio C Hamano @ 2007-05-13 22:30 UTC (permalink / raw) To: git We accumulated quite a few fixes on 'maint' since v1.5.1.4, and they apply to 'master' as well. Things that are not in 'master' yet but are scheduled for v1.5.2 final are a performance bug fix for cvsexportcommit (in 'pu') and user manual updates to add a bit of source code tour, which hopefully would happen by the middle of the week, and then we will have the final v1.5.2 next weekend. ---------------------------------------------------------------- * The 'maint' branch has these fixes since v1.5.1.4 Alex Riesen (1): Allow fetching references from any namespace Eric Wong (4): git-svn: don't drop the username from URLs when dcommit is run git-svn: clean up caching of SVN::Ra functions git-svn: fix segfaults due to initial SVN pool being cleared git-svn: don't attempt to minimize URLs by default Jan Hudec (1): Updated documentation of hooks in git-receive-pack. Jari Aalto (1): SPECIFYING RANGES typo fix: it it => it is Junio C Hamano (4): git-clone: don't get fooled by $PWD .mailmap: add some aliases checkout: allow detaching to HEAD even when switching to the tip of a branch git-config: do not forget seeing "a.b.var" means we are out of "a.var" section. Marco Costalba (1): Fix an unmatched comment end in arm/sha1_arm.S Matthieu Castet (1): Remove stale non-static-inline prototype for tree_entry_extract() Quy Tonthat (1): RPM spec: include files in technical/ to package. Richard P. Curnow (2): Fix documentation of tag in git-fast-import.txt Fix documentation of tag in git-fast-import.txt Shawn O. Pearce (1): Properly handle '0' filenames in import-tars Steffen Prohaska (2): tiny fix in documentation of git-clone git-config: test for 'do not forget "a.b.var" ends "a.var" section'. * The 'master' branch has these since v1.5.2-rc3, in addition to the above. Frank Lichtenheld (1): cvsserver: Limit config parser to needed options Jakub Narebski (2): gitweb: Test if $from_id and $to_id are defined before comparison gitweb: Check if requested object exists Jan Hudec (1): Minor fixup to documentation of hooks in git-receive-pack. Jeff King (1): git-add: allow path limiting with -u Junio C Hamano (5): Minor copyediting on Release Notes for 1.5.2 Add has_symlink_leading_path() function. apply: do not get confused by symlinks in the middle read-tree -m -u: avoid getting confused by intermediate symlinks. Link to HTML version of external doc if available Junio Hamano (1): t9400: Use the repository config and nothing else. Lars Hjemli (1): git-archive: don't die when repository uses subprojects ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-05-13 22:30 What's in git.git (stable) Junio C Hamano @ 2007-05-17 0:21 ` Junio C Hamano 2007-05-19 5:24 ` Junio C Hamano 0 siblings, 1 reply; 34+ messages in thread From: Junio C Hamano @ 2007-05-17 0:21 UTC (permalink / raw) To: git It probably would be more interesting to look at the earlier "What's not in 1.5.2" messages, but here is the current status of my tree on the 'stable' front. I'd expect to have 1.5.1.5 from 'maint' perhaps on Saturday, and 1.5.2 from 'master' hopefully on Sunday if everything goes well. ---------------------------------------------------------------- * The 'maint' branch has these fixes since the last announcement. Andy Whitcroft (1): git name-rev writes beyond the end of malloc() with large generations Frank Lichtenheld (3): builtin-log.c: Fix typo in comment Documentation: format-patch has no --mbox option git-am: Clean up the asciidoc documentation Jakub Narebski (1): gitweb: Add a few comments about %feature hash Jeff King (1): format-patch: add MIME-Version header when we add content-type. Johannes Schindelin (1): import-tars: Use the "Link indicator" to identify directories Junio C Hamano (2): Fix git-clone buglet for remote case. Prepare for 1.5.1.5 Release Notes Quy Tonthat (1): Documentation/branch: fix small typo in -D example Steffen Prohaska (1): Fixed link in user-manual * The 'master' branch has these since the last announcement in addition to the above. Andy Parkins (1): Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs Frank Lichtenheld (1): cvsserver: Don't send mixed messages to clients Jakub Narebski (5): gitweb: Fix "Use of unitialized value" warnings in empty repository Documentation: Split description of pretty formats of commit log gitweb: Do not use absolute font sizes gitweb: Separate search regexp from search text gitweb: Empty patch for merge means trivial merge, not no differences Jeff King (1): Documentation/git-add: clarify -u with path limiting Johan Herland (2): Fix signedness on return value from xread() Ensure return value from xread() is always stored into an ssize_t ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-05-17 0:21 ` Junio C Hamano @ 2007-05-19 5:24 ` Junio C Hamano 2007-05-23 21:46 ` Junio C Hamano 0 siblings, 1 reply; 34+ messages in thread From: Junio C Hamano @ 2007-05-19 5:24 UTC (permalink / raw) To: git I've done release 1.5.1.5, which hopefully would be the second from the last release in 1.5.1 maintenance series (I somehow ended up missing documentation formatting updates from Matthias Kestenholz, which fix longstanding ugly formatting mistakes in some manual pages). The tip of 'master' will be tagged v1.5.2 hopefully in 24 hours. Nothing earth shattering since the last message of this series. ---------------------------------------------------------------- * The 'maint' branch has these fixes since the last announcement. J. Bruce Fields (10): user-manual: revise birdseye-view chapter glossary: expand and clarify some definitions, prune cross-references user-manual: move quick-start to an appendix Documentation: remove howto's now incorporated into manual user-manual: move howto/make-dist.txt into user manual user-manual: move howto/using-topic-branches into manual user-manual: add a "counting commits" example user-manual: introduce git user-manual: listing commits reachable from some refs not others user-manual: reorganize public git repo discussion Johannes Schindelin (1): Add a birdview-on-the-source-code section to the user manual Junio C Hamano (1): GIT v1.5.1.5 Matthias Kestenholz (2): Documentation: Added [verse] to SYNOPSIS where necessary Documentation: Reformatted SYNOPSIS for several commands Michael Hendricks (2): git-send-email: allow leading white space on mutt aliases Document core.excludesfile for git-add Petr Baudis (1): Documentation: git-rev-list's "patterns" * The 'master' branch has these since the last announcement in addition to the above. Andy Parkins (1): Fix crlf attribute handling to match documentation Jakub Narebski (2): gitweb: Fix error in git_patchset_body for deletion in merge commit gitweb: Fix "Use of uninitialized value" warning in git_feed Junio C Hamano (3): gitweb: fix another use of undefined value Add link to 1.5.1.5 release notes. Documentation/git.txt: Update links to older documentation pages. Petr Baudis (4): gitweb: Normalize searchbar font size gitweb: Add support for grep searches gitweb: Allow arbitrary strings to be dug with pickaxe gitweb: Remove redundant $searchtype setup René Scharfe (1): git-archive: convert archive entries like checkouts do Shawn O. Pearce (1): git-gui: Gracefully handle bad TCL_PATH at compile time Steffen Prohaska (1): Optimized cvsexportcommit: calling 'cvs status' once instead of once per touched file. ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-05-19 5:24 ` Junio C Hamano @ 2007-05-23 21:46 ` Junio C Hamano 2007-05-29 10:12 ` Junio C Hamano 0 siblings, 1 reply; 34+ messages in thread From: Junio C Hamano @ 2007-05-23 21:46 UTC (permalink / raw) To: git Although there are a few post release fixups queued for v1.5.2.1 on 'maint' already, all things considered I must say v1.5.2 was a quite good release. There isn't a huge "oops, hand me a brown paper bag please" fix yet. Knock, knock... On the 'master' front, as promised, the first batch that were on hold since v1.5.2-rc1 is in. Nothing earth-shattering, really. ---------------------------------------------------------------- * The 'maint' branch has these fixes since v1.5.2. Fernando J. Pereda (1): Use PATH_MAX instead of TEMPFILE_PATH_LEN Frank Lichtenheld (2): t1300: Add tests for git-config --bool --get git-config: Correct asciidoc documentation for --int/--bool Jim Meyering (1): git-daemon: don't ignore pid-file write failure Johannes Schindelin (2): SubmittingPatches: mention older C compiler compatibility git-status: respect core.excludesFile Jonas Fonseca (1): branch: fix segfault when resolving an invalid HEAD Junio C Hamano (2): annotate: make it work from subdirectories. git-cvsserver: fix disabling service via per-method config Paolo Bonzini (1): Document branch.autosetupmerge. Stephan Springl (1): Use git-for-each-ref to check whether the origin branch exists. Sven Verdoolaege (1): unpack-trees.c: verify_uptodate: remove dead code * The 'master' branch has these since v1.5.2, in addition to the above. Alex Riesen (1): Fix the progress code to output LF only when it is really needed Dana How (1): Custom compression levels for objects and packs Jakub Narebski (2): gitweb: Add test t9500 for gitweb (as standalone script) Add an option to git-ls-tree to display also the size of blob James Bowes (1): Add colour support in rebase and merge tree diff stats output. Junio C Hamano (2): git-apply: Fix removal of new trailing blank lines. Fix command line parameter parser of revert/cherry-pick Marco Costalba (1): Teach 'git-apply --whitespace=strip' to remove empty lines at the end of file Martin Waitz (1): rename dirlink to gitlink. Michael S. Tsirkin (1): connect: display connection progress Nicolas Pitre (3): allow for undeltified objects not to be reused make "repack -f" imply "pack-objects --no-reuse-object" deprecate the new loose object header format Petr Baudis (1): git-rev-list: Add regexp tuning options Shawn O. Pearce (1): Teach git-describe how to run name-rev Sven Verdoolaege (1): git-update-ref: add --no-deref option for overwriting/detaching ref Theodore Ts'o (1): Add --aggressive option to 'git gc' ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-05-23 21:46 ` Junio C Hamano @ 2007-05-29 10:12 ` Junio C Hamano 2007-06-02 21:09 ` Junio C Hamano 0 siblings, 1 reply; 34+ messages in thread From: Junio C Hamano @ 2007-05-29 10:12 UTC (permalink / raw) To: git Time for 1.5.2.1 perhaps. The second batch of random changes are in 'master' now. This is a rather large-ish looking one. Handle it with care. ---------------------------------------------------------------- * The 'maint' branch has these fixes since the last announcement. Andy Parkins (2): Fix mishandling of $Id$ expanded in the repository copy in convert.c Add test case for $Id$ expanded in the repository Carlos Rica (1): fix memory leak in parse_object when check_sha1_signature fails Eric Wong (1): git-svn: avoid md5 calculation entirely if SVN doesn't provide one Frank Lichtenheld (3): cvsserver: Correct inetd.conf example in asciidoc documentation cvsserver: Note that CVS_SERVER can also be specified as method variable cvsserver: Fix some typos in asciidoc documentation Jakub Narebski (3): Documentation: Clean up links in GIT Glossary Replace the last 'dircache's by 'index' Documentation: Add definition of "evil merge" to GIT Glossary James Bowes (1): Documentation: fix git-config.xml generation James Y Knight (1): Fix git-svn to handle svn not reporting the md5sum of a file, and test. Jeff King (2): git-am: use printf instead of echo on user-supplied strings More echo "$user_message" fixes. Johan Herland (1): Fix stupid typo in lookup_tag() Jonas Fonseca (1): Update bash completion to ignore some more plumbing commands Junio C Hamano (3): name-rev: tolerate clock skew in committer dates git-commit: use printf '%s\n' instead of echo on user-supplied strings Add tests for the last two fixes. Nguyễn Thái Ngọc Duy (1): Makefile: Remove git-fsck and git-verify-pack from PROGRAMS Shawn O. Pearce (12): git-gui: Tighten internal pattern match for lib/ directory Refactor fast-import branch creation from existing commit Fix possible coredump with fast-import --import-marks Hide the plumbing diff-{files,index,tree} from bash completion Teach bash completion about git-shortlog Remove a duplicate --not option in bash completion Update bash completion header documentation Teach bash completion about 'git remote update' Teach bash completion about recent log long options Update bash completion for git-config options Correct key bindings to Control-<foo> git-gui: Guess our share/git-gui/lib path at runtime if possible Simon Hausmann (2): fast-import: Fix uninitialized variable fast-import: Fix crash when referencing already existing objects Steffen Prohaska (1): user-manual: fixed typo in example * The 'master' branch has these since the last announcement in addition to the above. Alex Riesen (6): Add run_command_v_opt_cd: chdir into a directory before exec Add ability to specify environment extension to run_command Allow environment variables to be unset in the processes started by run_command Verbose connect messages to show the IP addresses used Add another verbosity level to git-fetch Add a configuration option to control diffstat after merge Dana L. How (7): Alter sha1close() 3rd argument to request flush only git-repack --max-pack-size: new file statics and code restructuring git-repack --max-pack-size: write_{object,one}() respect pack limit git-repack --max-pack-size: split packs as asked by write_{object,one}() git-repack --max-pack-size: add option parsing to enable feature pack-objects: clarification & option checks for --max-pack-size Ensure git-repack -a -d --max-pack-size=N deletes correct packs Daniel Barkalow (5): Move remote parsing into a library file out of builtin-push. Move refspec parser from connect.c and cache.h to remote.{c,h} Add handlers for fetch-side configuration of remotes. Update local tracking refs when pushing Move refspec pattern matching to match_refs(). Fernando J. Pereda (1): Teach mailsplit about Maildir's Frank Lichtenheld (5): t9400: Add test cases for config file handling t9400: Add some more cvs update tests t9400: Add some basic pserver tests t9400: Work around CVS' deficiencies cvsserver: Handle 'cvs login' Junio C Hamano (4): pack-objects: pass fullname down to add_object_entry() Teach "delta" attribute to pack-objects. builtin-pack-objects: remove unnecessary code for no-delta mailsplit: fix for more than one input files Linus Torvalds (2): Make "git gc" pack all refs by default Make the pack-refs interfaces usable from outside Mark Levedahl (1): gitweb.perl - Optionally send archives as .zip files Nicolas Pitre (3): fixes to output of git-verify-pack -v improve delta long block matching with big files update diff-delta.c copyright Robin Rosenberg (1): Add option to cvs update before export Shawn O. Pearce (1): Allow contrib new-workdir to link into bare repositories ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-05-29 10:12 ` Junio C Hamano @ 2007-06-02 21:09 ` Junio C Hamano 2007-06-07 2:08 ` Junio C Hamano 0 siblings, 1 reply; 34+ messages in thread From: Junio C Hamano @ 2007-06-02 21:09 UTC (permalink / raw) To: git I will do a v1.5.2.1 with 'maint' and push it out this weekend. ---------------------------------------------------------------- * The 'maint' branch has these fixes since the last announcement. Frank Lichtenheld (2): git-config: Various small fixes to asciidoc documentation git-config: Improve documentation of git-config file handling Jeff King (1): Documentation: robustify asciidoc GIT_VERSION replacement Jerald Fitzjerald (1): decode_85(): fix missing return. Josh Triplett (1): Create a new manpage for the gitignore format, and reference it elsewhere Kristian Høgsberg (1): Use =20 when rfc2047 encoding spaces. Linus Torvalds (1): fix signed range problems with hex conversions * The 'master' branch has these since the last announcement in addition to the above. James Bowes (1): rev-parse: Identify short sha1 sums correctly. Jonas Fonseca (2): Fix git-am(1) synopsis formatting git-rebase: suggest to use git-add instead of git-update-index Julian Phillips (1): Makefile: Use generic rule to build test programs Junio C Hamano (1): Add DLH to .mailmap Martin Koegler (4): builtin-pack-objects: don't fail, if delta is not possible git-pack-objects: cache small deltas between big objects builtin-pack-object: cache small deltas diff-delta: use realloc instead of xrealloc Nicolas Pitre (2): fix repack with --max-pack-size always start looking up objects in the last used pack first Shawn O. Pearce (7): Lazily open pack index files on demand Micro-optimize prepare_alt_odb Attempt to delay prepare_alt_odb during get_sha1 Test for recent rev-parse $abbrev_sha1 regression Simplify index access condition in count-objects, pack-redundant Ensure the pack index is opened before access Style nit - don't put space after function names Theodore Ts'o (1): Fix minor grammatical typos in the git-gc man page ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-06-02 21:09 ` Junio C Hamano @ 2007-06-07 2:08 ` Junio C Hamano 2007-06-13 20:11 ` Junio C Hamano 0 siblings, 1 reply; 34+ messages in thread From: Junio C Hamano @ 2007-06-07 2:08 UTC (permalink / raw) To: git It has been slow on the stable front. * The 'maint' branch has these fixes since the last announcement. Johannes Sixt (1): Accept dates before 2000/01/01 when specified as seconds since the epoch Michael Milligan (1): git-cvsimport: Make sure to use $git_dir always instead of .git sometimes Sam Vilain (1): fix documentation of unpack-objects -n * The 'master' branch has these since the last announcement in addition to the above. Geert Bosch (1): Unify write_index_file functions Johannes Schindelin (5): Update to SubmittingPatches git-fsck: learn about --verbose Move buffer_is_binary() to xdiff-interface.h merge-recursive: refuse to merge binary files t5000: skip ZIP tests if unzip was not found Johannes Sixt (1): Makefile: Remove git-merge-base from PROGRAMS. Jon Loeliger (1): Add the --numbered-files option to git-format-patch. Josh Triplett (1): Fix typo in git-mergetool Junio C Hamano (4): Remove git-applypatch Release Notes: start preparing for 1.5.3 git-apply: what is detected and fixed is not just trailing spaces. git-branch --track: fix tracking branch computation. Lars Hjemli (2): Add git-submodule command Add basic test-script for git-submodule Martin Koegler (1): gitweb: Handle non UTF-8 text better Matthias Lederhofer (2): add git-filter-branch to .gitignore make clean should remove all the test programs too Matthijs Melchior (1): Teach git-tag about showing tag annotations. Petr Baudis (1): git-applymbox: Remove command Pierre Habouzit (1): $EMAIL is a last resort fallback, as it's system-wide. Randal L. Schwartz (1): Add test-sha1 to .gitignore. Sam Vilain (1): Don't assume tree entries that are not dirs are blobs ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-06-07 2:08 ` Junio C Hamano @ 2007-06-13 20:11 ` Junio C Hamano 2007-06-13 22:31 ` Johannes Schindelin 2007-06-21 7:21 ` Junio C Hamano 0 siblings, 2 replies; 34+ messages in thread From: Junio C Hamano @ 2007-06-13 20:11 UTC (permalink / raw) To: git I'll be dormant for the next 72 hours or so, so please do not get alarmed if no patches sent to the list is applied to my tree. Please remind me about them after they are commented on, revised and improved, and final revision got agreed to be good on the list. WIth a big usability change to git-gui blame viewer on 'maint', I think it is time to do 1.5.2.2 this weekend (if I have the energy, that is). The 'master' side has quite a lot of clean-ups and improvements in the fringes, but nothing big has come out of 'next' since 1.5.2. I would want to start the 1.5.3-rc cycle, after merging at least the submodule Porcelain (Lars) and filter-tree (Johannes and Pasky). There are other topics already on 'next' that are probably 1.5.3 material as well. * The 'maint' branch has these fixes since the last announcement. Alex Riesen (2): Make the installation target of git-gui a little less chatty Fix clone to setup the origin if its name ends with .git Gerrit Pape (1): Fix typo in remote branch example in git user manual J. Bruce Fields (4): user-manual: quick-start updates user-manual: add a missing section ID Documentation: user-manual todo tutorial: use "project history" instead of "changelog" in header Junio C Hamano (1): checkout: do not get confused with ambiguous tag/branch names Kristian Høgsberg (1): Unquote From line from patch before comparing with given from address. Luiz Fernando N. Capitulino (1): git-cherry: Document 'limit' command-line option Matthijs Melchior (1): New selection indication and softer colors Sam Vilain (1): Don't assume tree entries that are not dirs are blobs Shawn O. Pearce (47): git-gui: Allow creating a branch when none exists git-gui: Allow as few as 0 lines of diff context git-gui: Don't quit when we destroy a child widget git-gui: Attach font_ui to all spinbox widgets git-gui: Verify Tcl/Tk is new enough for our needs Revert "Make the installation target of git-gui a little less chatty" git-gui: Add a 4 digit commit abbreviation to the blame viewer git-gui: Cleanup blame::new widget initialization git-gui: Remove empty blank line at end of blame git-gui: Improve the coloring in blame viewer git-gui: Simplify consecutive lines that come from the same commit git-gui: Use arror cursor in blame viewer file data git-gui: Display tooltips in blame viewer git-gui: Highlight the blame commit header from everything else git-gui: Remove unnecessary reshow of blamed commit git-gui: Cleanup minor style nit git-gui: Space the commit group continuation out in blame view git-gui: Show author initials in blame groups git-gui: Allow the user to control the blame/commit split point git-gui: Display a progress bar during blame annotation gathering git-gui: Allow digging through history in blame viewer git-gui: Combine blame groups only if commit and filename match git-gui: Show original filename in blame tooltip git-gui: Use a label instead of a button for the back button git-gui: Clip the commit summaries in the blame history menu git-gui: Remove the loaded column from the blame viewer git-gui: Remove unnecessary space between columns in blame viewer git-gui: Use lighter colors in blame view git-gui: Make the line number column slightly wider in blame git-gui: Automatically expand the line number column as needed git-gui: Remove unused commit_list from blame viewer git-gui: Better document our blame variables git-gui: Cleanup redundant column management in blame viewer git-gui: Switch internal blame structure to Tcl lists git-gui: Label the uncommitted blame history entry git-gui: Rename fields in blame viewer to better descriptions git-gui: Display the "Loading annotation..." message in italic git-gui: Run blame twice on the same file and display both outputs git-gui: Display both commits in our tooltips git-gui: Jump to original line in blame viewer git-gui: Use three colors for the blame viewer background git-gui: Improve our labeling of blame annotation types git-gui: Favor the original annotations over the recent ones git-gui: Changed blame header bar background to match main window git-gui: Include 'war on whitespace' fixes from git.git git-gui: Give amend precedence to HEAD over MERGE_MSG git-gui: Save geometry before the window layout is damaged william pursell (1): Make command description imperative statement, not third-person present. * The 'master' branch has these since the last announcement in addition to the above. Alex Riesen (1): Fix push with refspecs containing wildcards Alexandre Julliard (1): pack-check: Sort entries by pack offset before unpacking them. Andy Whitcroft (3): cvsimport: add support for new style remote layout cvsimport: update documentation to include separate remotes option cvsimport: add <remote>/HEAD reference in separate remotes more Aneesh Kumar K.V (2): gitview: Fix the blame interface. gitview: run blame with -C -C Dan McGee (1): git-mergetool: Allow gvimdiff to be used as a mergetool Elvis Pranskevichus (1): Use git-tag in git-cvsimport Eric Wong (3): git-svn: cleanup: factor out longest_common_path() function git-svn: test for creating new directories over svn:// git-svn: reduce stat() calls for a backwards compatibility check Frank Lichtenheld (1): cvsserver: Make req_Root more critical of its input data Jakub Narebski (6): gitweb: Provide links to commitdiff to each parent in 'commitdiff' view gitweb: Improve "next" link in commitdiff view gitweb: Split git_patchset_body into separate subroutines gitweb: Create special from-file/to-file header for combined diff gitweb: Add links to blobdiffs in from-file/to-file header for merges gitweb: '--cc' for merges in 'commitdiff' view Jeff King (2): cmd_log_init: remove parsing of --encoding command line parameter refactor dir_add_name Jim Meyering (1): Don't dereference a strdup-returned NULL Johan Herland (1): Remove unnecessary code and comments on non-existing 8kB tag object restriction Johannes Schindelin (2): git-merge-file: refuse to merge binary files Teach diff to imply --find-copies-harder upon -C -C Johannes Sixt (3): Avoid double-slash in path names that depend on $(sharedir). Remove trailing slash from $(template_dir). git-remote show: Also shorten non-fast-forward refs in the 'push' listing Junio C Hamano (12): War on whitespace Test wildcard push/fetch More missing static More missing static Even more missing static git-blame: do not indent with spaces. git-blame -w: ignore whitespace mktag: minimally update the description. Makefile: common-cmds.h depends on generate-cmdlist.sh script Makefile: allow generating git.o for debugging purposes -Wold-style-definition fix More static Lars Hjemli (2): git-submodule: move cloning into a separate function git-submodule: clone during update, not during init Linus Torvalds (1): Makefile: add an explicit rule for building assembly output Matthias Lederhofer (1): gitweb: change filename/directory name of snapshots Michael Ellerman (2): gitview: Use new-style classes gitview: Define __slots__ for Commit Pierre Habouzit (2): Active_nr is unsigned, hence can't be < 0 Missing statics. René Scharfe (1): t5000: silence unzip availability check Shawn O. Pearce (10): git gui 0.8.0 git-gui: GUI support for running 'git remote prune <name>' git-gui: Show the git-gui library path in 'About git-gui' git-gui: Enable verbose Tcl loading earlier git-gui: Provide fatal error if library is unavailable git-gui: Disable tearoff menus on Windows, Mac OS X git-gui: Allow users to rename branches through 'branch -m' git-gui: Allow users to delete remote branches git-gui: Expose the merge.diffstat configuration option git-gui: Internalize symbolic-ref HEAD reading logic Theodore Ts'o (1): git-mergetool: Make default selection of merge-tool more intelligent ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: What's in git.git (stable) 2007-06-13 20:11 ` Junio C Hamano @ 2007-06-13 22:31 ` Johannes Schindelin 2007-06-14 7:12 ` Johannes Sixt 2007-06-21 7:21 ` Junio C Hamano 1 sibling, 1 reply; 34+ messages in thread From: Johannes Schindelin @ 2007-06-13 22:31 UTC (permalink / raw) To: Junio C Hamano; +Cc: git Hi, On Wed, 13 Jun 2007, Junio C Hamano wrote: > I would want to start the 1.5.3-rc cycle, after merging > at least the submodule Porcelain (Lars) and filter-tree > (Johannes and Pasky). Isn't that Johannesses (and filter-branch)? :-) FWIW I think that there lies a long road in front of us with filter-branch, after submodule is merged in. I have no preference on what should go in first, but filter-branch If My Plan Succeeds (TM) will help transition from huge imports to subprojects. So, even if I am not _that_ interested in subprojects myself, I _do_ want to enhance filter-branch. IMHO filter-branch is yet another proof that cogito -- even if it is now set to die -- was well worth it. Thanks Pasky. Next plans are: make filter-branch a misnomer: actually be able to rewrite more than one branch in one go, writing the outcome to the refs/rewritten/ namespace. IIRC that was Hannes' project, but I'll gladly step in there if need be. After that, I imagine automatic subprojects disentangling (maybe somewhat related to Alex' suggestion), so you can say "this big project is actually a subproject: directories a/, b/ and c/ are self-contained subprojects). Of course, the nearest future from my POV is to actually implement the missing tests :-) Ciao, Dscho P.S.: Junio, wherever you are right now, have a nice time. Hopefully not too stressful. ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: What's in git.git (stable) 2007-06-13 22:31 ` Johannes Schindelin @ 2007-06-14 7:12 ` Johannes Sixt 0 siblings, 0 replies; 34+ messages in thread From: Johannes Sixt @ 2007-06-14 7:12 UTC (permalink / raw) To: git Johannes Schindelin wrote: > Next plans are: make filter-branch a misnomer: actually be able to rewrite > more than one branch in one go, writing the outcome to the refs/rewritten/ > namespace. IIRC that was Hannes' project, but I'll gladly step in there if > need be. Be my guest. Even though I said "my plan" in that post http://article.gmane.org/gmane.comp.version-control.git/49292 this was meant as a proposal. I'm not working on the topic at the moment. -- Hannes ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-06-13 20:11 ` Junio C Hamano 2007-06-13 22:31 ` Johannes Schindelin @ 2007-06-21 7:21 ` Junio C Hamano 2007-06-25 9:43 ` Junio C Hamano 1 sibling, 1 reply; 34+ messages in thread From: Junio C Hamano @ 2007-06-21 7:21 UTC (permalink / raw) To: git * The 'maint' branch has these fixes since the last announcement. Alex Riesen (1): Add a local implementation of hstrerror for the system which do not have it Jakub Narebski (1): Generated spec file to be ignored is named git.spec and not git-core.spec Johannes Schindelin (2): Move buffer_is_binary() to xdiff-interface.h merge-recursive: refuse to merge binary files Junio C Hamano (5): $EMAIL is a last resort fallback, as it's system-wide. git-branch --track: fix tracking branch computation. Avoid diff cost on "git log -z" Documentation: adjust to AsciiDoc 8 GIT 1.5.2.2 * The 'master' branch has these since the last announcement in addition to the above. Alex Riesen (2): Do not use h_errno after connect(2): the function does not set it cvsserver: Actually implement --export-all Daniel Barkalow (1): Fix pushing to a pattern with no dst Frank Lichtenheld (3): cvsserver: Add some useful commandline options cvsserver: Let --base-path and pserver get along just fine cvsserver: Actually implement --export-all Gerrit Pape (1): git-branch: cleanup config file when deleting branches Ismail Dönmez (1): Change default man page path to /usr/share/man Jakub Narebski (8): Document git rev-list --full-history Document git read-tree --trivial Document git rev-parse --is-inside-git-dir Document git reflog --stale-fix Document git rev-list --timestamp Use tabs for indenting definition list for options in git-log.txt Document git log --abbrev-commit, as a kind of pretty option Document git log --full-diff Junio C Hamano (8): remote.c: refactor match_explicit_refs() remote.c: refactor creation of new dst ref remote.c: minor clean-up of match_explicit() remote.c: fix "git push" weak match disambiguation remote.c: "git-push frotz" should update what matches at the source. git-push: Update description of refspecs and add examples Documentation: update "stale" links for 1.5.2.2 INSTALL: explain how to build documentation Lars Hjemli (6): t7400: barf if git-submodule removes or replaces a file git-submodule: remember to checkout after clone Rename sections from "module" to "submodule" in .gitmodules git-submodule: give submodules proper names Add gitmodules(5) gitmodules(5): remove leading period from synopsis Sam Vilain (1): git-svn: avoid string eval for defining functions ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-06-21 7:21 ` Junio C Hamano @ 2007-06-25 9:43 ` Junio C Hamano 2007-07-02 0:16 ` Junio C Hamano 0 siblings, 1 reply; 34+ messages in thread From: Junio C Hamano @ 2007-06-25 9:43 UTC (permalink / raw) To: git Among many small fixes and some code churns, there are a few notable topics from 'next'. - git-filter-branch to rewrite history; - git-add "Huh?" factor fix when attempting to add an empty directory; - git-log and friends do not have the 16kB size limit for commit log messages anymore; - git-log and friends' --pretty=oneline treats the first paragraph of a commit log message as the title line; - "git-log --follow -- single-file"; Simon Hausmann and Shawn Pearce have shepherded a fast-import based Perforce importer into contrib/fast-import area. * The 'master' branch has these since the last announcement Dave O'Neill (1): Generate tags with correct timestamp (git-svnimport) Gerrit Pape (1): git-svn: trailing slash in prefix is mandatory with --branches/-b Jeff King (4): dir_struct: add collect_ignored option builtin-add: simplify (and increase accuracy of) exclude handling Fix ALLOC_GROW off-by-one Fix ALLOC_GROW calls with obsolete semantics Johannes Schindelin (7): Add git-filter-branch filter-branch: use $(($i+1)) instead of $((i+1)) filter-branch: fix behaviour of '-k' Teach filter-branch about subdirectory filtering pp_header(): work around possible memory corruption diffcore-rename: favour identical basenames filter-branch: add example to move everything into a subdirectory Johannes Sixt (4): filter-branch: Use rev-list arguments to specify revision ranges. filter-branch: also don't fail in map() if a commit cannot be mapped filter-branch: Simplify parent computation. filter-branch: subdirectory filter needs --full-history Julian Phillips (1): new-workdir: handle rev-parse --git-dir not always giving full path Junio C Hamano (5): t7003: make test repeatable Lift 16kB limit of log message output Extend --pretty=oneline to cover the first paragraph, Two trivial -Wcast-qual fixes git-send-email: Do not make @-less message ID Linus Torvalds (2): Finally implement "git log --follow" Fix up "git log --follow" a bit.. Matthias Lederhofer (3): filter-branch: prevent filters from reading from stdin chmod +x git-filter-branch.sh make dist: include configure script in tarball Nanako Shiraishi (1): Cloning from a repo without "current branch" Shawn O. Pearce (2): Avoid src:dst syntax as default bash completion for git push Document git-gui, git-citool as mainporcelain manual pages Sven Verdoolaege (1): t9500: skip gitweb tests if perl version is too old -- p4 -- Benjamin Sergeant (1): git-p4 fails when cloning a p4 depo. Han-Wen Nienhuys (28): Cleanups reformatting: break long lines. rename apply() to applyCommit(); apply is a python builtin add .dotest to .gitignore Robustness fixes for pipes cleanup minor cleanups clone and sync --keep-path to keep perforce path to module. use string.strip() iso. slicing. use strip() iso. slicing for removing \n add --verbose to all commands. Extract multiple paths concurrently. Diverse cleanups remove global .gitdir Read p4 files in one batch. Thinko, fix buglet. store p4 user cache in home directory. thinko. read files before creating the commit. don't p4 print deleted files. only run p4 print if necessary use p4CmdList() to get file contents in Python dicts. This is more robust. Cleanups & import into p4/master for local import remove debug print thinko: really ignore deleted files. look for 'text' and 'binary' files. print error message when p4 print fails (eg. due to permission problems) also strip p4/ from local imports. Kevin Green (1): git-p4: check for existence of repo dir before trying to create Marius Storm-Olsen (7): Make the command call silent Replace \r\n with \n when importing from p4 on Windows Ensure that the commit message is Windows formated (CRLF) before invoking the editor. Fix git-p4 clone (defaultDestination) Fix single branch import into remotes Exclude the HEAD symbolic ref from the list of known branches Only use double quotes on Windows Simon Hausmann (222): Initial import of a python script to import changesets from Perforce into git. Added basic support for specifying the depot path to import from as well as the range of perforce changes. Slightly improved help usage output and made specifying the trailing slash for the depot path optional. Implemented basic support for converting the date of the perforce change to the git format. The timezone isn't correctly set up yet though. Some fixes to the timezone conversion between the date of a perforce change and the git commit. Speed up the import of individual files from Perforce into git by passing the output of "p4 print" directly to git fast-import. Also try to set the mode of the file in git correctly based on file type heuristics. Removed unused p4cat function and added helper function for the perforce python interface (p4Cmd). Changed the import mechanism to write to git fast-import through a pipe instead of having p4-fast-export write to stdout and let the caller connect it to git fast-import. Minor code cleanups and ported some p4 interfacing code over to the p4 python mode. Instead of parsing the output of "p4 users" use the python objects of "p4 -G users". Ported the remaining functions that parsed p4 shell output over to the p4 python interface. Avoid calling fstat for every imported file (slow!) and instead read the file data first into the python process and use the length of the bytes read for the size field of git fast-import. Permit calling p4-fast-export with a depot path that has the typical ... wildcard at the end. Fixed displaying import progress by calling flush on stdout. Create a git tag for every changeset imported from perforce. Fix file permissions of p4-fast-export.py to be executable. Started working on incremental imports from Perforce. Simplify the incremental import by elimination the need for a temporary import branch. Code cleanups, move the code to create a commit with fast-import into a separate function out of the main loop. Initial support for importing a directory from Perforce at a specified revision. Minor cleanups and print an error message of git fast-import if it fails. Fixed incremental imports by using the correct "from" command instead of "merge" with git fast-import. Make incremental imports easier to use by storing the p4 depot path after an import in .git/config and re-using it when we're invoked again later. Make specifying the revision ranges more convenient. Fix calculation of the newest imported revision for #head imports. Catch io exceptions from git fast-import again and print the error message. Made the name of the git branch used for the perforce import configurable through a new --branch=<name> commandline option. Added a little helper script to debug the output of the p4 python interface. Minor code cleanups. Avoid the excessive use of git tags for every perforce change and instead just create one git tag for the last imported change. Changed the default git import branch from "p4" to "master". Added a little helper script to remove unused tags from the perforce import. Create lightweight git tags (using the "reset" trick) for the incremental import instead of full-blown ones. Also fix parsing the output of git name-rev for figuring out the last imported p4 change number. Cleanups, remove unused variable. Code cleanups. Started work on p4 branch detection (experimental!). More fixes in heuristic p4 branch detection based on common path components. After marking a p4 branch as merged don't ever merge it in git again. Set git fast-import marks for every imported change for future use. When trying to map p4 integrations to git merges just record it as a single merge with the newest p4 change as secondary parent. Make it possible to specify the p4 changes to import through a text file (for debugging) and made various improvements to the branch/merge heuristic detection. Use sets.Set() instead of set() to run also with older versions of Python. Fix single-branch imports by skipping the branch/merge detection correctly. Added p4 delete behavioural emulation as todo item. Added support for --silent so that p4-fast-export can be called from cronjobs. More work in --silent support. Don't print a plain newline at the end of the execution (avoids bogus cron error mails). Adjust the output parsing of git name-rev to handle the output of the latest git version. Work in progress on detecting branches. Changed --known-branches to take a file as argument instead of a comma separated list. Fixed p4-debug file extension. Make the p4 data/command cache configurable through the --cache-debug commandline option. Minor code cleanups. More code cleanups and preparations for more branch detection heuristics. More work on branch detection by implementing changeIsBranchMerge(). Reduce the number of false "merges" by skipping "branch from" entries in the integrated output as well as by ignoring integrations of future (newer) changes. Split up the cache commandline options into (command) cache and data cache. First version of a new script to submit changes back to perforce from git repositories. Fix git-dir option and allow reading log substitutions from a file Lots of bugfixes to p4-git-sync. Automatically operate on a temporary branch, needed for cherry-pick to work when applying changes to Be nice and use /usr/bin/env python for the git-p4 scripts Ignore Apple resource files when importing from perforce to git. Auto-detect the current git branch before submitting back to perforce. Use p4 revert ... instead of revert -a ... after submitting, to make sure the p4 checkout is clean. Default to interactive syncing Improved the git dir detection. Pass the right number of arguments to commit, fixes single-branch imports. Start moving the git-p4 tools into one single script. Provide a little bit of help description for the git-p4 "tools". First (untested) attempt at migrating p4-git-sync into the final git-p4 script Part of the code is copyright by Trolltech ASA. sync-to-perforce is now called submit and fixed the gitdir check a little bit Completely untested "merge" of p4-fast-export.py into git-p4.py Added missing "self"s to make the script evaluate correctly. Fixed the initial version import by getting the file index correct by correctly skipping deleted files. Removed p4-fast-export and p4-git-sync as they've been integrated into git-p4 now. Start of the git-p4 documentation. Documentation enhancements. Added experimental but super-fast --apply-as-patch option to git-p4 submit Fix support for deletions in git-p4 submit when using --apply-as-patch by filtering out deletions in the diff-tree output. Made --apply-as-patch the default for git-p4 submit as it's significantly faster. Make it possible to invoke git-p4 from within subdirectories of a git working tree. Don't show the submit template and the diff first in less but show it in $editor right away Removed the .py extension from git-p4 as it's annoying to type every time. Changed the format of the imported log message slightly, so that it's easier to parse again. Changed the default branch for imports from "master" to "p4" Added some helper function(s) to parse the depot path and change number from the log message Helper function to check the existance of a revision Set the default branch in run, not in the constructor Brand new smart incremental import that doesn't need tags or git repo-config :) Make it possible to run git-p4 submit from within the git repository Use the new incremental import style by default Different versions of p4 have different output for the where command ;( Minor cosmetic fixlet for the git-p4 submit sync question. Prefer git command over git-command. Don't try to parse any options with git-p4 debug but pass it straight on to p4 git-p4 debug doesn't need a git repository Added support for mapping p4 labels to git tags Fix variable usage in tag import Fix the docs for git-p4 submit and turn git-p4 submit --master=foo into Fix "compilation" :) Clean up python class names. Added git-p4 rebase convenience Provide a tree summary after git-p4 rebase Turn off potentially slow label detection by default Honor --silent for labels Added git-p4 clone convenience command Fix file determination for #head imports fix variable usage (oops) Added a simple example of usage to the "documentation" :) Allow for convenient rebasing after git-p4 submit Print an error message of some sort if git fast-import fails. Fix the timezone formatting. Now qgit also displays (parses) it correctly. Removed the old patch apply code from git-p4 submit. Slightly improved formatting of the raw_input questions. A new attempt at fixing the child-fast-import-process-not-finished race condition Handle patch errors in git-p4 submit better. Doc cleanups. Micro cleanup cleanup, renamed self.globalPrefix to self.depotPath Cleanup, removed the old tagging code Document some implementation details, for the curious... :) Use the subprocess module instead of popen2 to make it work on Windows. Added a little .bat wrapper from Marius Make sure all popen calls use binary mode (for Windows) and Make submitting work on Windows. Converted to unix newlines Fix git-p4 clone //depot/project (head import) Make git-p4 work with bare repositories. Added the possibility of skipping patches during git-p4 submit Give a better hint if git-p4 submit fails Fix calling git-p4 rebase from within a subdirectory (git rebase wants to be in toplevel) A little todo note before I forget it :), based on a suggestion from Lars. Fixing syncing (gitdir discovery / cd) for bare repositories Always pass a sha1 for the initial parent so that git-fast-import doesn't think Clean up code duplication for revision parsing and fix previous commit to not Removed cleantags command. It doesn't have any meaning anymore. Removed ancient and unused code to find the last imported revision from previous imports Create the origin based import branch using git update-ref instead of git branch Changed the default p4 import branch to be refs/remotes/p4/{HEAD,master} Bite the bullet and automatically convert old style refs/heads/p4 repositories Added support for git-p4 sync/rebase --with-origin. See git-p4.txt for details :) Removed todo item that is implemented :) Fix branch setup after initial clone. Removed unused cache variables. Started rewriting the branch detection, based on "p4 branches" and "p4 branch -o foo". Give branches a nice project prefix and don't bail out on clone if we failed More work on the incremental importing of multiple branches. Cleanup/speed up the branch<> file split and removed change range limitation that I added More cleanups and speedups for labels and branches Removed unused variable, more cleanups Cache the output of "p4 users" for faster syncs on high latency links. Fix gitdir not being set when cloning. Needed for writing the p4 users cache. Oops, not only /set/ gitdir on clone, also set it /correctly/ :) Use git format-patch and git apply --apply when extracting patches from git and Added support for git-p4 submit --direct (experimental) Specifying --detect-branches is now only needed for the initial clone/sync. Had an idea for debugging, record it :) Another (potentially life-saving) idea for submit --direct Improved output for multi branch imports and noted another little todo item Fix conversion from old style heads/p4 to remotes/p4/master Fix error detection with git-p4 submit when the requested depot path is not in the client view. Fix git symbolic-ref warning on initial clone Detect with git-p4 submit --direct when there are no changes in the working directory Make git-p4 submit --direct safer by also creating a git commit Added a rollback command for debugging. It sets back the heads of the p4 branches to the specified p4 change number or earlier. Fix branch detection in multi-branch imports Fixes for rollback, delete branches that did not exist at the specified p4 change Added support for importing multiple branches into refs/heads instead of just refs/remotes Added support for --max-changes=<count> to ease import debugging Use refs/heads/* instead of refs/heads/p4/* for local imports Doc updates Avoid calling git symbolic-ref refs/heads/p4//HEAD (double slash) Make rollback work with locally imported branches Don't make len(p4Cmd("p4 changes -m 1 //foo/...")) == 0 succeed when the p4 command itself failed. Oops, fill the /list/ correct with the p4 exit code. Catch p4 errors in rollback early enough (before deleting refs!) Fix p4 execution in git-p4 rollback. Fix multi-branch import with --silent. Load the user map from p4 only once at run-time. Fix creating the remotes/p4 branches based on origin/* for the multi-branch import Forgot to remove this return statement from debugging Added support for --with-origin with multi-branch imports Oops, fix --with-origin to /really/ also call git fetch :) Avoid creating non-p4 branches in remotes/p4 off of remotes/origin Make git-p4 work with packed refs (don't use os.path.exists to check for the Make --with-origin also work without origin :) Make --with-origin the default for syncing. Shortcut the case where we have no origin branch Forgot to remove this TODO item when I made --with-origin the default :) Added git-p4 submit --trust-me-like-a-fool for the adventurous users :) Fix creation of refs/remotes/p4/HEAD symbolic ref Fix my email address, this isn't really KDE related :) In *_pipe print the command that failed if it fails. Fix typo in listExistingP4Branches that broke sync. Fix support for "depot-path" in older git-p4 imports Fix common path "calculation" from logs of multiple branches. Don't attempt to set the initialParent on multi-branch imports (useless). Hack to make the multi-branch import work again with self.depotPaths now that Fix git-p4 rebase Fix git-p4 submit Fix depot-path determination for git-p4 submit Make clone behave like git clone by default again. Make git-p4 submit detect the correct reference (origin) branch when Only get the expensive branch mapping from the p4 server when not Fixed the check to make sure to exclude the HEAD symbolic refs when updating Fix updating/creating remotes/p4/* heads from origin/p4/* Fix project name guessing Fix depot-paths encoding for multi-path imports (don't split up //depot/path/foo) Fix support for explicit disabling of syncing with the origin Write out the options tag in the log message of imports only if we actually have Provide some information for single branch imports where the commits go Mention remotes/p4/master also in the documentation. git-p4 submit: Fix missing quotes around p4 commands to make them work with spaces in filenames Moved the code from git-p4 submit to figure out the upstream branch point Fix git-p4 rebase to detect the correct upstream branch instead of unconditionally Fix initial multi-branch import. Fix the branch mapping detection to be independent from the order of the "p4 branches" output. Warn about conflicting p4 branch mappings and use the first one found. Added git-p4 branches command that shows the mapping of perforce depot paths to imported git branches. Make it possible to specify the HEAD for the internal findUpstreamBranchPoint function. ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-06-25 9:43 ` Junio C Hamano @ 2007-07-02 0:16 ` Junio C Hamano 2007-07-13 6:06 ` What's in git.git Junio C Hamano 0 siblings, 1 reply; 34+ messages in thread From: Junio C Hamano @ 2007-07-02 0:16 UTC (permalink / raw) To: git Will do a 1.5.2.3 with the tip of 'maint' probably mid-week and a 1.5.3-rc1 at about the same time from 'master', hopefully with a few topics that have been in 'next', and also some "discussed but forgotten" fixes on the list if somebody kindly can remind me ;-). ---------------------------------------------------------------- * The 'maint' branch has these fixes since the last announcement. Frank Lichtenheld (2): config: Complete documentation of --get-regexp config: Change output of --get-regexp for valueless keys Linus Torvalds (1): Fix zero-object version-2 packs Matt Kraai (1): Correct the name of NO_R_TO_GCC_LINKER in the comment describing it. Sam Vilain (3): cleanup merge-base test script repack: improve documentation on -a option git-remote: document -n Shawn O. Pearce (5): git-gui: Correctly install to /usr/bin on Cygwin git-gui: Bind Tab/Shift-Tab to cycle between panes in blame git-gui: Don't require $DISPLAY just to get --version git-gui: Don't nice git blame on MSYS as nice is not supported git-gui: Don't require a .pvcsrc to create Tools/Migrate menu hack Sven Verdoolaege (1): Ignore submodule commits when fetching over dumb protocols * The 'master' branch has these since the last announcement in addition to the above. Adam Roben (2): git-send-email: Add --threaded option git-send-email: make options easier to configure. Alex Riesen (1): Avoid perl in t1300-repo-config Alexandre Vassalotti (1): git-tag: Fix "can't shift that many". Brian Gernhardt (1): Fix t5516-fetch for systems where `wc -l` outputs whitespace. Carlos Rica (3): Fix git-stripspace to process correctly long lines and spaces. Add test script for git-stripspace. Add test-script for git-tag Frank Lichtenheld (2): config: Add --null/-z option for null-delimted output config: add support for --bool and --int while setting values Gerrit Pape (1): git-cvsimport: force checkout of working tree after initial import Jim Meyering (3): detect close failure on just-written file handles Don't ignore a pack-refs write failure git-log: detect dup and fdopen failure Johannes Schindelin (2): t7004: ship trustdb to avoid gpg warnings git add: respect core.filemode with unmerged entries Junio C Hamano (2): Add core.quotepath configuration variable. Update draft Release Notes for 1.5.3 Linus Torvalds (3): Clean up internal command handling Check for IO errors after running a command git: Try a bit harder not to lose errno in stdio Mark Levedahl (5): gitk: Make selection highlight color configurable gitk: Update fontsize in patch / tree list gitk: Allow specifying tabstop as other than default 8 characters. gitk: Use a spinbox for setting tabstop settings gitk: Update selection background colorbar in prefs dialog Matthias Lederhofer (10): rev-parse: document --is-inside-git-dir rev-parse: introduce --is-bare-repository test git rev-parse introduce GIT_WORK_TREE to specify the work tree Use new semantics of is_bare/inside_git_dir/inside_work_tree extend rev-parse test for --is-inside-work-tree test GIT_WORK_TREE setup_git_directory: fix segfault if repository is found in cwd filter-branch: always export GIT_DIR if it is set make git barf when an alias changes environment variables Michael Krelin (1): git-svn: honor ~/.subversion/ client cert file settings. Paul Mackerras (18): gitk: Use the -q flag to git checkout gitk: New infrastructure for working out branches & previous/next tags gitk: Don't try to list large numbers of tags or heads in the details pane gitk: Add some more comments to the optimize_rows procedure gitk: Improve the behaviour of the initial selection gitk: Implement a simple scheduler for the compute-intensive stuff gitk: Cope with commit messages with carriage-returns and initial blank lines gitk: Disable the head context menu entries for the checked-out branch gitk: Store ids in rowrangelist and idrowranges rather than row numbers gitk: New algorithm for drawing the graph lines gitk: Show local uncommitted changes as a fake commit gitk: Speed up the reading of references gitk: Get rid of the childlist variable gitk: Add a "reset branch to here" row context-menu operation gitk: Limit how often we change the canvas scrolling region gitk: Fix bug causing nearby tags/heads to sometimes not be displayed gitk: Improve handling of whitespace and special chars in filenames gitk: Add a progress bar to show progress while resetting Quy Tonthat (1): git.spec: RPM failed, looking for wrong files. René Scharfe (2): diffcore-rename: don't change similarity index based on basename equality diff: round down similarity index Sam Vilain (2): git-svn: use git-log rather than rev-list | xargs cat-file git-svn: cache max revision in rev_db databases Shawn O. Pearce (3): git-gui: Quiet our installation process Teach bash how to complete +refspec on git-push Correct usages of sed in git-tag for Mac OS X Simon Hausmann (1): git-new-workdir: Fix shell warning about operator == used with test. Theodore Ts'o (1): Don't fflush(stdout) when it's not helpful ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git 2007-07-02 0:16 ` Junio C Hamano @ 2007-07-13 6:06 ` Junio C Hamano 2007-07-13 6:40 ` Draft release notes for v1.5.3, as of -rc1 Junio C Hamano 2007-07-28 8:47 ` What's in git.git (stable) Junio C Hamano 0 siblings, 2 replies; 34+ messages in thread From: Junio C Hamano @ 2007-07-13 6:06 UTC (permalink / raw) To: git Executive summary: * (maint) hopefully the last maintenance release for v1.5.2 codebase, v1.5.2.4, is out. * (master) v1.5.3 is nicely progressing and we have v1.5.3-rc1 out, but it has a serious last minute glitch in pack-objects, so please do not use "git-gc", or "git-repack" from vanilla v1.5.3-rc1. v1.5.3-rc1-1-g7d7baa5 or later should be Ok. * (next/pu) No topics are cooking in 'next' right now, although I might apply a few series I did not pick up from the list in the past few days, just to keep them from getting lost. As usual, v1.5.3-rc1 means: * I personally will be using 'master' version for my work until v1.5.3 final (I usually run 'next', and switch to 'master' after -rc0); I ask contributors to do the same to shake out the last minute bugs from 'master'. * No more features and large code churning on 'master' until v1.5.3 final. * Bugfixes and documenation updates are always welcomed, but even more so than usual until v1.5.3 final. I'll send out a draft release notes for v1.5.3 in a separate message. ---------------------------------------------------------------- * The 'maint' branch spawned 1.5.2.4 with accumulated fixes. Most notably, we are in sync with git-gui 0.7.5. * The 'master' branch has these since the last announcement; we are at v1.5.3-rc1 plus a few fixes. Adam Roben (1): format-patch: Add format.subjectprefix config option Alecs King (1): fix remote.origin.url in tutorial.txt Alex Riesen (4): Handle missing prefix for "Subject:" as if no prefix given Handle format.subjectprefix for every command which accepts --pretty Fix t5516 to create test repo without hooks Add -v|--verbose to git remote to show remote url Andrew Ruder (2): Remove USE_PAGER from git-pickaxe and git-annotate Add urls.txt to git-clone man page Brian Downing (10): pack-objects: Prefer shallower deltas if the size is equal gitk: Fix for tree view ending in nested directories Pack information tool Correct shebang line for contrib/stats/packinfo.pl Don't try to delta if target is much smaller than source Support fetching the memory usage of a delta index Add functions for parsing integers with size suffixes Add pack-objects window memory usage limit Add --window-memory option to git-repack Add documentation for --window-memory, pack.windowMemory Brian Gernhardt (1): Add core.pager config variable. CJ van den Berg (1): git-submodule: Fix two instances of the same typo Carlos Rica (5): t7004: Skip tests for signed tags in an old version of gpg. t0030: Remove repeated instructions and add missing && t0030: Add tests with consecutive text lines and others with spaces added. t7004: Add tests for the git tag -n option. Function stripspace now gets a buffer instead file descriptors. Daniel Barkalow (2): Add allocation and freeing functions for struct refs Some cosmetic changes to remote library David Kastrup (1): Add missing functions to contrib/emacs/vc-git.el Emil Medve (1): git-submodule: Instead of using only annotated tags, use any tags. Eric Wong (2): git-svn: allow dcommit to retain local merge information git-svn: fix blocking with svn:// servers after do_switch Frank Lichtenheld (1): cvsserver: always initialize state in argsplit() Gerrit Pape (1): git-commit: don't add multiple Signed-off-by: from the same identity Jakub Narebski (3): Update git-merge documentation. Document long options '--message=<msg>' and '--no-commit' Document git commit --untracked-files and --verbose James Bowes (1): stash: allow running from a subdirectory Jeff King (6): git-stash: fix "no arguments" case in documentation git-stash: fix "can't shift that many" with no arguments git-stash: don't complain when listing in a repo with no stash Documentation: quote {non-attributes} for asciidoc Documentation: quote {non-attributes} for asciidoc Documentation: minor cleanups to branch/checkout wording Jeffrey C. Ollie (2): Add an option to quiet git-init. Quiet the output from git-init when cloning, if requested. Johannes Schindelin (28): Move the pick_author code to git-sh-setup Teach rebase an interactive mode rebase -i: several cleanups rebase -i: provide reasonable reflog for the rebased branch Teach rebase -i about --preserve-merges Make '!' aliases more useful git-fsck: add --lost-found option Document git-filter-branch Add diff-option --ext-diff filter-branch: add a test for the commit removal example filter-branch: make output nicer filter-branch: a few more touch ups to the man page filter-branch documentation: clarify which filters are eval'ed filter-branch: fail gracefully when a filter fails Future-proof source for changes in xdemitconf_t Teach git-stash to "apply --index" Enable "git rerere" by the config variable rerere.enabled git-branch: default to --track branch.autosetupmerge: allow boolean values, or "all" rebase -i: handle --continue more like non-interactive rebase rebase -i: actually show the diffstat when being verbose rebase -i: remember the settings of -v, -s and -p when interrupted rebase -i: put a nice warning into the todo list rerere: record resolution even if file is not in merge base Fix core.sharedRepository = 2 Fix --cherry-pick with given paths Add for_each_remote() function, and extend remote_find_tracking() branch --track: code cleanup and saner handling of local branches Johannes Sixt (4): Test 'git add' for unmerged entries when core.symlinks=false. filter-branch: Avoid an error message in the map function. filter-branch documentation: some more touch-ups. Allow rebase to run if upstream is completely merged Jonas Fonseca (1): fsck --lost-found writes to subdirectories in .git/lost-found/ Junio C Hamano (30): diffcore_count_changes: pass diffcore_filespec diffcore_filespec: add is_binary diffcore-delta.c: update the comment on the algorithm. diffcore-delta.c: Ignore CR in CRLF for text files git-stash: require "save" to be explicit and update documentation Update public documentation links for 1.5.2.3 "git-push $URL" without refspecs pushes only matching branches Rewrite "git-frotz" to "git frotz" git-stash: make "save" the default action again. Mark disused commit walkers officially deprecated. Update draft Release Notes for 1.5.3 Update reflog message created for stashes Do not check if getcwd() result begins with a slash. Fix git-stash(1) markup. git-stash: allow more descriptive reminder message when saving Introduce diff_filespec_is_binary() Per-path attribute based hunk header selection. Fix configuration syntax to specify customized hunk header patterns. diff: honor binariness specified in attributes gitweb: make repeated calls to git_get_project_owner() bearable diff.c: make built-in hunk header pattern a separate table git-gui: use "blame -w -C -C" for "where did it come from, originally?" git-stash: try reusing cached stat info as much as possible Fix merge-one-file for our-side-added/our-side-removed cases Document custom hunk header selection revision.c: remove duplicated parents after history simplification Revert 88494423 (removal of duplicate parents in the output codepath) Re-code builtin-branch.c in UTF-8 Update list of older git docs GIT v1.5.3-rc1 Lars Hjemli (1): git-submodule(1): update description and key names Linus Torvalds (1): Start deprecating "git-command" in favor of "git command" Marcus Fritzsch (1): Fixed a formulation mistake in Documentation/user-manual.txt Matt Kraai (3): Prefer EMAIL to username@hostname. Change "added.moved or removed" to "added, moved or removed" in Add [verse] to the SYNOPSIS section of git-submodule.txt. Matt McCutchen (3): gitweb: make search form generate pathinfo-style URLs gitweb: make "No commits" in project list gray, not bold green Makefile: rebuild git.o on version change, clean up git$X flags Matthias Lederhofer (5): ignore git-rebase--interactive getenv/setenv: use constants if available git-init: set core.worktree if GIT_WORK_TREE is specified git-clone: split up long &&-command-chain and use a function for cleanup make git-clone GIT_WORK_TREE aware Michael Hendricks (2): git-send-email: allow an email alias for --from gitweb: configurable width for the projects list Description column Miklos Vajna (2): gitweb: prefer git_get_project_owner() over get_file_owner() gitweb: new cgi parameter: opt Nanako Shiraishi (2): Add git-stash script Document git-stash Nicolas Pitre (4): apply delta depth bias to already deltified objects script to display a distribution of longest common hash prefixes reduce git-pack-objects memory usage a little more Pack-objects: properly initialize the depth value Paul Mackerras (6): gitk: Fix the find and highlight functions gitk: Fix bug in the anc_or_desc routine gitk: Remove the unused stopfindproc function gitk: Fix bug causing "can't read commitrow(0,n)" error gitk: Use git log and add support for --left-right gitk: Improve handling of -- and ambiguous arguments René Scharfe (1): diff-lib.c: don't strdup twice Sean Estabrooks (1): Alter git-checkout reflog message to include "from" branch Shawn O. Pearce (36): git-gui: Start blame windows as tall as possible git-gui: Correct resizing of remote branch delete dialog git-gui: Honor rerere.enabled configuration option git-gui: New Git version check support routine git-gui: Teach class system to support [$this cmd] syntax git-gui: Abstract the revision picker into a mega widget git-gui: Refactor the delete branch dialog to use class system git-gui: Optimize for newstyle refs/remotes layout git-gui: Maintain remote and source ref for tracking branches git-gui: Allow users to match remote branch names locally git-gui: Fast-forward existing branch in branch create dialog git-gui: Enhance choose_rev to handle hundreds of branches git-gui: Sort tags descending by tagger date git-gui: Option to default new branches to match tracking branches git-gui: Automatically refresh tracking branches when needed git-gui: Better handling of detached HEAD git-gui: Refactor our ui_status_value update technique git-gui: Refactor branch switch to support detached head git-gui: Unabbreviate commit SHA-1s prior to display git-gui: Default selection to first matching ref git-gui: Allow double-click in checkout dialog to start checkout git-gui: Extract blame viewer status bar into mega-widget git-gui: Change the main window progress bar to use status_bar git-gui: Show a progress meter for checking out files git-gui: Always use absolute path to all git executables git-gui: Correct gitk installation location git-gui: Assume unfound commands are known by git wrapper git-gui: Treat `git version` as `git --version` git-gui: Perform our own magic shbang detection on Windows git-gui: Teach console widget to use git_read git-gui: Improve the Windows and Mac OS X shortcut creators git-gui: Paper bag fix for Cygwin shortcut creation git-gui: Use sh.exe in Cygwin shortcuts git-gui: Include a space in Cygwin shortcut command lines Support wholesale directory renames in fast-import git-gui: Change prior tree SHA-1 verification to use git_read Steffen Prohaska (1): filter-branch: added missing warn function Steven Walter (1): Documentation for git-log --follow Sven Verdoolaege (2): git-submodule: provide easy way of adding new submodules git-clone: fetch possibly detached HEAD over dumb http Uwe Kleine-König (2): stash: end commit log with a newline repack: don't report "Nothing new to pack." if -q is given ^ permalink raw reply [flat|nested] 34+ messages in thread
* Draft release notes for v1.5.3, as of -rc1 2007-07-13 6:06 ` What's in git.git Junio C Hamano @ 2007-07-13 6:40 ` Junio C Hamano 2007-07-13 9:29 ` Sven Verdoolaege 2007-07-13 13:50 ` Brian Downing 2007-07-28 8:47 ` What's in git.git (stable) Junio C Hamano 1 sibling, 2 replies; 34+ messages in thread From: Junio C Hamano @ 2007-07-13 6:40 UTC (permalink / raw) To: git GIT v1.5.3 Release Notes (draft) ======================== Updates since v1.5.2 -------------------- * The commit walkers other than http are officially deprecated, but still supported for now. * The submodule support has Porcelain layer. * There are a handful pack-objects changes to help you cope better with repositories with pathologically large blobs in them. * For people who need to import from Perforce, a front-end for fast-import is in contrib/fast-import/. * Comes with git-gui 0.8.0. * Comes with updated gitk. * New commands and options. - The hunk header output from "git diff" family can be customized with the attributes mechanism. See gitattributes(5) for details. - "git stash" allows you to quickly save away your work in progress and replay it later on an updated state. - "git rebase" learned an "interactive" mode that let you pick and reorder which commits to rebuild. - "git fsck" can save its findings in $GIT_DIR/lost-found, without a separate invocation of "git lost-found" command. - $GIT_WORK_TREE environment variable can be used together with $GIT_DIR to work in a subdirectory of a working tree that is not located at "$GIT_DIR/..". - "git log" learned a new option "--follow", to follow renaming history of a single file. - "git-filter-branch" lets you rewrite the revision history of the current branch, creating a new branch. You can specify a number of filters to modify the commits, files and trees. - "git-cvsserver" learned new options (--base-path, --export-all, --strict-paths) inspired by git-daemon. - "git-submodule" command helps you manage the projects from the superproject that contain them. - In addition to core.compression configuration option, core.loosecompression and pack.compression options can independently tweak zlib compression levels used for loose and packed objects. - "git-ls-tree -l" shows size of blobs pointed at by the tree entries, similar to "/bin/ls -l". - "git-rev-list" learned --regexp-ignore-case and --extended-regexp options to tweak its matching logic used for --grep fitering. - "git-describe --contains" is a handier way to call more obscure command "git-name-rev --tags". - "git gc --aggressive" tells the command to spend more cycles to optimize the repository harder. - "git repack" can be told to split resulting packs to avoid exceeding limit specified with "--max-pack-size". - "git fsck" gained --verbose option. This is really really verbose but it might help you identify exact commit that is corrupt in your repository. - "git format-patch" learned --numbered-files option. This may be useful for MH users. - "git format-patch" learned format.subjectprefix configuration variable, which serves the same purpose as "--subject-prefix" option. - "git tag -n -l" shows tag annotations while listing tags. - "git cvsimport" can optionally use the separate-remote layout. - "git blame" can be told to see through commits that change whitespaces and indentation levels with "-w" option. - "git send-email" can be told not to thread the messages when sending out more than one patches. - "git config" learned NUL terminated output format via -z to help scripts. - "git init -q" makes the command quieter. * Updated behavior of existing commands. - "git svn dcommit" retains local merge information. - "git config" to set values also honors type flags like --bool and --int. - core.quotepath configuration can be used to make textual git output to emit most of the characters in the path literally. - "git mergetool" chooses its backend more wisely, taking notice of its environment such as use of X, Gnome/KDE, etc. - "gitweb" shows merge commits a lot nicer than before. The default view uses more compact --cc format, while the UI allows to choose normal diff with any parent. - snapshot files "gitweb" creates from a repository at $path/$project/.git are more useful. We use $project part in the filename, which we used to discard. - "git cvsimport" creates lightweight tags; there is no interesting information we can record in an annotated tag, and the handcrafted ones the old code created was not properly formed anyway. - "git-push" pretends that you immediately fetched back from the remote by updating corresponding remote tracking branches if you have any. - The diffstat given after a merge (or a pull) honors the color.diff configuration. - "git-apply --whitespace=strip" removes blank lines added at the end of the file. - "git-fetch" over git native protocols with "-v" option shows connection status, and the IP address of the other end, to help diagnosing problems. - We used to have core.legacyheaders configuration, when set to false, allowed git to write loose objects in a format that mimicks the format used by objects stored in packs. It turns out that this was not so useful. Although we will continue to read objects written in that format, we do not honor that configuration anymore and create loose objects in the legacy/traditional format. - "--find-copies-harder" option to diff family can now be spelled as "-C -C" for brevity. - "git-mailsplit" (hence "git-am") can read from Maildir formatted mailboxes. - "git-cvsserver" does not barf upon seeing "cvs login" request. - "pack-objects" honors "delta" attribute set in .gitattributes. It does not attempt to deltify blobs that come from paths with delta attribute set to false. - "new-workdir" script (in contrib) can now be used with a bare repository. - "git-mergetool" learned to use gvimdiff. - "gitview" (in contrib) has a better blame interface. - "git log" and friends did not handle a commit log message that is larger than 16kB; they do now. - "--pretty=oneline" output format for "git log" and friends deals with "malformed" commit log messages that have more than one lines in the first paragraph better. We used to show the first line, cutting the title at mid-sentence; we concatenate them into a single line and treat the result as "oneline". * Builds - old-style function definitions (most notably, a function without parameter defined with "func()", not "func(void)") have been eradicated. * Performance Tweaks - git-pack-objects avoids re-deltification cost by caching small enough delta results it creates while looking for the best delta candidates. - git-pack-objects learned a new heuristcs to prefer delta that is shallower in depth over the smallest delta possible. This improves both overall packfile access performance and packfile density. - diff-delta code that is used for packing has been improved to work better on big files. - when there are more than one pack files in the repository, the runtime used to try finding an object always from the newest packfile; it now tries the same packfile as we found the object requested the last time, which exploits the locality of references. - verifying pack contents done by "git fsck --full" got boost by carefully choosing the order to verify objects in them. Fixes since v1.5.2 ------------------ All of the fixes in v1.5.2 maintenance series are included in this release, unless otherwise noted. * Bugfixes - "gitweb" had trouble handling non UTF-8 text with older Encode.pm Perl module. ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: Draft release notes for v1.5.3, as of -rc1 2007-07-13 6:40 ` Draft release notes for v1.5.3, as of -rc1 Junio C Hamano @ 2007-07-13 9:29 ` Sven Verdoolaege 2007-07-14 14:22 ` Johannes Schindelin 2007-07-13 13:50 ` Brian Downing 1 sibling, 1 reply; 34+ messages in thread From: Sven Verdoolaege @ 2007-07-13 9:29 UTC (permalink / raw) To: Junio C Hamano; +Cc: git On Thu, Jul 12, 2007 at 11:40:39PM -0700, Junio C Hamano wrote: > - "git-filter-branch" lets you rewrite the revision history of > the current branch, creating a new branch. You can specify a > number of filters to modify the commits, files and trees. Are you sure you want to announce this so publicly given that Dscho has basically declared git-filter-branch dead? (I know, I'm mostly to blame.) skimo ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: Draft release notes for v1.5.3, as of -rc1 2007-07-13 9:29 ` Sven Verdoolaege @ 2007-07-14 14:22 ` Johannes Schindelin 2007-07-14 18:13 ` Junio C Hamano 0 siblings, 1 reply; 34+ messages in thread From: Johannes Schindelin @ 2007-07-14 14:22 UTC (permalink / raw) To: skimo; +Cc: Junio C Hamano, git Hi, On Fri, 13 Jul 2007, Sven Verdoolaege wrote: > On Thu, Jul 12, 2007 at 11:40:39PM -0700, Junio C Hamano wrote: > > - "git-filter-branch" lets you rewrite the revision history of > > the current branch, creating a new branch. You can specify a > > number of filters to modify the commits, files and trees. > > Are you sure you want to announce this so publicly given that > Dscho has basically declared git-filter-branch dead? > (I know, I'm mostly to blame.) It is really unfortunate that rewrite-commits came in so late in the release cycle, and I am quite sure it should not be in 1.5.3. There is just too much new in it, and too many things to flesh out. Junio, if you want to include it in 1.5.3, it should be marked as alpha code, as it has not seen any time in "next", let alone "master". However, no matter if rewrite-commits is included in 1.5.3, I am not sure what to do about filter-branch. Since it saw a lot of testing in its admin-rewritehist form, and has had at least some eye pairs looking over it, I have the feeling that it is stable enough to include. How to tell people that it will soon be obsoleted by rewrite-commits, I have no idea. It would be a much less difficult problem if the syntax of filter-branch and rewrite-commits was identical. Maybe we should make it so, by changing filter-branch? Thoughts? Ciao, Dscho ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: Draft release notes for v1.5.3, as of -rc1 2007-07-14 14:22 ` Johannes Schindelin @ 2007-07-14 18:13 ` Junio C Hamano 2007-07-15 23:53 ` Johannes Schindelin 0 siblings, 1 reply; 34+ messages in thread From: Junio C Hamano @ 2007-07-14 18:13 UTC (permalink / raw) To: Johannes Schindelin; +Cc: skimo, git Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > It is really unfortunate that rewrite-commits came in so late in the > release cycle, and I am quite sure it should not be in 1.5.3. There is > just too much new in it, and too many things to flesh out. > > Junio, if you want to include it in 1.5.3, it should be marked as alpha > code, as it has not seen any time in "next", let alone "master". I am not considering rewrite-commits for inclusion right now. I was hoping that filter-branch will stay. Its interface is something people are already familiar with since the days of its its older incarnation cg-admin-rewritehist, and it would be really really nice that anything that attempts to replace it builds on and extends its external interface. Maybe rewrite-commits can be used to delegate the implementation of heavy lifting from filter-branch? IOW can the latter be just a thin wrapper around the former? ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: Draft release notes for v1.5.3, as of -rc1 2007-07-14 18:13 ` Junio C Hamano @ 2007-07-15 23:53 ` Johannes Schindelin 0 siblings, 0 replies; 34+ messages in thread From: Johannes Schindelin @ 2007-07-15 23:53 UTC (permalink / raw) To: Junio C Hamano; +Cc: skimo, git Hi, On Sat, 14 Jul 2007, Junio C Hamano wrote: > Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > > > It is really unfortunate that rewrite-commits came in so late in the > > release cycle, and I am quite sure it should not be in 1.5.3. There is > > just too much new in it, and too many things to flesh out. > > > > Junio, if you want to include it in 1.5.3, it should be marked as alpha > > code, as it has not seen any time in "next", let alone "master". > > I am not considering rewrite-commits for inclusion right now. Fair enough. > I was hoping that filter-branch will stay. Its interface is something > people are already familiar with since the days of its its older > incarnation cg-admin-rewritehist, and it would be really really nice > that anything that attempts to replace it builds on and extends its > external interface. > > Maybe rewrite-commits can be used to delegate the implementation of > heavy lifting from filter-branch? IOW can the latter be just a thin > wrapper around the former? That is a very good idea. Ciao, Dscho ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: Draft release notes for v1.5.3, as of -rc1 2007-07-13 6:40 ` Draft release notes for v1.5.3, as of -rc1 Junio C Hamano 2007-07-13 9:29 ` Sven Verdoolaege @ 2007-07-13 13:50 ` Brian Downing 2007-07-13 15:31 ` Junio C Hamano 1 sibling, 1 reply; 34+ messages in thread From: Brian Downing @ 2007-07-13 13:50 UTC (permalink / raw) To: Junio C Hamano; +Cc: git On Thu, Jul 12, 2007 at 11:40:39PM -0700, Junio C Hamano wrote: > GIT v1.5.3 Release Notes (draft) > ======================== > > * New commands and options. - "git repack" learned a "window-memory" limit which dynamically reduces the window size to stay within the specified memory usage. "git-repack -a -d -f --window=100000 --window-memory=512m" seems to be good for those overnight make-it-smaller-damn-the-torpedoes archival repackings. (You can't just set --window to BIGNUM as it still allocates an array of that size.) Thanks to Nicolas Pitre's depth bias patch a high --depth doesn't seem to be quite as critical anymore to save space; it still helps, but things much much better at a lower depth. As a point of reference, it took around two hours to repack a repository containing 108,440 objects, around 35,000 files (most with no history), and my aforementioned troublesome 20MB RTF file (which uses about 60MB per revision when sitting in the window due to the delta index cache) with the above command. This is on a 2GHz Core 2 Duo in 64-bit mode. -bcd ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: Draft release notes for v1.5.3, as of -rc1 2007-07-13 13:50 ` Brian Downing @ 2007-07-13 15:31 ` Junio C Hamano 0 siblings, 0 replies; 34+ messages in thread From: Junio C Hamano @ 2007-07-13 15:31 UTC (permalink / raw) To: Brian Downing; +Cc: git bdowning@lavos.net (Brian Downing) writes: > On Thu, Jul 12, 2007 at 11:40:39PM -0700, Junio C Hamano wrote: >> GIT v1.5.3 Release Notes (draft) >> ======================== >> >> * New commands and options. > > - "git repack" learned a "window-memory" limit which dynamically > reduces the window size to stay within the specified memory usage. Thanks. > "git-repack -a -d -f --window=100000 --window-memory=512m" seems to be > good for those overnight make-it-smaller-damn-the-torpedoes archival > repackings. (You can't just set --window to BIGNUM as it still > allocates an array of that size.) Thanks to Nicolas Pitre's depth bias > patch a high --depth doesn't seem to be quite as critical anymore to > save space; it still helps, but things much much better at a lower > depth. This probably should go to Documentation/git-repack.txt somewhere. ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-07-13 6:06 ` What's in git.git Junio C Hamano 2007-07-13 6:40 ` Draft release notes for v1.5.3, as of -rc1 Junio C Hamano @ 2007-07-28 8:47 ` Junio C Hamano 2007-07-28 8:56 ` David Kastrup ` (2 more replies) 1 sibling, 3 replies; 34+ messages in thread From: Junio C Hamano @ 2007-07-28 8:47 UTC (permalink / raw) To: git It's been a while since I sent this the last time. We are nearing 1.5.3 final; I pulled gitk updates tonight, and expect git-gui updates to 0.8.0 over the weekend. There are a handful trivial fixes since 1.5.3-rc3. I am hoping one topic (bs/lock) to graduate from 'next' and another from nowhere (js/worktree) before 1.5.3-rc4, probably by mid next-week. ---------------------------------------------------------------- * The 'maint' branch has these fixes since the last announcement. Julian Phillips (1): Force listingblocks to be monospaced in manpages Junio C Hamano (1): Do not expect unlink(2) to fail on a directory. * The 'master' branch has these since the last announcement in addition to the above. Adam Roben (1): Add GIT_EDITOR environment and core.editor configuration variables Alex Riesen (1): Fix git-rebase -i to allow squashing of fast-forwardable commits Alexandre Julliard (2): git.el: Support for incremental status updates. git.el: Pass an explicit argument to enable smerge-mode. Brian Gernhardt (1): Document commit.template configuration variable. Carlos Rica (1): Rename read_pipe() with read_fd() and make its buffer nul-terminated. David Kastrup (2): contrib/emacs/Makefile: Also install .el files. Documentation/gitignore.txt: Fix the seriously misleading priority explanation Emil Medve (1): Use $(RM) in Makefiles instead of 'rm -f' Eric Wong (2): git-svn: remove leading slashes from fetch lines in the generate config git-svn: fix commiting renames over DAV with funky file names Francis Moreau (1): Fix git-branch documentation when using remote refs Greg KH (1): make git-send-email.perl handle email addresses with no names when Email::Valid is present Jakub Narebski (3): gitweb cleanup: Move @diff_opts declaration earlier gitweb: Fix support for legacy gitweb config for snapshots gitweb: More detailed error messages for snapshot format Jim Meyering (2): git-cvsserver: detect/diagnose write failure, etc. pretty-options.txt: tiny doc fix Johannes Schindelin (13): filter-branch: get rid of "set -e" rebase -i: call editor just once for a multi-squash fsck --lost-found: write blob's contents, not their SHA-1 mailinfo: fix 'fatal: cannot convert from utf-8 to utf-8' Shut "git rebase -i" up when no --verbose was given rebase -i: exchange all "if [ .. ]" by "if test .." filter-branch: Big syntax change; support rewriting multiple refs Teach revision machinery about --no-walk git log -g: Complain, but do not fail, when no reflogs are there Teach approxidate() to understand "never" git am: skip pine's internal folder data rebase -i: fix overzealous output redirection rebase -i: fix interrupted squashing Josh Triplett (1): Remove useless uses of cat, and replace with filename arguments Junio C Hamano (24): Make show_rfc2822_date() just another date output format. Wire new date formats to --date=<format> parser. Document new --date=<format> Add contrib/stats/mailmap.pl script Update .mailmap Documentation/git-commit-tree: remove description of a nonexistent limitation GIT v1.5.3-rc2 Update INSTALL Fix VISUAL/EDITOR preference order in Documentation/config.txt. Synonyms: -i == --regexp-ignore-case, -E == --extended-regexp Mark user-manual as UTF-8 user-manual: fix typolets. t9200: Be careful when checking CVS/Entries GIT 1.5.3-rc3 Make sure git-stash works from subdirectory. gitweb: fix broken snapshot git-submodule module_name: avoid using unwieldy "value_regexp" feature. git-submodule: remove redundant call to git-describe When locking in a symlinked repository, try to lock the original. git_mkstemp(): be careful not to overflow the path buffer. Update description of -z option. git-stash: do not remove a ref by hand. Fix git-stash apply --index git-stash apply --index: optimize postprocessing Kumar Gala (1): send-email: Update regex parsing for pine aliases Linus Torvalds (2): Do a better job at guessing unknown character sets Fix up duplicate parents removal Marco Costalba (1): Avoid to duplicate commit message when is not encoded Marius Storm-Olsen (1): Fix git-p4 on Windows to not use the Posix sysconf function. Mark Levedahl (1): gitk: Ignore ctrl-z as EOF on windows Matt McCutchen (1): gitweb: snapshot cleanups & support for offering multiple formats Matthieu Moy (1): More permissive "git-rm --cached" behavior without -f. Nanako Shiraishi (2): Document "git stash message..." git-stash: Make sure reflog is created for refs/stash Nguyễn Thái Ngọc Duy (1): git-write-tree should not crash if prefix does not exist Paul Mackerras (5): gitk: Fix bug introduced by previous commit gitk: Show changes in index and changes in working directory separately gitk: Make the fake commit for the index changes green rather than magenta gitk: Wait for the window to become visible after creating it gitk: Fix bugs in the Find function Peter Hagervall (1): Make every builtin-*.c file #include "builtin.h" René Scharfe (2): filter-branch: fix dash complaining about "Missing '))'" cleanup unpack-trees.c: shrink struct tree_entry_list Richard MUSIL (1): git-svn: Minimalistic patch which allows svn usernames with space(s). Robin Rosenberg (3): Support output ISO 8601 format dates cvsexportcommit: avoid racy CVS problem. Document --unified/-U option Scott Lamb (2): git-p4: use subprocess in p4CmdList git-p4: input to "p4 files" by stdin instead of arguments Sean Estabrooks (3): Remove "WITH_P4IMPORT" knob from the Makefile Remove p4 rpm from git.spec.in. Demote git-p4import to contrib status. Shawn O. Pearce (3): Correct trivial typo in fast-import documentation Teach fast-import to recursively copy files/directories gitk: Bind keyboard actions to the command key on Mac OS Simon Hausmann (4): git-p4: Cleanup, make listExistingP4Branches a global function for later use. git-p4: Fix upstream branch detection for submit/rebase with multiple branches. git-p4: Cleanup, used common function for listing imported p4 branches git-p4: Fix p4 user cache population on Windows. Stephen Rothwell (1): send-email: discard blank around address in extract_valid_address as well. Steven Grimm (2): Document how to tell git to not launch a pager Teach git-commit about commit message templates. Sven Verdoolaege (2): lockfile.c: schedule remove_lock_file only once. unpack-trees.c: assume submodules are clean during check-out ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: What's in git.git (stable) 2007-07-28 8:47 ` What's in git.git (stable) Junio C Hamano @ 2007-07-28 8:56 ` David Kastrup 2007-07-28 9:02 ` Junio C Hamano 2007-07-28 9:35 ` David Kastrup 2007-07-28 12:28 ` What's in git.git (stable) Thomas Glanzmann 2007-08-07 6:22 ` Junio C Hamano 2 siblings, 2 replies; 34+ messages in thread From: David Kastrup @ 2007-07-28 8:56 UTC (permalink / raw) To: Junio C Hamano; +Cc: git Junio C Hamano <gitster@pobox.com> writes: > It's been a while since I sent this the last time. > > We are nearing 1.5.3 final; I pulled gitk updates tonight, and > expect git-gui updates to 0.8.0 over the weekend. There are a > handful trivial fixes since 1.5.3-rc3. I'd like to see some changes for mergetool's Emacs support: in moderately current versions of Emacs and XEmacs, ediff is a much preferable tool to emerge. Also, the mergetool determines when to use emerge for merging by looking at the EDITOR/VISUAL variables. While it recognizes the presence of "emacsclient" and "gnuclient" there for offering the emerge tool, it does not actually use those settings for calling Emacs/XEmacs. If you use the desktop package, this means that you get a bear of a startup time while a _new_ instance of Emacs gets loaded against the wishes of the setup, and the command line parameters will be interpreted relatively to the last file restored into the desktop rather than the current directory (arguably a bug in the desktop package which I plan to fix eventually, but in the meantime the current package is farspread). I'll try to come up with a fix this weekend if nobody beats me to it. As it stands, the mergetool is somewhere between subpar and unusable by default for a considerable number of Emacs users. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: What's in git.git (stable) 2007-07-28 8:56 ` David Kastrup @ 2007-07-28 9:02 ` Junio C Hamano 2007-07-28 9:35 ` David Kastrup 1 sibling, 0 replies; 34+ messages in thread From: Junio C Hamano @ 2007-07-28 9:02 UTC (permalink / raw) To: David Kastrup; +Cc: git, Theodore Ts'o David Kastrup <dak@gnu.org> writes: > I'd like to see some changes for mergetool's Emacs support: in > moderately current versions of Emacs and XEmacs, ediff is a much > preferable tool to emerge. Between ediff and emerge, I think Ted gave a well thought out analysis on the list earlier, so you might want to consider the issues he raised if/when you tackle this. This is late in the game, however, so your change probably won't be merged before I can tag 1.5.3 final, but I'd expect that a better Emacs support will be widely welcomed. ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: What's in git.git (stable) 2007-07-28 8:56 ` David Kastrup 2007-07-28 9:02 ` Junio C Hamano @ 2007-07-28 9:35 ` David Kastrup 2007-07-29 3:16 ` Theodore Tso 1 sibling, 1 reply; 34+ messages in thread From: David Kastrup @ 2007-07-28 9:35 UTC (permalink / raw) To: git David Kastrup <dak@gnu.org> writes: [...] > If you use the desktop package, this means that you get a bear of a > startup time while a _new_ instance of Emacs gets loaded against the > wishes of the setup, and the command line parameters will be > interpreted relatively to the last file restored into the desktop > rather than the current directory (arguably a bug in the desktop > package which I plan to fix eventually, but in the meantime the > current package is farspread). I can't reproduce anything similar outside of mergetool, so it appears more likely that mergetool is passing wrong relative file names. Have to leave now for the day. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: What's in git.git (stable) 2007-07-28 9:35 ` David Kastrup @ 2007-07-29 3:16 ` Theodore Tso 2007-07-29 9:05 ` David Kastrup 2007-07-29 11:27 ` Johannes Schindelin 0 siblings, 2 replies; 34+ messages in thread From: Theodore Tso @ 2007-07-29 3:16 UTC (permalink / raw) To: David Kastrup; +Cc: git On Sat, Jul 28, 2007 at 11:35:40AM +0200, David Kastrup wrote: > David Kastrup <dak@gnu.org> writes: > > > If you use the desktop package, this means that you get a bear of a > > startup time while a _new_ instance of Emacs gets loaded against the > > wishes of the setup, and the command line parameters will be > > interpreted relatively to the last file restored into the desktop > > rather than the current directory (arguably a bug in the desktop > > package which I plan to fix eventually, but in the meantime the > > current package is farspread). > > I can't reproduce anything similar outside of mergetool, so it appears > more likely that mergetool is passing wrong relative file names. See my recent posting on this issue. The problem is that the desktop package fundamentally changes how emacs behaves when it starts up. And in order to fix it we will need to change git-mergetool to do an "emacs --version", parse the version number, and then start changing how it calls emacs (and if you *really* want to use emacsclient, whether it can use emacsclient) based on the version of emacs which is installed as the default for the user. It's going to be really messy, and fundamentally, emacs as used by people who are using the desktop package really wants to be the center of the universe, instead of something which gets called to run a "merge application". Testing to make sure this works on every single emacs version/variant, and every single user's weird-sh*t startup scripts isn't something I'm looking forward to. So I really am beginning to think the right answer is to give up on using git-mergetool to support anything other than basic emacs users (who just use emacs as an editor, what a concept), and for the H4rd C0re emacs l33t, they can use a contrib/git-mergetool.el that does everything inside emacs. Since these are the people who want emacs to be their desktop, their shell, *and* their window manager, they will probably be happier that way.... - Ted ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: What's in git.git (stable) 2007-07-29 3:16 ` Theodore Tso @ 2007-07-29 9:05 ` David Kastrup 2007-07-29 16:40 ` Theodore Tso 2007-07-29 11:27 ` Johannes Schindelin 1 sibling, 1 reply; 34+ messages in thread From: David Kastrup @ 2007-07-29 9:05 UTC (permalink / raw) To: Theodore Tso; +Cc: git Theodore Tso <tytso@mit.edu> writes: > So I really am beginning to think the right answer is to give up on > using git-mergetool to support anything other than basic emacs users > (who just use emacs as an editor, what a concept), In contrast, you are trying to support only people by using Emacs _not_ as an editor, but as a mergetool under the control of git. That's a mistake. > and for the H4rd C0re emacs l33t, they can use a > contrib/git-mergetool.el that does everything inside emacs. Since > these are the people who want emacs to be their desktop, their > shell, *and* their window manager, they will probably be happier > that way.... Sorry, but you are way off here. The normal, standard use of Emacs is to start it once and do everything in it. Its startup time is such that other uses are not feasible. (info "(emacs) Entering Emacs") Many editors are designed to edit one file. When done with that file, you exit the editor. The next time you want to edit a file, you must start the editor again. Working this way, it is convenient to use a command-line argument to say which file to edit. However, killing Emacs after editing one each and starting it afresh for the next file is both unnecessary and harmful, since it denies you the full power of Emacs. Emacs can visit more than one file in a single editing session, and that is the right way to use it. Exiting the Emacs session loses valuable accumulated context, such as the kill ring, registers, undo history, and mark ring. These features are useful for operating on multiple files, or even continuing to edit one file. If you kill Emacs after each file, you don't take advantage of them. The recommended way to use GNU Emacs is to start it only once, just after you log in, and do all your editing in the same Emacs session. Each time you edit a file, you visit it with the existing Emacs, which eventually has many files in it ready for editing. Usually you do not kill Emacs until you are about to log out. *Note Files::, for more information on visiting more than one file. To edit a file from another program while Emacs is running, you can use the `emacsclient' helper program to open a file in the already running Emacs. *Note Emacs Server::. So git's mergetool philosophy is currently _straight_ set against the way Emacs is designed to work. One solution would be to call emacs -q in order to weed out users with the impunity of customizing Emacs to suit their needs rather than those of git. But the sanest is really to call Emacs just the way the user configured $EDITOR to call it and pass it an initial merge command. And then decide from the results on the disk what to further do. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: What's in git.git (stable) 2007-07-29 9:05 ` David Kastrup @ 2007-07-29 16:40 ` Theodore Tso 0 siblings, 0 replies; 34+ messages in thread From: Theodore Tso @ 2007-07-29 16:40 UTC (permalink / raw) To: David Kastrup; +Cc: git On Sun, Jul 29, 2007 at 11:05:42AM +0200, David Kastrup wrote: > Theodore Tso <tytso@mit.edu> writes: > > > So I really am beginning to think the right answer is to give up on > > using git-mergetool to support anything other than basic emacs users > > (who just use emacs as an editor, what a concept), > > In contrast, you are trying to support only people by using Emacs > _not_ as an editor, but as a mergetool under the control of git. > That's a mistake. The whole *point* of git-mergetool is to automatically call merge tools so you can do three-way merges under the control of git. If you just want an *editor* then you can just edit the files that are listed as being in conflict after a failed merge or after running "git status". You can do that today without using git-mergetool at all! > Sorry, but you are way off here. The normal, standard use of Emacs is > to start it once and do everything in it. Its startup time is such > that other uses are not feasible. Huh? The startup time of running emacs for me is well under a second (and I have a 20k ~/.emacs.el file that loads a number of other files). I'm sure if you put enough *crap* into your .emacs.el file, you can make it take a huge amount of time, but I suspect your idea of what is "normal" for emacs is more than a little skewed. > So git's mergetool philosophy is currently _straight_ set against the > way Emacs is designed to work. So don't use git-mergetool. Like I said, I suspect the right answer is contrib/git-mergetool.el, and do everything inside emacs. If you are as extreme as someone who pulls in gazillions of emacs packages, and you are using emacs as a desktop, a shell, and a window manager, then you can probably do much better using a pure emacs lisp merge system. Git mergetool is fundamentally designed to work with tools like meld, kdiff3, xxdiff, tkdiff, etc. These are all merge tools, and they work a certain way. They expect, and need, to be driven a certain way. If you insist on following a fundamentally different paradigm, then past a certain point git-mergetool is not going to make you happy no matter what I can do. The point is, git-mergetool does *need* to do know when you are done doing a merge, and it needs to know if you've decided to abandon a merge. Right now ediff doesn't fit well into that paradigm. And that's fundamentally ediff's fault; we can do some kludgery on the git-mergetool side, but the end result will always be unsatisfactory, and will require that the person using it to *know* that it is done. I, personally, don't feel like trying to twist git-mergetool into doing the right thing depending on whether you have emacs21, emacs22, emacs23-snapshot, whether or not the desktop package is in use, whether or not the user is using emacsclient or not, yadda, yadda, yaddda. If you want to take a crack at doing *all* of that mess, and provide a complete solution, send me patches and I'll look at them. I think it will add a huge amount of *crap* into git-mergetool in order to support all possible use cases (I'm not interesting in putting in hackery just for your favorite use case, if it causes other users to scratch their heads in befuddlement and confusion), but feel free to prove me wrong. As someone who has used emacs for over two decades, and have written very sophisticated emacs lisp code during nearly all of those 21 years (1986--2007; my first use of emacs was on a Vax 750 running BSD 4.3 --- if you want to talk about emacs taking a long time to start up, I remember what it was like 20 years ago), I'm pretty well aware of what you can and can not do in emacs, and I think I can say with fairly good authority that for the amount of effort it would take to try to get git-mergetool to hack around all of these different cases, writing git-mergetool.el will probably be easier, and result in a cleaner, better integration with people who like to live their entire lives in a single emacs session. - Ted ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: What's in git.git (stable) 2007-07-29 3:16 ` Theodore Tso 2007-07-29 9:05 ` David Kastrup @ 2007-07-29 11:27 ` Johannes Schindelin 2007-07-29 13:51 ` [Untested! proposal] git-mergetool.sh: introduce ediff option David Kastrup 1 sibling, 1 reply; 34+ messages in thread From: Johannes Schindelin @ 2007-07-29 11:27 UTC (permalink / raw) To: Theodore Tso; +Cc: git Hi, On Sat, 28 Jul 2007, Theodore Tso wrote: > So I really am beginning to think the right answer is to give up on > using git-mergetool to support anything other than basic emacs users > (who just use emacs as an editor, what a concept), and for the H4rd C0re > emacs l33t, they can use a contrib/git-mergetool.el that does everything > inside emacs. Since these are the people who want emacs to be their > desktop, their shell, *and* their window manager, they will probably be > happier that way.... Well, maybe not happier. But at least they will be forced to write a patch (if they really want to use git _their_ way, and they'll have to defend their patch if they break all other people's work flow), instead of writing a lot of long and useless emails. IOW I do not think "we" have to do something about it. Ciao, Dscho ^ permalink raw reply [flat|nested] 34+ messages in thread
* [Untested! proposal] git-mergetool.sh: introduce ediff option 2007-07-29 11:27 ` Johannes Schindelin @ 2007-07-29 13:51 ` David Kastrup 2007-07-29 20:52 ` Theodore Tso 0 siblings, 1 reply; 34+ messages in thread From: David Kastrup @ 2007-07-29 13:51 UTC (permalink / raw) To: git; +Cc: Theodore Tso This is not yet tested (still have to do that): it's a base for discussion and something which I think reasonable. It does not touch the old behavior of "emerge" apart from calling Emacs with option -q foregoing user-specific initializations, and preselects "ediff" only where EDITOR/VISUAL suggest Emacs being used as a normal editor. Here goes: Most actual Emacs users prefer ediff to emerge concerning the consolidation of versions. In general, people habitually using Emacs will have this preference reflected in the EDITOR/VISUAL environment variables. If such a preference can be found there, ediff will be used/offered in preference of emerge (which retains its previous behavior). In ediff mode, success or failure of the merge will be discerned by Emacs either having written or not written the merge buffer; no attempt of interpreting the exit code is made. This is much closer to the working habits of Emacs users than the emerge behavior which uses Emacs as a one-shot session editor. In order to bypass things like desktop files being loaded, emerge mode now passes the "-q" option to Emacs. This will make it work in more situations likely to occur, at the price of excluding possibly harmless user customizations with the rest. --- git-mergetool.sh | 50 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 36 insertions(+), 14 deletions(-) diff --git a/git-mergetool.sh b/git-mergetool.sh index 47a8055..8ed3ed4 100755 --- a/git-mergetool.sh +++ b/git-mergetool.sh @@ -251,13 +251,27 @@ merge_file () { ;; emerge) if base_present ; then - emacs -f emerge-files-with-ancestor-command "$LOCAL" "$REMOTE" "$BASE" "$path" + emacs -q -f emerge-files-with-ancestor-command "$LOCAL" "$REMOTE" "$BASE" "$path" else - emacs -f emerge-files-command "$LOCAL" "$REMOTE" "$path" + emacs -q -f emerge-files-command "$LOCAL" "$REMOTE" "$path" fi status=$? save_backup ;; + ediff) + case "${EDITOR:-${VISUAL:-emacs}}" in + */emacs*|*/gnuclient*|*/xemacs*) + emacs_candidate="${EDITOR:-${VISUAL:-emacs}}";; + *) + emacs_candidate=emacs;; + esac + if base_present ; then + ${emacs_candidate} --eval "(ediff-merge-files-with-ancestor (pop command-line-args-left) (pop command-line-args-left) (pop command-line-args-left) nil (pop-command-line-args-left))" "$LOCAL" "$REMOTE" "$BASE" "$path" + else + ${emacs_candidate} --eval "(ediff-merge-files (pop command-line-args-left) (pop command-line-args-left) nil (pop-command-line-args-left))" "$LOCAL" "$REMOTE" "$path" + fi + check_unchanged + save_backup esac if test "$status" -ne 0; then echo "merge of $path failed" 1>&2 @@ -299,7 +313,7 @@ done if test -z "$merge_tool"; then merge_tool=`git config merge.tool` case "$merge_tool" in - kdiff3 | tkdiff | xxdiff | meld | opendiff | emerge | vimdiff | gvimdiff | "") + kdiff3 | tkdiff | xxdiff | meld | opendiff | emerge | ediff | vimdiff | gvimdiff | "") ;; # happy *) echo >&2 "git config option merge.tool set to unknown tool: $merge_tool" @@ -319,23 +333,26 @@ if test -z "$merge_tool" ; then merge_tool_candidates="kdiff3 $merge_tool_candidates" fi fi - if echo "${VISUAL:-$EDITOR}" | grep 'emacs' > /dev/null 2>&1; then - merge_tool_candidates="$merge_tool_candidates emerge" - fi + case "${EDITOR:-${VISUAL}}" in + */emacs*|*/gnuclient*|*/xemacs*) + merge_tool_candidates="$merge_tool_candidates ediff" + esac if echo "${VISUAL:-$EDITOR}" | grep 'vim' > /dev/null 2>&1; then merge_tool_candidates="$merge_tool_candidates vimdiff" fi merge_tool_candidates="$merge_tool_candidates opendiff emerge vimdiff" echo "merge tool candidates: $merge_tool_candidates" for i in $merge_tool_candidates; do - if test $i = emerge ; then - cmd=emacs - else - cmd=$i - fi - if type $cmd > /dev/null 2>&1; then - merge_tool=$i - break + case $i in emerge) + cmd=emacs;; + ediff) + merge_tool=$i + break;; + *) cmd=$i + esac + if type $cmd > /dev/null 2>&1; then + merge_tool=$i + break fi done if test -z "$merge_tool" ; then @@ -357,6 +374,11 @@ case "$merge_tool" in exit 1 fi ;; + ediff) + if ! (set ${EDITOR:-${VISUAL:-emacs}}; type "$1" > /dev/null 2>&1); then + echo "${EDITOR:-${VISUAL:-emacs}} is not available" + exit 1 + fi *) echo "Unknown merge tool: $merge_tool" exit 1 -- 1.5.2.3 ^ permalink raw reply related [flat|nested] 34+ messages in thread
* Re: [Untested! proposal] git-mergetool.sh: introduce ediff option 2007-07-29 13:51 ` [Untested! proposal] git-mergetool.sh: introduce ediff option David Kastrup @ 2007-07-29 20:52 ` Theodore Tso 2007-07-29 23:30 ` David Kastrup 0 siblings, 1 reply; 34+ messages in thread From: Theodore Tso @ 2007-07-29 20:52 UTC (permalink / raw) To: David Kastrup; +Cc: git On Sun, Jul 29, 2007 at 03:51:34PM +0200, David Kastrup wrote: > > Most actual Emacs users prefer ediff to emerge concerning the > consolidation of versions. In general, people habitually using Emacs > will have this preference reflected in the EDITOR/VISUAL environment > variables. Proof, please? Do you have any polls? What evidence do you have? For the past two decades, I have EDITOR set to emacs, but I am not an ediff fan. Yes, that's anecdotal evidence, but so are your assertions. > If such a preference can be found there, ediff will be used/offered in > preference of emerge (which retains its previous behavior). Ediff is currently far more confusing for someone who just uses emacs as an editor. There are plenty of users who never learned the vi commands, but who use emacs as a reasonably easy-to-use text editor. Not everyone who uses emacs is a power-user..... > In ediff mode, success or failure of the merge will be discerned by > Emacs either having written or not written the merge buffer; no > attempt of interpreting the exit code is made. Sometimes resolving the merge file results in no changes. So the fact that ediff is buggy in that it doesn't return an exit code is a real problem. We could possibly work around the problem saving and then checking the modtime --- but only if ediff actually ends up rewriting the file. > In order to bypass things like desktop files being loaded, emerge mode > now passes the "-q" option to Emacs. This will make it work in more > situations likely to occur, at the price of excluding possibly > harmless user customizations with the rest. But that screws over users who want their customizations, but who don't use the desktop package. (And I have a news flash for you; the desktop package is *not* include as part of emacs21. It's not part of Debian's emacs21 package, version 21.4.) So do not believe your claim that emacs's desktop package is commonly used. Probably a better choice is a config parameter which allows users to specify a set of options to be passed to emacs when git fires up an emacs program. That would allow some people to specfy --no-desktop if they are using a new enough emacs program that supports it. It would also allow users to use other emacs command-line options that they might like, i.e., -nw, or --title, etc. > + ediff) > + case "${EDITOR:-${VISUAL:-emacs}}" in > + */emacs*|*/gnuclient*|*/xemacs*) > + emacs_candidate="${EDITOR:-${VISUAL:-emacs}}";; > + *) > + emacs_candidate=emacs;; > + esac > + if base_present ; then > + ${emacs_candidate} --eval "(ediff-merge-files-with-ancestor (pop command-line-args-left) (pop command-line-args-left) (pop command-line-args-left) nil (pop-command-line-args-left))" "$LOCAL" "$REMOTE" "$BASE" "$path" ... and this will blow up if EMACS is set to emacsclient, and emacs version is 21. (And BTW, Debian stable and the current Ubuntu, Edgy Eft, are still shipping emacs21. So are a number of current major distro's. So if you think the vast majority of users are using emacs22, you are either on drugs, and have a very skewed view of what are "normal" emacs users.) There is a reason why git-mergetool currently hardcodes the use of "emacs", instead of just blindly using the value of $EDITOR or $VISUAL. So what you're doing here in your patch is completely busted. If you insist on using emacs_candidate, we need to run emacs --version and parse the output, and only using the value of EMACS or VISUAL if the major version number of emacs is at least 22. (It would probably be a good idea to do this once and cache the result, so we don't have to repeatedly for each file that git mergetool needs to process.) > - if echo "${VISUAL:-$EDITOR}" | grep 'emacs' > /dev/null 2>&1; then > - merge_tool_candidates="$merge_tool_candidates emerge" > - fi > + case "${EDITOR:-${VISUAL}}" in > + */emacs*|*/gnuclient*|*/xemacs*) > + merge_tool_candidates="$merge_tool_candidates ediff" > + esac Changing the default from emerge to ediff is a non-starter, sorry. If you really want to use ediff, you can set a config parameter to explicitly request it. - Ted ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [Untested! proposal] git-mergetool.sh: introduce ediff option 2007-07-29 20:52 ` Theodore Tso @ 2007-07-29 23:30 ` David Kastrup 0 siblings, 0 replies; 34+ messages in thread From: David Kastrup @ 2007-07-29 23:30 UTC (permalink / raw) To: Theodore Tso; +Cc: git Theodore Tso <tytso@mit.edu> writes: > On Sun, Jul 29, 2007 at 03:51:34PM +0200, David Kastrup wrote: > > For the past two decades, I have EDITOR set to emacs, but I am not > an ediff fan. Yes, that's anecdotal evidence, but so are your > assertions. Ok. >> In ediff mode, success or failure of the merge will be discerned by >> Emacs either having written or not written the merge buffer; no >> attempt of interpreting the exit code is made. > > Sometimes resolving the merge file results in no changes. So the fact > that ediff is buggy in that it doesn't return an exit code is a real > problem. Ediff starts out with a changed buffer when merging files. git-mergetool can check for modification times (which is done on several backends), so it can catch whether or not the ediff buffer has been saved. > We could possibly work around the problem saving and then checking > the modtime --- but only if ediff actually ends up rewriting the > file. See above. >> In order to bypass things like desktop files being loaded, emerge >> mode now passes the "-q" option to Emacs. This will make it work >> in more situations likely to occur, at the price of excluding >> possibly harmless user customizations with the rest. > > But that screws over users who want their customizations, but who > don't use the desktop package. (And I have a news flash for you; > the desktop package is *not* include as part of emacs21. It's not > part of Debian's emacs21 package, version 21.4.) So do not believe > your claim that emacs's desktop package is commonly used. Sigh. $ dpkg -L emacs21-el|grep desktop /usr/share/emacs/21.4/lisp/desktop.el >> + ediff) >> + case "${EDITOR:-${VISUAL:-emacs}}" in >> + */emacs*|*/gnuclient*|*/xemacs*) >> + emacs_candidate="${EDITOR:-${VISUAL:-emacs}}";; >> + *) >> + emacs_candidate=emacs;; >> + esac >> + if base_present ; then >> + ${emacs_candidate} --eval "(ediff-merge-files-with-ancestor (pop command-line-args-left) (pop command-line-args-left) (pop command-line-args-left) nil (pop-command-line-args-left))" "$LOCAL" "$REMOTE" "$BASE" "$path" > > ... and this will blow up if EMACS is set to emacsclient, and emacs > version is 21. I am currently working on ironing this out. It is easy to check whether emacsclient supports --eval and revert to emacs in that case. Unfortunately, it turns out that the above also blows up with emacsclient 22.1 (I hope to get some patches into Emacs so that this will actually work in 22.2). So I am currently reworking this, and it is indeed fragile stuff and quite a nuisance to get right. > (And BTW, Debian stable and the current Ubuntu, Edgy Eft, are still > shipping emacs21. So are a number of current major distro's. So if > you think the vast majority of users are using emacs22, you are > either on drugs, and have a very skewed view of what are "normal" > emacs users.) The current Ubuntu happens to be Feisty Fawn, and it includes emacs-snapshot-gtk (among other options) with a workable emacsclient. But I certainly will not ask for including a solution that would not produce the best feasible results for all of emacs21, emacs22, and xemacs-21.x. As I said, the patch was just provided as material for discussion and does not yet work. > There is a reason why git-mergetool currently hardcodes the use of > "emacs", instead of just blindly using the value of $EDITOR or > $VISUAL. Which is not really nice to XEmacs users, by the way. > So what you're doing here in your patch is completely busted. If > you insist on using emacs_candidate, we need to run emacs --version > and parse the output, and only using the value of EMACS or VISUAL if > the major version number of emacs is at least 22. It is actually more straightforward to check the exit code of emacsclient --eval t >/dev/null 2>&1 which is basically what I do now. Even if one wanted to parse the output of --version, emacsclient --version would be faster. > (It would probably be a good idea to do this once and cache the > result, so we don't have to repeatedly for each file that git > mergetool needs to process.) My current version of the patch already does this. However, the startup/exit behavior is still somewhat broken though marginally usable (getting both ediff started and the resulting buffer registered as a server buffer without messing up ediff's window setup is the challenge), so I am still ironing stuff out. >> - if echo "${VISUAL:-$EDITOR}" | grep 'emacs' > /dev/null 2>&1; then >> - merge_tool_candidates="$merge_tool_candidates emerge" >> - fi >> + case "${EDITOR:-${VISUAL}}" in >> + */emacs*|*/gnuclient*|*/xemacs*) >> + merge_tool_candidates="$merge_tool_candidates ediff" >> + esac > > Changing the default from emerge to ediff is a non-starter, sorry. > If you really want to use ediff, you can set a config parameter to > explicitly request it. How would you feel about preferring ediff when EDITOR is emacsclient or gnuclient, and emerge otherwise? Of course only once ediff will work satisfactorily with all Emacs and XEmacs variants out there. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: What's in git.git (stable) 2007-07-28 8:47 ` What's in git.git (stable) Junio C Hamano 2007-07-28 8:56 ` David Kastrup @ 2007-07-28 12:28 ` Thomas Glanzmann 2007-08-07 6:22 ` Junio C Hamano 2 siblings, 0 replies; 34+ messages in thread From: Thomas Glanzmann @ 2007-07-28 12:28 UTC (permalink / raw) To: Junio C Hamano; +Cc: GIT Hello Junio, git HEAD compiles under 'Solaris 8/Forte 11' and 'Solaris 10/Forte 12' for me. Thomas ^ permalink raw reply [flat|nested] 34+ messages in thread
* What's in git.git (stable) 2007-07-28 8:47 ` What's in git.git (stable) Junio C Hamano 2007-07-28 8:56 ` David Kastrup 2007-07-28 12:28 ` What's in git.git (stable) Thomas Glanzmann @ 2007-08-07 6:22 ` Junio C Hamano 2 siblings, 0 replies; 34+ messages in thread From: Junio C Hamano @ 2007-08-07 6:22 UTC (permalink / raw) To: git * The 'maint' branch has these fixes since the last announcement, which are all included in 'master' as well. Because 1.5.3 is just around the corner, I think it is pointless to do 1.5.2.5 from here, though. Christian Couder (1): rev-list --bisect: fix allocation of "int*" instead of "int". Junio C Hamano (1): setup.c:verify_non_filename(): don't die unnecessarily while disambiguating Linus Torvalds (1): apply: remove directory that becomes empty by renaming the last file away * The 'master' branch has these since 1.5.3-rc4. Adam Roben (1): Documentation/git-svn: how to clone a git-svn-created repository Gerrit Pape (1): git-am: initialize variable $resume on startup J. Bruce Fields (4): user-manual: update for new default --track behavior user-manual: mention git-gui documentation: use the word "index" in the git-add manual page documentation: use the word "index" in the git-commit man page Jakub Narebski (1): gitweb: Fix handling of $file_name in feed generation Johannes Schindelin (1): checkout-index needs a working tree Junio C Hamano (8): git-completion: add "git stash" INSTALL: add warning on docbook-xsl 1.72 and 1.73 unpack-trees.c: assume submodules are clean during check-out Fix install-doc-quick target user-manual: mention git stash setup.c:verify_non_filename(): don't die unnecessarily while disambiguating pager: find out pager setting from configuration Fix "make GZ=1 quick-install-doc" Jyotirmoy Bhattacharya (1): Fixed git-push manpage Linus Torvalds (1): apply: remove directory that becomes empty by renaming the last file away Randal L. Schwartz (1): add "test-absolute-path" to .gitignore Shawn O. Pearce (1): Document GIT_SSH environment variable alongside other variables Uwe Kleine-König (1): send-email: teach sanitize_address to do rfc2047 quoting ^ permalink raw reply [flat|nested] 34+ messages in thread
end of thread, other threads:[~2007-08-07 6:22 UTC | newest] Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2007-05-13 22:30 What's in git.git (stable) Junio C Hamano 2007-05-17 0:21 ` Junio C Hamano 2007-05-19 5:24 ` Junio C Hamano 2007-05-23 21:46 ` Junio C Hamano 2007-05-29 10:12 ` Junio C Hamano 2007-06-02 21:09 ` Junio C Hamano 2007-06-07 2:08 ` Junio C Hamano 2007-06-13 20:11 ` Junio C Hamano 2007-06-13 22:31 ` Johannes Schindelin 2007-06-14 7:12 ` Johannes Sixt 2007-06-21 7:21 ` Junio C Hamano 2007-06-25 9:43 ` Junio C Hamano 2007-07-02 0:16 ` Junio C Hamano 2007-07-13 6:06 ` What's in git.git Junio C Hamano 2007-07-13 6:40 ` Draft release notes for v1.5.3, as of -rc1 Junio C Hamano 2007-07-13 9:29 ` Sven Verdoolaege 2007-07-14 14:22 ` Johannes Schindelin 2007-07-14 18:13 ` Junio C Hamano 2007-07-15 23:53 ` Johannes Schindelin 2007-07-13 13:50 ` Brian Downing 2007-07-13 15:31 ` Junio C Hamano 2007-07-28 8:47 ` What's in git.git (stable) Junio C Hamano 2007-07-28 8:56 ` David Kastrup 2007-07-28 9:02 ` Junio C Hamano 2007-07-28 9:35 ` David Kastrup 2007-07-29 3:16 ` Theodore Tso 2007-07-29 9:05 ` David Kastrup 2007-07-29 16:40 ` Theodore Tso 2007-07-29 11:27 ` Johannes Schindelin 2007-07-29 13:51 ` [Untested! proposal] git-mergetool.sh: introduce ediff option David Kastrup 2007-07-29 20:52 ` Theodore Tso 2007-07-29 23:30 ` David Kastrup 2007-07-28 12:28 ` What's in git.git (stable) Thomas Glanzmann 2007-08-07 6:22 ` Junio C Hamano
Code repositories for project(s) associated with this public inbox https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).