Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Jan 25, 2010
  1. @jnareb @gitster

    gitweb.js: Workaround for IE8 bug

    jnareb authored gitster committed
    In Internet Explorer 8 (IE8) the 'blame_incremental' view, which uses
    JavaScript to generate blame info using AJAX, sometimes hang at the
    beginning (at 0%) of blaming, e.g. for larger files with long history
    like git's own gitweb/gitweb.perl.
    
    The error shown by JavaScript console is "Unspecified error" at char:2
    of the following line in gitweb/gitweb.js:
    
      if (xhr.readyState === 3 && xhr.status !== 200) {
    
    Debugging it using IE8 JScript debuger shown that the error occurs
    when trying to access xhr.status (xhr is XMLHttpRequest object).
    Watch for xhr object shows 'Unspecified error.' as "value" of
    xhr.status, and trying to access xhr.status from console throws error.
    
    This bug is some intermittent bug, depending on XMLHttpRequest timing,
    as it doesn't occur in all cases.  It is probably caused by the fact
    that handleResponse is called from timer (pollTimer), to work around
    the fact that some browsers call onreadystatechange handler only once
    for each state change, and not like required for 'blame_incremental'
    as soon as new data is available from server.  It looks like xhr
    object is not properly initialized; still it is a bug to throw an
    error when accessing xhr.status (and not use 'null' or 'undefined' as
    value).
    
    Work around this bug in IE8 by using try-catch block when accessing
    xhr.status.
    
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @gitster

    Merge branch 'jc/fix-tree-walk'

    gitster authored
    * jc/fix-tree-walk:
      read-tree --debug-unpack
      unpack-trees.c: look ahead in the index
      unpack-trees.c: prepare for looking ahead in the index
      Aggressive three-way merge: fix D/F case
      traverse_trees(): handle D/F conflict case sanely
      more D/F conflict tests
      tests: move convenience regexp to match object names to test-lib.sh
    
    Conflicts:
    	builtin-read-tree.c
    	unpack-trees.c
    	unpack-trees.h
Commits on Jan 24, 2010
  1. @gitster

    Make test numbers unique

    Johannes Sixt authored gitster committed
    Signed-off-by: Johannes Sixt <j6t@kdbg.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @gitster

    Merge branch 'maint'

    gitster authored
    * maint:
      git-gui: work from the .git dir
      git-gui: Fix applying a line when all following lines are deletions
      git-gui: Correct file_states when unstaging partly staged entry
      git-gui: Fix gitk for branch whose name matches local file
      git-gui: Keep repo_config(gui.recentrepos) and .gitconfig in sync
      git-gui: handle really long error messages in updateindex.
      git-gui: Add hotkeys for "Unstage from commit" and "Revert changes"
      git-gui: Makefile: consolidate .FORCE-* targets
  3. @gitster

    Merge branch 'maint' of git://git.spearce.org/git-gui into maint

    gitster authored
    * 'maint' of git://git.spearce.org/git-gui:
      git-gui: work from the .git dir
      git-gui: Fix applying a line when all following lines are deletions
      git-gui: Correct file_states when unstaging partly staged entry
      git-gui: Fix gitk for branch whose name matches local file
      git-gui: Keep repo_config(gui.recentrepos) and .gitconfig in sync
      git-gui: handle really long error messages in updateindex.
      git-gui: Add hotkeys for "Unstage from commit" and "Revert changes"
      git-gui: Makefile: consolidate .FORCE-* targets
  4. @michaellukashov @gitster

    Windows: Remove dependency on pthreadGC2.dll

    michaellukashov authored gitster committed
    Commit 44626dc (MSVC: Windows-native implementation for subset
    of threads API, 2010-01-15) introduces builtin replacement of
    pthreadGC2.dll functionality, thus we can completely drop
    dependency on this dll.
    
    Signed-off-by: Michael Lukashov <michael.lukashov@gmail.com>
    Acked-by: Johannes Sixt <j6t@kdbg.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. @trast @gitster

    Documentation: move away misplaced 'push --upstream' description

    trast authored gitster committed
    e9fcd1e (Add push --set-upstream, 2010-01-16) inadvertently patched
    the description of --upstream in the middle of that of --repo.
    
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. @trast @gitster

    Documentation: add missing :: in config.txt

    trast authored gitster committed
    bed575e (commit: support commit.status, --status, and --no-status,
    2009-12-07) forgot to add the :: that sets off an item from the
    paragraph that explains it, breaking the layout.
    
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. @gitster

    Merge branch 'doc-style/for-next' of git://repo.or.cz/git/trast

    gitster authored
    * 'doc-style/for-next' of git://repo.or.cz/git/trast:
      Documentation: merge: use MERGE_HEAD to refer to the remote branch
      Documentation: simplify How Merge Works
      Documentation: merge: add a section about fast-forward
      Documentation: emphasize when git merge terminates early
      Documentation: merge: add an overview
      Documentation: merge: move merge strategy list to end
      Documentation: suggest `reset --merge` in How Merge Works section
      Documentation: merge: move configuration section to end
      Documentation: emphasise 'git shortlog' in its synopsis
      Documentation: show-files is now called git-ls-files
      Documentation: tiny git config manual tweaks
      Documentation: git gc packs refs by default now
    
    Conflicts:
    	Documentation/config.txt
  8. @gitster

    pull: re-fix command line generation

    gitster authored
    14e5d40 (pull: Fix parsing of -X<option>, 2010-01-17) forgot that
    merge_name needs to stay as a single non-interpolated string.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  9. @jrn @trast

    Documentation: merge: use MERGE_HEAD to refer to the remote branch

    jrn authored trast committed
    commit 57bddb1 (Documentation/git-merge: reword references to
    "remote" and "pull", 2010-01-07) fixed the manual to drop the
    assumption that the other branch being merged is from a remote
    repository.  Unfortunately, in a few places, to do so it
    introduced the antecedentless phrase "their versions".  Worse, in
    passages like the following, 'they' is playing two roles.
    
    |   highlighting changes from both the HEAD and their versions.
    |
    | * Look at the diffs on their own. 'git log --merge -p <path>'
    
    Using HEAD and MERGE_HEAD nicely assigns terminology to "our" and
    "their" sides.  It also provides the reader with practice using
    names that git will recognize on the command line.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
  10. @jrn @trast

    Documentation: simplify How Merge Works

    jrn authored trast committed
    The user most likely does not care about the exact order of
    operations because he cannot see it happening anyway.  Instead,
    try to explain what it means to merge two commits into a single
    tree.
    
    While at it:
    
     - Change the heading to TRUE MERGE.  The entire manual page is
       about how merges work.
    
     - Document MERGE_HEAD.  It is a useful feature, since it makes
       the parents of the intended merge commit easier to refer to.
    
     - Do not assume commits named on the 'git merge' command line come
       from another repository.  For simplicity, the discussion of
       conflicts still does assume that there is only one and it is a
       branch head.
    
     - Do not start list items with `code`.  Otherwise, a toolchain bug
       produces a line break in the generated nroff, resulting in odd
       extra space.
    
    Suggested-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
  11. @jrn @trast

    Documentation: merge: add a section about fast-forward

    jrn authored trast committed
    Novices sometimes find the behavior of 'git merge' in the
    fast-forward case surprising.  Describe it thoroughly.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
  12. @jrn @trast

    Documentation: emphasize when git merge terminates early

    jrn authored trast committed
    A merge-based operation in git can fail in two ways: one that
    stops before touching anything, or one that goes ahead and
    results in conflicts.
    
    As the 'git merge' manual explains:
    
    | A merge is always between the current `HEAD` and one or more
    | commits (usually, branch head or tag), and the index file must
    | match the tree of `HEAD` commit (i.e. the contents of the last commit)
    | when it starts out.
    
    Unfortunately, the placement of this sentence makes it easy to
    skip over, and its formulation leaves the important point, that
    any other attempted merge will be gracefully aborted, unspoken.
    
    So give this point its own section and expand upon it.
    
    Probably this could be simplified somewhat: after all, a change
    registered in the index is just a special kind of local
    uncommited change, so the second added paragraph is only a
    special case of the first.  It seemed more helpful to be explicit
    here.
    
    Inspired by <http://gitster.livejournal.com/25801.html>.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
  13. @jrn @trast

    Documentation: merge: add an overview

    jrn authored trast committed
    The reader unfamiliar with the concepts of branching and merging
    would have been completely lost.  Try to help him with a diagram.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
  14. @jrn @trast

    Documentation: merge: move merge strategy list to end

    jrn authored trast committed
    So the section layout changes as follows:
    
     NAME
     SYNOPSIS
     DESCRIPTION
     OPTIONS
    -MERGE STRATEGIES
     HOW MERGE WORKS
     HOW CONFLICTS ARE PRESENTED
     HOW TO RESOLVE CONFLICTS
     EXAMPLES
    +MERGE STRATEGIES
     CONFIGURATION
     SEE ALSO
     AUTHOR
     DOCUMENTATION
     GIT
     NOTES
    
    The first-time user will care more about conflicts than about
    strategies other than 'recursive'.
    
    One of the examples uses -s ours, but I do not think this hinders
    readability.
    
    Suggested-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
  15. @jrn @trast

    Documentation: suggest `reset --merge` in How Merge Works section

    jrn authored trast committed
    The 'merge' manual suggests 'reset' to cancel a merge at the end
    of the Merge Strategies list.  It is more logical to explain this
    right before explaining how merge conflicts work, so the daunted
    reader can have a way out when he or she needs it most.
    
    While at it, make the advice more dependable and self-contained
    by providing the --merge option.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
  16. @jrn @trast

    Documentation: merge: move configuration section to end

    jrn authored trast committed
    Configuration and environment variables belong to the back matter
    of a manual page.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Acked-by: Petr Baudis <pasky@suse.cz>
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
  17. @gitster

    rebase -i: Export GIT_AUTHOR_* variables explicitly

    gitster authored
    There is no point doing self-assignments of these variables.  Instead,
    just export them to the environment, but do so in a sub-shell, because
    
    	VAR1=VAL1 VAR2=VAL2 ... command arg1 arg2...
    
    does not mark the variables exported if command that is run
    is a shell function, according to POSIX.1.
    
    The callers of do_with_author do not rely on seeing the effect of any
    shell variable assignments that may happen inside what was called through
    this shell function (currently "output" is the only one), so running it in
    the subshell doesn't have an adverse semantic effect.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 23, 2010
  1. @Oblomov @spearce

    git-gui: work from the .git dir

    Oblomov authored spearce committed
    When git-gui is run from a .git dir, _gitdir would be set to "." by
    rev-parse, something that confuses the worktree detection.
    
    Fix by expanding the value of _gitdir to pwd in this special case.
    
    Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  2. @jepler @spearce

    git-gui: Fix applying a line when all following lines are deletions

    jepler authored spearce committed
    If a diff looked like:
    
     @@
      context
     -del1
     -del2
    
    and you wanted to stage the deletion 'del1', the generated patch
    wouldn't apply because it was missing the line 'del2' converted to
    context, but this line was counted in the @@-line
    
    Signed-off-by: Jeff Epler <jepler@unpythonic.net>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  3. @jlehmann @spearce

    git-gui: Correct file_states when unstaging partly staged entry

    jlehmann authored spearce committed
    When unstaging a partly staged file or submodule, the file_states
    list was not updated properly (unless unstaged linewise). Its
    index_info part did not contain the former head_info as it should
    have but kept its old value.
    
    This seems not to have had any bad effects but diminishes the value
    of the file_states list for future enhancements.
    
    Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  4. @nafmo @spearce

    git-gui: Fix gitk for branch whose name matches local file

    nafmo authored spearce committed
    When trying to run gitk on a branch name whose name matches a local
    file, it will toss an error saying that the name is ambiguous. Adding
    a pair of dashes will make gitk parse the options to the left of
    it as branch names. Since wish eats the first pair of dashes we
    throw at it, we need to add a second one to ensure they get through.
    
    Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  5. @spearce

    git-gui: Keep repo_config(gui.recentrepos) and .gitconfig in sync

    Christopher Beelby authored spearce committed
    When the number of recent repo's gets to ten there can be a
    situation where an item is removed from the .gitconfig file via
    a call to git config --unset, but the internal representation of
    that file (repo_config(gui.recentrepo)) is not updated.  Then a
    subsequent attempt to remove an item from the list fails because
    git-gui attempts to call --unset on a value that has already
    been removed.  This leads to duplicates in the .gitconfig file,
    which then also cause errors if the git-gui tries to --unset them
    (rather than using --unset-all. --unset-all is not used because it
    is not expected that duplicates should ever be allowed to exist.)
    
    When loading the list of recent repositories (proc _get_recentrepos)
    if a repo in the list is not considered a valid git reposoitory
    then we should go ahead and remove it so it doesn't take up a slot
    in the list (since we limit to 10 items). This will prevent a bunch
    of invalid entries in the list (which are not shown) from making
    valid entries dissapear off the list even when there are less than
    ten valid entries.
    
    See: http://code.google.com/p/msysgit/issues/detail?id=362
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  6. @patthoyts @spearce

    git-gui: handle really long error messages in updateindex.

    patthoyts authored spearce committed
    As reported to msysGit (bug #340) it is possible to get some very
    long error messages when updating the index. The use of a label to
    display this prevents scrolling the output. This patch replaces the
    label with a scrollable text widget configured to look like a label.
    
    Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  7. @chriscool @gitster

    Documentation: rev-list: fix synopsys for --tags and and --remotes

    chriscool authored gitster committed
    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. @gitster

    Merge git://git.bogomips.org/git-svn

    gitster authored
    * git://git.bogomips.org/git-svn:
      git-svn: allow subset of branches/tags to be specified in glob spec
      git-svn: allow UUID to be manually remapped via rewriteUUID
      git-svn: update svn mergeinfo test suite
      git-svn: document --username/commit-url for branch/tag
      git-svn: add --username/commit-url options for branch/tag
      git-svn: respect commiturl option for branch/tag
      git-svn: fix mismatched src/dst errors for branch/tag
      git-svn: handle merge-base failures
      git-svn: ignore changeless commits when checking for a cherry-pick
  9. @jaysoffian

    git-svn: allow subset of branches/tags to be specified in glob spec

    jaysoffian authored Eric Wong committed
    For very large projects it is useful to be able to clone a subset of the
    upstream SVN repo's branches. Allow for this by letting the left-side of
    the branches and tags glob specs contain a brace-delineated comma-separated
    list of names. e.g.:
    
    	branches = branches/{red,green}/src:refs/remotes/branches/*
    
    Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
    Acked-by: Eric Wong <normalperson@yhbt.net>
  10. @jaysoffian

    git-svn: allow UUID to be manually remapped via rewriteUUID

    jaysoffian authored Eric Wong committed
    In certain situations it may be necessary to manually remap an svn
    repostitory UUID. For example:
    
                      o--- [git-svn clone]
                     /
    [origin svn repo]
                     \
                      o--- [svnsync clone]
    
    Imagine that only "git-svn clone" and "svnsync clone" are made available
    to external users. Furthur, "git-svn clone" contains only trunk, and for
    reasons unknown, "svnsync clone" is missing the revision properties that
    normally provide the origin svn repo's UUID.
    
    A git user who has cloned the "git-svn clone" repo now wishes to use
    git-svn to pull in the missing branches from the "synsync clone" repo.
    In order for git-svn to get the history correct for those branches,
    it needs to know the origin svn repo's UUID. Hence rewriteUUID.
    
    Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
    Acked-by: Eric Wong <normalperson@yhbt.net>
  11. @andrewmyrick

    git-svn: update svn mergeinfo test suite

    andrewmyrick authored Eric Wong committed
    Add a partial branch (e.g., a branch from a project subdirectory) to the
    git-svn mergeinfo test repository.
    
    Add a tag and a branch from that tag to the git-svn mergeinfo test repository.
    
    Update the test script to expect a known failure in git-svn exposed by these
    additions where merge info for partial branches is not preserved.
    
    Signed-off-by: Andrew Myrick <amyrick@apple.com>
    Acked-by: Eric Wong <normalperson@yhbt.net>
  12. git-svn: document --username/commit-url for branch/tag

    Igor Mironov authored Eric Wong committed
    [ew: shortened subject]
    
    Signed-off-by: Igor Mironov <igor.a.mironov@gmail.com>
    Acked-by: Eric Wong <normalperson@yhbt.net>
  13. git-svn: add --username/commit-url options for branch/tag

    Igor Mironov authored Eric Wong committed
    Add ability to specify on the command line the username to perform the
    operation as and the writable URL of the repository to perform it on.
    
    [ew: shortened subject]
    
    Signed-off-by: Igor Mironov <igor.a.mironov@gmail.com>
    Acked-by: Eric Wong <normalperson@yhbt.net>
  14. git-svn: respect commiturl option for branch/tag

    Igor Mironov authored Eric Wong committed
    When constructing a destination URL, use the property 'commiturl' if it
    is specified in the configuration file; otherwise take 'url' as usual.
    This accommodates the scenario where a user only wants to involve the
    writable repository in operations performing a commit and defaults
    everything else to a read-only URL.
    
    [ew: shortened subject]
    
    Signed-off-by: Igor Mironov <igor.a.mironov@gmail.com>
    Acked-by: Eric Wong <normalperson@yhbt.net>
  15. git-svn: fix mismatched src/dst errors for branch/tag

    Igor Mironov authored Eric Wong committed
    This fixes the following issue:
    
    $ git svn branch -t --username=svnuser \
      --commit-url=https://myproj.domain.com/svn mytag
    Copying http://myproj.domain.com/svn/trunk at r26 to
    https://myproj.domain.com/svn/tags/mytag...
    
    Trying to use an unsupported feature: Source and dest appear not to be
    in the same repository (src: 'http://myproj.domain.com/svn/trunk';;
    dst: 'https://myproj.domain.com/svn/tags/mytag')
    
    [ew: shortened subject]
    
    Signed-off-by: Igor Mironov <igor.a.mironov@gmail.com>
    Acked-by: Eric Wong <normalperson@yhbt.net>
  16. @andrewmyrick

    git-svn: handle merge-base failures

    andrewmyrick authored Eric Wong committed
    Change git-svn to warn and continue when merge-base fails while processing svn
    merge tickets.
    
    merge-base can fail when a partial branch is created and merged back to trunk
    in svn, because it cannot find a common ancestor between the partial branch and
    trunk.
    
    Signed-off-by: Andrew Myrick <amyrick@apple.com>
    Acked-by: Sam Vilain <sam@vilain.net>
    Acked-by: Eric Wong <normalperson@yhbt.net>
Something went wrong with that request. Please try again.