Commit Graph

2572 Commits

Author SHA1 Message Date
Philip Kelley
27fe6efe85 Fix git_index sorting with core.ignorecase in git_index_read 2013-01-04 13:48:08 -05:00
Vicent Martí
686a243a73 Merge pull request #1184 from ethomson/mergehead_iterator
MERGE_HEAD contents iterator
2013-01-04 08:36:13 -08:00
Philip Kelley
37955f5401 Merge pull request #1183 from congyiwu/push_delete_fix
Fix bug in gen_pktline() for deletes of missing remote refs
2013-01-04 07:33:31 -08:00
Edward Thomson
42e50b5ed1 MERGE_HEAD contents iterator 2013-01-03 16:35:59 -06:00
Martin Woodward
1c5b3a4185 Give proper license notice to code from Android
The usage of the Android derrived code contains a full notice
which must be provided with the source code as per the terms
given at:
https://android.googlesource.com/platform/bionic/+/android-4.0.3_r1.1/libc/bionic/dirname_r.c
2013-01-03 22:28:59 +00:00
Martin Woodward
0470f8fc9d Add full license notice to bsearch code
The original BSD glibc code contains the notice as given at
http://opensource.apple.com/source/gcc/gcc-5666.3/libiberty/bsearch.c
and should be given in full along with the code.
2013-01-03 22:24:10 +00:00
Congyi Wu
4128f5aa31 Fix bug in gen_pktline() for deletes of missing remote refs
* gen_pktline() in smart_protocol.c was skipping refspecs that deleted
  refs that were not advertised by the server.  The new behavior is to
  send a delete command with an old-id of zero, which matches the behavior
  of the official git client.
* Update test_network_push__delete() in reaction to above fix.
* Obviate messy logic that handles missing push_spec rrefs by canonicalizing
  push_spec.  After calculate_work(), loid, roid, and rref, are filled in with
  exactly what is sent to the server
2013-01-03 17:19:55 -05:00
Martin Woodward
9a919301c6 Add Apache license header back to libpqueue files
The original libpqueue file were licensed under Apache 2.0 so
therefore should retain their copyrights and header as per the
license terms at http://www.apache.org/licenses/LICENSE-2.0
2013-01-03 22:16:37 +00:00
Edward Thomson
ad2bc32fa3 expose merge metadata cleanup 2013-01-03 15:53:50 -06:00
Vicent Martí
07871d3adc Merge pull request #1181 from nvloff/allow_note_overwrite
Allow note overwrite
2013-01-03 07:43:27 -08:00
Nikolai Vladimirov
8716b499e2 add option to allow git note overwrite 2013-01-03 16:31:36 +02:00
Philip Kelley
0db4cd04ef Fix git__strncasecmp 2013-01-03 08:45:09 -05:00
Nikolai Vladimirov
4a44087ae7 notes.c - whitespace fix 2013-01-03 15:43:51 +02:00
Vicent Martí
cd5ca5b97f Merge pull request #1152 from ben/clone-api-structification
Segregate in-memory and persisted remotes
2013-01-02 13:50:41 -08:00
Ben Straub
730df6d0f7 Include checkout options inline 2013-01-02 13:43:54 -08:00
Ben Straub
c07b52df1b Remove inmem flag, use NULL name instead 2013-01-02 12:48:17 -08:00
Ben Straub
0642c1431e Move url to last place in parameter list 2013-01-02 12:44:47 -08:00
Michael Schubert
2e40c616c7 path: ifdef GIT_WIN32 looks_like_network_computer_name() 2013-01-02 16:28:08 +01:00
Russell Belfer
3865f7f661 Invalid ref name normalization leaked memory
When normalizing a reference name, if there is an error because
the name is invalid, then the memory allocated for storing the
name could be leaked if the caller was not careful and assumed
that the error return code meant that no allocation had occurred.

This fixes that by explicitly deallocating the reference name
buffer if there is an error in normalizing the name.
2012-12-27 23:23:12 -08:00
Russell Belfer
f616a36bdd Make spoolandsort a pushable iterator behavior
An earlier change to `git_diff_from_iterators` introduced a
memory leak where the allocated spoolandsort iterator was not
returned to the caller and thus not freed.

One proposal changes all iterator APIs to use git_iterator** so
we can reallocate the iterator at will, but that seems unexpected.
This commit makes it so that an iterator can be changed in place.
The callbacks are isolated in a separate structure and a pointer
to that structure can be reassigned by the spoolandsort extension.

This means that spoolandsort doesn't create a new iterator; it
just allocates a new block of callbacks (along with space for its
own extra data) and swaps that into the iterator.

