- 21 Dec, 2015 1 commit
-
-
Dmitriy Olshevskiy committed
-
- 04 Nov, 2015 1 commit
-
-
Test that `git_submodule_update` can handle a submodule that is freshly cloned and has a path differing from its name.
Edward Thomson committed
-
- 18 Sep, 2015 2 commits
-
-
Test an initial submodule update, where we are trying to checkout the submodule for the first time, and placing a file within the submodule working directory with the same name as the submodule (and consequently, the same name as the repository itself).
Edward Thomson committed -
Carlos Martín Nieto committed
-
- 17 Sep, 2015 1 commit
-
-
Untangle git_futils_mkdir from git_futils_mkdir_ext - the latter assumes that we own everything beneath the base, as if it were being called with a base of the repository or working directory, and is tailored towards checkout and ensuring that there is no bogosity beneath the base that must be cleaned up. This is (at best) slow and (at worst) unsafe in the larger context of a filesystem where we do not own things and cannot do things like unlink symlinks that are in our way.
Edward Thomson committed
-
- 10 Sep, 2015 1 commit
-
-
Carlos Martín Nieto committed
-
- 28 Aug, 2015 1 commit
-
-
Edward Thomson committed
-
- 13 Jul, 2015 1 commit
-
-
Carlos Martín Nieto committed
-
- 12 Jul, 2015 1 commit
-
-
This also affects `git_index_add_bypath()` by providing a better error message and a specific error code when a directory is passed.
Carlos Martín Nieto committed
-
- 11 Jul, 2015 1 commit
-
-
When we rename a submodule, we should be merging two sets of information based on whether their path is the same. We currently only deduplicate on equal name, which causes us to double-report.
Carlos Martín Nieto committed
-
- 01 Jul, 2015 2 commits
-
-
When two submodules are fairly similar, we may end up loading the wrong one.
Carlos Martín Nieto committed -
The function was removed, but its declaration and changelog entry about its removal were forgotten. The comment in the test doesn't make any sense as the function doesn't exist anymore, so get rid of it as well.
Carlos Martín Nieto committed
-
- 29 Jun, 2015 1 commit
-
-
We allow looking up a submodule by path, but we lost the path normalisation during the recent changes. Bring it back.
Carlos Martín Nieto committed
-
- 25 Jun, 2015 1 commit
-
-
Fallback describes the mechanism, while unspecified explains what the user is thinking.
Carlos Martín Nieto committed
-
- 22 Jun, 2015 12 commits
-
-
In addition to mapping enums to strings in the configuration, we need to know to delete the configuration option when given the "none" or "no" option.
Carlos Martín Nieto committed -
The current code will always fail, but only because it's asking for a string on a live config. Take a snapshot and make sure we fail with ENOTFOUND instead of any old error.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
We no longer have any setters which affect an instance, so `git_submodule_save()` is no longer relevant.
Carlos Martín Nieto committed -
With this one, we can get rid of the edit_and_save test.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Similarly to the other ones. In this test we copy over testing `RECURSE_YES` which shows an error in our handling of the `YES` variant which we may have to port to the rest.
Carlos Martín Nieto committed -
Moving on with the removal of runtime-changing variables, the update setting for a remote is whatever it was when it was looked up.
Carlos Martín Nieto committed -
This lets us specify in the status call which ignore rules we want to use (optionally falling back to whatever the submodule has in its configuration). This removes one of the reasons for having `_set_ignore()` set the value in-memory. We re-use the `IGNORE_RESET` value for this as it is no longer relevant but has a similar purpose to `IGNORE_FALLBACK`. Similarly, we remove `IGNORE_DEFAULT` which does not have use outside of initializers and move that to fall back to the configuration as well.
Carlos Martín Nieto committed -
As submodules are becomes more like values, we should not let a status check to update its properties. Instead of taking a submodule, have status take a repo and submodule name.
Carlos Martín Nieto committed -
Instead of affecting a particular instance, make it change the configuration.
Carlos Martín Nieto committed -
Having this cache and giving them out goes against our multithreading guarantees and it makes it impossible to use submodules in a multi-threaded environment, as any thread can ask for a refresh which may reallocate some string in the submodule struct which we've accessed in a different one via a getter. This makes the submodules behave more like remotes, where each object is created upon request and not shared except explicitly by the user. This means that some tests won't pass yet, as they assume they can affect the submodule objects in the cache and that will affect later operations.
Carlos Martín Nieto committed
-
- 13 May, 2015 2 commits
-
-
The interesting one is the notification macro, which was returning directly on a soft-abort instead of going through the cleanup.
Carlos Martín Nieto committed -
Having the setting be different from calling its actions was not a great idea and made for the sake of the wrong convenience. Instead of that, accept either fetch options, push options or the callbacks when dealing with the remote. The fetch options are currently only the callbacks, but more options will be moved from setters and getters on the remote to the options. This does mean passing the same struct along the different functions but the typical use-case will only call git_remote_fetch() or git_remote_push() and so won't notice much difference.
Carlos Martín Nieto committed
-
- 12 Apr, 2015 1 commit
-
-
Patrick Steinhardt committed
-
- 12 Mar, 2015 1 commit
-
-
Currently git_submodule_sync writes the submodule's URL to the key 'branch.<REMOTE_NAME>.remote' while the reference implementation of `git submodule sync` writes to 'remote.<REMOTE_NAME>.url', which is the intended behavior according to git-submodule(1).
Patrick Steinhardt committed
-
- 03 Mar, 2015 3 commits
-
-
This changes the get_entry() method to return a refcounted version of the config entry, which you have to free when you're done. This allows us to avoid freeing the memory in which the entry is stored on a refresh, which may happen at any time for a live config. For this reason, get_string() has been forbidden on live configs and a new function get_string_buf() has been added, which stores the string in a git_buf which the user then owns. The functions which parse the string value takea advantage of the borrowing to parse safely and then release the entry.
Carlos Martín Nieto committed -
We want to use the "checkout: moving from ..." message in order to let git know when a change of branch has happened. Make the convenience functions for this goal write this message.
Carlos Martín Nieto committed -
The signature for the reflog is not something which changes dynamically. Almost all uses will be NULL, since we want for the repository's default identity to be used, making it noise. In order to allow for changing the identity, we instead provide git_repository_set_ident() and git_repository_ident() which allow a user to override the choice of signature.
Carlos Martín Nieto committed
-
- 09 Jan, 2015 1 commit
-
-
Carlos Martín Nieto committed
-
- 08 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
-
- 07 Nov, 2014 1 commit
-
-
We cannot know from looking at .gitmodules whether a directory is a submodule or not. We need the index or tree we are comparing against to tell us. Otherwise we have to assume the entry in .gitmodules is stale or otherwise invalid. Thus we pass the index of the repository into the workdir iterator, even if we do not want to compare against it. This follows what git does, which even for `git diff <tree>`, it will consider staged submodules as such.
Carlos Martín Nieto committed
-
- 27 Oct, 2014 1 commit
-
-
Edward Thomson committed
-