Commit Graph

5146 Commits

Author SHA1 Message Date
Vicent Martí
811c761fe1 Merge pull request #1540 from ethomson/leaks
fix some leaks
2013-05-03 08:19:12 -07:00
Brad Morgan
8ae55d940f Renaming 2013-05-03 10:53:59 -04:00
Brad Morgan
297758dce3 Added ssh transport file 2013-05-03 10:37:33 -04:00
Edward Thomson
d80416384f fix some leaks 2013-05-02 20:43:45 -05:00
Vicent Martí
42b2bcf038 Merge pull request #1538 from ethomson/merge_warning_cleanup
braces
2013-05-02 13:42:16 -07:00
Edward Thomson
5e151329fb braces 2013-05-02 15:20:21 -05:00
Vicent Martí
dc83d32ade Merge pull request #1537 from ethomson/merge_warning_cleanup
puns are not funny; type punning especially so
2013-05-02 13:01:44 -07:00
Edward Thomson
4e7c15608f puns are not funny; type punning especially so 2013-05-02 14:58:40 -05:00
Russell Belfer
0cce210a54 Use assert for peel target type check 2013-05-02 10:36:58 -07:00
Vicent Martí
af7689ea24 Merge pull request #1535 from carlosmn/pack-threading
Switch to index_version as "git_pack_file is ready" flag
2013-05-02 09:50:34 -07:00
Carlos Martín Nieto
0ddfcb40d5 Switch to index_version as "git_pack_file is ready" flag
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.
2013-05-02 18:27:02 +02:00
Vicent Martí
8a497ec9ad Merge pull request #1531 from libgit2/jk/peeled-refs
refdb_fs: do not require peeled packed refs to be tags
2013-05-02 09:21:46 -07:00
Jeff King
a591ed3ea9 refdb_fs: respect PEELING_STANDARD
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.
2013-05-02 12:06:46 -04:00
Vicent Marti
822645f629 refdb_fs: Only strstr the traits line 2013-05-02 17:48:49 +02:00
Vicent Marti
1022db2b68 refdb_fs: Traits are always surrounded by spaces
This makes parsing easier! :p
2013-05-02 17:42:09 +02:00
Vicent Marti
f69db390fb refdb_fs: store "cannot be peeled" flag for packed refs
Fixes #1532
2013-05-02 17:39:14 +02:00
Vicent Marti
3bb00f3360 refdb_fs: implement the fully-peeled trait 2013-05-02 17:17:46 +02:00
Carlos Martín Nieto
34bd59992e Revert "Protect sha1_entry_pos call with mutex"
This reverts commit 8c535f3f68.
2013-05-02 17:14:05 +02:00
Jeff King
7edb9071da refdb_fs: do not require peeled packed refs to be tags
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.
2013-05-02 11:07:20 -04:00
Vicent Martí
d966310cab Merge pull request #1529 from arrbee/more-packfile-locking
More packfile locking
2013-05-02 03:37:28 -07:00
Russell Belfer
8c535f3f68 Protect sha1_entry_pos call with mutex
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.
2013-05-02 03:34:56 -07:00
Russell Belfer
81b7dec4ee Fix some compile warnings and trailing whitespace 2013-05-02 03:06:34 -07:00
Russell Belfer
d82d66c96d Extra threading tests
We need to hammer the packfile open phase harder in the thread
tests, in addition to the cache API.
2013-05-02 03:05:21 -07:00
Russell Belfer
9d2f841a5d Add extra locking around packfile open
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.
2013-05-02 03:03:54 -07:00
Russell Belfer
b60d95c714 clarify error propogation 2013-05-01 15:55:54 -07:00
Russell Belfer
2f28219ce3 clarify where error message is set 2013-05-01 15:53:12 -07:00
Russell Belfer
52c5273735 Clear error msg when we eat error silently 2013-05-01 15:51:30 -07:00
Russell Belfer
f470b00b03 Fix one error not reported in revparse
There are many paths through revparse that may return an error
code without reporting an error, I believe.  This fixes one of
them.  Because of the backtracking in revparse, it is pretty
complicated to fix the others.
2013-05-01 15:48:40 -07:00
Russell Belfer
1a9e406c21 minor missing error message 2013-05-01 15:47:37 -07:00
Russell Belfer
bf6bebe22e Factor out some code that needed to clear errors
A number of places were looking up option config values and then
not clearing the error codes if the values were not found.  This
moves the repeated pattern into a shared routine and adds the
extra call to giterr_clear() when needed.
2013-05-01 15:23:40 -07:00
Russell Belfer
41e93563e7 Error messages for a couple other boundary conditions 2013-05-01 15:08:12 -07:00
Russell Belfer
62caf3f38f Report some errors returnable by push 2013-05-01 15:01:47 -07:00
Russell Belfer
f063f57898 Catch some odd odb backend corner case errors
There are some cases, particularly where no loaded ODB backends
support a particular operation, where we would return an error
code without having set an error.  This catches those cases and
reports that no ODB backends support the operation in question.
2013-05-01 14:48:35 -07:00
Russell Belfer
8915a140cb Report a couple object error conditions 2013-05-01 14:23:01 -07:00
Russell Belfer
734c6fc134 Report errors finding notes 2013-05-01 14:15:55 -07:00
Russell Belfer
de19c4a958 Set error when no merge base is found 2013-05-01 14:00:20 -07:00
Russell Belfer
e830c020f3 Report stat error when checking if file modified 2013-05-01 13:50:39 -07:00
Russell Belfer
69c50f4c44 Merge pull request #1527 from ethomson/checkout_allow_empty_dirs
allow empty dirs to exist when doing checkout
2013-05-01 13:47:00 -07:00
Russell Belfer
52c102b7f6 More care reporting diff patch iteration errors 2013-05-01 13:43:48 -07:00
Russell Belfer
3f663178ed More care catching and setting config errors 2013-05-01 13:38:56 -07:00
Vicent Marti
8cddf9b83a refdb: Properly load namespaces 2013-05-01 19:13:32 +02:00
Edward Thomson
0cc7d8df19 allow empty dirs to exist when doing checkout 2013-05-01 09:50:40 -05:00
Vicent Marti
e1807113c4 merge: Warning noise 2013-05-01 15:31:23 +02:00
Vicent Marti
2ba55c1f0d refdb: Proper namespace root 2013-05-01 15:20:08 +02:00
Vicent Martí
758e50c51e Merge pull request #1389 from ethomson/merge_trees
Merge trees
2013-05-01 06:18:09 -07:00
Russell Belfer
155ee75114 Add error messages for failed submodule lookup 2013-05-01 05:34:01 -07:00
Russell Belfer
46779411f9 fix typo 2013-05-01 05:32:10 -07:00
Russell Belfer
ae99f5e2ab Make sure error messages get set 2013-05-01 04:57:24 -07:00
Russell Belfer
f6f48f9008 Simplify error reporting 2013-05-01 04:57:05 -07:00
Russell Belfer
3e199f4285 Set error message for branch functions
There were a couple of places where an error was being returned
from branch related code but no error message was being set.
2013-05-01 04:18:46 -07:00