Commit Graph

1125 Commits

Author SHA1 Message Date
Carlos Martín Nieto
cd19ca9584 Squelch a couple of warnings
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-10-01 20:16:13 +02:00
Carlos Martín Nieto
9ac581bf7f config: behave like git with [section.subsection]
The documentation is a bit misleading. The subsection name is always
case-sensitive, but with a [section.subsection] header, the subsection
is transformed to lowercase when the configuration is parsed.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-10-01 19:58:26 +02:00
Carlos Martín Nieto
92be7908bd indexer: return immediately if passed a NULL value
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-10-01 14:46:30 +02:00
Carlos Martín Nieto
922bc22532 pkt: send all of the wants in the negotiation
A missing if caused the function to return after the first want line
without capabilities.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-10-01 14:34:51 +02:00
Carlos Martín Nieto
7ad994bb60 transport-git: fix git request length calculation
There was an off-by-one error that was uncovered when we used the
right length from git_buf.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-10-01 13:46:35 +02:00
Vicent Marti
10063aeb41 transport-git: Encapsulation ist gut 2011-10-01 13:10:29 +02:00
Vicent Marti
657ce4b5b6 http-transport: Properly cleanup the WSA context 2011-10-01 13:03:19 +02:00
Vicent Marti
1e5b263577 http-transport: Update copyright 2011-10-01 12:58:17 +02:00
Carlos Martín Nieto
bad53552e5 netops: abstract away socket closing
Winsock wants us to use closesocket() instead of close(), so introduce
the gitno_close function, which does the right thing.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-10-01 00:41:09 +02:00
Carlos Martín Nieto
a28889198c local transport: don't segfault on wrong URL
memset the structure on initialisation and don't try to dereference
the vector with the heads if we didn't find a repository.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-10-01 00:41:09 +02:00
Carlos Martín Nieto
ccc9872d4d Initialise the winsock DLL
Windows wants us to initialise the networking DLL before we're allowed
to send data through a socket. Call WSASetup and WSACleanup if
GIT_WIN32 is defined.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-10-01 00:41:08 +02:00
Carlos Martín Nieto
a95aeb489f Use git_buf in the git request
This is clearer and sidesteps the issue of what the return value of
snprintf is on the particular OS we're running on.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-10-01 00:41:08 +02:00
Vicent Marti
fafd471021 config: Proper type declarations for 64 bit ints 2011-09-30 16:08:41 +02:00
Carlos Martín Nieto
358a15fd65 config: fix check for environment string expansion
If ExpandEnvironmentStringsW is successful, it returns the amount of
characters written, including the NUL terminator.

Thanks to Emeric for reading the MSDN documentation correctly.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-09-30 15:46:49 +02:00
schu
472fa08f4e refs.c: fix reference_rename
6c8b458 removed an "unused" variable needed for git_hashtable_insert2(),
causing a segfault in reference_rename(). Instead, use
git_hashtable_insert().

Signed-off-by: schu <schu-github@schulog.org>
2011-09-30 10:39:33 +02:00
Vicent Marti
6c8b458dcc mingw: Fix compilation warnings 2011-09-29 17:04:45 +02:00
Vicent Marti
6e34111e13 netops: Use pragmas only in MSVC 2011-09-29 16:30:38 +02:00
Vicent Marti
356f11feea index: Silence type-punned warning 2011-09-29 16:28:00 +02:00
Vicent Marti
780bea6e26 mingw: Fix printf identifiers 2011-09-29 16:23:24 +02:00
Vicent Marti
c103d7b4b7 odb: Pass compression settings to filebuf 2011-09-29 15:49:28 +02:00
Vicent Marti
8af4d074cc odb: Let users decide compression level for the loose ODB 2011-09-29 15:34:17 +02:00
Vicent Marti
72bdfdbc7c http-parser: Disable MSVC warnings locally 2011-09-29 15:25:22 +02:00
Vicent Marti
5888860d2a msvc: Disable warnings in header file
Remove clutter from the CMakeLists file by disabling the warnings
programatically.
2011-09-28 23:49:55 +02:00
Carlos Martín Nieto
a5b0e7f8bc Really fix MSVC
These was left over from the previous PRs.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-09-27 20:08:15 +02:00
Carlos Martín Nieto
887eaf4dc9 Fix dev branch under MSVC
In libgit2: Move an enum out of an int bitfield in the HTTP transport.

In the parser: Use int bitfields and change some variable sizes to
better fit thir use. Variables that count the size of the data chunk
can only ever be as large as off_t. Warning 4127 can be ignored, as
nobody takes it seriously anyway.

