Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: v1.7.7.4

Oct 26, 2011

  1. Junio C Hamano

    Merge branch 'mz/remote-rename' into maint-1.7.6

    * mz/remote-rename:
      remote: only update remote-tracking branch if updating refspec
      remote rename: warn when refspec was not updated
      remote: "rename o foo" should not rename ref "origin/bar"
      remote: write correct fetch spec when renaming remote 'remote'
    gitster authored
  2. Junio C Hamano

    Merge branch 'rj/maint-t9159-svn-rev-notation' into maint-1.7.6

    * rj/maint-t9159-svn-rev-notation:
      t9159-*.sh: skip for mergeinfo test for svn <= 1.4
    gitster authored
  3. Junio C Hamano

    Merge branch 'hl/iso8601-more-zone-formats' into maint-1.7.6

    * hl/iso8601-more-zone-formats:
      date.c: Support iso8601 timezone formats
    gitster authored
  4. Junio C Hamano

    Merge branch 'maint-1.7.6' into maint

    * maint-1.7.6:
      make the sample pre-commit hook script reject names with newlines, too
      git-read-tree.txt: update sparse checkout examples
      git-read-tree.txt: correct sparse-checkout and skip-worktree description
      git-read-tree.txt: language and typography fixes
      unpack-trees: print "Aborting" to stderr
      Documentation/git-update-index: refer to 'ls-files'
      Documentation: basic configuration of notes.rewriteRef
    gitster authored
  5. Junio C Hamano

    Merge branch 'tr/doc-note-rewrite' into maint-1.7.6

    * tr/doc-note-rewrite:
      Documentation: basic configuration of notes.rewriteRef
    gitster authored
  6. Junio C Hamano

    Merge branch 'nd/sparse-doc' into maint-1.7.6

    * nd/sparse-doc:
      git-read-tree.txt: update sparse checkout examples
    gitster authored
  7. Junio C Hamano

    Merge branch 'mg/maint-doc-sparse-checkout' into maint-1.7.6

    * mg/maint-doc-sparse-checkout:
      git-read-tree.txt: correct sparse-checkout and skip-worktree description
      git-read-tree.txt: language and typography fixes
      unpack-trees: print "Aborting" to stderr
    gitster authored
  8. Junio C Hamano

    Merge branch 'maint-1.7.5' into maint-1.7.6

    * maint-1.7.5:
      make the sample pre-commit hook script reject names with newlines, too
      Reindent closing bracket using tab instead of spaces
      Documentation/git-update-index: refer to 'ls-files'
    gitster authored
  9. Junio C Hamano

    Merge branch 'maint-1.7.4' into maint-1.7.5

    * maint-1.7.4:
      make the sample pre-commit hook script reject names with newlines, too
      Reindent closing bracket using tab instead of spaces
      Documentation/git-update-index: refer to 'ls-files'
    gitster authored
  10. Junio C Hamano

    Merge branch 'maint-1.7.3' into maint-1.7.4

    * maint-1.7.3:
      make the sample pre-commit hook script reject names with newlines, too
      Reindent closing bracket using tab instead of spaces
      Documentation/git-update-index: refer to 'ls-files'
    gitster authored
  11. Junio C Hamano

    Merge branch 'sn/doc-update-index-assume-unchanged' into maint-1.7.3

    * sn/doc-update-index-assume-unchanged:
      Documentation/git-update-index: refer to 'ls-files'
    gitster authored
  12. read-cache.c: fix index memory allocation

    estimate_cache_size() tries to guess how much memory is needed for the
    in-memory representation of an index file.  It does that by using the
    file size, the number of entries and the difference of the sizes of the
    on-disk and in-memory structs -- without having to check the length of
    the name of each entry, which varies for each entry, but their sums are
    the same no matter the representation.
    
    Except there can be a difference.  First of all, the size is really
    calculated by ce_size and ondisk_ce_size based on offsetof(..., name),
    not sizeof, which can be different.  And entries are padded with 1 to 8
    NULs at the end (after the variable name) to make their total length a
    multiple of eight.
    
    So in order to allocate enough memory to hold the index, change the
    delta calculation to be based on offsetof(..., name) and round up to
    the next multiple of eight.
    
    On a 32-bit Linux, this delta was used before:
    
    	sizeof(struct cache_entry)        == 72
    	sizeof(struct ondisk_cache_entry) == 64
    	                                    ---
    	                                      8
    
    The actual difference for an entry with a filename length of one was,
    however (find the definitions are in cache.h):
    
    	offsetof(struct cache_entry, name)        == 72
    	offsetof(struct ondisk_cache_entry, name) == 62
    
    	ce_size        == (72 + 1 + 8) & ~7 == 80
    	ondisk_ce_size == (62 + 1 + 8) & ~7 == 64
    	                                      ---
    	                                       16
    
    So eight bytes less had been allocated for such entries.  The new
    formula yields the correct delta:
    
    	(72 - 62 + 7) & ~7 == 16
    
    Reported-by: John Hsing <tsyj2007@gmail.com>
    Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    René Scharfe authored gitster committed
  13. meyering

    make the sample pre-commit hook script reject names with newlines, too

    The sample pre-commit hook script would fail to reject a file name like
    "a\nb" because of the way newlines are handled in "$(...)".  Adjust the
    test to count filtered bytes and require there be 0.  Also print all
    diagnostics to standard error, not stdout, so they will actually be seen.
    
    Signed-off-by: Jim Meyering <meyering@redhat.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    meyering authored gitster committed

