Commit Graph

3381 Commits

Author SHA1 Message Date
Carlos Martín Nieto
074841ec6a repository: add a getter and remove function for git's prepared message
The 'git revert/cherry-pick/merge -n' commands leave .git/MERGE_MSG
behind so that git-commit can find it. As we don't yet support these
operations, users who are shelling out to let git perform these
operations haven't had a convenient way to get this message.

These functions allow the user to retrieve the message and remove it
when she's created the commit.
2012-08-01 18:39:20 +02:00
Ben Straub
8b67f72b9c Add documentation for clone methods. 2012-07-31 21:25:48 -07:00
Ben Straub
5f4d2f9f65 Checkout: fix problem with detached HEAD. 2012-07-31 19:49:19 -07:00
Ben Straub
5280f4e698 Add checkout.h to git2.h.
Also correcting some documentation strings.
2012-07-31 19:39:06 -07:00
Ben Straub
78cd966aaf Checkout: fix crlf tests under win32. 2012-07-31 16:24:04 -07:00
Ben Straub
e4bac3c469 Checkout: crlf filter. 2012-07-31 15:38:12 -07:00
Ben Straub
8e4aae1ae5 Checkout: handle file modes properly.
Global file mode override now works properly with
the file mode stored in the tree node.
2012-07-31 10:46:38 -07:00
Vicent Martí
2340b18102 Merge pull request #826 from carlosmn/config-find-error
git_config_find_* does not set a git error
2012-07-31 10:19:30 -07:00
Vicent Martí
0565e7bdc4 Merge pull request #837 from carlosmn/travis
travis: be more idiomatic with the environment
2012-07-31 10:17:22 -07:00
Vicent Martí
bfb5916468 Merge pull request #833 from carlosmn/odb-one
odb: allow creating an ODB backend from a packfile index
2012-07-31 10:16:21 -07:00
Ben Straub
3f584b5027 Try to fix Travis. 2012-07-31 09:01:11 -07:00
Ben Straub
383fb799ee Rename example function to avoid name collision. 2012-07-31 08:51:38 -07:00
Ben Straub
7e02c7c56a Checkout: save index on checkout. 2012-07-31 08:45:42 -07:00
Vicent Martí
577cd8aec1 Merge pull request #840 from carlosmn/remote-unify
Unify the transport code
2012-07-30 16:17:35 -07:00
Ben Straub
4bf5115642 Enable stats on git_index_read_tree.
Replace with the contents of 
git_index_read_tree_with_stats() and improve
documentation comments.
2012-07-30 15:48:06 -07:00
Ben Straub
84595a30c0 Add clone to the network example. 2012-07-30 14:38:32 -07:00
Ben Straub
f1587b97a1 Checkout: use git_index_read_tree_with_stats.
New variant of git_index_read_tree that fills in
the 'total' field of a git_indexer_stats struct
as it's walking the tree.
2012-07-30 14:37:40 -07:00
Carlos Martín Nieto
0048372a9a transport: rename encrypt to use_ssl
SSL isn't the only way that a transport can be encrypted. The new name
will make it easier to merge the SSH support.
2012-07-30 20:28:16 +02:00
Carlos Martín Nieto
3e3228b6d6 fetch: remove timeout code 2012-07-30 20:28:16 +02:00
Carlos Martín Nieto
8861d32f01 ssl: use the callback instead of ifs to determine how to get data
Using the callbacks makes it clearer and reduces the amount of #ifdefs
and ifs and we need in the code.
2012-07-30 20:28:16 +02:00
Carlos Martín Nieto
ae789622e4 examples: fix warnings in network/ 2012-07-30 20:28:16 +02:00
Carlos Martín Nieto
ad4b5beb50 transport: store the refs in a common area
Instad of each transport having its own function and logic to get to
its refs, store them directly in transport.

Leverage the new gitno_buffer to make the parsing and storing of the
refs use common code and get rid of the git_protocol struct.
2012-07-30 20:28:16 +02:00
Carlos Martín Nieto
b49c8f71ae remote: use the same code to control git and http
This allows us to add capabilitites to both at the same time, keeps
them in sync and removes a lot of code.