Additionally, since spoolandsort is only needed to switch the
case sensitivity of an iterator, this simplifies the API to only
take the ignore_case boolean and to be a no-op if the iterator
already matches the requested case sensitivity.
2012-12-27 22:25:52 -08:00
Ben Straub
592f466c48 Fix GCC static/non-static compile error 2012-12-27 11:11:53 -08:00
nulltoken
50a762a563 path: Teach UNC paths to git_path_dirname_r()
Fix libgit2/libgit2sharp#256
2012-12-26 23:07:25 +01:00
nulltoken
f19304d265 remote: Prevent create() from blindly overwriting 2012-12-24 18:18:31 +01:00
nulltoken
7d4b65f608 Fix indentations 2012-12-24 16:54:27 +01:00
Michael Schubert
7382551ff7 Fix -Wmaybe-uninitialized warning 2012-12-22 16:29:59 +01:00
Vicent Martí
2052e3c071 Merge pull request #1163 from barrbrain/check-exists-before-write
odb: check if object exists before writing
2012-12-21 10:32:23 -08:00
Ben Straub
79000951ec In-memory remotes don't have names 2012-12-21 08:05:59 -08:00
David Michael Barr
4d185dd9b0 odb: check if object exists before writing
Update the procondition of git_odb_backend::write.
It may now be assumed that the object has already been hashed.
2012-12-21 13:05:20 +11:00
Ben Straub
87bc689fbf git_remote_create calls git_remote_save 2012-12-20 15:50:33 -08:00
Ben Straub
874dcb25eb Remote: deprecate dangling, prevent saving in-memory 2012-12-20 12:01:13 -08:00
Ben Straub
29f27599ea Rename remote creation APIs
git_remote_add -> git_remote_create
git_remote_new -> git_remote_create_inmemory
2012-12-20 10:52:57 -08:00
Ben Straub
00998a12ca Initialize variable 2012-12-19 17:02:06 -08:00
Ben Straub
621b50e4d5 Clone: trust but verify 2012-12-19 17:02:06 -08:00
Ben Straub
b412d56389 Add more clone options. Push test suite segfaults. 2012-12-19 17:02:06 -08:00
Edward Thomson
7fcec83428 fetchhead reading/iterating 2012-12-19 16:57:30 -06:00
Vicent Martí
5c3c86b06e Merge pull request #1150 from schu/fix-netops-ssl
netops: on SSL teardown only send shutdown alert
2012-12-19 13:43:50 -08:00
Vicent Marti
08a325a321 reflog: Actual error handling 2012-12-19 12:52:14 +01:00
Vicent Marti
8a810441a2 reflog: Rename error handling 2012-12-19 12:48:12 +01:00
Rick Bradley
9ec50c25a8 Make goto cleanup more consistent
There may be some question about whether this is likely to be needed
at all, but that's above my head at the moment.
2012-12-18 18:15:21 -06:00
Rick Bradley
3a6420f378 don't deref before we've asserted
just sayin'.
2012-12-18 17:46:18 -06:00
Rick Bradley
ed4e887d1a Also, whitespace.
I was totally flaunting @ben's 3-space tab advice.
2012-12-18 16:09:57 -06:00
Rick Bradley
33f169e24e Improve comment text
This looked wrong to me.  I *think* this is more appropriate
commentary.
2012-12-18 16:07:18 -06:00
Vicent Martí
e62171e2fc Merge pull request #1151 from arrbee/fix-diff-constructor-names
Fix diff constructor names
2012-12-17 11:10:25 -08:00
Russell Belfer
56c72b759c Fix diff constructor name order confusion
The diff constructor functions had some confusing names, where the
"old" side of the diff was coming after the "new" side.  This
reverses the order in the function name to make it less confusing.

Specifically...

* git_diff_index_to_tree becomes git_diff_tree_to_index
* git_diff_workdir_to_index becomes git_diff_index_to_workdir
* git_diff_workdir_to_tree becomes git_diff_tree_to_workdir
2012-12-17 11:00:53 -08:00
Michael Schubert
f2b00cbdf6 netops: on SSL teardown only send shutdown alert
According to man 3 SSL_shutdown / TLS, "If a unidirectional shutdown is
enough (the underlying connection shall be closed anyway), this first
call to SSL_shutdown() is sufficient."

Currently, an unidirectional shutdown is enough, since
gitno_ssl_teardown is called by gitno_close only. Do so to avoid further
errors (by misbehaving peers for example).

Fixes #1129.
2012-12-17 19:46:27 +01:00
Michael Schubert
9c8dbc8893 netops: properly handle GITNO_CONNECT_SSL_NO_CHECK_CERT
Don't return an error just because GITNO_CONNECT_SSL_NO_CHECK_CERT is
set.
2012-12-17 19:32:15 +01:00
Vicent Martí
0d10e79dd9 Merge pull request #1149 from nulltoken/topic/blob_isbinary
Introduce git_blob_is_binary()
2012-12-17 10:13:36 -08:00
nulltoken
a3337f10bb blob: introduce git_blob_is_binary() 2012-12-17 17:20:31 +01:00
nulltoken
bdb94c21fd Fix MSVC compilation warnings 2012-12-17 17:16:32 +01:00
Michael Schubert
101659be5d Fix -Wmaybe-uninitialized warning 2012-12-17 15:50:12 +01:00