1. 07 5月, 2013 2 次提交
  2. 04 5月, 2013 6 次提交
  3. 03 5月, 2013 1 次提交
  4. 02 5月, 2013 6 次提交
  5. 01 5月, 2013 1 次提交
    • T
      unpack_entry: avoid freeing objects in base cache · 756a0426
      Thomas Rast 提交于
      In the !delta_data error path of unpack_entry(), we run free(base).
      This became a window for use-after-free() in abe601bb (sha1_file:
      remove recursion in unpack_entry, 2013-03-27), as follows:
      
      Before abe601bb, we got the 'base' from cache_or_unpack_entry(..., 0);
      keep_cache=0 tells it to also remove that entry.  So the 'base' is at
      this point not cached, and freeing it in the error path is the right
      thing.
      
      After abe601bb, the structure changed: we use a three-phase approach
      where phase 1 finds the innermost base or a base that is already in
      the cache.  In phase 3 we therefore know that all bases we unpack are
      not part of the delta cache yet.  (Observe that we pop from the cache
      in phase 1, so this is also true for the very first base.)  So we make
      no further attempts to look up the bases in the cache, and just call
      add_delta_base_cache() on every base object we have assembled.
      
      But the !delta_data error path remained unchanged, and now calls
      free() on a base that has already been entered in the cache.  This
      means that there is a use-after-free if we later use the same base
      again.
      
      So remove that free(); we are still going to use that data.
      Reported-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
      Signed-off-by: NThomas Rast <trast@inf.ethz.ch>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      756a0426
  6. 30 4月, 2013 6 次提交
    • R
      git-completion.bash: add remote.pushdefault to config list · 7e6a0cc4
      Ramkumar Ramachandra 提交于
      224c2171 (remote.c: introduce remote.pushdefault, 2013-04-02)
      introduced the remote.pushdefault configuration variable, but forgot
      to teach git-completion.bash about it.  Fix this.
      Signed-off-by: NRamkumar Ramachandra <artagnon@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      7e6a0cc4
    • R
      git-completion.bash: add branch.*.pushremote to config list · 72f75077
      Ramkumar Ramachandra 提交于
      9f765ce6 (remote.c: introduce branch.<name>.pushremote, 2013-04-02)
      introduced the configuration variable branch.*.pushremote, but forgot
      to teach git-completion.bash about it.  Fix this.
      Signed-off-by: NRamkumar Ramachandra <artagnon@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      72f75077
    • J
      Merge branch 'maint' · 01449e31
      Junio C Hamano 提交于
      * maint:
        complete: zsh: use zsh completion for the main cmd
        complete: zsh: trivial simplification
        git-completion.bash: complete branch.*.rebase as boolean
        git-completion.bash: add diff.submodule to config list
        git-completion.bash: lexical sorting for diff.statGraphWidth
      01449e31
    • J
      Merge branch 'fc/zsh-completion' into maint · 8301b976
      Junio C Hamano 提交于
      * fc/zsh-completion:
        complete: zsh: use zsh completion for the main cmd
        complete: zsh: trivial simplification
      8301b976
    • F
      complete: zsh: use zsh completion for the main cmd · 4911589b
      Felipe Contreras 提交于
      So that we can have a nice zsh completion output:
      
      % git <tab>
      add       -- add file contents to the index
      bisect    -- find by binary search the change that introduced a bug
      branch    -- list, create, or delete branches
      checkout  -- checkout a branch or paths to the working tree
      clone     -- clone a repository into a new directory
      commit    -- record changes to the repository
      diff      -- show changes between commits, commit and working tree, etc
      fetch     -- download objects and refs from another repository
      grep      -- print lines matching a pattern
      init      -- create an empty Git repository or reinitialize an existing one
      log       -- show commit logs
      merge     -- join two or more development histories together
      mv        -- move or rename a file, a directory, or a symlink
      pull      -- fetch from and merge with another repository or a local branch
      push      -- update remote refs along with associated objects
      rebase    -- forward-port local commits to the updated upstream head
      reset     -- reset current HEAD to the specified state
      rm        -- remove files from the working tree and from the index
      show      -- show various types of objects
      status    -- show the working tree status
      tag       -- create, list, delete or verify a tag object signed with GPG
      
      And other niceties, like 'git --git-dir=<tab>' showing only directories.
      
      For the rest, the bash completion stuff is still used.
      
      Also, add my copyright, since this more than a thin wrapper.
      Signed-off-by: NFelipe Contreras <felipe.contreras@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      4911589b
    • F
      complete: zsh: trivial simplification · 1ca6d4bc
      Felipe Contreras 提交于
      There should be no functional changes.
      
      The only reason I wrapped this code around a sub-function is because zsh
      did the same in it's bashcompinit script in order to declare the special
      variable 'words' as hidden, but only in this context.
      
      There's no need for that any more since we access __git_main directly,
      so 'words' is not modified, so there's no need for the sub-function.
      
      In zsh mode the array indexes are different though.
      Signed-off-by: NFelipe Contreras <felipe.contreras@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      1ca6d4bc
  7. 29 4月, 2013 13 次提交
  8. 28 4月, 2013 1 次提交
  9. 27 4月, 2013 4 次提交
    • J
      Git 1.8.3-rc0 · b75cdfaa
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b75cdfaa
    • J
      Merge branch 'rr/shortlog-doc' · 2a407d74
      Junio C Hamano 提交于
      Update documentation for "log" and "shortlog".
      
      * rr/shortlog-doc:
        builtin/shortlog.c: make usage string consistent with log
        builtin/log.c: make usage string consistent with doc
        git-shortlog.txt: make SYNOPSIS match log, update OPTIONS
        git-log.txt: rewrite note on why "--" may be required
        git-log.txt: generalize <since>..<until>
        git-log.txt: order OPTIONS properly; move <since>..<until>
        revisions.txt: clarify the .. and ... syntax
        git-shortlog.txt: remove (-h|--help) from OPTIONS
      2a407d74
    • J
      Merge branch 'th/bisect-skipped-log' · f44014b7
      Junio C Hamano 提交于
      * th/bisect-skipped-log:
        bisect: Log possibly bad, skipped commits at bisection end
      f44014b7
    • J
      Merge branch 'ph/rebase-original' · d1ab7180
      Junio C Hamano 提交于
      * ph/rebase-original:
        rebase: find orig_head unambiguously
      d1ab7180