* 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 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
* 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
* 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 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
* 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 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: 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: [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
* 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
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 NNTP newsgroup(s).