1. 01 10月, 2013 1 次提交
  2. 27 9月, 2013 5 次提交
  3. 25 9月, 2013 1 次提交
    • B
      git-remote-mediawiki: bugfix for pages w/ >500 revisions · 1d905f74
      Benoit Person 提交于
      Mediawiki introduces a new API for queries w/ more than 500 results in
      version 1.21. That change triggered an infinite loop while cloning a
      mediawiki with such a page.
      
      The latest API renamed and moved the "continuing" information in the
      response, necessary to build the next query. The code failed to retrieve
      that information but still detected that it was in a "continuing
      query". As a result, it launched the same query over and over again.
      
      If a "continuing" information is detected in the response (old or new),
      the next query is updated accordingly. If not, we quit assuming it's not
      a continuing query.
      
      Reported-by: Benjamin Cathey
      Signed-off-by: NBenoit Person <benoit.person@gmail.com>
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      1d905f74
  4. 19 9月, 2013 8 次提交
    • J
      Start preparing for 1.8.4.1 · a0d3f109
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      a0d3f109
    • J
      Merge branch 'bc/completion-for-bash-3.0' into maint · ebb9d196
      Junio C Hamano 提交于
      Some people still use rather old versions of bash, which cannot grok
      some constructs like 'printf -v varname' the prompt and completion
      code started to use recently.
      
      * bc/completion-for-bash-3.0:
        contrib/git-prompt.sh: handle missing 'printf -v' more gracefully
        t9902-completion.sh: old Bash still does not support array+=('') notation
        git-completion.bash: use correct Bash/Zsh array length syntax
      ebb9d196
    • J
      Merge branch 'mm/no-shell-escape-in-die-message' into maint · b25b9d59
      Junio C Hamano 提交于
      Fixes a minor bug in "git rebase -i" (there could be others, as the
      root cause is pretty generic) where the code feeds a random, data
      dependeant string to 'echo' and expects it to come out literally.
      
      * mm/no-shell-escape-in-die-message:
        die_with_status: use "printf '%s\n'", not "echo"
      b25b9d59
    • J
      Merge branch 'jl/some-submodule-config-are-not-boolean' into maint · dd42145b
      Junio C Hamano 提交于
      * jl/some-submodule-config-are-not-boolean:
        avoid segfault on submodule.*.path set to an empty "true"
      dd42145b
    • J
      Merge branch 'tr/log-full-diff-keep-true-parents' into maint · 6930cd10
      Junio C Hamano 提交于
      Output from "git log --full-diff -- <pathspec>" looked strange,
      because comparison was done with the previous ancestor that touched
      the specified <pathspec>, causing the patches for paths outside the
      pathspec to show more than the single commit has changed.
      
      * tr/log-full-diff-keep-true-parents:
        log: use true parents for diff when walking reflogs
        log: use true parents for diff even when rewriting
      6930cd10
    • J
      Merge branch 'jc/transport-do-not-use-connect-twice-in-fetch' into maint · 1e93c28f
      Junio C Hamano 提交于
      The auto-tag-following code in "git fetch" tries to reuse the same
      transport twice when the serving end does not cooperate and does
      not give tags that point to commits that are asked for as part of
      the primary transfer.  Unfortunately, Git-aware transport helper
      interface is not designed to be used more than once, hence this
      does not work over smart-http transfer.
      
      * jc/transport-do-not-use-connect-twice-in-fetch:
        builtin/fetch.c: Fix a sparse warning
        fetch: work around "transport-take-over" hack
        fetch: refactor code that fetches leftover tags
        fetch: refactor code that prepares a transport
        fetch: rename file-scope global "transport" to "gtransport"
        t5802: add test for connect helper
      1e93c28f
    • J
      Merge branch 'sp/clip-read-write-to-8mb' into maint · 4b510c38
      Junio C Hamano 提交于
      Send a large request to read(2)/write(2) as a smaller but still
      reasonably large chunks, which would improve the latency when the
      operation needs to be killed and incidentally works around broken
      64-bit systems that cannot take a 2GB write or read in one go.
      
      * sp/clip-read-write-to-8mb:
        Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU"
        xread, xwrite: limit size of IO to 8MB
      4b510c38
    • J
      Merge branch 'jk/mailmap-incomplete-line' into maint · 19230ab8
      Junio C Hamano 提交于
      * jk/mailmap-incomplete-line:
        mailmap: handle mailmap blobs without trailing newlines
      19230ab8
  5. 18 9月, 2013 1 次提交
  6. 12 9月, 2013 1 次提交
  7. 10 9月, 2013 1 次提交
  8. 09 9月, 2013 2 次提交
  9. 06 9月, 2013 5 次提交
  10. 04 9月, 2013 3 次提交
  11. 31 8月, 2013 1 次提交
  12. 30 8月, 2013 1 次提交
  13. 29 8月, 2013 2 次提交
    • R
      builtin/fetch.c: Fix a sparse warning · 0f73f8bd
      Ramsay Jones 提交于
      Sparse issues an "'prepare_transport' was not declared. Should it
      be static?" warning. In order to suppress the warning, since this
      symbol only requires file scope, we simply add the static modifier
      to it's declaration.
      Signed-off-by: NRamsay Jones <ramsay@ramsay1.demon.co.uk>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      0f73f8bd
    • J
      mailmap: handle mailmap blobs without trailing newlines · f972a165
      Jeff King 提交于
      The read_mailmap_buf function reads each line of the mailmap
      using strchrnul, like:
      
          const char *end = strchrnul(buf, '\n');
          unsigned long linelen = end - buf + 1;
      
      But that's off-by-one when we actually hit the NUL byte; our
      line does not have a terminator, and so is only "end - buf"
      bytes long. As a result, when we subtract the linelen from
      the total len, we end up with (unsigned long)-1 bytes left
      in the buffer, and we start reading random junk from memory.
      
      We could fix it with:
      
          unsigned long linelen = end - buf + !!*end;
      
      but let's take a step back for a moment. It's questionable
      in the first place for a function that takes a buffer and
      length to be using strchrnul. But it works because we only
      have one caller (and are only likely to ever have this one),
      which is handing us data from read_sha1_file. Which means
      that it's always NUL-terminated.
      
      Instead of tightening the assumptions to make the
      buffer/length pair work for a caller that doesn't actually
      exist, let's let loosen the assumptions to what the real
      caller has: a modifiable, NUL-terminated string.
      
      This makes the code simpler and shorter (because we don't
      have to correlate strchrnul with the length calculation),
      correct (because the code with the off-by-one just goes
      away), and more efficient (we can drop the extra allocation
      we needed to create NUL-terminated strings for each line,
      and just terminate in place).
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      f972a165
  14. 27 8月, 2013 1 次提交
    • J
      config: do not use C function names as struct members · 49d6cfa5
      Jeff King 提交于
      According to C99, section 7.1.4:
      
        Any function declared in a header may be additionally
        implemented as a function-like macro defined in the
        header.
      
      Therefore calling our struct member function pointer "fgetc"
      may run afoul of unwanted macro expansion when we call:
      
        char c = cf->fgetc(cf);
      
      This turned out to be a problem on uclibc, which defines
      fgetc as a macro and causes compilation failure.
      
      The standard suggests fixing this in a few ways:
      
        1. Using extra parentheses to inhibit the function-like
           macro expansion. E.g., "(cf->fgetc)(cf)". This is
           undesirable as it's ugly, and each call site needs to
           remember to use it (and on systems without the macro,
           forgetting will compile just fine).
      
        2. Using #undef (because a conforming implementation must
           also be providing fgetc as a function). This is
           undesirable because presumably the implementation was
           using the macro for a performance benefit, and we are
           dropping that optimization.
      
      Instead, we can simply use non-colliding names.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      49d6cfa5
  15. 26 8月, 2013 1 次提交
    • N
      fetch-pack: do not remove .git/shallow file when --depth is not specified · 6da8bdcb
      Nguyễn Thái Ngọc Duy 提交于
      fetch_pack() can remove .git/shallow file when a shallow repository
      becomes a full one again. This behavior is triggered incorrectly when
      tags are also fetched because fetch_pack() will be called twice. At
      the first fetch_pack() call:
      
       - shallow_lock is set up
       - alternate_shallow_file points to shallow_lock.filename, which is
         "shallow.lock"
       - commit_lock_file is called, which sets shallow_lock.filename to "".
         alternate_shallow_file also becomes "" because it points to the
         same memory.
      
      At the second call, setup_alternate_shallow() is not called and
      alternate_shallow_file remains "". It's mistaken as unshallow case and
      .git/shallow is removed. The end result is a broken repository.
      
      Fix this by always initializing alternate_shallow_file when
      fetch_pack() is called. As an extra measure, check if args->depth > 0
      before commit/rollback shallow file.
      Reported-by: NKacper Kornet <kornet@camk.edu.pl>
      Signed-off-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6da8bdcb
  16. 24 8月, 2013 1 次提交
  17. 23 8月, 2013 1 次提交
  18. 22 8月, 2013 3 次提交
  19. 21 8月, 2013 1 次提交