From Emeric: change some variable declarations to keep MSVC happy.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-09-27 15:02:36 +02:00
Carlos Martín Nieto
40fe5fbea8 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>
2011-09-27 14:40:56 +02:00
Carlos Martín Nieto
4c562347ae 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>
2011-09-27 14:39:38 +02:00
Vicent Marti
8e9bfa4cf0 tree: Fix check for valid attributes 2011-09-27 14:33:19 +02:00
Vicent Marti
9ef9e8c3ad tree: Use an internal append functiont to add new entries 2011-09-27 14:33:18 +02:00
Carlos Martín Nieto
8255c69b10 Make use of the tree cache
Taking advantage of the tree cache, git_tree_create_fromindex becomes
comparable in speed to git write-tree when the cache is available.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-09-27 14:33:18 +02:00
Carlos Martín Nieto
3ba69ba8a4 Add git_tree_cache_get
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-09-27 14:33:18 +02:00
Carlos Martín Nieto
b419fe2d8c Invalidate the path when removing from the index
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-09-27 14:33:18 +02:00
Carlos Martín Nieto
e23ede0de5 index: invalidate added paths
When a file is updated in the index, it's path needs to be invalidated
in the tree cache as the hash is no longer correct.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-09-27 14:33:18 +02:00
Carlos Martín Nieto
69bffab969 Add git_tree_cache_invalidate_path
Whenever a file is updated in the index, each tree leading towards it
needs to be invalidated. Provide the supporting function.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-09-27 14:33:18 +02:00
Carlos Martín Nieto
acd31b4ad6 tree cache: correctly handle invalidated trees
The fix introduced in a02fc2cd1 (2011-05-24; index: correctly parse
invalidated TREE extensions) threw out the rest of the data in the
extension if it found an invalidated entry. This was the result of
incorrect reading of the documentation.

Insted, keep reading the extension, as there may be cached data we can
use.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-09-27 14:33:18 +02:00
Carlos Martín Nieto
b183ffe77e Make tree cache name a flex-array
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-09-27 14:33:18 +02:00
Carlos Martín Nieto
b41713206b Move the tree cache functions to their own file
Rename git_index_tree to git_tree_cache.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-09-27 14:33:18 +02:00
Vicent Marti
01d7fded1b Revert "Rewrite getenv to use Win32 version on Windows"
This reverts commit e1b8644467.
2011-09-27 14:33:18 +02:00
Carlos Martín Nieto
dd44887ac6 Implment p_access and use it in git_fileutils_exists
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-09-23 00:00:05 +02:00
Vicent Martí
01ab592b82 Merge pull request #421 from nulltoken/ntk/fix/config-get-set-long
config: make git_config_[get|set]_long() able to properly deal with 8 bytes wide values
2011-09-22 10:28:05 -07:00
Vicent Martí
8114ee4c95 Merge pull request #405 from carlosmn/http-ls
Implement ls-remote over HTTP
2011-09-22 10:17:43 -07:00
nulltoken
ad196c6ae6 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>
2011-09-22 18:58:47 +02:00
Carlos Martín Nieto
4ee8418a08 http: get rid of the global state
Move the header parsing state into the transport, making use of the
existing bitfield.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-09-21 22:14:09 +02:00
Paul Betts
e1b8644467 Rewrite getenv to use Win32 version on Windows 2011-09-21 12:00:34 -07:00
Vicent Marti
e3ecf7e9ab Do not have duplicate filenames
Two `posix.c` files may or may not break MSVC builds under 2008. Do not
have repeated objects.

You will need to clean & regenerate CMake.
2011-09-21 14:09:56 +03:00
Vicent Martí
805dc2a088 Merge pull request #415 from schu/ref-rename-regression
refs: fix git_reference_rename()
2011-09-20 15:52:16 -07:00
Vicent Martí
4e52d34026 Merge pull request #413 from libgit2/utf8-paths-win32
Rewrite p_* functions to use Unicode and marshal to UTF8 internally, take 2
2011-09-20 15:38:10 -07:00
Vicent Martí
b6dcc2ebc9 Merge pull request #414 from carlosmn/repo-discover-short
repsitory: use better error code if path is too short for discover
2011-09-20 15:37:55 -07:00
Vicent Marti
9457a36ca0 Merge branch 'development' of github.com:libgit2/libgit2 into development 2011-09-21 01:10:11 +03:00
schu
93fdbe000c refs: fix git_reference_rename()
reference_rename() recently failed when renaming an existing reference
refs/heads/foo/bar -> refs/heads/foo because of a change in the
underlying functions / error codes. Fixes #412.

Signed-off-by: schu <schu-github@schulog.org>
2011-09-20 11:56:21 +02:00