Oct 24, 2011

  1. Junio C Hamano

    Merge branch 'maint-1.7.3' into maint

    * maint-1.7.3:
      Reindent closing bracket using tab instead of spaces
    gitster authored
  2. Nguyễn Thái Ngọc Duy

    Reindent closing bracket using tab instead of spaces

    Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    pclouds authored gitster committed
  3. Junio C Hamano

    Git 1.7.7.1

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster authored
  4. jrn

    RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Mak…

    …efile setting
    
    The change was actually about "git init -s" which sets the setgid bit on
    SysV-style systems to allow shared access to a repository, and can provoke
    errors on BSD-style systems, depending on how permissive the filesystem in
    use wants to be.
    
    More to the point, the patch was just taking a fix that arrived for
    FreeBSD in v1.5.5 days and making it also apply to machines using an
    (obscure) GNU userland/FreeBSD kernel mixture.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jrn authored gitster committed

Oct 21, 2011

  1. gitweb: fix regression when filtering out forks

    This fixes a condition in filter_forks_from_projects_list that failed if
    process directory was different from project root: in such case, the subroutine
    was a no-op and forks were not detected.
    
    Signed-off-by: Julien Muchembled <jm@jmuchemb.eu>
    Tested-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Julien Muchembled authored gitster committed
  2. Junio C Hamano

    Almost ready for 1.7.7.1

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster authored
  3. Junio C Hamano

    Merge branch 'nd/maint-autofix-tag-in-head' into maint

    * nd/maint-autofix-tag-in-head:
      Accept tags in HEAD or MERGE_HEAD
      merge: remove global variable head[]
      merge: use return value of resolve_ref() to determine if HEAD is invalid
      merge: keep stash[] a local variable
    
    Conflicts:
    	builtin/merge.c
    gitster authored
  4. Junio C Hamano

    Merge branch 'jc/apply-blank-at-eof-fix' into maint

    * jc/apply-blank-at-eof-fix:
      apply --whitespace=error: correctly report new blank lines at end
    gitster authored
  5. Junio C Hamano

    Merge branch 'jn/no-g-plus-s-on-bsd' into maint

    * jn/no-g-plus-s-on-bsd:
      Makefile: do not set setgid bit on directories on GNU/kFreeBSD
    gitster authored
  6. Junio C Hamano

    Merge branch 'rs/diff-cleanup-records-fix' into maint

    * rs/diff-cleanup-records-fix:
      diff: resurrect XDF_NEED_MINIMAL with --minimal
      Revert removal of multi-match discard heuristic in 27af01
    gitster authored
  7. Junio C Hamano

    Merge branch 'il/archive-err-signal' into maint

    * il/archive-err-signal:
      Support ERR in remote archive like in fetch/push
    gitster authored
  8. Junio C Hamano

    Merge branch 'js/maint-merge-one-file-osx-expr' into maint

    * js/maint-merge-one-file-osx-expr:
      merge-one-file: fix "expr: non-numeric argument"
    gitster authored
  9. Junio C Hamano

    Merge branch 'jm/maint-apply-detects-corrupt-patch-header' into maint

    * jm/maint-apply-detects-corrupt-patch-header:
      fix "git apply --index ..." not to deref NULL
    gitster authored
  10. Junio C Hamano

    Merge branch 'jc/checkout-from-tree-keep-local-changes' into maint

    * jc/checkout-from-tree-keep-local-changes:
      checkout $tree $path: do not clobber local changes in $path not in $tree
    gitster authored
  11. Junio C Hamano

    Merge branch 'mm/maint-config-explicit-bool-display' into maint

    * mm/maint-config-explicit-bool-display:
      config: display key_delim for config --bool --get-regexp
    gitster authored
  12. Dan McGee

    pack-objects: don't traverse objects unnecessarily

    This brings back some of the performance lost in optimizing recency
    order inside pack objects. We were doing extreme amounts of object
    re-traversal: for the 2.14 million objects in the Linux kernel
    repository, we were calling add_to_write_order() over 1.03 billion times
    (a 0.2% hit rate, making 99.8% of of these calls extraneous).
    
    Two optimizations take place here- we can start our objects array
    iteration from a known point where we left off before we started trying
    to find our tags, and we don't need to do the deep dives required by
    add_family_to_write_order() if the object has already been marked as
    filled.
    
    These two optimizations bring some pretty spectacular results via `perf
    stat`:
    
    task-clock:   83373 ms        --> 43800 ms         (50% faster)
    cycles:       221,633,461,676 --> 116,307,209,986  (47% fewer)
    instructions: 149,299,179,939 --> 122,998,800,184  (18% fewer)
    
    Helped-by: Ramsay Jones (format string fix in "die" message)
    Signed-off-by: Dan McGee <dpmcgee@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    toofishes authored gitster committed

