1. 03 9月, 2014 9 次提交
    • J
      Merge branch 'rs/strbuf-getcwd' · f655651e
      Junio C Hamano 提交于
      Reduce the use of fixed sized buffer passed to getcwd() calls
      by introducing xgetcwd() helper.
      
      * rs/strbuf-getcwd:
        use strbuf_add_absolute_path() to add absolute paths
        abspath: convert absolute_path() to strbuf
        use xgetcwd() to set $GIT_DIR
        use xgetcwd() to get the current directory or die
        wrapper: add xgetcwd()
        abspath: convert real_path_internal() to strbuf
        abspath: use strbuf_getcwd() to remember original working directory
        setup: convert setup_git_directory_gently_1 et al. to strbuf
        unix-sockets: use strbuf_getcwd()
        strbuf: add strbuf_getcwd()
      f655651e
    • J
      Merge branch 'ta/pretty-parse-config' · 51eeaea2
      Junio C Hamano 提交于
      * ta/pretty-parse-config:
        pretty.c: make git_pretty_formats_config return -1 on git_config_string failure
      51eeaea2
    • J
      Merge branch 'bc/archive-pax-header-mode' · 4740891e
      Junio C Hamano 提交于
      Implementations of "tar" that do not understand an extended pax
      header would extract the contents of it in a regular file; make
      sure the permission bits of this file follows the same tar.umask
      configuration setting.
      
      * bc/archive-pax-header-mode:
        archive: honor tar.umask even for pax headers
      4740891e
    • J
      Merge branch 'pr/remotes-in-hashmap' · 0e281617
      Junio C Hamano 提交于
      Optimize remotes configuration look-up in a repository with very
      many remotes defined.
      
      * pr/remotes-in-hashmap:
        use a hashmap to make remotes faster
      0e281617
    • J
      Merge branch 'jk/pretty-empty-format' · 44ceb79f
      Junio C Hamano 提交于
      "git log --pretty/format=" with an empty format string did not mean
      the more obvious "No output whatsoever" but "Use default format",
      which was counterintuitive.
      
      * jk/pretty-empty-format:
        pretty: make empty userformats truly empty
        pretty: treat "--format=" as an empty userformat
        revision: drop useless string offset when parsing "--pretty"
      44ceb79f
    • J
      Merge branch 'ta/config-set' · 56f214e0
      Junio C Hamano 提交于
      Add in-core caching layer to let us avoid reading the same
      configuration files number of times.
      
      * ta/config-set:
        test-config: add tests for the config_set API
        add `config_set` API for caching config-like files
      56f214e0
    • J
      Merge branch 'rs/init-no-duplicate-real-path' · e8e4ce72
      Junio C Hamano 提交于
      * rs/init-no-duplicate-real-path:
        init: avoid superfluous real_path() calls
      e8e4ce72
    • J
      Merge branch 'mm/config-edit-global' · 1d8a6f69
      Junio C Hamano 提交于
      Start "git config --edit --global" from a skeletal per-user
      configuration file contents, instead of a total blank, when the
      user does not already have any.  This immediately reduces the need
      for a later "Have you forgotten setting core.user?" and we can add
      more to the template as we gain more experience.
      
      * mm/config-edit-global:
        commit: advertise config --global --edit on guessed identity
        home_config_paths(): let the caller ignore xdg path
        config --global --edit: create a template file if needed
      1d8a6f69
    • J
      Merge branch 'jc/reopen-lock-file' · c518279c
      Junio C Hamano 提交于
      There are cases where you lock and open to write a file, close it to
      show the updated contents to external processes, and then have to
      update the file again while still holding the lock, but the lockfile
      API lacked support for such an access pattern.
      
      * jc/reopen-lock-file:
        lockfile: allow reopening a closed but still locked file
      c518279c
  2. 30 8月, 2014 1 次提交
  3. 29 8月, 2014 2 次提交
  4. 27 8月, 2014 11 次提交
  5. 26 8月, 2014 1 次提交
    • 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
  6. 24 8月, 2014 2 次提交
  7. 23 8月, 2014 2 次提交
  8. 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
  9. 20 8月, 2014 1 次提交
  10. 16 8月, 2014 1 次提交
  11. 14 8月, 2014 1 次提交
    • J
      tests: fix negated test_i18ngrep calls · 41ca19b6
      Johannes Sixt 提交于
      The helper function test_i18ngrep pretends that it found the expected
      results when it is running under GETTEXT_POISON. For this reason, it must
      not be used negated like so
      
         ! test_i18ngrep foo bar
      
      because the test case would fail under GETTEXT_POISON. The function offers
      a special syntax to test that a pattern is *not* found:
      
         test_i18ngrep ! foo bar
      
      Convert incorrect uses to this syntax.
      Signed-off-by: NJohannes Sixt <j6t@kdbg.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      41ca19b6
  12. 13 8月, 2014 1 次提交
    • J
      pack-objects: turn off bitmaps when we see --shallow lines · f7f91086
      Jeff King 提交于
      Reachability bitmaps do not work with shallow operations,
      because they cache a view of the object reachability that
      represents the true objects. Whereas a shallow repository
      (or a shallow operation in a repository) is inherently
      cutting off the object graph with a graft.
      
      We explicitly disallow the use of bitmaps in shallow
      repositories by checking is_repository_shallow(), and we
      should continue to do that. However, we also want to
      disallow bitmaps when we are serving a fetch to a shallow
      client, since we momentarily take on their grafted view of
      the world.
      
      It used to be enough to call is_repository_shallow at the
      start of pack-objects.  Upload-pack wrote the other side's
      shallow state to a temporary file and pointed the whole
      pack-objects process at this state with "git --shallow-file",
      and from the perspective of pack-objects, we really were
      in a shallow repo.  But since b790e0f6 (upload-pack: send
      shallow info over stdin to pack-objects, 2014-03-11), we do
      it differently: we send --shallow lines to pack-objects over
      stdin, and it registers them itself.
      
      This means that our is_repository_shallow check is way too
      early (we have not been told about the shallowness yet), and
      that it is insufficient (calling is_repository_shallow is
      not enough, as the shallow grafts we register do not change
      its return value). Instead, we can just turn off bitmaps
      explicitly when we see these lines.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      f7f91086
  13. 11 8月, 2014 1 次提交
  14. 09 8月, 2014 1 次提交
  15. 08 8月, 2014 5 次提交