summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add bounds checking to UTF-8 conversionutf8-winVicent Marti2012-08-287-67/+42
|
* windows: Keep UTF-8 on the stack yoVicent Marti2012-08-286-236/+74
|
* UTF-8 changes yoVicent Martí2012-08-281-0/+92
|
* Merge pull request #905 from carlosmn/signature-nowVicent Martí2012-08-281-10/+12
|\ | | | | signature: make the OS give us the offset for git_signature_now
| * signature: make the OS give us the offset for git_signature_nowCarlos Martín Nieto2012-08-281-10/+12
| | | | | | | | | | | | There is a better and less fragile way to calculate time offsets. Let the OS take care of dealing with DST and simply take the the offset between the local time and UTC that it gives us.
* | Fix parentheses warningMichael Schubert2012-08-281-1/+2
|/
* ssl: make cert check ignore work for invalid certs, not just CNsCarlos Martín Nieto2012-08-281-2/+6
| | | | | | | | | | | Passing SSL_VERIFY_PEER makes OpenSSL shut down the connection if the certificate is invalid, without giving us a chance to ignore that error. Pass SSL_VERIFY_NONE and call SSL_get_verify_result if the user wanted us to check. When no CNs match, we used to jump to on_error which gave a bogus error as that's for OpenSSL errors. Jump to cert_fail so we tell the user that the error came from checking the certificate.
* Merge branch 'branch-delete-ref' into developmentVicent Marti2012-08-273-17/+23
|\ | | | | | | | | Conflicts: include/git2/refs.h
| * branch: Change `git_branch_delete` to take a refbranch-delete-refVicent Marti2012-08-262-17/+21
| |
| * posix: Always set a default mapping modeVicent Marti2012-08-261-0/+2
| |
* | Merge pull request #904 from arrbee/better-object-peelVicent Martí2012-08-273-66/+32
|\ \ | | | | | | Make git_object_peel a bit smarter
| * | Make git_object_peel a bit smarterRussell Belfer2012-08-273-66/+32
| |/ | | | | | | | | | | | | | | | | | | | | This expands the types of peeling that `git_object_peel` knows how to do to include TAG -> BLOB peeling, and makes the errors slightly more consistent depending on the situation. It also adds a new special behavior where peeling to ANY will peel until the object type changes (e.g. chases TAGs to a non-TAG). Using this expanded peeling, this replaces peeling code that was embedded in `git_tag_peel` and `git_reset`.
* | Merge pull request #897 from nulltoken/topic/git_reference_check_formatVicent Martí2012-08-271-38/+70
|\ \ | | | | | | refs: expose git_reference_normalize_name()
| * | refs: expose git_reference_normalize_name()nulltoken2012-08-271-38/+70
| | |
* | | Merge pull request #899 from schu/revwalk-pushVicent Martí2012-08-271-6/+14
|\ \ \ | | | | | | | | revwalk: refuse push of non-commit objects
| * | | revwalk: refuse push of non-commit objectsMichael Schubert2012-08-271-6/+14
| | |/ | |/| | | | | | | | | | Check the type of the pushed object immediately instead of starting the walk and failing in between.
* | | Merge pull request #903 from nulltoken/topic/peeling-duplicationRussell Belfer2012-08-271-25/+3
|\ \ \ | |/ / |/| | branch: reduce code duplication
| * | branch: reduce code duplicationnulltoken2012-08-271-25/+3
| |/
* | indexer: kill git_indexer_stats.data_receivedCarlos Martín Nieto2012-08-262-18/+4
| | | | | | | | | | | | | | It's not really needed with the current code as we have EOS and the sideband's flush to tell us we're done. Keep the distinction between processed and received objects.
* | http: increase buffer side to deal with side-band-64kCarlos Martín Nieto2012-08-251-1/+1
| | | | | | | | This poor transport was forgotten in the recent sideband support.
* | indexer: don't segfault when freeing an unused indexerCarlos Martín Nieto2012-08-251-3/+5
| | | | | | | | | | Make sure that idx->pack isn't NULL before trying to free resources under it.
* | Merge pull request #896 from ben/revparse-ambiguousVicent Martí2012-08-251-3/+0
|\ \ | | | | | | Revparse: GIT_EAMBIGUOUS
| * | Revparse: GIT_EAMBIGUOUSBen Straub2012-08-251-3/+0
| | | | | | | | | | | | Revparse now returns EAMBIGUOUS if the the spec doesn't match any refs/tags, and is <4 characters.
* | | Merge pull request #895 from carlosmn/sidebandVicent Martí2012-08-249-13/+169
|\ \ \ | | | | | | | | Add sideband support
| * | | network: add sideband supportCarlos Martín Nieto2012-08-248-12/+155
| | | | | | | | | | | | | | | | | | | | This lets us notify the user of what the remote end is doing while we wait for it to start sending us the packfile.
| * | | indexer: recognize and mark when all of the packfile has been downloadedCarlos Martín Nieto2012-08-242-2/+15
| | | | | | | | | | | | | | | | | | | | We can't always rely on the network telling us when the download is finished. Recognize it from the indexer itself.
* | | | Merge pull request #852 from arrbee/submodule-extensionsVicent Martí2012-08-2412-241/+1485
|\ \ \ \ | | | | | | | | | | Submodule extensions
| * | | | Fix valgrind warnings and spurious error messagesRussell Belfer2012-08-244-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just clean up valgrind warnings about uninitialized memory and also clear out errno in some cases where it results in a false error message being generated at a later point.
| * | | | Working implementation of git_submodule_statusRussell Belfer2012-08-245-210/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a big redesign of the git_submodule_status API and the implementation of the redesigned API. It also fixes a number of bugs that I found in other parts of the submodule API while writing the tests for the status part. This also fixes a couple of bugs in the iterators that had not been noticed before - one with iterating when there is a gitlink (i.e. separate-work-dir) and one where I was treating anything even vaguely submodule-like as a submodule, more aggressively than core git does.
| * | | | Fix valgrind issues and leaksRussell Belfer2012-08-244-128/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes up a number of problems flagged by valgrind and also cleans up the internal `git_submodule` allocation handling overall with a simpler model.
| * | | | Major submodule rewriteRussell Belfer2012-08-245-144/+1351
| | | | | | | | | | | | | | | | | | | | | | | | | This replaces the old submodule API with a new extended API that supports most of the things that can be done with `git submodule`.
* | | | | Support new config locationsRussell Belfer2012-08-244-11/+24
| | | | | | | | | | | | | | | | | | | | | | | | | As of git v1.7.12, $HOME/.config/git/ is supported as a new location for "config", "attributes", and "ignore" files.
* | | | | Fix memory leak in cp_rRussell Belfer2012-08-241-0/+1
| |_|_|/ |/| | |
* | | | Fix crash with adding internal ignoresRussell Belfer2012-08-241-8/+12
|/ / / | | | | | | | | | | | | | | | Depending on what you had done before adding new items to the internal ignores list, it was possible for the cache of ignore data to be uninitialized.
* | | Fix errors on Win32 with new repo initRussell Belfer2012-08-242-5/+8
|/ /
* | Fix warnings and merge issues on Win64Russell Belfer2012-08-234-30/+10
| |
* | Some cleanup suggested during reviewRussell Belfer2012-08-225-40/+16
| | | | | | | | | | | | | | | | | | | | This cleans up a number of items suggested during code review with @vmg, including: * renaming "outside repo" config API to `git_config_open_default` * killing the `git_config_open_global` API * removing the `git_` prefix from the static functions in fileops * removing some unnecessary functionality from the "cp" command
* | fix missing validation and type cast warningRussell Belfer2012-08-221-1/+4
| |
* | Add template dir and set gid to repo initRussell Belfer2012-08-2211-166/+594
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This extends git_repository_init_ext further with support for initializing the repository from an external template directory and with support for the "create shared" type flags that make a set GID repository directory. This also adds tests for much of the new functionality to the existing `repo/init.c` test suite. Also, this adds a bunch of new utility functions including a very general purpose `git_futils_mkdir` (with the ability to make paths and to chmod the paths post-creation) and a file tree copying function `git_futils_cp_r`. Also, this includes some new path functions that were useful to keep the code simple.
* | Add git_repository_init_ext for power inittersRussell Belfer2012-08-225-137/+398
|/ | | | | | | The extended version of repository init adds support for many of the things that you can do with `git init` and sets up structures that will make it easier to extend further in the future.
* Minor bug fixes in diff codeRussell Belfer2012-08-222-2/+4
| | | | | | | In looking at PR #878, I found a few small bugs in the diff code, mostly related to work that can be avoided when processing tree- to-tree diffs that was always being carried out. This commit has some small fixes in it.
* Merge pull request #891 from arrbee/internal-ignore-apiVicent Martí2012-08-224-9/+61
|\ | | | | API for managing in-memory ignore rules
| * Wrap up ignore API and add testsRussell Belfer2012-08-222-9/+18
| | | | | | | | This fills out the ignore API and adds tests.
| * Add public API for internal ignoresRussell Belfer2012-08-213-0/+43
| | | | | | | | | | | | | | This creates a public API for adding to the internal ignores list, which already existing but was not accessible. This adds the new default value for core.excludesfile also.
* | tree entry: rename git_tree_entry_attributes() into git_tree_entry_filemode()nulltoken2012-08-213-5/+5
| |
* | filemode: deploy enum usagenulltoken2012-08-213-23/+33
|/
* Merge pull request #884 from carlosmn/global-windowsVicent Martí2012-08-204-14/+44
|\ | | | | Make the memory-window conrol structures global
| * Make the memory-window conrol structures globalCarlos Martín Nieto2012-08-204-14/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | Up to now, the idea was that the user would do all the operations for one repository in the same thread. Thus we could have the memory-mapped window information thread-local and avoid any locking. This is not practical in a few environments, such as Apple's GCD which allocates threads arbitrarily or the .NET CLR, where the OS-level thread can change at any moment. Make the control structure global and protect it with a mutex so we don't depend on the thread currently executing the code.
* | treebuilder: enhance attributes handling on insertionnulltoken2012-08-191-4/+26
| |
* | Merge pull request #778 from ben/cloneVicent Martí2012-08-1914-21/+767
|\ \ | |/ |/| Clone