1. 22 11月, 2013 1 次提交
    • J
      drop support for "experimental" loose objects · b039718d
      Jeff King 提交于
      In git v1.4.3, we introduced a new loose object format that
      encoded some object information outside of the zlib stream.
      Ultimately the format was dropped in v1.5.3, but we kept the
      reading side around to help people migrate objects. Each
      time we open a loose object, we use a heuristic to check
      whether it is in the normal loose format, or the
      experimental one.
      
      This heuristic is robust in the face of valid data, but it
      tends to treat corrupted or garbage data as an experimental
      object. With the regular format, we would notice quickly
      that zlib's crc does not check out and complain. With the
      experimental object, we are likely to extract a nonsensical
      object size and try to allocate a huge buffer, resulting in
      xmalloc calling "die".
      
      This latter behavior is much worse, for two reasons. One,
      git reports an allocation error when the real error is
      corruption. And two, the program dies unconditionally, so
      you cannot even run fsck (which would otherwise ignore the
      broken object and keep going).
      
      We could try to improve the heuristic to err on the side of
      normal objects in the face of corruption, but there is
      really little point. The experimental format is long-dead,
      and was never enabled by default to begin with. We can
      instead simply remove it. The only affected repository would
      be one that explicitly set core.legacyheaders in 2007, and
      then never repacked in the intervening 6 years.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b039718d
  2. 21 11月, 2013 1 次提交
  3. 19 11月, 2013 1 次提交
  4. 09 11月, 2013 5 次提交
    • J
      Git 1.8.4.3 · d7d2c879
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      d7d2c879
    • J
      Merge branch 'jn/test-prereq-perl-doc' into maint · cdc0c0f5
      Junio C Hamano 提交于
      The interaction between use of Perl in our test suite and NO_PERL
      has been clarified a bit.
      
      * jn/test-prereq-perl-doc:
        t/README: tests can use perl even with NO_PERL
      cdc0c0f5
    • J
      Merge branch 'ap/remote-hg-unquote-cquote' into maint · 4bc3d3fc
      Junio C Hamano 提交于
      A fast-import stream expresses a pathname with funny characters by
      quoting them in C style; remote-hg remote helper (in contrib/)
      forgot to unquote such a path.
      
      * ap/remote-hg-unquote-cquote:
        remote-hg: unquote C-style paths when exporting
      4bc3d3fc
    • J
      Merge branch 'jc/upload-pack-send-symref' into maint · 9196a2f8
      Junio C Hamano 提交于
      One long-standing flaw in the pack transfer protocol used by "git
      clone" was that there was no way to tell the other end which branch
      "HEAD" points at, and the receiving end needed to guess.  A new
      capability has been defined in the pack protocol to convey this
      information so that cloning from a repository with more than one
      branches pointing at the same commit where the HEAD is at now
      reliably sets the initial branch in the resulting repository.
      
      * jc/upload-pack-send-symref:
        t5570: Update for clone-progress-to-stderr branch
        t5570: Update for symref capability
        clone: test the new HEAD detection logic
        connect: annotate refs with their symref information in get_remote_head()
        connect.c: make parse_feature_value() static
        upload-pack: send non-HEAD symbolic refs
        upload-pack: send symbolic ref information as capability
        upload-pack.c: do not pass confusing cb_data to mark_our_ref()
        t5505: fix "set-head --auto with ambiguous HEAD" test
      9196a2f8
    • J
      Merge branch 'jk/http-auth-redirects' into maint · e5becd04
      Junio C Hamano 提交于
      We did not handle cases where http transport gets redirected during
      the authorization request (e.g. from http:// to https://).
      
      * jk/http-auth-redirects:
        http.c: Spell the null pointer as NULL
        remote-curl: rewrite base url from info/refs redirects
        remote-curl: store url as a strbuf
        remote-curl: make refs_url a strbuf
        http: update base URLs when we see redirects
        http: provide effective url to callers
        http: hoist credential request out of handle_curl_result
        http: refactor options to http_get_*
        http_request: factor out curlinfo_strbuf
        http_get_file: style fixes
      e5becd04
  5. 08 11月, 2013 10 次提交
  6. 02 11月, 2013 1 次提交
  7. 01 11月, 2013 1 次提交
  8. 31 10月, 2013 2 次提交
  9. 29 10月, 2013 9 次提交
  10. 25 10月, 2013 1 次提交
  11. 24 10月, 2013 5 次提交
    • J
      Almost 1.8.4.2 ;-) · ca462804
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      ca462804
    • J
      Merge branch 'jc/ls-files-killed-optim' into maint · e03a5010
      Junio C Hamano 提交于
      "git ls-files -k" needs to crawl only the part of the working tree
      that may overlap the paths in the index to find killed files, but
      shared code with the logic to find all the untracked files, which
      made it unnecessarily inefficient.
      
      * jc/ls-files-killed-optim:
        dir.c::test_one_path(): work around directory_exists_in_index_icase() breakage
        t3010: update to demonstrate "ls-files -k" optimization pitfalls
        ls-files -k: a directory only can be killed if the index has a non-directory
        dir.c: use the cache_* macro to access the current index
      e03a5010
    • J
      Merge branch 'jh/checkout-auto-tracking' into maint · 74051fa8
      Junio C Hamano 提交于
      "git branch --track" had a minor regression in v1.8.3.2 and later
      that made it impossible to base your local work on anything but a
      local branch of the upstream repository you are tracking from.
      
      * jh/checkout-auto-tracking:
        t3200: fix failure on case-insensitive filesystems
        branch.c: Relax unnecessary requirement on upstream's remote ref name
        t3200: Add test demonstrating minor regression in 41c21f22
        Refer to branch.<name>.remote/merge when documenting --track
        t3200: Minor fix when preparing for tracking failure
        t2024: Fix &&-chaining and a couple of typos
      74051fa8
    • J
      Merge branch 'nd/fetch-into-shallow' into maint · 6ba0d955
      Junio C Hamano 提交于
      When there is no sufficient overlap between old and new history
      during a "git fetch" into a shallow repository, objects that the
      sending side knows the receiving end has were unnecessarily sent.
      
      * nd/fetch-into-shallow:
        Add testcase for needless objects during a shallow fetch
        list-objects: mark more commits as edges in mark_edges_uninteresting
        list-objects: reduce one argument in mark_edges_uninteresting
        upload-pack: delegate rev walking in shallow fetch to pack-objects
        shallow: add setup_temporary_shallow()
        shallow: only add shallow graft points to new shallow file
        move setup_alternate_shallow and write_shallow_commits to shallow.c
      6ba0d955
    • A
      remote-hg: unquote C-style paths when exporting · 11362653
      Antoine Pelisse 提交于
      git-fast-import documentation says that paths can be C-style quoted.
      Unfortunately, the current remote-hg helper doesn't unquote quoted
      path and pass them as-is to Mercurial when the commit is created.
      
      This results in the following situation:
      
       - clone a mercurial repository with git
       - add a file with space in a directory: `>dir/foo\ bar`
       - commit that new file, and push the change to mercurial
       - the mercurial repository now has a new directory named '"dir',
         which contains a file named 'foo bar"'
      
      Use Python str.decode('string-escape') to unquote the string if it
      starts and ends with ".  It has been tested with quotes, spaces, and
      utf-8 encoded file-names.
      Signed-off-by: NAntoine Pelisse <apelisse@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      11362653
  12. 23 10月, 2013 3 次提交