- 15 Feb, 2015 1 commit
-
-
Without this change, compiling with gcc and pedantic generates warning: ISO C does not allow extra ‘;’ outside of a function.
Stefan Widgren committed
-
- 07 Jan, 2015 1 commit
-
-
David Calavera committed
-
- 06 Jan, 2015 1 commit
-
-
Edward Thomson committed
-
- 22 Dec, 2014 2 commits
-
-
This introduces the functionality of submodule update in 'git_submodule_do_update'. The existing 'git_submodule_update' function is renamed to 'git_submodule_update_strategy'. The 'git_submodule_update' function now refers to functionality similar to `git submodule update`, while `git_submodule_update_strategy` is used to get the configured value of submodule.<name>.update.
Jameson Miller committed -
Submodule init should handle relative paths in .gitmodules files and resolve these urls when updating the git config file.
Jameson Miller committed
-
- 08 Nov, 2014 1 commit
-
-
This brings it in line with the rest of the lookup functions.
Carlos Martín Nieto committed
-
- 03 Sep, 2014 1 commit
-
-
Teach git_repository_init_ext to use relative paths for the gitlink to the work directory. This is used when creating a sub repository where the sub repository resides in the parent repository's .git directory.
Jameson Miller committed
-
- 08 May, 2014 1 commit
-
-
This adds in missing calls to `git_buf_sanitize` and fixes a number of places where `git_buf` APIs could inadvertently write NUL terminator bytes into invalid buffers. This also changes the behavior of `git_buf_sanitize` to NUL terminate a buffer if it can and of `git_buf_shorten` to do nothing if it can. Adds tests of filtering code with zeroed (i.e. unsanitized) buffer which was previously triggering a segfault.
Russell Belfer committed
-
- 17 Apr, 2014 2 commits
-
-
This is a big refactoring of the attribute file cache to be a bit simpler which in turn makes it easier to enforce a lock around any updates to the cache so that it can be used in a threaded env. Tons of changes to the attributes and ignores code.
Russell Belfer committed -
This adds a basic test of doing simultaneous diffs on multiple threads and adds basic locking for the attr file cache because that was the immediate problem that arose from these tests.
Russell Belfer committed
-
- 03 Apr, 2014 3 commits
-
-
I wrote this stuff a while ago and forgot to write tests. Wanted to do so now to wrap up the PR and immediately found problems.
Russell Belfer committed -
Russell Belfer committed
-
The base for the relative urls is determined as follows, with descending priority: - remote url of HEAD's remote tracking branch - remote "origin" - workdir This follows git.git behaviour
Jan Melcher committed
-
- 01 Apr, 2014 9 commits
-
-
Wrote tests that try adding, removing, and updating the name of submodules which showed a number of problems with how we account for changes when incrementally updating the submodule info. Most of these issues didn't exist before because reloading would always blow away the old submodule data.
Russell Belfer committed -
This improvement the management of the lock around submodule cache updates slightly, using the lock to make sure that foreach can safely make a snapshot of all existing submodules and making sure that git_submodule_add_setup also grabs a lock before inserting the new submodule. Cache initialization / refresh should already have been holding the lock correctly as it adds submodules.
Russell Belfer committed -
This makes it so that git_submodule_reload_all will actually only reload changed items unless the `force` flag is used.
Russell Belfer committed -
When forcing cache flushes or reload, etc., it is easier to keep track of intent using enums instead of plain bools. Also, this fixes a bug where the cache was not being properly refreshes by a git_submodule_reload_all.
Russell Belfer committed -
This makes submodule cache refresh actually look at the timestamps from the data sources for submodules and reload as needed if they have changed since the last refresh.
Russell Belfer committed -
This takes the old submodule cache which was just a git_strmap and makes a real git_submodule_cache object that can contain other things like a lock and timestamp-ish data to control refreshing of submodule info.
Russell Belfer committed -
Turns out there was already a helper to do what I wanted to do, so I just made it so that I could use it for sync and switched to that instead.
Russell Belfer committed -
This fixes `git_submodule_sync` to correctly update the remote URL of the default branch of the submodule along with the URL in the parent repository config (i.e. match core Git's behavior). Also move some useful helper logic from the submodule code into a shared config API `git_config__update_entry` that can either set or delete an entry with constraints like not overwriting or not creating a new entry. I used that helper to update a couple other places in the code.
Russell Belfer committed -
There are a few places where we need to join three strings to assemble a path. This adds a simple join3 function to avoid the comparatively expensive join_n (which calls strlen on each string twice).
Russell Belfer committed
-
- 31 Mar, 2014 1 commit
-
-
Russell Belfer committed
-
- 27 Mar, 2014 2 commits
-
-
Russell Belfer committed
-
If the first call to release a no-longer-existent submodule freed the object, the check if a second is needed would dereference the data that was just freed.
Russell Belfer committed
-
- 26 Mar, 2014 2 commits
-
-
When a submodule was inserted with a different path and name, the return value from khash greater than zero was allowed to propagate back out to the caller when it should really be zeroed. This led to a possible crash when reloading submodules if that was the first time that submodule data was loaded.
Russell Belfer committed -
The reload_all call could end up dereferencing a NULL pointer if there was an error while attempting to load the submodules config data (i.e. invalid content in the gitmodules file). This fixes it.
Russell Belfer committed
-
- 25 Mar, 2014 2 commits
-
-
This cleans up some places I missed that could hold onto submodule references and cleans up the way in which the repository cache is both reloaded and released so that existing submodule references aren't destroyed inappropriately.
Russell Belfer committed -
`git_submodule` objects were already refcounted internally in case the submodule name was different from the path at which it was stored. This makes that refcounting externally used as well, so `git_submodule_lookup` and `git_submodule_add_setup` return an object that requires a `git_submodule_free` when done.
Russell Belfer committed
-
- 10 Mar, 2014 2 commits
-
-
Carlos Martín Nieto committed
-
Jan Melcher committed
-
- 30 Jan, 2014 1 commit
-
-
This removes the fetchRecurse compiler warnings and makes the behavior match the other submodule options (i.e. the in-memory setting can be reset to the on-disk value).
Russell Belfer committed
-
- 25 Jan, 2014 1 commit
-
-
This was not converted when we converted the rest, so do it now.
Carlos Martín Nieto committed
-
- 02 Jan, 2014 2 commits
-
-
Russell Belfer committed
-
Robert Konrad committed
-
- 30 Dec, 2013 2 commits
- 12 Dec, 2013 1 commit
-
-
Russell Belfer committed
-
- 11 Dec, 2013 2 commits
-
-
Russell Belfer committed
-
I find this easier to read...
Russell Belfer committed
-