Permalink
Commits on Jul 12, 2007
  1. @gitster

    GIT v1.5.3-rc1

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jul 12, 2007
  2. @gitster

    Merge branch 'master' of git://git.kernel.org/pub/scm/gitk/gitk

    * 'master' of git://git.kernel.org/pub/scm/gitk/gitk:
      gitk: Improve handling of -- and ambiguous arguments
      gitk: Use git log and add support for --left-right
      gitk: Fix bug causing "can't read commitrow(0,n)" error
      [PATCH] gitk: Fix for tree view ending in nested directories
      gitk: Remove the unused stopfindproc function
      gitk: Fix bug in the anc_or_desc routine
      gitk: Fix the find and highlight functions
    gitster committed Jul 12, 2007
  3. @gitster

    gitweb: new cgi parameter: opt

    Currently the only supported value is '--no-merges' for the 'rss', 'atom',
    'log', 'shortlog' and 'history' actions, but it can be easily extended to allow
    other parameters for other actions.
    
    Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Miklos Vajna committed with gitster Jul 12, 2007
  4. @gitster

    Add missing functions to contrib/emacs/vc-git.el

    This is necessary to make several editing functions work, like
    C-u C-x v =
    
    Signed-off-by: David Kastrup <dak@gnu.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    David Kastrup committed with gitster Jul 12, 2007
  5. @srwalter @gitster

    Documentation for git-log --follow

    After vainly searching the Documentation for how to follow renames, I
    finally broke down and grepped the source.  It would appear that Linus
    didn't add write and docs for this feature when he wrote it.  The
    following patch rectifies that, hopefully sparing future users from
    resorting to the source code.
    
    Signed-off-by: Steven Walter <stevenrwalter@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    srwalter committed with gitster Jul 12, 2007
  6. @gitster

    reduce git-pack-objects memory usage a little more

    The delta depth doesn't have to be stored in the global object array
    structure since it is only used during the deltification pass.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Nicolas Pitre committed with gitster Jul 12, 2007
  7. @bdowning @gitster

    Add documentation for --window-memory, pack.windowMemory

    Signed-off-by: Brian Downing <bdowning@lavos.net>
    Acked-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bdowning committed with gitster Jul 12, 2007
  8. @bdowning @gitster

    Add --window-memory option to git-repack

    Signed-off-by: Brian Downing <bdowning@lavos.net>
    Acked-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bdowning committed with gitster Jul 12, 2007
  9. @bdowning @gitster

    Add pack-objects window memory usage limit

    This adds an option (--window-memory=N) and configuration variable
    (pack.windowMemory = N) to limit the memory size of the pack-objects
    delta search window.  This works by removing the oldest unpacked objects
    whenever the total size goes above the limit.  It will always leave
    at least one object, though, so as not to completely eliminate the
    possibility of computing deltas.
    
    This is an extra limit on top of the normal window size (--window=N);
    the window will not dynamically grow above the fixed number of entries
    specified to fill the memory limit.
    
    With this, repacking a repository with a mix of large and small objects
    is possible even with a very large window.
    
    Cleaner and correct circular buffer handling courtesy of Nicolas Pitre.
    
    Signed-off-by: Brian Downing <bdowning@lavos.net>
    Acked-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bdowning committed with gitster Jul 12, 2007
  10. @bdowning @gitster

    Add functions for parsing integers with size suffixes

    Split out the nnn{k,m,g} parsing code from git_config_int into
    git_parse_long, so command-line parameters can enjoy the same
    functionality.  Also add get_parse_ulong for unsigned values.
    
    Make git_config_int use git_parse_long, and add get_config_ulong
    as well.
    
    Signed-off-by: Brian Downing <bdowning@lavos.net>
    Acked-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bdowning committed with gitster Jul 12, 2007
  11. @bdowning @gitster

    Support fetching the memory usage of a delta index

    Delta indices, at least on 64-bit platforms, tend to be larger than
    the actual uncompressed data.  As such, keeping track of this storage
    is important if you want to successfully limit the memory size of your
    pack window.
    
    Squirrel away the total allocation size inside the delta_index struct,
    and add an accessor "sizeof_delta_index" to access it.
    
    Signed-off-by: Brian Downing <bdowning@lavos.net>
    Acked-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bdowning committed with gitster Jul 12, 2007
  12. @bdowning @gitster

    Don't try to delta if target is much smaller than source

    Add a new try_delta heuristic.  Don't bother trying to make a delta if
    the target object size is much smaller (currently 1/32) than the source,
    as it's very likely not going to get a match.  Even if it does, you will
    have to read at least 32x the size of the new file to reassemble it,
    which isn't such a good deal.  This leads to a considerable performance
    improvement when deltifying a mix of small and large files with a very
    large window, because you don't have to wait for the large files to
    percolate out of the window before things start going fast again.
    
    Signed-off-by: Brian Downing <bdowning@lavos.net>
    Acked-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bdowning committed with gitster Jul 12, 2007
  13. @bdowning @gitster

    Correct shebang line for contrib/stats/packinfo.pl

    "/bin/perl"?  What was I thinking?
    
    Signed-off-by: Brian Downing <bdowning@lavos.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bdowning committed with gitster Jul 12, 2007
  14. @gitster

    script to display a distribution of longest common hash prefixes

    This script was originally posted on the git mailing list by
    Randal L. Schwartz <merlyn@stonehenge.com>.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Nicolas Pitre committed with gitster Jul 12, 2007
  15. @gitster

    apply delta depth bias to already deltified objects

    We already apply a bias on the initial delta attempt with max_size being
    a function of the base object depth.  This has the effect of favoring
    shallower deltas even if deeper deltas could be smaller, and therefore
    creating a wider delta tree (see commits 4e8da19 and c3b06a6).
    
    This principle should also be applied to all delta attempts for the same
    object and not only the first attempt.  With this the criteria for the
    best delta is not only its size but also its depth, so that a shallower
    delta might be selected even if it is larger than a deeper one.  Even if
    some deltas get larger, they allow for wider delta trees making the
    depth limit less quickly reached and therefore better deltas can be
    subsequently found, keeping the resulting pack size even smaller.
    Runtime access to the pack should also benefit from shallower deltas.
    
    Testing on different repositories showed slighter faster repacks,
    smaller resulting packs, and a much nicer curve for delta depth
    distribution with no more peak at the maximum depth level.
    Improvements are even more significant with smaller depth limits.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Nicolas Pitre committed with gitster Jul 12, 2007
  16. @gitster

    Update list of older git docs

    gitster committed Jul 12, 2007
  17. @gitster

    Merge commit 'git-gui/master'

    * commit 'git-gui/master': (36 commits)
      git-gui: Change prior tree SHA-1 verification to use git_read
      git-gui: Include a space in Cygwin shortcut command lines
      git-gui: Use sh.exe in Cygwin shortcuts
      git-gui: Paper bag fix for Cygwin shortcut creation
      git-gui: Improve the Windows and Mac OS X shortcut creators
      git-gui: Teach console widget to use git_read
      git-gui: Perform our own magic shbang detection on Windows
      git-gui: Treat `git version` as `git --version`
      git-gui: Assume unfound commands are known by git wrapper
      git-gui: Correct gitk installation location
      git-gui: Always use absolute path to all git executables
      git-gui: Show a progress meter for checking out files
      git-gui: Change the main window progress bar to use status_bar
      git-gui: Extract blame viewer status bar into mega-widget
      git-gui: Allow double-click in checkout dialog to start checkout
      git-gui: Default selection to first matching ref
      git-gui: Unabbreviate commit SHA-1s prior to display
      git-gui: Refactor branch switch to support detached head
      git-gui: Refactor our ui_status_value update technique
      git-gui: Better handling of detached HEAD
      ...
    gitster committed Jul 12, 2007
  18. @gitster

    Merge branch 'maint'

    * maint:
      GIT 1.5.2.4
      Teach read-tree 2-way merge to ignore intermediate symlinks
      git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}
      git-gui: Don't linewrap within console windows
      git-gui: Correct ls-tree buffering problem in browser
      git-gui: Skip nicknames when selecting author initials
      git-gui: Ensure windows shortcuts always have .bat extension
      git-gui: Include a Push action on the left toolbar
      git-gui: Bind M1-P to push action
      git-gui: Don't bind F5/M1-R in all windows
      git-gui: Unlock the index when cancelling merge dialog
      git-gui: properly popup error if gitk should be started but is not installed
    gitster committed Jul 12, 2007
  19. @gitster

    GIT 1.5.2.4

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jul 12, 2007
  20. @paulusmack

    gitk: Improve handling of -- and ambiguous arguments

    This makes gitk more consistent with git rev-list and git log in its
    handling of arguments that could be either a revision or a filename;
    now gitk displays an error message and quits, rather than treating it
    as a revision and getting an error in the underlying git log.  Now
    gitk always passes "--" to git log even if no filenames are being
    specified.
    
    It also makes gitk display errors in invoking git log in a window
    rather than on stderr, and makes gitk stop looking for a -d flag
    when it sees a "--" argument.
    
    Signed-off-by: Paul Mackerras <paulus@samba.org>
    paulusmack committed Jul 12, 2007
  21. @gitster

    Teach read-tree 2-way merge to ignore intermediate symlinks

    Earlier in 16a4c61, we taught "read-tree -m -u" not to be
    confused when switching from a branch that has a path frotz/filfre
    to another branch that has a symlink frotz that points at xyzzy/
    directory.  The fix was incomplete in that it was still confused
    when coming back (i.e. switching from a branch with frotz -> xyzzy/
    to another branch with frotz/filfre).
    
    This fix is rather expensive in that for a path that is created
    we would need to see if any of the leading component of that
    path exists as a symbolic link in the filesystem (in which case,
    we know that path itself does not exist, and the fact we already
    decided to check it out tells us that in the index we already
    know that symbolic link is going away as there is no D/F
    conflict).
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jul 12, 2007
  22. @gitster

    Merge branch 'maint' of git://repo.or.cz/git-gui into maint

    * 'maint' of git://repo.or.cz/git-gui:
      git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}
      git-gui: Don't linewrap within console windows
      git-gui: Correct ls-tree buffering problem in browser
      git-gui: Skip nicknames when selecting author initials
      git-gui: Ensure windows shortcuts always have .bat extension
      git-gui: Include a Push action on the left toolbar
      git-gui: Bind M1-P to push action
      git-gui: Don't bind F5/M1-R in all windows
      git-gui: Unlock the index when cancelling merge dialog
      git-gui: properly popup error if gitk should be started but is not installed
    gitster committed Jul 12, 2007
  23. @spearce

    git-gui: Change prior tree SHA-1 verification to use git_read

    This cat-file was done on maint, where we did not have git_read
    available to us.  But here on master we do, so we should make
    use of it.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jul 12, 2007
  24. @spearce

    Merge branch 'maint'

    * maint:
      git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}
    spearce committed Jul 12, 2007
  25. @spearce

    git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}

    From Johannes Sixt <J.Sixt@eudaptics.com>:
    > It seems that MSYS's wish does some quoting for Bourne shells,
    > in particular, escape the first '{' of the "^{tree}" suffix, but
    > then it uses cmd.exe to run "git rev-parse". However, cmd.exe does
    > not remove the backslash, so that the resulting rev expression
    > ends up in git's guts as unrecognizable garbage: rev-parse fails,
    > and git-gui hickups in a way that it must be restarted.
    
    Johannes originally submitted a patch to this section of commit.tcl
    to use `git rev-parse $PARENT:`, but not all versions of Git will
    accept that format.  So I'm just taking the really simple approach
    here of scanning the first line of the commit to grab its tree.
    About the same cost, but works everywhere.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jul 12, 2007
  26. @gitster

    Re-code builtin-branch.c in UTF-8

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jul 12, 2007
  27. @jasampler @gitster

    Function stripspace now gets a buffer instead file descriptors.

    An implementation easier to call from builtins. It is designed
    to be used from the upcoming builtin-tag.c and builtin-commit.c,
    because both need to remove unwanted spaces from messages.
    
    Signed-off-by: Carlos Rica <jasampler@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jasampler committed with gitster Jul 11, 2007
  28. @bdowning @gitster

    Pack information tool

    This tool will print vaguely pretty information about a pack.  It
    expects the output of "git-verify-pack -v" as input on stdin.
    
    $ git-verify-pack -v | packinfo.pl
    
    See the documentation in the script (contrib/stats/packinfo.pl)
    for more information.
    
    Signed-off-by: Brian Downing <bdowning@lavos.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bdowning committed with gitster Jul 12, 2007
