Vicent Marti
678e9e045b
build: Move OS-specific compat to their own folders
2011-07-03 13:33:43 +02:00
Kirill A. Shutemov
932d1baf29
cleanup: remove trailing spaces
...
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
2011-07-01 18:02:56 +02:00
Tim Harder
1f4f4d1704
cmake: Use system zlib if found on non-Windows systems
2011-07-01 17:41:46 +02:00
Vicent Marti
ec62685345
zlib: Declare preprocessor directives at build time
2011-07-01 17:34:27 +02:00
Vicent Marti
17d523041d
build: Simplify build structure
...
This will make libgit2 more suitable for embedding.
2011-07-01 17:26:23 +02:00
Vicent Marti
b2cef77ccf
common: Force 64 bit fileops at compile time
2011-06-30 22:28:19 +02:00
Vicent Marti
8a0620030c
zlib: No visualization attributes.
...
The visibility attribute is a headache on many platforms like Solaris,
and not even supported on Windows.
2011-06-30 22:28:19 +02:00
Vicent Marti
637edc9c42
refs: Remove bogus assertion
...
The assertion in line 360 was there to check that only loose refs were
being written as loose, but there are times when we need to re-write a
packed reference as loose.
2011-06-30 22:28:19 +02:00
Vicent Marti
e0fc39da9a
config: Fix unmatched parameters in docs
2011-06-30 22:28:19 +02:00
Vicent Martí
1f61e301be
Merge pull request #287 from kiryl/development
...
filebuf: fix endless loop on writing buf > WRITE_BUFFER_SIZE
2011-06-30 07:12:42 -07:00
Vicent Martí
02bc2d2f27
Merge pull request #288 from nulltoken/patch-4
...
GIT_EXTERN'd head_detached() and head_orphan()
2011-06-30 07:11:04 -07:00
nulltoken
408d733b1f
repository: Make head_detached() and head_orphan() convenience methods accessible to bindings
2011-06-30 06:56:58 -07:00
Kirill A. Shutemov
fe5babacd6
filebuf: fix endless loop on writing buf > WRITE_BUFFER_SIZE
...
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
2011-06-30 16:19:19 +03:00
Vicent Martí
2dfc08875a
Merge pull request #284 from nulltoken/topic/hide-git-dir
...
Hide ".git" directory on Windows upon creation of a non bare repository
2011-06-29 12:14:29 -07:00
nulltoken
6ac91dfe52
Hide ".git" directory on Windows upon creation of a non bare repository
...
Directory which name starts with a dot are hidden on Linux platforms. This patch makes libgit2 behaves similarly on Windows.
2011-06-29 19:22:24 +02:00
Vicent Marti
cfef5fb779
config: foreach
now returns variable values too
2011-06-29 15:09:21 +02:00
Vicent Marti
7376ad9927
refs: Remove duplicate rename method
...
`git_reference_rename` now takes a `force` flag
2011-06-29 11:01:35 +02:00
Carlos Martín Nieto
5f25149e46
sig: allow empty names
...
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-28 22:04:27 +02:00
Vicent Marti
0f489fb211
repo: Fix git_repository_is_empty
2011-06-28 21:30:38 +02:00
Vicent Marti
ab7941b5d9
test: Properly show error messages
2011-06-28 21:10:51 +02:00
Vicent Marti
5cf1f909e4
test: Print last error message properly
2011-06-28 21:10:49 +02:00
Vicent Marti
c682886e8e
repo: Rename HEAD-related methods
2011-06-28 21:10:44 +02:00
Vicent Marti
e053c911cf
commit: Allow spaces inside email addresses
...
Core Git doesn't care when people use spaces in the email address, even
though this kind of foolery receives the capital punishment in several
states of the USA.
We must obey.
2011-06-28 19:52:41 +02:00
Vicent Martí
ccd59372d4
Merge pull request #279 from carlosmn/detached-orphan
...
Add detached and orphan convenience functions
2011-06-28 10:44:19 -07:00
Vicent Marti
9525e47df9
refs: Remove unused declarations
2011-06-28 19:43:36 +02:00
Vicent Martí
2fb520f19a
Merge pull request #277 from schu/sign-compare
...
Fix warning: signed and unsigned type in cond expr
2011-06-28 10:39:07 -07:00
Vicent Marti
d5afc0390c
Remove redundant methods from the API
...
A bunch of redundant methods have been removed from the external API.
- All the reference/tag creation methods with `_f` are gone. The force
flag is now passed as an argument to the normal create methods.
- All the different commit creation methods are gone; commit creation
now always requires a `git_commit` pointer for parents and a `git_tree`
pointer for tree, to ensure that corrupted commits cannot be generated.
- All the different tag creation methods are gone; tag creation now
always requires a `git_object` pointer to ensure that tags are not
created to inexisting objects.
2011-06-28 19:36:27 +02:00
Carlos Martín Nieto
f5e09d6080
Add tests for detached and orphan
...
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-28 16:59:51 +02:00
Carlos Martín Nieto
35502d2ec4
Add git_repository_is_detached, git_repository_is_orphan
...
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-28 16:59:51 +02:00
Carlos Martín Nieto
0ac2726fdf
Slim down git_transport
...
Remove the unused repo and private pointers and make the direction a
flag, as it can only have two states. Change the connect signature to
use an int instead of git_net_direction and remove that enum.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-27 20:23:47 +02:00
Carlos Martín Nieto
5da5321d17
Initialize memory in git transport
...
At the same time, do mark the transport as connected.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-27 20:02:05 +02:00
schu
7b608b3b96
git_blob_create_fromfile: remove old code
...
Remove call of gitfo_size, since we call gitfo_lstat anyway; remove some
old workaround code for gitfo_read, which is obsolete now.
Signed-off-by: schu <schu-github@schulog.org>
2011-06-27 12:37:46 +02:00
Carlos Martín Nieto
9ba49bb5c8
Add git_remote_connect and git_remote_ls
...
These allow you to implement git-ls-remote when given a reference name
and a repository.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-27 02:12:40 +02:00
Carlos Martín Nieto
c7c787ce0c
Use gitno_buffer in the git transport
...
This allows us to leave out the buffer handling logic.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-27 02:09:49 +02:00
Carlos Martín Nieto
ea7a5452f4
Add gitno_buffer as a recv wrapper
...
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-27 02:09:49 +02:00
Carlos Martín Nieto
ce90a407c7
Remove the repo param from git_transport_new
...
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 20:48:01 +02:00
Carlos Martín Nieto
4e913309b9
Move transports to an inheritance model
...
Rather than an 'private' pointer, make the private structures inherit
from the generic git_transport struct. This way, we only have to worry
about one memory allocation instead of two. The structures are so
simple that this may even make the code use less memory overall.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 20:43:45 +02:00
Carlos Martín Nieto
0a9a38e539
local transport: keep better track of memory
...
Store the ref information in a private struct so we can free it
together with the rest.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 20:43:44 +02:00
Carlos Martín Nieto
7e305056d8
local transport: sort the refs before resolving them
...
By pre-sorting the references, they are already in the right order if
we want to peel them.
With this, we get output-parity with git.git's ls-remote.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 20:43:44 +02:00
Carlos Martín Nieto
fd6790210f
Move git_pkt_{gen_proto,send_request} to transport_git.c
...
This is where they really belong. Remvoe the prefix and make them
static.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 20:43:44 +02:00
Carlos Martín Nieto
cbf742ac4e
Use (s)size_t
...
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 20:43:44 +02:00
Carlos Martín Nieto
c4d0fa85b1
Implement and use git_pkt_send_request
...
This makes it easier to send a requqest for an URL. It assumes there
is a socket where the string should go out to.
Make git_pkt_gen_proto accept a command parameter, which defaults to
git-upload-pack
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 20:43:44 +02:00
Carlos Martín Nieto
4e95ef0268
Implement and use gitno_send
2011-06-26 20:43:44 +02:00
Carlos Martín Nieto
1b4f814025
Create netops and start moving git:// to it
...
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 20:43:44 +02:00
Carlos Martín Nieto
7632e2494a
Correctly handle network input
...
Add a parameter to git_pkt_parse_line to tell it how much data you
have in your buffer. If the buffer is too short, it returns an error
saying so. Adapt the git transport to use this and fix the offset
calculation.
Add the GIT_ESHORTBUFFER error code.
2011-06-26 20:43:44 +02:00
Carlos Martín Nieto
be9fe679fc
Implement and use git_pkt_free
...
A git_pkt object can be one of several structs. Add this function for
convenience and clarity.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:13 +02:00
Carlos Martín Nieto
ecb6ca0e1f
Implement the git TCP transport up to ls-remote
...
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:13 +02:00
Carlos Martín Nieto
6a9597c5b5
Add function to generate a request
...
Add git_pkt_gen_proto to crete a request from an url.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:12 +02:00
Carlos Martín Nieto
8b9e8de5ce
pkt-line: read capabilities
...
Try to read the server capabilities and add them to the git_pkt_ref
struct.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:12 +02:00
Carlos Martín Nieto
b31803f310
pkt-line: parse other-ref lines
...
Add support for parsing other-ref lines.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:12 +02:00