1. 18 2月, 2010 5 次提交
  2. 05 2月, 2010 2 次提交
  3. 02 2月, 2010 1 次提交
  4. 15 1月, 2010 1 次提交
  5. 01 1月, 2010 1 次提交
  6. 08 12月, 2009 1 次提交
    • J
      fast-import: Proper notes tree manipulation · 2a113aee
      Johan Herland 提交于
      This patch teaches 'git fast-import' to automatically organize note objects
      in a fast-import stream into an appropriate fanout structure. The notes API
      in notes.h is NOT used to accomplish this, because trying to keep the
      fast-import and notes data structures in sync would yield a significantly
      larger patch with higher complexity.
      
      Note objects are added with the 'N' command, and accounted for with a
      per-branch counter, which is used to trigger fanout restructuring when
      needed. Note that when restructuring the branch tree, _any_ entry whose
      path consists of 40 hex chars (not including directory separators) will
      be recognized as a note object. It is therefore not advisable to
      manipulate note entries with M/D/R/C commands.
      
      Since note objects are stored in the same tree structure as other objects,
      the unloading and reloading of a fast-import branches handle note objects
      transparently.
      
      This patch has been improved by the following contributions:
      - Shawn O. Pearce: Several style- and logic-related improvements
      
      Cc: Shawn O. Pearce <spearce@spearce.org>
      Signed-off-by: NJohan Herland <johan@herland.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2a113aee
  7. 06 12月, 2009 1 次提交
    • S
      fast-import: add (non-)relative-marks feature · bc3c79ae
      Sverre Rabbelier 提交于
      After specifying 'feature relative-marks' the paths specified with
      'feature import-marks' and 'feature export-marks' are relative to an
      internal directory in the current repository.
      
      In git-fast-import this means that the paths are relative to the
      '.git/info/fast-import' directory. However, other importers may use a
      different location.
      
      Add 'feature non-relative-marks' to disable this behavior, this way
      it is possible to, for example, specify the import-marks location as
      relative, and the export-marks location as non-relative.
      
      Also add tests to verify this behavior.
      
      Cc: Daniel Barkalow <barkalow@iabervon.org>
      Signed-off-by: NSverre Rabbelier <srabbelier@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      bc3c79ae
  8. 05 12月, 2009 5 次提交
  9. 11 11月, 2009 1 次提交
  10. 20 10月, 2009 1 次提交
  11. 08 10月, 2009 1 次提交
  12. 28 6月, 2009 2 次提交
  13. 02 5月, 2009 1 次提交
  14. 30 4月, 2009 1 次提交
    • A
      replace direct calls to unlink(2) with unlink_or_warn · 691f1a28
      Alex Riesen 提交于
      This helps to notice when something's going wrong, especially on
      systems which lock open files.
      
      I used the following criteria when selecting the code for replacement:
      - it was already printing a warning for the unlink failures
      - it is in a function which already printing something or is
        called from such a function
      - it is in a static function, returning void and the function is only
        called from a builtin main function (cmd_)
      - it is in a function which handles emergency exit (signal handlers)
      - it is in a function which is obvously cleaning up the lockfiles
      Signed-off-by: NAlex Riesen <raa.lkml@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      691f1a28
  15. 23 4月, 2009 2 次提交
  16. 28 3月, 2009 1 次提交
  17. 26 3月, 2009 1 次提交
  18. 08 3月, 2009 1 次提交
  19. 26 2月, 2009 1 次提交
    • J
      Make sure objects/pack exists before creating a new pack · 6e180cdc
      Junio C Hamano 提交于
      In a repository created with git older than f49fb35d (git-init-db: create
      "pack" subdirectory under objects, 2005-06-27), objects/pack/ directory is
      not created upon initialization.  It was Ok because subdirectories are
      created as needed inside directories init-db creates, and back then,
      packfiles were recent invention.
      
      After the said commit, new codepaths started relying on the presense of
      objects/pack/ directory in the repository.  This was exacerbated with
      8b4eb6b6 (Do not perform cross-directory renames when creating packs,
      2008-09-22) that moved the location temporary pack files are created from
      objects/ directory to objects/pack/ directory, because moving temporary to
      the final location was done carefully with lazy leading directory creation.
      
      Many packfile related operations in such an old repository can fail
      mysteriously because of this.
      
      This commit introduces two helper functions to make things work better.
      
       - odb_mkstemp() is a specialized version of mkstemp() to refactor the
         code and teach it to create leading directories as needed;
      
       - odb_pack_keep() refactors the code to create a ".keep" file while
         create leading directories as needed.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6e180cdc
  20. 11 2月, 2009 2 次提交
  21. 26 1月, 2009 1 次提交
  22. 14 1月, 2009 1 次提交
  23. 21 12月, 2008 1 次提交
  24. 20 12月, 2008 1 次提交
  25. 16 12月, 2008 1 次提交
  26. 15 12月, 2008 1 次提交
    • Y
      git-fast-import possible memory corruption problem · 2fad5329
      YONETANI Tomokazu 提交于
      Internal "allocate in bulk, we will never free this memory anyway"
      allocator used in fast-import had a logic to round up the size of the
      requested memory block in a wrong place (it computed if the available
      space is enough to fit the request first, and then carved a chunk of
      memory by size rounded up to the alignment, which could go beyond the
      actually available space).
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2fad5329
  27. 03 10月, 2008 1 次提交
    • N
      fix openssl headers conflicting with custom SHA1 implementations · 9126f009
      Nicolas Pitre 提交于
      On ARM I have the following compilation errors:
      
          CC fast-import.o
      In file included from cache.h:8,
                       from builtin.h:6,
                       from fast-import.c:142:
      arm/sha1.h:14: error: conflicting types for 'SHA_CTX'
      /usr/include/openssl/sha.h:105: error: previous declaration of 'SHA_CTX' was here
      arm/sha1.h:16: error: conflicting types for 'SHA1_Init'
      /usr/include/openssl/sha.h:115: error: previous declaration of 'SHA1_Init' was here
      arm/sha1.h:17: error: conflicting types for 'SHA1_Update'
      /usr/include/openssl/sha.h:116: error: previous declaration of 'SHA1_Update' was here
      arm/sha1.h:18: error: conflicting types for 'SHA1_Final'
      /usr/include/openssl/sha.h:117: error: previous declaration of 'SHA1_Final' was here
      make: *** [fast-import.o] Error 1
      
      This is because openssl header files are always included in
      git-compat-util.h since commit 684ec6c6 whenever NO_OPENSSL is not
      set, which somehow brings in <openssl/sha1.h> clashing with the custom
      ARM version.  Compilation of git is probably broken on PPC too for the
      same reason.
      
      Turns out that the only file requiring openssl/ssl.h and openssl/err.h
      is imap-send.c.  But only moving those problematic includes there
      doesn't solve the issue as it also includes cache.h which brings in the
      conflicting local SHA1 header file.
      
      As suggested by Jeff King, the best solution is to rename our references
      to SHA1 functions and structure to something git specific, and define those
      according to the implementation used.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      9126f009
  28. 23 9月, 2008 1 次提交