Commits on Jul 11, 2007
  1. @dscho @gitster

    branch --track: code cleanup and saner handling of local branches

    This patch cleans up some complicated code, and replaces it with a
    cleaner version, using code from remote.[ch], which got extended a
    little in the process.  This also enables us to fix two cases:
    
    The earlier "fix" to setup tracking only when the original ref started
    with "refs/remotes" is wrong.  You are absolutely allowed to use a
    separate layout for your tracking branches.  The correct fix, of course,
    is to set up tracking information only when there is a matching
    remote.<nick>.fetch line containing a colon.
    
    Another corner case was not handled properly.  If two remotes write to
    the original ref, just warn the user and do not set up tracking.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    dscho committed with gitster Jul 10, 2007
  2. @dscho @gitster

    Add for_each_remote() function, and extend remote_find_tracking()

    The function for_each_remote() does exactly what the name
    suggests.
    
    The function remote_find_tracking() was extended to be able to
    search remote refs for a given local ref.  The caller sets
    either src or dst (but not both) in the refspec parameter, and
    remote_find_tracking() will fill in the other and return 0.
    
    Both changes are required for the next step: simplification of
    git-branch's --track functionality.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    dscho committed with gitster Jul 10, 2007
  3. @jasampler @gitster

    t7004: Add tests for the git tag -n option.

    These tests check the syntax for the git tag -n option
    and its output when one, none or many lines of the
    message are requested.
    
    Also this commit adds a missing && in the test
    that checks the sorted output of git tag -l.
    
    Signed-off-by: Carlos Rica <jasampler@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jasampler committed with gitster Jul 10, 2007
  4. @jasampler @gitster

    t0030: Add tests with consecutive text lines and others with spaces a…

    …dded.
    
    Previous tests only had paragraphs of one line. This commit adds some
    tests to check when many consecutive text lines are given.
    
    Also, it adds tests for checking that many lines between paragraphs are
    correctly reduced to one when there are tabs and spaces in those lines.
    
    Signed-off-by: Carlos Rica <jasampler@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jasampler committed with gitster Jul 10, 2007
  5. @jasampler @gitster

    t0030: Remove repeated instructions and add missing &&

    Moved some tests to another test_expect_success block.
    
    Many tests now reuse the same "expect" file. Also replacing
    many printf "" >expect with one >expect instruction.
    
    Added missing && which concatenated tests in some
    test_expect_success blocks.
    
    Signed-off-by: Carlos Rica <jasampler@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jasampler committed with gitster Jul 10, 2007
  6. @dscho @gitster

    Fix --cherry-pick with given paths

    If you say --cherry-pick, you do not want to see patches which are
    in the upstream.  If you specify paths with that, what you usually
    expect is that only those parts of the patches are looked at which
    actually touch the given paths.
    
    With this patch, that expectation is met.
    
    Noticed by Sam Vilain.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    dscho committed with gitster Jul 10, 2007
  7. @dscho @gitster

    Fix core.sharedRepository = 2

    For compatibility reasons, "git init --shared=all" does not write
    "all" into the config, but a number.  In the shared setup, you
    really have to support even older clients on the _same_ repository.
    
    But git_config_perm() did not pick up on it.
    
    Also, "git update-server-info" failed to pick up on the shared
    permissions.
    
    This patch fixes both issues, and adds a test to prove it.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Tested-by: martin f krafft <madduck@madduck.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    dscho committed with gitster Jul 11, 2007