1. 16 9月, 2007 15 次提交
  2. 15 9月, 2007 5 次提交
  3. 14 9月, 2007 5 次提交
  4. 13 9月, 2007 3 次提交
  5. 12 9月, 2007 2 次提交
  6. 10 9月, 2007 3 次提交
    • S
      Make --no-thin the default in git-push to save server resources · a4503a15
      Shawn O. Pearce 提交于
      1) pushes happen less often than fetches, so the bandwidth saving is
         much less visible in that case overall.
      
      2) thin packs have to be complemented with missing delta bases to be
         valid, so many received thin packs will take more disk space.
      
      3) the bother of repacking should be distributed amongst "clients"
         i.e. fetchers and pushers as much as possible, and not the server
         being fetched or pushed, to keep disk and CPU usage low on the
         server.
      
      This is why a fetch should get thin packs but a push should not.
      
      Both Nico and I have been assuming that --no-thin was the default
      behavior of git-push ever since Nico introduced --fix-thin into the
      index-pack process, which allowed fetch and receive-pack to avoid
      exploding packfiles received during transfer.  This patch finally
      makes it so.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      a4503a15
    • N
      fix doc for --compression argument to pack-objects · 05cc2ffc
      Nicolas Pitre 提交于
      Remove obsolete details (core.legacyheaders is always true now).
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      05cc2ffc
    • C
      git-tag -s must fail if gpg cannot sign the tag. · aba91192
      Carlos Rica 提交于
      Most of this patch code and message was written by Shawn O. Pearce.
      I made some tests to know what the problem was, and then I changed
      the code related with the SIGPIPE signal.
      
      If the user has misconfigured `user.signingkey` in their .git/config
      or just doesn't have any secret keys on their keyring and they ask
      for a signed tag with `git tag -s` we better make sure the resulting
      tag was actually signed by gpg.
      
      Prior versions of builtin git-tag allowed this failure to slip
      by without error as they were not checking the return value of
      the finish_command() so they did not notice when gpg exited with
      an error exit status.  They also did not fail if gpg produced an
      empty output or if read_in_full received an error from the read
      system call while trying to read the pipe back from gpg.
      
      Finally, we did not actually honor any return value from the do_sign
      function as it returns ssize_t but was being stored into an unsigned
      long.  This caused the compiler to optimize out the die condition,
      allowing git-tag to continue along and create the tag object.
      
      However, when gpg gets a wrong username, it exits before any read was done
      and then the writing process receives SIGPIPE and program is terminated.
      By ignoring this signal, anyway, the function write_or_die gets EPIPE from
      write_in_full and exits returning 0 to the system without a message.
      Here we better call to write_in_full directly so we can fail
      printing a message and return safely to the caller.
      
      With these issues fixed `git-tag -s` will now fail to create the
      tag and will report a non-zero exit status to its caller, thereby
      allowing automated helper scripts to detect (and recover from)
      failure if gpg is not working properly.
      Proposed-by: NShawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NCarlos Rica <jasampler@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      aba91192
  7. 09 9月, 2007 2 次提交
  8. 08 9月, 2007 3 次提交
  9. 06 9月, 2007 2 次提交