gitno_buffer now uses a callback to fill its buffer, allowing us to
use the same interface for git and http (which uses callbacks).
2012-07-30 20:28:16 +02:00
Carlos Martín Nieto
114dc6e14c network: implement multi_ack for the git transport 2012-07-30 20:28:16 +02:00
Carlos Martín Nieto
64d01de8a7 remote: start moving the protocol to a common area
For the transition, http is going to keep its own logic until the
git/common code catches up with the implied multi_ack that http
has. This also has the side-effect of making the code cleaner and more
correct regardingt he protocol.
2012-07-30 20:25:10 +02:00
Russell Belfer
50364dd892 Merge pull request #847 from schu/inline-oid-cmp
git_oid_cmp: inline memcmp by hand to optimize
2012-07-29 22:30:01 -07:00
Michael Schubert
f6b26e770f git_oid_cmp: inline memcmp by hand to optimize
git.git uses an inlined hashcmp function instead of memcmp, since it
performes much better when comparing hashes (most hashes compared
diverge within the first byte).

Measurements and rationale for the curious reader:
http://thread.gmane.org/gmane.comp.version-control.git/172286
2012-07-29 20:50:58 +02:00
Michael Schubert
6810ba089a Fix -Wuninitialized warning 2012-07-28 11:33:12 +02:00
Ben Straub
e0681f6d07 Checkout: disable file-mode test on win32. 2012-07-27 20:39:43 -07:00
Ben Straub
32beb2ecfe Fix testrepo ref count to include new branch. 2012-07-27 20:36:12 -07:00
Ben Straub
b31667fb69 Checkout: add head- and ref-centric checkouts.
Renamed git_checkout_index to what it really was,
and removed duplicate code from clone.c. Added
git_checkout_ref, which updates HEAD and hands off
to git_checkout_head.

Added tests for the options the caller can pass to
git_checkout_*.
2012-07-27 20:31:05 -07:00
Ben Straub
4d83399d35 Adjust for msvc pedantry. 2012-07-27 11:55:58 -07:00
Ben Straub
b494cdbdb2 Checkout: handle deeply-nested submodules better.
Now creating intermediate directories where the
submodule is deep, like "src/deps/foosubmodule".
2012-07-27 11:50:32 -07:00
Ben Straub
8a155a044b Fix mismatched git_branch_create args. 2012-07-27 11:49:34 -07:00
Ben Straub
7affe23db0 Use new git_remote_update_tips signature. 2012-07-27 11:23:44 -07:00
Ben Straub
a4827a5b5c Merge remote-tracking branch 'upstream/development' into test-merge 2012-07-27 11:17:21 -07:00
Ben Straub
15445f9ef7 Turn off network-dependent test for CI. 2012-07-27 11:14:30 -07:00
Vicent Martí
31637cd56a Merge pull request #839 from nulltoken/topic/odb-foreach-documentation
odb: add some documentation to the foreach() test
2012-07-27 11:09:04 -07:00
Vicent Martí
60d5cc5747 Merge pull request #834 from carlosmn/network-callbacks
Add a struct for network callbacks
2012-07-27 09:52:44 -07:00
Vicent Marti
f0244463ad branch: Add repository argument to create
Yes, we can get the repository from the owner of the object, but having
it marked explicitly makes the API more consistent.
2012-07-27 18:49:37 +02:00
Vicent Marti
b41a30bdbb Merge remote-tracking branch 'nulltoken/topic/branch-rework' into development 2012-07-27 18:45:55 +02:00
Vicent Marti
b84f75c357 reflog: Rename entry_drop to drop 2012-07-27 18:43:02 +02:00
Vicent Marti
43b67d496b Merge remote-tracking branch 'nulltoken/topic/reflog-delete' into development 2012-07-27 18:39:40 +02:00
Ben Straub
6eb240b0b4 Checkout: use caller's flags for open() 2012-07-26 19:09:37 -07:00
Carlos Martín Nieto
c0c390255a remote: fix C99-ism 2012-07-27 02:37:15 +02:00
Carlos Martín Nieto
581b6a8e90 Merge pull request #838 from scunz/remote_push_url
Add support for push-urls
2012-07-26 17:29:58 -07:00
Ben Straub
095ccc013f Checkout: implementation of most options 2012-07-26 16:31:49 -07:00
Russell Belfer
2031760c62 Fix git_tree_walk to return user error
This makes sure that an error code returned by the callback function
of `git_tree_walk` will stop the iteration and get propagated back
to the caller verbatim.

Also, this adds a minor helper function `git_tree_entry_byoid` that
searches a `git_tree` for an entry with the given OID.  This isn't
a fast function, but it's easier than writing the loop yourself as
an external user of the library.
2012-07-26 16:10:22 -07:00
Sascha Cunz
eff5b49927 Remotes: Use correct url in git_remote_connect 2012-07-27 00:08:56 +02:00
Sascha Cunz
413d556384 Remotes: Save a cleaned pushurl (by deleting it from the config) 2012-07-27 00:08:54 +02:00