|
e51c8b99
|
2012-12-09T21:24:47
|
|
Fix mark_parents() to account for bad luck traversals
If commit timestamps are off, we're more likely to hit a traversal
where the first path ends up traversing past the root commit of the tree.
If that happens, it's possible that the loop will complete before the second
path marks some of those final parents. This fix keeps track of the root
nodes that are encountered in the traversal, and verify that they are
properly marked.
In the best case, with accurate timestamps, the traversal will continue
to terminate when all the commits are STALE (parents of a merge-base), as
it did before. In the worst case, where one path makes a complete traversal
past a root commit, we will continue the loop until the root commit itself
is marked.
|
|
9c2a4e8c
|
2012-12-09T21:01:46
|
|
Morph copy of git_merge__bases_many() -> mark_parents()
Integrate mark_parents() with the ahead_behind() code.
|
|
a3a81ae5
|
2012-12-09T20:43:26
|
|
Copy git_merge__bases_many() for new ahead-behind code
To be used as a basis for a function which marks nodes with parents
up to the merge base.
|
|
0249a503
|
2012-12-07T09:40:21
|
|
Merge pull request #1091 from carlosmn/stream-object
Indexer speedup with large objects
|
|
f1c75b94
|
2012-12-07T15:16:41
|
|
tree: relax the filemode parser
There are many different broken filemodes in the wild so we need to
protect against them and give something useful up the chain. Don't
fail when reading a tree from the ODB but normalize the mode as best
we can.
As 664 is no longer a mode that we consider to be valid and gets
normalized to 644, we can stop accepting it in the treebuilder. The
library won't expose it to the user, so any invalid modes are a bug.
|
|
32770c52
|
2012-12-05T13:56:32
|
|
Fix diff header comments and missing const
Based on the recent work to wrap diff in objective-git, this
includes a fix for a missing const and a number of clarifications
of the documentation.
|
|
bf192cdb
|
2012-12-05T20:56:27
|
|
versions: MSVC build fixes
|
|
43efaabd
|
2012-12-05T20:54:03
|
|
common: Silly vmg.
|
|
8ff66112
|
2012-12-05T20:50:19
|
|
common: Silly MSVC
|
|
e05ca13f
|
2012-12-05T11:47:19
|
|
Merge pull request #1115 from ben/struct-versions
Version info for public structs
|
|
05fc823f
|
2012-12-04T16:59:34
|
|
indentation fix
|
|
aab8f5af
|
2012-12-04T16:40:09
|
|
hey don't stomp on my memory!
|
|
b2414661
|
2012-11-28T22:43:55
|
|
status should ignore conflicts entries in the index
|
|
ee1c33b1
|
2012-12-03T12:45:15
|
|
Don't unconstify when casting
|
|
de70aea6
|
2012-12-03T12:41:50
|
|
Remove GIT_SIGNATURE_VERSION and friends
|
|
3368c520
|
2012-12-03T07:38:58
|
|
Merge pull request #1112 from barrbrain/odb-pack-read-header
odb-pack: resurrect pack_backend__read_header
|
|
7ea3a79f
|
2012-12-03T16:04:39
|
|
Vade retro satana
|
|
44f9f547
|
2012-11-30T13:33:30
|
|
pack: add git_packfile_resolve_header
To paraphrase @peff:
You can get both size and type from a packed object reasonably cheaply.
If you have:
* An object that is not a delta; both type and size are available in the
packfile header.
* An object that is a delta. The packfile type will be OBJ_*_DELTA, and
you have to resolve back to the base to find the real type. That means
potentially a lot of packfile index lookups, but each one is
relatively cheap. For the size, you inflate the first few bytes of the
delta, whose header will tell you the resulting size of applying the
delta to the base.
For simplicity, we just decompress the whole delta for now.
|
|
bfb8bcc1
|
2012-12-03T10:36:32
|
|
odb-pack: resurrect pack_backend__read_header
|
|
cc146626
|
2012-11-19T19:00:46
|
|
revparse: Deploy EINVALIDSPEC usage
|
|
bc05f30c
|
2012-11-19T18:49:25
|
|
object: refine git_object_peel() error report
|
|
18d6f120
|
2012-11-12T15:55:38
|
|
tag: Deploy EINVALIDSPEC usage
|
|
80212ecb
|
2012-11-12T16:49:29
|
|
reflog: Deploy EINVALIDSPEC usage
|
|
80d9d1df
|
2012-11-12T15:42:15
|
|
refs: Deploy EINVALIDSPEC usage
|
|
83458bb7
|
2012-11-12T14:06:13
|
|
refs: Fix error clearing
|
|
032ba9e4
|
2012-11-12T12:32:31
|
|
remote: deploy EINVALIDSPEC usage
|
|
0ab3a2ab
|
2012-11-30T20:34:50
|
|
Deploy GIT_INIT_STRUCTURE
|
|
d1b6ea8a
|
2012-12-01T14:50:20
|
|
delta-apply: add git__delta_read_header
|
|
c7231c45
|
2012-11-30T16:31:42
|
|
Deploy GITERR_CHECK_VERSION
|
|
4ec197f3
|
2012-11-30T12:52:42
|
|
Deploy GIT_SIGNATURE_INIT
|
|
10711769
|
2012-11-29T20:47:37
|
|
Deploy versioned git_transport structure
|
|
79cfa20d
|
2012-11-29T20:12:59
|
|
Deploy GIT_STATUS_OPTIONS_INIT
|
|
b4d13652
|
2012-11-29T20:06:23
|
|
Deploy GIT_REPOSITORY_INIT_OPTIONS_INIT
|
|
9267ff58
|
2012-11-29T20:01:24
|
|
Deploy GIT_REMOTE_CALLBACKS_INIT
|
|
55f6f21b
|
2012-11-29T19:59:18
|
|
Deploy versioned git_odb_backend structure
|
|
ca901e7b
|
2012-11-29T15:16:19
|
|
Deploy GIT_DIFF_FIND_OPTIONS_INIT
|
|
2f8d30be
|
2012-11-29T15:05:04
|
|
Deploy GIT_DIFF_OPTIONS_INIT
|
|
69177621
|
2012-11-29T14:07:50
|
|
Deploy git_config_backend version
|
|
b81aa2f1
|
2012-11-29T14:06:40
|
|
Deploy GIT_CHECKOUT_OPTS_INIT
|
|
3908c254
|
2012-11-30T17:25:50
|
|
indexer: correctly deal with objects larger than the window size
A mmap-window is not guaranteed to give you the whole object, but the
indexer currently assumes so.
Loop asking for more data until we've successfully CRC'd all of the
packed data.
|
|
f56f8585
|
2012-11-19T22:23:16
|
|
indexer: use the packfile streaming API
The new API allows us to read the object bit by bit from the packfile,
instead of needing it all at once in the packfile. This also allows us
to hash the object as it comes in from the network instead of having
to try to read it all and failing repeatedly for larger objects.
This is only the first step, but it already shows huge improvements
when dealing with objects over a few megabytes in size. It reduces the
memory needs in some cases, but delta objects still need to be
completely in memory and the old inefficent method is still used for
that.
|
|
46635339
|
2012-11-19T22:22:33
|
|
pack: introduce a streaming API for raw objects
This allows us to take objects from the packfile as a stream instead
of having to keep it all in memory.
|
|
5a3ad89d
|
2012-11-20T07:03:56
|
|
indexer: make use of streaming also for deltas
Up to now, deltas needed to be enterily in the packfile, and we tried
to decompress then in their entirety over and over again.
Adjust the logic so we read them as they come, just as we do for full
objects. This also allows us to simplify the logic and have less
nested code. The delta resolving phase still needs to decompress the
whole object into memory, as there is not yet any streaming
delta-apply support, but it helps in speeding up the downloading
process and reduces the amount of memory allocations we need to do.
|
|
da820437
|
2012-11-30T15:26:45
|
|
graph: plug leak
|
|
9ff07c24
|
2012-11-30T15:17:05
|
|
buf test: make sure we always set the bom variable
|
|
f684970a
|
2012-11-29T22:53:34
|
|
Merge pull request #1108 from libgit2/ahead-behind-count
Add API to calculate ahead/behind count
|
|
bdf3e6df
|
2012-11-29T17:34:41
|
|
Fix error condition typo
|
|
d5e44d84
|
2012-11-29T17:02:27
|
|
Fix function name and add real error check
`revwalk.h:commit_lookup()` -> `git_revwalk__commit_lookup()`
and make `git_commit_list_parse()` do real error checking that
the item in the list is an actual commit object. Also fixed an
apparent typo in a test name.
|
|
f1e5c506
|
2012-11-29T12:18:05
|
|
Merge pull request #1110 from libgit2/features/push_rebased
Push! By schu, phkelley, and congyiwu
|
|
4a6621fd
|
2012-11-29T08:35:21
|
|
Leverage the min macro from util.h
|
|
6762fe08
|
2012-11-29T08:29:26
|
|
Remove casts of return values of type void *
|
|
ac22d08f
|
2012-11-29T08:22:15
|
|
Remove git_object_oid2type
|
|
e2934db2
|
2012-11-29T02:05:46
|
|
Merge pull request #1090 from arrbee/ignore-invalid-by-default
Ignore invalid entries by default
|
|
ee06fec5
|
2012-11-29T01:29:50
|
|
Merge pull request #1083 from nulltoken/fix/tracking
Fix git_branch_tracking() for branches with empty merge and/or remote config entries
|
|
b994bfe3
|
2012-11-28T18:48:22
|
|
graph.c: prune includes
|
|
0984c876
|
2012-11-28T18:27:43
|
|
Rename git_count_ahead_behind -> git_graph_ahead_behind
Moved it into graph.{c,h} which i created for the new "graph"
functions namespace. Also adjusted the function prototype
to use `size_t` and `const git_oid *`.
|
|
c6d03c95
|
2012-11-28T18:07:08
|
|
fix coding style: while( -> while (
|
|
bff53e54
|
2012-11-27T16:36:50
|
|
Add initial implementation of ahead-behind count
|
|
37849a8e
|
2012-11-17T22:09:55
|
|
tracking: fix retrieval of the tracking ref of branch with empty merge and/or remote entry
|
|
7bf87ab6
|
2012-11-28T09:58:48
|
|
Consolidate text buffer functions
There are many scattered functions that look into the contents of
buffers to do various text manipulations (such as escaping or
unescaping data, calculating text stats, guessing if content is
binary, etc). This groups all those functions together into a
new file and converts the code to use that.
This has two enhancements to existing functionality. The old
text stats function is significantly rewritten and the BOM
detection code was extended (although largely we can't deal with
anything other than a UTF8 BOM).
|
|
613d5eb9
|
2012-11-28T11:42:37
|
|
Push! By schu, phkelley, and congyiwu, et al
|
|
7cdad6c7
|
2012-11-28T12:43:12
|
|
Fix uninitialized variable
clang-SVN HEAD kindly provided my the info, that sm_repo maybe
uninitialized when we want to free it (If the expression in line 358 or
359/360 evaluate to true, we jump to "cleanup", where we'd use sm_repo
uninitialized).
|
|
ae201891
|
2012-11-28T11:47:38
|
|
object: Raise proper code on invalid object type
|
|
9507a434
|
2012-11-28T10:47:10
|
|
odb: Add `git_odb_add_disk_alternate`
Loads a disk alternate by path to the ODB. Mimics the
`GIT_ALTERNATE_OBJECT_DIRECTORIES` shell var.
|
|
c3fb7d04
|
2012-11-27T15:00:49
|
|
Make git_odb_foreach_cb take const param
This makes the first OID param of the ODB callback a const pointer
and also propogates that change all the way to the backends.
|
|
2bd5998c
|
2012-11-27T14:47:39
|
|
Remove git_note_data structure
|
|
f4a62c30
|
2012-11-27T14:13:03
|
|
Typedef enums.
|
|
1d8ec670
|
2012-11-27T14:06:56
|
|
API updates for stash.h
|
|
c9fc4a6f
|
2012-11-27T13:44:49
|
|
API updates for repository.h
|
|
df705148
|
2012-11-27T13:15:43
|
|
API updates for remote.h
Includes typedef for git_direction, and renames for
GIT_DIR_[FETCH|PUSH] to GIT_DIRECTION_(\1).
|
|
2e76b5fc
|
2012-11-27T09:49:16
|
|
API updates for odb.h
|
|
de5596bf
|
2012-11-26T20:09:38
|
|
API updates for notes.h/c.
|
|
4ff192d3
|
2012-11-26T19:47:47
|
|
Move merge functions to merge.c
In so doing, promote commit_list to git_commit_list,
with its own internal API header.
|
|
839c5f57
|
2012-11-26T12:04:07
|
|
API updates for indexer.h
|
|
a8122b5d
|
2012-11-21T15:39:03
|
|
Fix warnings on Win64 build
|
|
4604a654
|
2012-11-21T11:57:06
|
|
update internal index API to avoid cast
|
|
d574de0e
|
2012-11-21T11:53:54
|
|
API updates for status.h
|
|
16248ee2
|
2012-11-21T11:03:07
|
|
Fix up some missing consts in tree & index
This fixes some missed places where we can apply const-ness to
various public APIs.
There are still some index and tree APIs that cannot take const
pointers because we sort our `git_vectors` lazily and so we can't
reliably bsearch the index and tree content without applying a
`git_vector_sort()` first.
This also fixes some missed places where size_t can be used and
where const can be applied to a couple internal functions.
|
|
f45d51ff
|
2012-11-20T19:57:46
|
|
API updates for index.h
|
|
d9023dbe
|
2012-11-20T17:06:54
|
|
API updates for tag.h
|
|
9cd42358
|
2012-11-20T16:57:16
|
|
API updates for submodule.h
|
|
793c4385
|
2012-11-20T16:36:06
|
|
Update diff callback param order
This makes the diff functions that take callbacks both take
the payload parameter after the callback function pointers and
pass the payload as the last argument to the callback function
instead of the first. This should make them consistent with
other callbacks across the API.
|
|
54b2a37a
|
2012-11-20T16:02:25
|
|
Clean up config.h
|
|
eecc8050
|
2012-11-20T14:03:05
|
|
Update callback fn ptr for git_reference_foreach
As part of API review, use a typedef for the callback fn ptr.
|
|
e120123e
|
2012-11-20T14:01:46
|
|
API review / update for tree.h
|
|
824cb2d5
|
2012-11-20T12:13:52
|
|
Updates to reset.h
|
|
cfbe4be3
|
2012-11-17T19:54:47
|
|
More external API cleanup
Conflicts:
src/branch.c
tests-clar/refs/branches/create.c
|
|
2508cc66
|
2012-11-18T21:38:08
|
|
Rename ref and reflog apis for consistency
|
|
9e9aee67
|
2012-11-26T23:29:34
|
|
fix build on FreeBSD
3f9eb1e introduced support for SSL certificates issued for IP
addresses, making use of in_addr and in_addr6 structs. On FreeBSD
these are defined in (a file included in) <netinet/in.h>, so include
that file on FreeBSD and get the build working again.
|
|
8404f2d6
|
2012-11-26T03:56:25
|
|
Merge pull request #1101 from csware/prevent_die
pack.c: Set p->mwf.fd to -1 on error
|
|
f2696fa4
|
2012-11-26T12:12:41
|
|
Fix invalid read reported by valgrind
|
|
fcb48e06
|
2012-11-24T15:48:17
|
|
Set p->mwf.fd to -1 on error
If p->mwf.fd is e.g. -2 then it is closed in packfile_free and an exception might be thrown.
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
c4d8df27
|
2012-11-23T15:19:47
|
|
Merge pull request #1097 from nulltoken/topic/head_tree_error
Make `git_repository_head_tree()` return error codes
|
|
826bc4a8
|
2012-11-23T13:31:22
|
|
Remove use of English expletives
Remove words such as fuck, crap, shit etc.
Remove other potentially offensive words from comments.
Tidy up other geopolicital terms in comments.
|
|
5cec896a
|
2012-11-22T18:51:06
|
|
repo: Make git_repository_head_tree() return error codes
|
|
54be4d57
|
2012-11-20T15:02:06
|
|
Merge pull request #1092 from arrbee/legal-to-not-have-gitconfig
It is okay to not have a .gitconfig file
|
|
38f7d026
|
2012-11-20T14:50:36
|
|
Need to clear ignored error from config load
|
|
cc6b4162
|
2012-11-20T10:24:18
|
|
It is okay to not have a .gitconfig file
Opening a repo is generating an error if you don't have a
.gitconfig file in your home directory, but that should be
legal.
|
|
cf0dadcf
|
2012-11-20T01:19:31
|
|
Minor optimization in win32 do_lstat
|
|
2d96fce2
|
2012-11-19T23:12:20
|
|
update win32 lstat comment
|