|
bec92f78
|
2011-11-21T17:12:23
|
|
Merge pull request #492 from carlosmn/networking
Networking improvements
|
|
2744806f
|
2011-11-22T02:10:41
|
|
tree: Fix documentation
|
|
6ac3b707
|
2011-11-21T20:48:59
|
|
Add git_remote_connected
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
4cf01e9a
|
2011-11-21T20:44:03
|
|
Add git_remote_disconnect
It can be useful to separate disconnecting from actually destroying
the object.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
617bfdf4
|
2011-11-18T21:28:07
|
|
Add a name to a remote created from the API
Make it a bit more resilient.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
95057b85
|
2011-11-18T21:18:39
|
|
remote: get rid of git_remote_negotiate
There is no good reason to expose the negotiation as a different step
to downloading the packfile.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
28ba94ce
|
2011-11-18T17:43:43
|
|
Fix typo in repository documentation
|
|
2cbca8b0
|
2011-11-18T01:43:27
|
|
include: Unify internal include strategies
Do not add the `git2` path to internal includes, or that will cause
an extra path dependency.
|
|
2ba14f23
|
2011-11-17T02:13:46
|
|
tree: Add payload to `git_tree_walk`
|
|
9432af36
|
2011-11-17T01:23:19
|
|
Rename `git_tree_frompath` to `git_tree_get_subtree`
That makes more sense to me.
|
|
a15c550d
|
2011-11-16T14:09:44
|
|
threads: Fix the shared global state with TLS
See `global.c` for a description of what we're doing.
When libgit2 is built with GIT_THREADS support, the threading system
must be explicitly initialized with `git_threads_init()`.
|
|
d4a0b124
|
2011-10-30T21:58:33
|
|
refs: Partial rewrite for read-only refs
This new version of the references code is significantly faster and
hopefully easier to read.
External API stays the same. A new method `git_reference_reload()` has
been added to force updating a memory reference from disk. In-memory
references are no longer updated automagically -- this was killing us.
If a reference is deleted externally and the user doesn't reload the
memory object, nothing critical happens: any functions using that
reference should fail gracefully (e.g. deletion, renaming, and so on).
All generated references from the API are read only and must be free'd
by the user. There is no reference counting and no traces of generated
references are kept in the library.
There is no longer an internal representation for references. There is
only one reference struct `git_reference`, and symbolic/oid targets are
stored inside an union.
Packfile references are stored using an optimized struct with flex array
for reference names. This should significantly reduce the memory cost of
loading the packfile from disk.
|
|
a46ec457
|
2011-08-10T16:19:42
|
|
refs: split internal and external references
Currently libgit2 shares pointers to its internal reference cache with
the user. This leads to several problems like invalidation of reference
pointers when reordering the cache or manipulation of the cache from
user side.
Give each user its own git_reference instead of leaking the internal
representation (struct reference).
Add the following new API functions:
* git_reference_free
* git_reference_is_packed
Signed-off-by: schu <schu-github@schulog.org>
|
|
3286c408
|
2011-10-28T14:51:13
|
|
global: Properly use `git__` memory wrappers
Ensure that all memory related functions (malloc, calloc, strdup, free,
etc) are using their respective `git__` wrappers.
|
|
da37654d
|
2011-10-27T22:33:31
|
|
tree: Add traversal in post-order
|
|
11d51ca6
|
2011-10-26T16:43:55
|
|
windows: Add support for non-UTF codepages
Our previous assumption that all paths in Windows are encoded in UTF-8
is rather weak, specially when considering that Git is
encoding-agnostic.
These set of functions allow the user to change the library's active
codepage globally, so it is possible to access paths and files on all
international versions of Windows.
Note that the default encoding here is UTF-8 because we assume that 99%
of all Git repositories will be in UTF-8.
Also, if you use non-ascii characters in paths, anywhere, please burn on
a fire.
|
|
28c1451a
|
2011-10-20T02:35:19
|
|
tree: Fix name lookups once and for all
Double-pass binary search. Jeez.
|
|
8cf2de07
|
2011-10-19T01:34:42
|
|
tree: Fix lookups by entry name
|
|
3fa735ca
|
2011-10-13T23:17:19
|
|
tree: Add git_tree_frompath() which, given a relative path to a tree entry, retrieves the tree object containing this tree entry
|
|
34aff010
|
2011-10-12T14:06:23
|
|
oid: Add git_oid_streq() which checks if an oid and an hex formatted string are equal
|
|
92e2081f
|
2011-10-12T11:03:58
|
|
Merge pull request #449 from csware/include-win-version-information
Include windows version information in git2.dll
|
|
96fab093
|
2011-10-09T18:37:41
|
|
put version information in separate file
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
314f54eb
|
2011-10-09T05:29:57
|
|
fix build for x64
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
3eaf34f4
|
2011-10-05T16:48:36
|
|
libgit2 v0.15.0 "Das Wunderbar Release"
I am aware the codename is not gramatically correct in any language.
Check the COPYING file for the detailed terms on libgit2's license. Check
the AUTHORS file for the full list of guilty parties.
As we slowly stabilize the API, we've dropped 1 function from the library,
and changed the signature of only 5 of them. There's of course a good
chunk of new functionality, and a thousand bug fixes.
In this release of libgit2:
- Changed `git_blob_rawsize`: Now returns `size_t` instead of int, allowing
files >4GB in 64 bit systems.
- Removed `git_commit_message_short`: Please use `git_commit_message`
to get the full message and decide which is the "short view" according
to your needs (first line, first 80 chars...)
- Added `git_commit_message_encoding`: Returns the encoding field of a commit
message, if it exists.
- Changed `git_commit_create`, `git_commit_create_v`: New argument `encoding`, which
adds a encoding field to the generated commit object.
- Added `git_config_find_system`: Returns the path to the system's global config
file (according to the Core Git standards).
- Changed `git_config_get_XX`, `git_config_set_XX`: the `long` and `int` types have
been replaced by `int64` and `int32` respectively, to make their meaning more
obvious.
- Added `git_indexer`: An interface to index Git Packfiles has been added in the
`git2/indexer.h` header.
- Changed `git_reflog_entry_XX`: Reflog entries are now returned as `git_oid *` objects
instead of hexadecimal OIDs.
- Added `git_remote`: More fetch functionality has been added to the `git2/remote.h`
functionality. Local, Smart HTTP and Git protocols are now supported.
- Added `git_repository_head`: Returns the HEAD of the repository.
- Added `git_repository_config_autoload`: Opens the configuration file of a repository,
including the user's and the system's global config files, if they can be found.
- Changed `git_signature_now`: Now returns an error code; the signature is stored by
reference.
|
|
dd3fd682
|
2011-10-05T13:44:27
|
|
msvc: Remove superfluous includes
|
|
c060854e
|
2011-10-04T21:11:51
|
|
msvc: Properly handle inttypes.h/stdint.h
|
|
dc8e3096
|
2011-10-01T02:09:35
|
|
Include stdint.h in git2/config.h
Otherwise MSVC doesn't know what we're talking about when we say
int32_t or int64_t.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
fafd4710
|
2011-09-30T16:08:06
|
|
config: Proper type declarations for 64 bit ints
|
|
c36280a0
|
2011-09-30T06:26:29
|
|
repository: export git_repository_config_autoload
Take the opportunity to finish the comment about this function.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
8af4d074
|
2011-09-29T15:34:17
|
|
odb: Let users decide compression level for the loose ODB
|
|
40fe5fbe
|
2011-09-22T22:50:36
|
|
Make repo config loading automatic or completely explicit
git_repository_config wants to take the global and system paths again
so that one can be explicit if needed.
The git_repository_config_autoload function is provided for the cases
when it's good enough for the library to guess where those files are
located.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
4c562347
|
2011-09-22T21:34:46
|
|
Add git_config_find_system
This allows the library to guess where the system configuration file
should be located.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
ad196c6a
|
2011-09-21T23:17:39
|
|
config: make git_config_[get|set]_long() able to properly deal with 8 bytes wide values
Should fix issue #419.
Signed-off-by: nulltoken <emeric.fermas@gmail.com>
|
|
6640266e
|
2011-09-18T19:58:22
|
|
Merge pull request #398 from carlosmn/config-autohome
git_repository_config: open global config file automatically
|
|
e311519d
|
2011-09-18T19:38:14
|
|
Merge pull request #411 from boyski/gcc4
Don't use '__attribute__ visibility' with gcc unless it's at version 4 or better
|
|
d2a1861e
|
2011-09-18T21:27:25
|
|
Don't use '__attribute__ visibility' with gcc unless it's at
version 4 or better.
|
|
87d9869f
|
2011-09-19T03:34:49
|
|
Tabify everything
There were quite a few places were spaces were being used instead of
tabs. Try to catch them all. This should hopefully not break anything.
Except for `git blame`. Oh well.
|
|
bb742ede
|
2011-09-19T01:54:32
|
|
Cleanup legal data
1. The license header is technically not valid if it doesn't have a
copyright signature.
2. The COPYING file has been updated with the different licenses used in
the project.
3. The full GPLv2 header in each file annoys me.
|
|
784b3b49
|
2011-09-12T23:44:39
|
|
Fixed typo in example Makefile code and slimmed it down more.
Reverted signature of git_signature_new.
Removed error check wrappers (voted down). Made Makefile
work out of the box on Linux and Solaris when standard
cmake build instructions for the library are followed.
|
|
56453d34
|
2011-09-02T13:44:42
|
|
status: enhance determination of status for a single file
- fix retrieval of a file status when working against a newly initialized repository
- reduce memory pressure
- prevents a directory from being tested
|
|
3601c4bf
|
2011-08-08T13:40:17
|
|
repository: Add git_repository_head()
|
|
d9111722
|
2011-09-13T12:30:25
|
|
Standardized doxygen @return lines for int functions to say "GIT_SUCCESS or an error code".
|
|
0251733e
|
2011-09-12T23:39:47
|
|
Changes to allow examples/*.c to compile and link. This required on
change to the signature of an API function (git_signature_new).
Also, the examples/general.c had a lot of unchecked return values
which were addresed with a couple of macros. The resulting example
still does not work correctly but at least now it fails with an
error message rather than not compiling or dumping core. Example
runtime issues may be addressed in a later commit.
|
|
f9d4b0c3
|
2011-09-12T17:25:46
|
|
git_repository_config: open global config file automatically
If the global configuration file is missing, it is ignored.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
26e74c6a
|
2011-09-08T14:21:17
|
|
Fix some random size_t vs. int conversion warnings
|
|
778e1c73
|
2011-08-22T15:43:57
|
|
Add git_remote_new
As we no longer expose the transport functions, this is now the only
way to connect to a remote when given an URL instead of a remote name
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
b5a8aa94
|
2011-08-22T15:18:19
|
|
Don't hide the transport details
Transports shouldn't get used outside of the library, so don't expose
accessor functions.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
a1be77cd
|
2011-08-07T14:27:47
|
|
Be smarter about selecting wants
There is no need to inspect what the local repository is like. Only
check whether the objects exist locally.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
1564db11
|
2011-08-07T14:02:04
|
|
Remove enum git_whn
Instead, use flags inside the git_remote_head structure.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
441f57c2
|
2011-08-06T13:48:52
|
|
Add git_remote_update_tips
This function updates the references in the local reference storage to
match the ones in the remote.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
48a65a07
|
2011-08-04T22:42:58
|
|
Only wait for pack if we need it
Provide the git_remote_download function to instruct the library to
downlad the packfile and let the user know the temporary location.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
e1d88030
|
2011-08-04T13:07:55
|
|
Don't expose the fetch code to the user
Move the generation of the want-list to be done from the negotiate
function, and keep the filtered references inside the remote
structure.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
65fbc48a
|
2011-06-24T16:23:19
|
|
negotiation
|
|
e1f4a761
|
2011-06-22T14:53:01
|
|
Add git_fetch_list_want which creates the "want" list
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
e7be57a9
|
2011-08-15T18:56:27
|
|
reflog: assimilate reflog API to return git_oid's
Rather than returning the OIDs out of the reflog as string return them
as git_oid.
Signed-off-by: schu <schu-github@schulog.org>
|
|
a6bbb8ca
|
2011-08-13T10:56:33
|
|
Add missing GIT_BEGIN_DECL and GIT_END_DECL to indexer header
|
|
5ae2f0c0
|
2011-08-12T16:24:19
|
|
commit: Add support for Encoding header
|
|
b2e60e4e
|
2011-08-10T15:25:17
|
|
Add common.h to types.h
|
|
31bf5f38
|
2011-08-03T18:59:30
|
|
Merge pull request #345 from carlosmn/gsoc2011/indexer
Implement a pack indexer
|
|
63396a39
|
2011-08-03T15:57:33
|
|
signature: adjust API to return error codes
git_signature_new() and git_signature_now() currently don't return error
codes. Change the API to return error codes and not pointers to let the
user handle errors properly.
Signed-off-by: schu <schu-github@schulog.org>
|
|
65cb1586
|
2011-08-01T16:46:36
|
|
Document the indexer calls
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
48b3ad4f
|
2011-08-01T14:02:09
|
|
Move pack index writing to a public function
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
b7c44096
|
2011-07-28T23:35:39
|
|
Implement the indexer
Only v2 index files are supported.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
ab525a74
|
2011-07-07T19:20:13
|
|
Rename stuff to git_indexer_
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
f23c4a66
|
2011-07-07T19:08:45
|
|
Start the runner
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
3412391d
|
2011-07-07T11:47:31
|
|
Intial indexer code
|
|
ede21113
|
2011-07-29T19:31:39
|
|
Fix compilation in C++: remove double GIT_BEGIN_DECL
|
|
c7b508e6
|
2011-07-29T19:29:47
|
|
Remove double include of remote.h from git2.h
|
|
2b7fffa8
|
2011-07-28T05:23:27
|
|
Merge pull request #341 from carlosmn/development
Fixup network headers
|
|
b311e313
|
2011-07-27T18:31:13
|
|
Including git2/status.h in the git2.h header.
|
|
1e76676f
|
2011-07-27T01:22:50
|
|
Fixup network headers
The network headers were still missing some formalities.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
136e7129
|
2011-07-16T01:28:13
|
|
On some header files, GIT_END_DECL was absent while GIT_BEGIN_DECL wasn't.
|
|
7d9cc9f8
|
2011-07-15T17:46:55
|
|
index: fix cast warnings
/home/kas/git/public/libgit2/src/index.c: In function ‘git_index_clear’:
/home/kas/git/public/libgit2/src/index.c:228:8: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
/home/kas/git/public/libgit2/src/index.c:235:8: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
/home/kas/git/public/libgit2/src/index.c: In function ‘index_insert’:
/home/kas/git/public/libgit2/src/index.c:392:7: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
/home/kas/git/public/libgit2/src/index.c:399:7: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
/home/kas/git/public/libgit2/src/index.c: In function ‘read_unmerged’:
/home/kas/git/public/libgit2/src/index.c:681:35: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
/home/kas/git/public/libgit2/src/index.c: In function ‘read_entry’:
/home/kas/git/public/libgit2/src/index.c:716:33: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
|
|
ac2351fd
|
2011-07-25T20:23:23
|
|
Modify struct definition to enable forward declare with C++ compiler,
thus avoid including C library's header in C++ header.
|
|
e5f36505
|
2011-07-14T15:11:31
|
|
tag: Make git_tag_create_lightweight() accessible to bindings
|
|
52e50c1a
|
2011-07-14T00:01:48
|
|
libgit2 v0.14.0, "watermelon wheat"
This a very packed minor release. The usual guilty parties have been
working harder than usual during the holidays -- thanks to everyone
involved!
As always, the updated API docs can be found at:
http://libgit2.github.com/libgit2/
NEW FEATURES:
- New OS abstraction layer. This should make all POSIX calls much
more reliable under Windows.
- Much faster writes of simple objects (commits, tags, trees) to the
ODB via in-memory buffering and direct writes, instead of streaming.
- Unified & simplified API for object creation. All the `create`
methods now take Objects instead of OIDs to ensure that corrupted
(dangling) objects cannot be created on the repository.
- Fully Git-compilant reference renaming (finally!), with
the already existing `git_reference_rename`.
- Deletion of config keys with `git_config_delete`
- Greatly improved index performance when adding new entries
- Reflog support with the `git_reflog` API
- Remotes support with the `git_remote` API
- First parts of the Networking API, including refspecs and
the transport abstraction layer. (Note that there are no actual
transports implemented yet)
- Status support with the `git_status_foreach` and `git_status_file`
functions.
- Tons of bugfixes, including the outstanding bug #127 (wrong sort
ordering when querying tree entries).
KNOWN ISSUES:
- The reference renaming code leaks memory. This is being worked on
as part of a reference handling overhaul.
- The tree-from-index builder has abysmal performance because it
doesn't handle the Treecache extension yet. This is also being
worked on.
FULL API CHANGELOG:
- removed, * modified, + added
- git_commit_create_o
- git_commit_create_ov
- git_reference_create_oid_f
- git_reference_create_symbolic_f
- git_reference_rename_f
- git_tag_create_f
- git_tag_create_fo
- git_tag_create_o
* git_commit_create
* git_commit_create_v
* git_config_foreach
* git_reference_create_oid
* git_reference_create_symbolic
* git_reference_rename
* git_tag_create
* git_tag_create_frombuffer
+ git_clearerror
+ git_config_delete
+ git_index_uniq
+ git_odb_hashfile
+ git_oid_fromstrn
+ git_reflog_entry_byindex
+ git_reflog_entry_committer
+ git_reflog_entry_msg
+ git_reflog_entry_oidnew
+ git_reflog_entry_oidold
+ git_reflog_entrycount
+ git_reflog_free
+ git_reflog_read
+ git_reflog_write
+ git_refspec_src_match
+ git_refspec_transform
+ git_remote_connect
+ git_remote_fetchspec
+ git_remote_free
+ git_remote_get
+ git_remote_ls
+ git_remote_name
+ git_remote_url
+ git_repository_head_detached
+ git_repository_head_orphan
+ git_status_file
+ git_status_foreach
+ git_tag_create_lightweight
+ git_tag_list_match
+ git_transport_new
|
|
91d8a4c0
|
2011-07-09T17:29:42
|
|
typo: one git_remote_fetchspec should be pushspec
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
b08683ff
|
2011-07-12T02:38:20
|
|
config: Rename `del` to `delete
|
|
bfbb5562
|
2011-07-11T16:30:46
|
|
tag: Add creation of lightweight tag
|
|
f6e4a98a
|
2011-07-11T13:04:36
|
|
Finish to hide git_pkt from external API.
|
|
5f35d0ce
|
2011-07-09T14:53:00
|
|
Remove the last reference of git_net_direction enum
|
|
bdd18829
|
2011-07-11T02:58:00
|
|
Cleanup external API
Some of the WIP API calls have been hidden in preparation for the next
minor release.
|
|
f27f29b1
|
2011-07-09T15:13:32
|
|
include: Fix unmatched params in documentation
|
|
c52736fa
|
2011-07-09T15:05:14
|
|
status: Cleanup
The `hashfile` function has been moved to ODB, next to `git_odb_hash`.
Global state has been removed from the dirent call in `status.c`,
because global state is killing the rainforest and causing global
warming.
|
|
20361b2f
|
2011-06-23T18:51:22
|
|
status: get status for single file
Add git_status_file to be able to retrieve status of single file by
supplying a path.
|
|
3af6b34a
|
2011-06-22T18:31:20
|
|
status: get file statuses and run callback
Add git_status_foreach() to run a callback on each file passing the path
and a status value.
|
|
205166d2
|
2011-06-22T18:19:46
|
|
status: get blob object id of file on disk
Add git_status_hashfile() to get blob's object id for a file without adding
it to the object database or needing a repository at all.
This functionality is similar to `git hash-object` without '-w'.
|
|
27df4275
|
2011-06-28T14:13:12
|
|
reflog: add API to read or write a reference log
So far libgit2 didn't support reference logs (reflog). Add a new
git_reflog_* API for basic reading and writing of reflogs:
* git_reflog_read
* git_reflog_write
* git_reflog_free
Signed-off-by: schu <schu-github@schulog.org>
|
|
2b5af615
|
2011-07-07T13:47:45
|
|
tag: add pattern based retrieval of list of tag names
|
|
245adf4f
|
2011-07-02T01:08:42
|
|
index: introduce git_index_uniq() function
It removes all entries with equal path except last added.
On large indexes git_index_append() + git_index_uniq() before writing is
*much* faster, than git_index_add().
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
|
|
f12aa9dc
|
2011-07-05T04:31:37
|
|
Merge pull request #300 from carlosmn/gsoc2011/master
A bit of networking
|
|
2601fcfc
|
2011-06-28T15:21:44
|
|
Add tests for deleting a config var
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
932d1baf
|
2011-06-30T19:52:34
|
|
cleanup: remove trailing spaces
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
|
|
e0fc39da
|
2011-06-29T15:11:34
|
|
config: Fix unmatched parameters in docs
|
|
408d733b
|
2011-06-30T06:56:58
|
|
repository: Make head_detached() and head_orphan() convenience methods accessible to bindings
|
|
cfef5fb7
|
2011-06-29T15:09:21
|
|
config: `foreach` now returns variable values too
|
|
7376ad99
|
2011-06-29T11:01:35
|
|
refs: Remove duplicate rename method
`git_reference_rename` now takes a `force` flag
|
|
ab7941b5
|
2011-06-28T21:04:59
|
|
test: Properly show error messages
|
|
c682886e
|
2011-06-28T21:09:22
|
|
repo: Rename HEAD-related methods
|
|
ccd59372
|
2011-06-28T10:44:19
|
|
Merge pull request #279 from carlosmn/detached-orphan
Add detached and orphan convenience functions
|