Commit Graph

8806 Commits

Author SHA1 Message Date
Carlos Martín Nieto
4fd2bda9ff local: send 'counting objects' output
Pretend we have a git process at the other end by creating a similar
progress output when inserting objects into the packbuilder.
2014-12-16 10:25:45 +01:00
Carlos Martín Nieto
3ded7f28c7 local: add failing test for sideband information
We do not currently generate any messages when we're counting the
objects, as might be expected from a local upload-pack. Assert that we
do call the function when working.
2014-12-16 10:05:49 +01:00
Carlos Martín Nieto
4adc64a81a fetch: plug leaks in the prune tests 2014-12-14 21:52:27 +01:00
Carlos Martín Nieto
26186b155b fetch: remove the prune setter
This option does not get persisted to disk, which makes it different
from the rest of the setters. Remove it until we go all the way.

We still respect the configuration option, and it's still possible to
perform a one-time prune by calling the function.
2014-12-14 21:52:27 +01:00
Carlos Martín Nieto
7b6e1e4cc6 fetch: add test for the other order of overlapping specs 2014-12-14 21:25:08 +01:00
Carlos Martín Nieto
59ff8b6790 fetch: perform prune in separate steps
For each remote-tracking branch we want to remove, we need to consider
it against every other refspec in case we have overlapping refspecs,
such as with

    refs/heads/*:refs/remotes/origin/*
    refs/pull/*/head:refs/remotes/origin/pr/*

as we'd otherwise remove too many refspecs.

Create a list of condidates, which are the references matching the rhs
of any active refspec and then filter that list by removing those
entries for which we find a remove reference with any active
refspec. Those which are left after this are removed.
2014-12-14 21:25:08 +01:00
Carlos Martín Nieto
8c13eaedbb fetch: prune after updating tips
This makes a fetch+prune more similar to a connect+prune and makes it
more likely that we see errors in the decision to prune a reference.
2014-12-14 17:04:02 +01:00
Carlos Martín Nieto
4aa2336966 fetch: assert we don't call update tips when there are no upates
This is hiding a bug in the prune code, whereby we prune references we
shouldn't but don't notice it in the code afterwards because
update_tips() recreates them.

This means that we do perform changes to the references (and get rid of
the reflogs) when we shouldn't.
2014-12-14 17:04:02 +01:00
Carlos Martín Nieto
020aab9308 fetch: do set prune when testing
We load the remote again, so we need to ask the new remote to prune the
refs, or we're not exercising the code in our tests.
2014-12-14 17:04:02 +01:00
David Calavera
5e0c3d2d1a Make sure that fetch --prune --tags doesn't remove tags. 2014-12-14 17:04:02 +01:00
David Calavera
b91194e842 Cleanup repository after prune tests. 2014-12-14 17:04:02 +01:00
David Calavera
93d968fa07 Cleanup after testing remote prune. 2014-12-14 17:04:02 +01:00
David Calavera
82eeba8142 Fix references to git_remote_lookup. 2014-12-14 17:04:01 +01:00
David Calavera
439e19f632 Test that prune overlapping works as expected. 2014-12-14 17:04:01 +01:00
David Calavera
ce4b57c6bc Fix calls to git_remote_download and git_remote_fetch. 2014-12-14 17:04:01 +01:00
Linquize
b8fefcb9ca Add test for prune refs 2014-12-14 17:04:01 +01:00
Linquize
5f47394753 remote: prune refs when fetching 2014-12-14 17:04:01 +01:00
Carlos Martín Nieto
ed09e04462 Mention the init function in the README
This fixes #2731.
2014-12-14 16:19:08 +01:00
Carlos Martín Nieto
5192bcc52c Add the OpenSSL changes to the CHANGELOG
It seems these were forgotten when initially splitting this up.
2014-12-12 15:46:57 +01:00
Carlos Martín Nieto
263b1d6ed9 Make the OpenSSL locking function warnings more severe
Our git_openssl_set_locking() would ideally not exist. Make it clearer
that we provide it as a last resort and you should prefer anything else.
2014-12-12 15:46:57 +01:00
Edward Thomson
09debe1213 clar: wide character comparisons 2014-12-10 18:11:50 -05:00
Edward Thomson
3410084675 tests: use p_ instead of posix func directly 2014-12-10 18:11:50 -05:00
Edward Thomson
4eb97ef3bf Merge pull request #2756 from libgit2/cmn/push-error-concerns
Fold `git_push_unpack_ok()` into `git_push_finish()`
2014-12-10 14:15:15 -05:00
Carlos Martín Nieto
85a6d5f49c push: reword comment on finish()
This should make it clearer what the return value implies.
2014-12-10 18:55:54 +01:00
Carlos Martín Nieto
d524b2d3d1 push: fold unpack_ok() into finish()
The push cannot be successful if we sent a bad packfile. We should
return an error in that case instead of storing it elsewhere.
2014-12-10 18:55:54 +01:00
Edward Thomson
cd305c2f56 Merge pull request #2678 from libgit2/cmn/io-stream
Introduce stackable IO streams
2014-12-10 11:30:28 -05:00
Carlos Martín Nieto
a2fd56ab18 Fix a couple of compiler warnings 2014-12-10 16:22:50 +01:00
Carlos Martín Nieto
49ae22baac stream: constify the write buffer 2014-12-10 16:20:52 +01:00
Carlos Martín Nieto
3b6a566867 Merge pull request #2755 from libgit2/ntk/readme_appveyor_build
Minor Readme improvments
2014-12-10 14:53:12 +01:00
nulltoken
a7e06cb026 readme: Add AppVeyor build status badge/link 2014-12-10 10:11:37 +01:00
nulltoken
037b2a8b00 readme: Make Travis build status badge reflect the state of master 2014-12-10 10:05:04 +01:00
nulltoken
775d831b33 readme: Trim trailing lines 2014-12-10 10:04:34 +01:00
Carlos Martín Nieto
1b75c29e3e gitno: remove code which is no longer needed
Most of the network-facing facilities have been copied to the socket and
openssl streams. No code now uses these functions directly anymore, so
we can now remove them.
2014-12-10 01:39:09 +01:00
Carlos Martín Nieto
4fd4341fe5 ssh: use socket_stream to perform the connection
Having an ssh stream would require extra work for stream capabilities we
don't need anywhere else (oob auth and command execution) so for now
let's move away from the gitno connection to use socket_stream.

We can introduce an ssh stream interface if and as we need it.
2014-12-10 01:39:09 +01:00
Carlos Martín Nieto
b6f5464e28 Port HTTP(S) to the new stream API 2014-12-10 01:39:09 +01:00
Carlos Martín Nieto
02b4c1e2a4 Port the TCP transport to the new stream API 2014-12-10 01:39:09 +01:00
Carlos Martín Nieto
0fae039116 Merge pull request #2753 from ethomson/win32_leaks
Win32 leaks
2014-12-10 01:29:07 +01:00
Carlos Martín Nieto
468d7b11f9 Add an OpenSSL IO stream
This unfortunately isn't as stackable as could be possible, as it
hard-codes the socket stream. This is because the method of using a
custom openssl BIO is not clear, and we do not need this for now. We can
still bring this in if and as we need it.
2014-12-10 01:17:41 +01:00
Carlos Martín Nieto
dd4ff2c9b5 Introduce stackable IO streams
We currently have gitno for talking over TCP, but this needs to know
about both plaintext and OpenSSL connections and the code has gotten
somewhat messy with ifdefs determining which version of the function
should be called.

In order to clean this up and abstract away the details of sending over
the different types of streams, we can instead use an interface and
stack stream implementations.

We may not be able to use the stackability with all streams, but we
are definitely be able to use the abstraction which is currently spread
between different bits of gitno.
2014-12-10 01:17:40 +01:00
Edward Thomson
ad2bf40a9d winhttp: plug some leaks 2014-12-09 12:04:55 -05:00
Edward Thomson
6b11eb51ee core::link test: clean up junction point name 2014-12-09 12:04:53 -05:00
Edward Thomson
80b01c8f26 win32: remember to free wide env name/value 2014-12-09 12:04:50 -05:00
Edward Thomson
c251f3bbe7 win32: remember to cleanup our hash_ctx 2014-12-09 12:04:47 -05:00
Edward Thomson
d5087689b5 Merge pull request #2750 from linquize/generate.py
Update clar to e3985dd
2014-12-08 23:03:30 -05:00
Edward Thomson
99cfe9b266 Merge pull request #2751 from linquize/broken-test-win
Fix broken tests on Windows
2014-12-08 16:27:58 -05:00
Linquize
8e0aa2ebce Fix broken merge tests due to autocrlf was not false 2014-12-07 23:41:30 +08:00
Linquize
d226fbf1aa Fix broken test suite on Windows 2014-12-07 22:42:06 +08:00
Linquize
3a1eb9e5ff Update clar to e3985dd 2014-12-07 22:09:00 +08:00
Edward Thomson
19ae843937 Merge pull request #2746 from libgit2/cmn/neg-ignore-dir
Fix negative ignores withing ignored dirs
2014-12-06 20:17:16 -05:00
Edward Thomson
f2e09b8aac Merge pull request #2748 from libgit2/cmn/doc-all
doc: add documentation to all the public structs and enums
2014-12-06 12:26:04 -05:00