Oct 18, 2011

  1. Brandon Casey

    strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline()

    This use of strbuf_grow() is a historical artifact that was once used to
    ensure that strbuf.buf was allocated and properly nul-terminated.  This
    was added before the introduction of the slopbuf in b315c5c, which
    guarantees that strbuf.buf always points to a usable nul-terminated string.
    So let's remove it.
    
    Signed-off-by: Brandon Casey <drafnel@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    drafnel authored gitster committed
  2. Dan McGee

    pack-objects: rewrite add_descendants_to_write_order() iteratively

    This removes the need to call this function recursively, shinking the
    code size slightly and netting a small performance increase.
    
    Signed-off-by: Dan McGee <dpmcgee@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    toofishes authored gitster committed
  3. Dan McGee

    pack-objects: use unsigned int for counter and offset values

    This is done in some of the new pack layout code introduced in commit
    1b4bb16. This more closely matches the nr_objects global that is
    unsigned that these variables are based off of and bounded by.
    
    Signed-off-by: Dan McGee <dpmcgee@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    toofishes authored gitster committed
  4. Dan McGee

    pack-objects: mark add_to_write_order() as inline

    This function is a whole 26 bytes when compiled on x86_64, but is
    currently invoked over 1.037 billion times when running pack-objects on
    the Linux kernel git repository. This is hitting the point where
    micro-optimizations do make a difference, and inlining it only increases
    the object file size by 38 bytes.
    
    As reported by perf, this dropped task-clock from 84183 to 83373 ms, and
    total cycles from 223.5 billion to 221.6 billion. Not astronomical, but
    worth getting for adding one word.
    
    Signed-off-by: Dan McGee <dpmcgee@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    toofishes authored gitster committed

Oct 16, 2011

  1. Carlos Martín Nieto

    fetch: treat --tags like refs/tags/*:refs/tags/* when pruning

    If --tags is specified, add that refspec to the list given to
    prune_refs so it knows to treat it as a filter on what refs to
    should consider for prunning. This way
    
        git fetch --prune --tags origin
    
    only prunes tags and doesn't delete the branch refs.
    
    Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    carlosmn authored gitster committed
  2. Carlos Martín Nieto

    fetch: honor the user-provided refspecs when pruning refs

    If the user gave us refspecs on the command line, we should use those
    when deciding whether to prune a ref instead of relying on the
    refspecs in the config.
    
    Previously, running
    
        git fetch --prune origin refs/heads/master:refs/remotes/origin/master
    
    would delete every other ref under the origin namespace because we
    were using the refspec to filter the available refs but using the
    configured refspec to figure out if a ref had been deleted on the
    remote. This is clearly the wrong thing to do.
    
    Change prune_refs and get_stale_heads to simply accept a list of
    references and a list of refspecs. The caller of either function needs
    to decide what refspecs should be used to decide whether a ref is
    stale.
    
    Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    carlosmn authored gitster committed
Something went wrong with that request. Please try again.