1. 07 Feb, 2011 1 commit
  2. 05 Feb, 2011 9 commits
  3. 03 Feb, 2011 1 commit
    • Use Git's own tree entry sorting algorithm · 35786cb7
      If plain strcmp is used, as this code did before, the final sorting may
      end up different from what git-add would do (for example, 'boost'
      appearing before 'boost-build.jam', because Git sorts as if it were
      spelled 'boost/').
      
      If the sorting is incorrect like this, Git 1.7.4 insists that unmodified
      files have been modified.  For example, my test repository has these
      four entries:
      
      drwxr-xr-x  199 johnw  wheel   6766 Feb  2 17:21 boost
      -rw-r--r--    1 johnw  wheel    849 Feb  2 17:22 boost-build.jam
      -rw-r--r--    1 johnw  wheel    989 Feb  2 17:21 boost.css
      -rw-r--r--    1 johnw  wheel   6308 Feb  2 17:21 boost.png
      
      Here is the output from git-ls-tree for these files, in a commit tree
      created using git-add and git-commit:
      
      100644 blob 8b8775433aef73e9e12609610ae2e35cf1e7ec2c    boost-build.jam
      100644 blob 986c4050fa96d825a1311c8e871cdcc9a3e0d2c3    boost.css
      100644 blob b4d51fcd5c9149fd77f5ca6ed2b6b1b70e8fe24f    boost.png
      040000 tree 46537eeaa4d577010f19b1c9e940cae9a670ff5c    boost
      
      Here is the output for the same commit produced using libgit2:
      
      040000 tree c27c0fd1436f28a6ba99acd0a6c17d178ed58288	boost
      100644 blob 8b8775433aef73e9e12609610ae2e35cf1e7ec2c	boost-build.jam
      100644 blob 986c4050fa96d825a1311c8e871cdcc9a3e0d2c3	boost.css
      100644 blob b4d51fcd5c9149fd77f5ca6ed2b6b1b70e8fe24f	boost.png
      
      Due to this reordering, git-status claims the three blobs are always
      modified, no matter what I do using git-read-tree or git-reset or
      git-checkout to update the index.
      John Wiegley committed
  4. 02 Feb, 2011 5 commits
  5. 01 Feb, 2011 5 commits
  6. 30 Jan, 2011 1 commit
    • Refactor reference parsing code · 2f8a8ab2
      Several changes have been committed to allow the user to create
      in-memory references and write back to disk. Peeling of symbolic
      references has been made explicit. Added getter and setter methods for
      all attributes on a reference. Added corresponding documentation.
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
  7. 29 Jan, 2011 9 commits
  8. 20 Jan, 2011 5 commits
  9. 13 Jan, 2011 2 commits
  10. 11 Jan, 2011 2 commits
    • Move the compat definitions to types.h · e52e38d3
      Don't need a brand new header for two typedefs when we already have a
      types.h header.
      
      Change comment style to ANSI C.
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
    • Added git_prettify_dir_path(). · 170d3f2f
      Clean up a provided absolute or relative directory path.
      
      This prettification relies on basic operations such as coalescing multiple forward slashes into a single slash, removing '.' and './' current directory segments, and removing parent directory whenever '..' is encountered. If not empty, the returned path ends with a forward slash.
      
      For instance, this will turn "d1/s1///s2/..//../s3" into "d1/s3/".
      
      This only performs a string based analysis of the path. No checks are done to make sure the path actually makes sense from the file system perspective.
      nulltoken committed