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