1. 28 9月, 2014 1 次提交
  2. 26 9月, 2014 3 次提交
  3. 20 9月, 2014 13 次提交
  4. 30 8月, 2014 1 次提交
  5. 29 8月, 2014 3 次提交
  6. 27 8月, 2014 3 次提交
  7. 26 8月, 2014 6 次提交
    • J
      checkout -m: attempt merge when deletion of path was staged · 6a143aa2
      Jonathan Nieder 提交于
      twoway_merge() is missing an o->gently check in the case where a file
      that needs to be modified is missing from the index but present in the
      old and new trees.  As a result, in this case 'git checkout -m' errors
      out instead of trying to perform a merge.
      
      Fix it by checking o->gently.  While at it, inline the o->gently check
      into reject_merge to prevent future call sites from making the same
      mistake.
      
      Noticed by code inspection.  The test for the motivating case was
      added by JC.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6a143aa2
    • J
      Merge git://github.com/git-l10n/git-po · c285171d
      Junio C Hamano 提交于
      * git://github.com/git-l10n/git-po:
        l10n: de.po: improve message when switching branches
        l10n: de.po: fix typo
        po/TEAMS: Add Catalan team
        l10n: Add Catalan translation
        l10n: fr.po (2257t) update for version 2.1.0
        l10n: sv.po: Update Swedish translation (2257t0f0u)
        l10n: vi.po (2257t): Update translation
        l10n: Updated Bulgarian translation of git (2257t,0f,0u)
        l10n: zh_CN: translations for git v2.1.0-rc0
        l10n: git.pot: v2.1.0 round 1 (38 new, 9 removed)
        l10n: Updated Bulgarian translation of git (2247t,0f,0u)
        l10n: Updated Bulgarian translation of git (2228t,0f,0u)
        l10n: Fix more typos in the Swedish translations
      c285171d
    • J
      git-prompt: do not look for refs/stash in $GIT_DIR · 0fa7f016
      Jeff King 提交于
      Since dd0b72cb (bash prompt: use bash builtins to check stash
      state, 2011-04-01), git-prompt checks whether we have a
      stash by looking for $GIT_DIR/refs/stash. Generally external
      programs should never do this, because they would miss
      packed-refs.
      
      That commit claims that packed-refs does not pack
      refs/stash, but that is not quite true. It does pack the
      ref, but due to a bug, fails to prune the ref. When we fix
      that bug, we would want to be doing the right thing here.
      Signed-off-by: NJeff King <peff@peff.net>
      Reviewed-by: NMichael Haggerty <mhagger@alum.mit.edu>
      Reviewed-by: NRonnie Sahlberg <sahlberg@google.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      0fa7f016
    • J
      fast-import: fix buffer overflow in dump_tags · c2527859
      Jeff King 提交于
      When creating a new annotated tag, we sprintf the refname
      into a static-sized buffer. If we have an absurdly long
      tagname, like:
      
        git init repo &&
        cd repo &&
        git commit --allow-empty -m foo &&
        git tag -m message mytag &&
        git fast-export mytag |
        perl -lpe '/^tag/ and s/mytag/"a" x 8192/e' |
        git fast-import <input
      
      we'll overflow the buffer. We can fix it by using a strbuf.
      Signed-off-by: NJeff King <peff@peff.net>
      Reviewed-by: NMichael Haggerty <mhagger@alum.mit.edu>
      Reviewed-by: NRonnie Sahlberg <sahlberg@google.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c2527859
    • J
      fast-import: clean up pack_data pointer in end_packfile · 3c078b9c
      Jeff King 提交于
      We have a global pointer pack_data pointing to the current
      pack we have open. Inside end_packfile we have two new
      pointers, old_p and new_p. The latter points to pack_data,
      and the former points to the new "installed" version of the
      packfile we get when we hand the file off to the regular
      sha1_file machinery. When then free old_p.
      
      Presumably the extra old_p pointer was there so that we
      could overwrite pack_data with new_p and still free old_p,
      but we don't do that. We just leave pack_data pointing to
      bogus memory, and don't overwrite it until we call
      start_packfile again (if ever).
      
      This can cause problems for our die routine, which calls
      end_packfile to clean things up. If we die at the wrong
      moment, we can end up looking at invalid memory in
      pack_data left after the last end_packfile().
      
      Instead, let's make sure we set pack_data to NULL after we
      free it, and make calling endfile() again with a NULL
      pack_data a noop (there is nothing to end).
      
      We can further make things less confusing by dropping old_p
      entirely, and moving new_p closer to its point of use.
      Signed-off-by: NJeff King <peff@peff.net>
      Reviewed-by: NRonnie Sahlberg <sahlberg@google.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      3c078b9c
    • J
      pack-refs: prune top-level refs like "refs/foo" · afd11d3e
      Jeff King 提交于
      After we have packed all refs, we prune any loose refs that
      correspond to what we packed. We do so by first taking a
      lock with lock_ref_sha1, and then deleting the loose ref
      file.
      
      However, lock_ref_sha1 will refuse to take a lock on any
      refs that exist at the top-level of the "refs/" directory,
      and we skip pruning the ref.  This is almost certainly not
      what we want to happen here. The criteria to be pruned
      should not differ from that to be packed; if a ref makes it
      to prune_ref, it's because we want it both packed and
      pruned (if there are refs you do not want to be packed, they
      should be omitted much earlier by pack_ref_is_possible,
      which we do in this case if --all is not given).
      
      We can fix this by switching to lock_any_ref_for_update.
      This behaves exactly the same with the exception of this
      top-level check.
      Signed-off-by: NJeff King <peff@peff.net>
      Reviewed-by: NMichael Haggerty <mhagger@alum.mit.edu>
      Reviewed-by: NRonnie Sahlberg <sahlberg@google.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      afd11d3e
  8. 24 8月, 2014 2 次提交
  9. 23 8月, 2014 3 次提交
  10. 21 8月, 2014 1 次提交
    • J
      intersect_paths: respect mode in git's tree-sort · e09867f0
      Jeff King 提交于
      When we do a combined diff, we individually diff against
      each parent, and then use intersect_paths to do a parallel
      walk through the sorted results and come up with a final
      list of interesting paths.
      
      The sort order here is that returned by the diffs, which
      means it is in git's tree-order which sorts sub-trees as if
      their paths have "/" at the end. When we do our parallel
      walk, we need to use a comparison function which provides
      the same order.
      
      Since 8518ff8f (combine-diff: optimize combine_diff_path sets
      intersection, 2014-01-20), we use a simple strcmp to
      compare the pathnames, and get this wrong. It's somewhat
      hard to trigger because normally a diff does not produce
      tree entries at all, and therefore the sort order is the
      same as a strcmp. However, if the "-t" option is used with
      the diff, then we will produce diff_filepairs for both trees
      and files.
      
      We can use base_name_compare to do the comparison, just as
      the tree-diff code does. Even though what we have are not
      technically base names (they are full paths within the
      tree), the end result is the same (we do not care about
      interior slashes at all, only about the final character).
      
      However, since we do not have the length of each path
      stored, we take a slight shortcut: if neither of the entries
      is a sub-tree then the comparison is equivalent to a strcmp.
      This lets us skip the extra strlen calls in the common case
      without having to reimplement base_name_compare from
      scratch.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e09867f0
  11. 20 8月, 2014 1 次提交
  12. 19 8月, 2014 2 次提交
  13. 16 8月, 2014 1 次提交