Skip to content
Commits on Feb 15, 2009
  1. @gitster

    RelNotes Update

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

    Merge branch 'mc/setup-cd-p'

    gitster committed
    * mc/setup-cd-p:
      git-sh-setup: Use "cd" option, not /bin/pwd, for symlinked work tree
  3. @gitster

    Merge branch 'ff/submodule-no-fetch'

    gitster committed
    * ff/submodule-no-fetch:
      submodule: add --no-fetch parameter to update command
  4. @gitster

    Merge branch 'ms/mailmap'

    gitster committed
    * ms/mailmap:
      Move mailmap documentation into separate file
      Change current mailmap usage to do matching on both name and email of author/committer.
      Add map_user() and clear_mailmap() to mailmap
      Add find_insert_index, insert_at_index and clear_func functions to string_list
      Add mailmap.file as configurational option for mailmap location
  5. @gitster

    Merge branch 'jn/gitweb-committag'

    gitster committed
    * jn/gitweb-committag:
      gitweb: Better regexp for SHA-1 committag match
  6. @gitster

    Merge branch 'rc/http-push'

    gitster committed
    * rc/http-push:
      use a hash of the lock token as the suffix for PUT/MOVE
  7. @rctay @gitster

    use a hash of the lock token as the suffix for PUT/MOVE

    rctay committed with gitster
    After 753bc91 ("Remove the requirement opaquelocktoken uri scheme"),
    lock tokens are in the URI forms in which they are received from the
    server, eg. 'opaquelocktoken:', 'urn:uuid:'.
    
    However, "start_put" (and consequently "start_move"), which attempts to
    create a unique temporary file using the UUID of the lock token,
    inadvertently uses the lock token in its URI form. These file
    operations on the server may not be successful (specifically, in
    Windows), due to the colon ':' character from the URI form of the lock
    token in the file path.
    
    This patch uses a hash of the lock token instead, guaranteeing only
    "safe" characters (a-f, 0-9) are used in the file path.
    
    The token's hash is generated when the lock token is received from the
    server in handle_new_lock_ctx, minimizing the number of times of
    hashing.
    
    Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. @gitster

    Merge branch 'js/gc-prune'

    gitster committed
    * js/gc-prune:
      gc: make --prune useful again by accepting an optional parameter
  9. @gitster

    Merge branch 'tr/abbrev-commit-no-ellipses'

    gitster committed
    * tr/abbrev-commit-no-ellipses:
      log: do not print ellipses with --abbrev-commit
  10. @gitster

    Merge branch 'jc/branch-previous'

    gitster committed
    * jc/branch-previous:
      Teach @{-1} to git merge
      Teach the "@{-1} syntax to "git branch"
  11. @szeder @gitster

    bash: fix misspelled 'git svn' option

    szeder committed with gitster
    '--user-log-author' -> '--use-log-author'
    
    Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  12. @szeder @gitster

    t1500: more 'git rev-parse --git-dir' tests

    szeder committed with gitster
    Extend t1500 with tests of 'git rev-parse --git-dir' when invoked from
    other directories of the repository or the work tree.
    
    Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  13. @szeder @gitster

    Move 'rev-parse --git-dir' test to t1500

    szeder committed with gitster
    Commit 72183cb (Fix gitdir detection when in subdir of
    gitdir, 2009-01-16) added a test to 't1501-worktree' to check the
    behaviour of 'git rev-parse --git-dir' in a special case.  However,
    t1501 is about testing separate work tree setups, and not about basic
    'rev-parse' functionality, which is tested in t1500-rev-parse.
    Therefore, this patch moves that test to t1500.
    
    Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  14. @trast @gitster

    Documentation: pruning recipe for destructive filter-branch

    trast committed with gitster
    Add a section about how to shrink a repository's size after running
    git-filter-branch to remove large blobs from history.
    
    This comes up every week or so on IRC, and the commands required to
    handle every case are not very newbie-friendly, so hopefully writing
    them down somewhere leads to fewer questions.
    
    It may seem contradictory to document fallbacks for older Gits in
    newer docs, but we want to point people at this as a FAQ answer, and
    they will frequently not have the newest version installed.
    
    Thanks to Björn Steinbrink and Junio C Hamano for comments and
    corrections.
    
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  15. @dscho @gitster

    gc: make --prune useful again by accepting an optional parameter

    dscho committed with gitster
    With this patch, "git gc --no-prune" will not prune any loose (and
    dangling) object, and "git gc --prune=5.minutes.ago" will prune
    all loose objects older than 5 minutes.
    
    This patch benefitted from suggestions by Thomas Rast and Jan Krï¿œger.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Feb 14, 2009
  1. @gitster

    Teach @{-1} to git merge

    gitster committed
    1.6.2 will have @{-1} syntax advertised as "usable anywhere you can use
    a branch name".  However, "git merge @{-1}" did not work.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @gitster

    Teach the "@{-1} syntax to "git branch"

    gitster committed
    This teaches the new "@{-1} syntax to refer to the previous branch to "git
    branch".  After looking at somebody's faulty patch series on a topic
    branch too long, if you decide it is not worth merging, you can just say:
    
        $ git checkout master
        $ git branch -D @{-1}
    
    to get rid of it without having to type the name of the topic you now hate
    so much for wasting a lot of your time.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. @peff @gitster

    symbolic-ref: allow refs/<whatever> in HEAD

    peff committed with gitster
    Commit afe5d3d introduced a safety valve to symbolic-ref to
    disallow installing an invalid HEAD. It was accompanied by
    b229d18, which changed validate_headref to require that
    HEAD contain a pointer to refs/heads/ instead of just refs/.
    Therefore, the safety valve also checked for refs/heads/.
    
    As it turns out, topgit is using refs/top-bases/ in HEAD,
    leading us to re-loosen (at least temporarily) the
    validate_headref check made in b229d18. This patch does the
    corresponding loosening for the symbolic-ref safety valve,
    so that the two are in agreement once more.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. @gitster

    Remove redundant bit clears from diff_setup()

    Keith Cascio committed with gitster
    All bits already clear after memset(0).
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. @trast @gitster

    log: do not print ellipses with --abbrev-commit

    trast committed with gitster
    'git log --abbrev-commit' added an ellipsis to all commit names that
    were abbreviated.  This was particularly annoying if you wanted to
    cut&paste the sha1 from the terminal, since selecting by word would
    pick up '...'  too.
    
    So use find_unique_abbrev() instead of diff_unique_abbrev() in all
    log-related commit sha1 printing routines, and also change the
    formatting of the 'Merge: parent1 parent2' line output via
    pretty_print_commit().
    
    Signed-off-by: Thomas Rast <trast@student.ethz.ch>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Feb 13, 2009
  1. @kraai @gitster

    bash-completion: Complete the values of color.interactive, color.ui, …

    kraai committed with gitster
    …color.pager
    
    Signed-off-by: Matt Kraai <kraai@ftbfs.org>
    Acked-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @gitster

    Install the default "master" branch configuration after cloning a void

    gitster committed
    After "cloning from an empty repository", we have a configuration to
    describe the remote's URL and the default ref mappings, but we lack the
    branch configuration for the default branch we create on our end,
    "master".
    
    It is likely that the empty repository we cloned from will point the
    default "master" branch with its HEAD, so prepare the local configuration
    to match.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. @jwhite66 @gitster

    Update documentation to add further information about using Thunderbi…

    jwhite66 committed with gitster
    …rd with git-imap-send.
    
    Signed-off-by: Jeremy White <jwhite@codeweavers.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. @burto @gitster

    git-rebase.txt: --interactive does not work with --whitespace

    burto committed with gitster
    Signed-off-by: Mark Burton <markb@ordern.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Feb 12, 2009
  1. @jhelwig @gitster

    Add 'rm -f' equivalent to 'git rm' example of filter-branch --index-f…

    jhelwig committed with gitster
    …ilter
    
    Signed-off-by: Jacob Helwig <jacob.helwig@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @gitster

    Revert "validate_headref: tighten ref-matching to just branches"

    gitster committed
    This reverts commit b229d18, at least
    until we figure out how to work better with TopGit that points HEAD to
    refs/top-bases/ hierarchy.
  3. @nazri @gitster

    Bugfix: GIT_EXTERNAL_DIFF with more than one changed files

    nazri committed with gitster
    When there is more than one file that are changed, running git diff with
    GIT_EXTERNAL_DIFF incorrectly diagnoses an programming error and dies.
    The check introduced in 479b0ae (diff: refactor tempfile cleanup handling,
    2009-01-22) to detect a temporary file slot that forgot to remove its
    temporary file was inconsistent with the way the codepath to remove the
    temporary to mark the slot that it is done with it.
    
    This patch fixes this problem and adds a test case for it.
    
    Signed-off-by: Nazri Ramliy <ayiehere@gmail.com>
    Acked-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. @gitster

    Merge branch 'maint'

    gitster committed
    * maint:
      Prepare for 1.6.1.4.
      Make repack less likely to corrupt repository
      fast-export: ensure we traverse commits in topological order
      Clear the delta base cache if a pack is rebuilt
    
    Conflicts:
    	RelNotes
  5. @gitster

    Prepare for 1.6.1.4.

    gitster committed
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. @gitster

    Merge branch 'maint-1.6.0' into maint

    gitster committed
    * maint-1.6.0:
      Make repack less likely to corrupt repository
      fast-export: ensure we traverse commits in topological order
      Clear the delta base cache if a pack is rebuilt
  7. @gitster

    Make repack less likely to corrupt repository

    gitster committed
    Some platforms refuse to rename a file that is open.  When repacking an
    already packed repository without adding any new object, the resulting
    pack will contain the same set of objects as an existing pack, and on such
    platforms, a newly created packfile cannot replace the existing one.
    
    The logic detected this issue but did not try hard enough to recover from
    it.  Especially because the files that needs renaming come in pairs, there
    potentially are different failure modes that one can be renamed but the
    others cannot.  Asking manual recovery to end users were error prone.
    
    This patch tries to make it more robust by first making sure all the
    existing files that need to be renamed have been renamed before
    continuing, and attempts to roll back if some failed to rename.
    
    This is based on an initial patch by Robin Rosenberg.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. @newren @gitster

    fast-export: ensure we traverse commits in topological order

    newren committed with gitster
    fast-export will only list as parents those commits which have already
    been traversed (making it appear as if merges have been squashed if not
    all parents have been traversed).  To avoid this silent squashing of
    merge commits, we request commits in topological order.
    
    Signed-off-by: Elijah Newren <newren@gmail.com>
    Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  9. @gitster

    filter-branch: Add more error-handling

    committed with gitster
    9273b56 (filter-branch: Fix fatal error on bare repositories, 2009-02-03)
    fixed a missing check of return status from an underlying command in
    git-filter-branch, but there still are places that do not check errors.
    For example, the command does not pay attention to the exit status of the
    command given by --commit-filter.  It should abort in such a case.
    
    This attempts to fix all the remaining places that fails to checks errors.
    
    In two places, I've had to break apart pipelines in order to check the
    error code for the first stage of the pipeline, as discussed here:
    
      http://kerneltrap.org/mailarchive/git/2009/1/28/4835614
    
    Feedback on this patch was provided by Johannes Sixt, Johannes Schindelin
    and Junio C Hamano.  Thomas Rast helped with pipeline error handling.
    
    Signed-off-by: Eric Kidd <git@randomhacks.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Feb 11, 2009
  1. @gitster

    Fix contrib/hooks/post-receive-email for new duplicate branch

    Pat Notz committed with gitster
    In the show_new_revisions function, the original code:
    
      git rev-parse --not --branches | grep -v $(git rev-parse $refname) |
    
    isn't quite right since one can create a new branch and push it
    without any new commits.  In that case, two refs will have the same
    sha1 but both would get filtered by the 'grep'.  In the end, we'll
    show ALL the history which is not what we want.  Instead, we should
    list the branches by name and remove the branch being updated and THEN
    pass that list through rev-parse.
    
    Revised as suggested by Jakub Narebski and Junio C Hamano to use
    git-for-each-ref instead of git-branch.  (Thanks!)
    
    Signed-off-by: Pat Notz <pknotz@sandia.gov>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @spearce @gitster

    Clear the delta base cache if a pack is rebuilt

    spearce committed with gitster
    There is some risk that re-opening a regenerated pack file with
    different offsets could leave stale entries within the delta base
    cache that could be matched up against other objects using the same
    "struct packed_git*" and pack offset.
    
    Throwing away the entire delta base cache in this case is safer,
    as we don't have to worry about a recycled "struct packed_git*"
    matching to the wrong base object, resulting in delta apply
    errors while unpacking an object.
    
    Suggested-by: Daniel Barkalow <barkalow@iabervon.org>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Something went wrong with that request. Please try again.