- 15 Jul, 2013 1 commit
-
-
Rémi Duraffort committed
-
- 10 Jul, 2013 1 commit
-
-
This adds a BARE option to git_repository_open_ext which allows a fast open path that still knows how to read gitlinks and to search for the actual .git directory from a subdirectory. `git_repository_open_bare` is still simpler and faster, but having a gitlink aware fast open is very useful for submodules where we want to quickly be able to peek at the HEAD and index data without doing any other meaningful repo operations.
Russell Belfer committed
-
- 12 Jun, 2013 1 commit
-
-
Vicent Marti committed
-
- 10 Jun, 2013 2 commits
-
-
Russell Belfer committed
-
This is a significant reorganization of the diff code to break it into a set of more clearly distinct files and to document the new organization. Hopefully this will make the diff code easier to understand and to extend. This adds a new `git_diff_driver` object that looks of diff driver information from the attributes and the config so that things like function content in diff headers can be provided. The full driver spec is not implemented in the commit - this is focused on the reorganization of the code and putting the driver hooks in place. This also removes a few #includes from src/repository.h that were overbroad, but as a result required extra #includes in a variety of places since including src/repository.h no longer results in pulling in the whole world.
Russell Belfer committed
-
- 07 Jun, 2013 1 commit
-
-
This adds a `git__memset` routine that will not be optimized away and updates the places where I memset() right before a free() call to use it.
Russell Belfer committed
-
- 31 May, 2013 1 commit
-
-
By zeroing out the memory when we free larger objects (i.e. those that serve as collections of other data, such as repos, odb, refdb), I'm hoping that it will be easier for libgit2 bindings to find errors in their object management code.
Russell Belfer committed
-
- 29 May, 2013 1 commit
-
-
Vicent Marti committed
-
- 24 May, 2013 1 commit
-
-
Ben Straub committed
-
- 23 May, 2013 1 commit
-
-
Ben Straub committed
-
- 15 May, 2013 1 commit
-
-
Linquize committed
-
- 11 May, 2013 1 commit
-
-
Nobody should ever be using anything other than ALL at this level, so remove the option altogether. As part of this, git_reference_foreach_glob is now implemented in the frontend using an iterator. Backends will later regain the ability of doing the glob filtering in the backend.
Carlos Martín Nieto committed
-
- 09 May, 2013 1 commit
-
-
This clarifies the docs for git_repository_message and also adds to the tests to explicitly check NUL termination of data when the output buffer is smaller than the message size. There is a minor behavior change so that a non-NULL output buffer will always be NUL terminated (at length zero) if an error occurs.
Russell Belfer committed
-
- 07 May, 2013 1 commit
-
-
When a repository is initialised, we need to probe to see if there is a global config to load. If this is not the case, the user isn't able to write to the global config without creating the backend and adding it themselves, which is inconvenient and overly complex. Unconditionally create and add a backend for the global config file regardless of whether it exists as a convenience for users. To enable this, we allow creating backends to files that do not exist yet, changing the semantics somewhat, and making some tests invalid.
Carlos Martín Nieto committed
-
- 01 May, 2013 1 commit
-
-
Russell Belfer committed
-
- 30 Apr, 2013 1 commit
-
-
Vicent Marti committed
-
- 24 Apr, 2013 1 commit
-
-
Vicent Marti committed
-
- 22 Apr, 2013 3 commits
-
-
This removes the lock from the repository object and changes the internals to use the new atomic git__compare_and_swap to update the _odb, _config, _index, and _refdb variables in a threadsafe manner.
Russell Belfer committed -
This builds on the earlier thread safety work to make it so that setting the odb, index, refdb, or config for a repository is done in a threadsafe manner with minimized locking time. This is done by adding a lock to the repository object and using it to guard the assignment of the above listed pointers. The lock is only held to assign the pointer value. This also contains some minor fixes to the other work with pack files to reduce the time that locks are being held to and fix an apparently memory leak.
Russell Belfer committed -
Vicent Marti committed
-
- 21 Apr, 2013 2 commits
-
-
Russell Belfer committed
-
John Wiegley committed
-
- 17 Apr, 2013 1 commit
-
-
Vicent Marti committed
-
- 07 Mar, 2013 1 commit
-
-
Edward Thomson committed
-
- 27 Feb, 2013 1 commit
-
-
When creating files, instead of actually using GIT_FILEMODE_BLOB and the other various constants that happen to correspond to mode values, apparently I should be just using 0666 and 0777, and relying on the umask to clear bits and make the value sane. This fixes the rules for copying a template directory and fixes the checks to match that new behavior. (Further changes to the checkout logic to follow separately.)
Russell Belfer committed
-
- 26 Feb, 2013 3 commits
-
-
The new tests were not taking core.filemode into account when testing file modes after repo initialization. Fixed that and some other Windows warnings that have crept in.
Russell Belfer committed -
When PR #1359 removed the hooks from the test resources/template directory, it made me realize that the tests for git_repository_init_ext using templates must be pretty shabby because we could not have been testing if the hooks were getting created correctly. So, this started with me recreating a couple of hooks, including a sample and symlink, and adding tests that they got created correctly in the various circumstances, including with the SHARED modes, etc. Unfortunately this uncovered some issues with how directories and symlinks were copied and chmod'ed. Also, there was a FIXME in the code related to the chmod behavior as well. Going back over the directory creation logic for setting up a repository, I found it was a little difficult to read and could result in creating and/or chmod'ing directories that the user almost certainly didn't intend. So that let to this work which makes repo initialization much more careful (and hopefully easier to follow). It required a couple of extensions / changes to core fileops utilities, but I also think those are for the better, at least for git_futils_cp_r in terms of being careful about what actions it takes.
Russell Belfer committed -
This fixes #1365
Sascha Cunz committed
-
- 13 Jan, 2013 1 commit
-
-
This is an intermin solution. While this essentially disables the --shared flag feature, previously external templates did not work at all. This change fixes the previously corrected, and since then failing, repo_init__extended_with_template() test. The problem is now documented in the source code comments.
Sebastian Bauer committed
-
- 12 Jan, 2013 1 commit
-
-
Sebastian Bauer committed
-
- 08 Jan, 2013 1 commit
-
-
Edward Thomson committed
-
- 20 Dec, 2012 2 commits
-
-
Ben Straub committed
-
git_remote_add -> git_remote_create git_remote_new -> git_remote_create_inmemory
Ben Straub committed
-
- 01 Dec, 2012 1 commit
-
-
Ben Straub committed
-
- 30 Nov, 2012 1 commit
-
-
Ben Straub committed
-
- 27 Nov, 2012 3 commits
-
-
Ben Straub committed
-
Ben Straub committed
-
Ben Straub committed
-
- 22 Nov, 2012 1 commit
-
-
nulltoken committed
-
- 20 Nov, 2012 1 commit
-
-
Russell Belfer committed
-