- 02 May, 2013 15 commits
-
-
Switch to index_version as "git_pack_file is ready" flag
Vicent Martí committed -
We use p->index_map.data to check whether the struct has been set up and all the information about the index is stored there. This variable gets set up halfway through the setup process, however, and a thread can come along and use fields that haven't been written to yet. Crucially, pack_entry_find_offset() needs to read the index version (which is written after index_map) to know the offset and stride length to pass to sha1_entry_pos(). If these values are wrong, assertions in it will fail, as it will be reading bogus data. Make index_version the last field to be written and switch from using p->index_map.data to p->index_version as "git_pack_file is ready" flag as we can use it to know if every field has been written.
Carlos Martín Nieto committed -
refdb_fs: do not require peeled packed refs to be tags
Vicent Martí committed -
We only set our negative flag for PEELING_FULL; we can fall back to the lesser PEELING_STANDARD if our ref is in the refs/tags/ hierarchy.
Jeff King committed -
Vicent Marti committed
-
This makes parsing easier! :p
Vicent Marti committed -
Fixes #1532
Vicent Marti committed -
Vicent Marti committed
-
This reverts commit 8c535f3f.
Carlos Martín Nieto committed -
Older versions of git would only write peeled entries for items under refs/tags/. Newer versions will write them for all refs, and we should be prepared to handle that.
Jeff King committed -
More packfile locking
Vicent Martí committed -
There is an occasional assertion failure in sha1_entry_pos from pack_entry_find_index when running threaded. Holding the mutex around the code that grabs the index_map data and processes it makes this assertion failure go away.
Russell Belfer committed -
Russell Belfer committed
-
We need to hammer the packfile open phase harder in the thread tests, in addition to the cache API.
Russell Belfer committed -
We were still seeing a few issues in threaded access to packs. This adds extra locks around the opening of the mwindow to avoid a different race.
Russell Belfer committed
-
- 01 May, 2013 7 commits
-
-
allow empty dirs to exist when doing checkout
Russell Belfer committed -
Vicent Marti committed
-
Edward Thomson committed
-
Vicent Marti committed
-
Vicent Marti committed
-
Merge trees
Vicent Martí committed -
Namespace support
Vicent Martí committed
-
- 30 Apr, 2013 18 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Vicent Marti committed
-
Update diff handling of "untracked" directories
Vicent Martí committed -
Russell Belfer committed
-
Russell Belfer committed
-
This includes more tests for various scenarios when diff includes an untracked directory in the workdir with contents either ignored or not.
Russell Belfer committed -
When diff encounters an untracked directory, there was a shortcut that it took which is not compatible with core git. This makes the default behavior no longer take that shortcut and instead look inside the untracked directory to see if there are any untracked files within it. If there are not, then the directory is treated as an ignore directory instead of an untracked directory. This has implications for the git_status APIs.
Russell Belfer committed -
In preparation for more changes to the internal diff logic, it seemed wise to split the very large git_diff__from_iterators into separate functions that handle the four main cases (unmatched old item, unmatched new item, unmatched new directory, and matched old and new items). Hopefully this will keep the logic easier to follow even as more cases have to be added to this code.
Russell Belfer committed -
Vicent Marti committed
-
Vicent Marti committed
-
Remove most inlines from the public API
Vicent Martí committed -
Add refspec list accessors
Vicent Martí committed -
Catch issue in config set with no config file
Vicent Martí committed -
This prevents a segfault when setting a value in the config of a repository that doesn't have a config file.
Russell Belfer committed -
Carlos Martín Nieto committed
-
Bring back a way of acessing the git_refspec* from a remote. Closes #1514
Carlos Martín Nieto committed
-