Edward Thomson
796b03bd49
rebase: clean up some warnings and memory leaks
2014-10-26 22:59:46 -04:00
Edward Thomson
ed2c06a6a1
git_rebase: iterators for operations
2014-10-26 22:59:41 -04:00
Edward Thomson
f152f8ac0c
rebase: preload all operations
2014-10-26 22:59:38 -04:00
Edward Thomson
b6b636a7fa
rebase: init/open a git_rebase object
2014-10-26 22:59:36 -04:00
Edward Thomson
18b439b9be
git_rebase_next: provide info about the operation
2014-10-26 22:59:34 -04:00
Edward Thomson
5ae9d296e3
git_rebase_finish: rewrite notes when finishing rebase
2014-10-26 22:59:32 -04:00
Edward Thomson
a612a25fa6
git_rebase_commit: write HEAD's reflog appropriately
2014-10-26 22:59:27 -04:00
Edward Thomson
517644cce4
Introduce git_rebase_finish to complete a rebase
2014-10-26 22:59:25 -04:00
Edward Thomson
14864fbfeb
git_rebase_next: test that we return GIT_ITEROVER
2014-10-26 22:59:23 -04:00
Edward Thomson
93a7004cc2
git_rebase_commit: drop already-picked commits
...
Already cherry-picked commits should not be re-included. If all changes
included in a commit exist in the upstream, then we should error with
GIT_EAPPLIED.
2014-10-26 22:59:21 -04:00
Edward Thomson
a35a9890b0
Introduce git_rebase_commit
...
Commit the current patch of a rebase process.
2014-10-26 22:59:19 -04:00
Edward Thomson
443d5674fe
git_rebase_next: write conflicts nicely during rebase
2014-10-26 22:59:16 -04:00
Edward Thomson
950a709159
Introduce git_rebase_next
...
`git_rebase_next` will apply the next patch (or cherry-pick)
operation, leaving the results checked out in the index / working
directory so that consumers can resolve any conflicts, as appropriate.
2014-10-26 22:59:14 -04:00
Edward Thomson
4fe84d624b
Introduce git_rebase_abort
...
Abort an in-progress rebase and move the working directory and
repository back to the ORIG_HEAD state.
2014-10-26 22:59:12 -04:00
Edward Thomson
867a36f3a6
Introduce git_rebase to set up a rebase session
...
Introduce `git_rebase` to set up a rebase session that can
then be continued. Immediately, only merge-type rebase is
supported.
2014-10-26 22:59:08 -04:00
Edward Thomson
4b1b2bd9eb
revwalk::mergebase test: free memory
2014-10-26 22:27:58 -04:00
Edward Thomson
e4985fe3a9
submodule test: free submodule
2014-10-26 22:27:54 -04:00
Edward Thomson
16288d2db3
clone::local test: isalpha -> git__isalpha
2014-10-26 22:27:50 -04:00
Edward Thomson
90aa2bf39b
config test: clean up memory leak
2014-10-26 22:27:48 -04:00
Edward Thomson
cdd71711ce
Clean up some memory leaks
2014-10-26 22:27:44 -04:00
Carlos Martín Nieto
fad0aea9fe
tests: fix leak
2014-10-27 01:47:40 +01:00
Linquize
9223f2884c
Fix test repo dir not deleted after running
2014-10-27 01:06:28 +08:00
Linquize
81f1fc7142
Fix missing object in tests/resources/crlf by changing the tail commit
2014-10-26 11:41:01 +08:00
Edward Thomson
d09458f3e9
Merge pull request #2638 from libgit2/cmn/config-refresh-remove
...
config: remove the refresh function and backend field
2014-10-24 16:52:39 -07:00
Edward Thomson
725cd5f29d
Merge pull request #2646 from libgit2/cmn/remote-rename
...
remote: accept a repo and name for renaming
2014-10-24 16:44:07 -07:00
Edward Thomson
a747ea49c9
Merge pull request #2647 from ethomson/clar_tmpname
...
clar: use a custom temp directory name
2014-10-24 14:01:13 -07:00
Edward Thomson
29eed1c74d
clar: use a custom temp directory name
2014-10-24 10:50:57 -04:00
Carlos Martín Nieto
46c8f7f845
remote: accept a repo and name for renaming
...
Remote objects are not meant to be changed from under the user. We did
this in rename, but only the name and left the refspecs, such that a
save would save the wrong refspecs (and a fetch and anything else would
use the wrong refspecs).
Instead, let's simply take a name and not change any loaded remote from
under the user.
2014-10-24 16:25:59 +02:00
Carlos Martín Nieto
0862f617da
remote: delete git_remote_supported_url()
...
This function does not in fact tell us anything, as almost anything with
a colon in it is a valid rsync-style SSH path; it can not tell us that
we do not support ftp or afp or similar as those are still valid SSH
paths and we do support that.
2014-10-24 13:40:42 +02:00
Carlos Martín Nieto
55cb499972
config: remove the refresh function and backend field
...
We have been refreshing on read and write for a while now, so
git_config_refresh() is at best a no-op, and might just end up wasting
cycles.
2014-10-23 19:05:02 +02:00
Carlos Martín Nieto
4bb6ffb6bb
Merge pull request #2622 from libgit2/refresh-config-snapshot
...
Refresh git configuration before looking for the tracking branch redux.
2014-10-23 18:58:39 +02:00
Alan Rogers
1e2fe921a5
Change the length of the file so that the change is picked up.
2014-10-23 15:21:29 +11:00
Alan Rogers
5490c9d470
Add a test to make sure a new snapshot has the new value.
2014-10-23 15:21:04 +11:00
Edward Thomson
12f32d9193
Remote paths: canonicalize UNC paths on Win32
...
Git for Windows will handle UNC paths only when in forward-slash
format, eg "//server/path". When given a UNC path as a remote,
rewrite standard format ("\\server\path") into this ridiculous
format.
2014-10-22 17:49:53 -04:00
Carlos Martín Nieto
bb0757d56c
tree-cache: correct the entry_count calculation
...
The entry_count field is the amount of index entries covered by a
particular cache entry, that is how many files are there (recursively)
under a particular directory.
The current code that attemps to do this is severely defincient and is
trying to count the amount of children, which always comes up to zero.
We don't even need to recount, since we have the information during the
cache creation. We can take that number and keep it, as we only ever
invalidate or replace.
2014-10-22 21:25:08 +02:00
Edward Thomson
8d3b2ee3d7
Introduce failing test for conflict filtering in index
2014-10-13 13:36:16 -04:00
Russell Belfer
85fe63bc58
Don't use cl_git_pass for POSIX functions
...
If there is a failure then cl_git_pass tries to get the libgit2
error, but p_... functions don't set that.
Also - trailing whitespace cleanup.
2014-10-10 15:17:27 -07:00
Carlos Martín Nieto
795d8e9328
index: make sure to write cached subtrees if parent is invalidated
...
If e.g. the root tree is invalidated, we still want to write out
its children, since those may still have valid cache entries.
2014-10-10 19:43:42 +02:00
Carlos Martín Nieto
c2f8b21593
index: write out the tree cache extension
...
Keeping the cache around after read-tree is only one part of the
optimisation opportunities. In order to share the cache between program
instances, we need to write the TREE extension to the index.
Do so, taking the opportunity to rename 'entries' to 'entry_count' to
match the name given in the format description. The included test is
rather trivial, but works as a sanity check.
2014-10-10 19:43:42 +02:00
Carlos Martín Nieto
ee4db1c16e
index: add tests for the tree cache
...
These test that we invalidate at the right levels and that we remove the
tree cache when clearing the index.
2014-10-10 19:35:19 +02:00
Edward Thomson
a6ed1fcbe1
Merge pull request #2593 from libgit2/cmn/remote-delete-name
...
remote: accept a repository and remote name for deletion
2014-10-10 12:21:28 -04:00
Carlos Martín Nieto
942a7b39ed
Fix test build
...
Some PRs have fallen out of sync with the changes in signatures, so we
need to take a few extra parameters into account.
2014-10-10 18:03:09 +02:00
Carlos Martín Nieto
2139c9b76c
Merge pull request #2542 from linquize/fetch-head
...
Do not error out when fetching from second remote
2014-10-10 17:50:28 +02:00
Carlos Martín Nieto
0625638f06
Merge pull request #2499 from csware/hard-reset-checkout-callbacks
...
Allow to propagate checkout callbacks to git HARD reset
2014-10-10 17:40:53 +02:00
Edward Thomson
f54d8d528a
Merge pull request #2574 from csware/hostname-for-certificate_check_cb
...
Provide host name to certificate_check_cb
2014-10-10 11:28:58 -04:00
Edward Thomson
533da4ea00
Merge pull request #2473 from arthurschreiber/arthur/new-javascript-test-files
...
New test files for the javascript diff driver.
2014-10-10 10:03:06 -04:00
Carlos Martín Nieto
46a2b8e855
Merge pull request #2592 from libgit2/cmn/describe
...
Implement git-describe
2014-10-09 22:24:40 +02:00
Arthur Schreiber
994a3006b6
Update the javascript diff driver's function pattern.
2014-10-09 22:21:34 +02:00
Arthur Schreiber
19fa9c0ca0
New test files for the javascript diff driver.
2014-10-09 22:14:55 +02:00
Edward Thomson
dfff1b5bcb
Merge pull request #2599 from linquize/config-trailing-spaces
...
config: Handle multiple spaces that follow a configuration value and precede a comment char
2014-10-09 12:16:17 -04:00
Sven Strickroth
db3d169c33
Add tests for host names
...
Signed-off-by: Sven Strickroth <email@cs-ware.de>
2014-10-09 17:32:38 +02:00
Edward Thomson
8371457ce2
Merge pull request #2597 from ethomson/fixup
...
Trivial fixups
2014-10-09 11:32:26 -04:00
Edward Thomson
10cf4b26a0
Merge pull request #2448 from libgit2/cmn/reference-transaction
...
Introduce reference transactions
2014-10-09 10:49:37 -04:00
Edward Thomson
8be28acfcd
Merge pull request #2462 from libgit2/cmn/remote-fetch-refs
...
Implement opportunistic ref updates
2014-10-09 10:41:38 -04:00
Carlos Martín Nieto
c327d5db8b
transaction: rename lock() to lock_ref()
...
This leaves space for future expansion to locking other resources
without having to change the API for references.
2014-10-09 16:29:30 +02:00
Arthur Schreiber
eca07bcd83
Add git_merge_bases_many.
2014-10-09 14:19:00 +02:00
Linquize
a447a7e40b
config: Add test cases that have trailing spaces before comment chars
2014-10-04 23:28:40 +08:00
Edward Thomson
ca7cd1734d
p_mkdir != mkdir on win32
2014-10-03 19:30:48 -04:00
Vicent Marti
737b505116
hashsig: Export as a sys
header
2014-10-01 12:03:24 +02:00
Carlos Martín Nieto
262eec23fe
remote: accept a repository and remote name for deletion
...
We don't need the remote loaded, and the function extracted both of
these from the git_remote in order to do its work, so let's remote a
step and not ask for the loaded remote at all.
This fixes #2390 .
2014-09-30 16:09:55 +02:00
Carlos Martín Nieto
ab8d9242f5
Introduce reference transactions
...
A transaction allows you to lock multiple references and set up changes
for them before applying the changes all at once (or as close as the
backend supports).
This can be used for replication purposes, or for making sure some
operations run when the reference is locked and thus cannot be changed.
2014-09-30 15:44:32 +02:00
Carlos Martín Nieto
c5837cad85
remote: implement opportunistic remote-tracking branch updates
...
When a list of refspecs is passed to fetch (what git would consider
refspec passed on the command-line), we not only need to perform the
updates described in that refspec, but also update the remote-tracking
branch of the fetched remote heads according to the remote's configured
refspecs.
These "fetches" are not however to be written to FETCH_HEAD as they
would be duplicate data, and it's not what the user asked for.
2014-09-30 15:43:24 +02:00
Carlos Martín Nieto
9c206a2248
remote: use active refspec override in the tests
...
This lets us test this bit as well as getting closer to what they were
trying to do.
2014-09-30 15:42:32 +02:00
Carlos Martín Nieto
3f89420523
remote: allow overriding the refspecs for download and fetch
...
With opportunistic ref updates, git has introduced the concept of having
base refspecs *and* refspecs that are active for a particular fetch.
Let's start by letting the user override the refspecs for download.
2014-09-30 15:42:32 +02:00
Carlos Martín Nieto
25345c0cbe
describe: rename git_describe_opts to git_describe_options
...
And implement the option init functions for this and the format options.
2014-09-30 09:18:22 +02:00
Carlos Martín Nieto
5431c46a96
describe: use globs in the tests
...
This makes us be closer to git's tests, and lets us better describe what
we expect from the output.
2014-09-30 09:05:55 +02:00
Carlos Martín Nieto
fd8126e4c6
describe: implement describing the workdir
...
When we describe the workdir, we perform a describe on HEAD and then
check to see if the worktree is dirty. If it is and we have a suffix
string, we append that to the buffer.
2014-09-30 08:56:20 +02:00
Carlos Martín Nieto
3b6534b807
describe: split into gather and format steps
...
Instead of printing out to the buffer inside the information-gathering
phase, write the data to a intermediate result structure.
This allows us to split the options into gathering options and
formatting options, simplifying the gathering code.
2014-09-30 07:24:28 +02:00
Carlos Martín Nieto
1f501a086b
describe: rename _object() to _commit()
...
We don't describe arbitrary object, so let's give it the name of the one
object type we accept.
2014-09-30 04:58:02 +02:00
Carlos Martín Nieto
af6cc38fc0
Merge remote-tracking branch 'upstream/master' into cmn/describe
2014-09-30 04:38:05 +02:00
Edward Thomson
4c53489260
Merge pull request #2581 from jacquesg/stash-ignored-directories
...
Stash ignored directories
2014-09-29 14:57:54 -04:00
Edward Thomson
89602a1a23
Merge pull request #2584 from jacquesg/pool-alignment
...
Pool/Index data is not aligned
2014-09-29 10:39:40 -04:00
Edward Thomson
ced843f417
Merge pull request #2559 from libgit2/cmn/free-tls-error
...
global: free the error message when exiting a thread
2014-09-29 10:29:00 -04:00
Jacques Germishuys
0478b7f472
Silence unused return value warning
2014-09-26 12:12:09 +02:00
Jakub Čajka
7629ea5d8d
Fixed odb foreach test failure for big-endian 64-bit
2014-09-26 12:12:08 +02:00
Jakub Čajka
d99e547173
Fixed merge REUC test for big-endian 64-bit
2014-09-26 12:12:08 +02:00
Jacques Germishuys
940da54861
Added test for stashing files in ignored directories
2014-09-24 13:24:06 +02:00
Sven Strickroth
e6e834a129
Provide host name to certificate_check_cb
...
Signed-off-by: Sven Strickroth <email@cs-ware.de>
2014-09-22 16:27:52 +02:00
Vicent Marti
14556cbff7
Merge pull request #2567 from cirosantilli/factor-41
...
Factor 40 and 41 constants from source.
2014-09-17 17:13:25 +02:00
Vicent Marti
276d9ea3a6
Merge pull request #2571 from libgit2/vmg/walk-up-path
...
Fix `git_path_walk_up` to work with non-rooted paths
2014-09-17 15:39:57 +02:00
Vicent Marti
4592b62ee5
Merge pull request #2572 from cirosantilli/factor-void
...
Replace void casts with GIT_UNUSED.
2014-09-17 15:26:48 +02:00
Ciro Santilli
c5cf8cade3
Replace void casts with GIT_UNUSED.
2014-09-17 15:19:08 +02:00
The rugged tests are fragile
4cb7c4a4c7
attr: Add an extra test for files under a subfolder
2014-09-17 15:08:16 +02:00
The rugged tests are fragile
bbb988a519
path: Fix git_path_walk_up
to work with non-rooted paths
2014-09-17 15:00:12 +02:00
Vicent Marti
1312f87b68
Merge pull request #2464 from libgit2/cmn/host-cert-info
...
Provide a callback for certificate validation
2014-09-17 14:56:39 +02:00
Carlos Martín Nieto
25abbc27a7
Clean up some leaks in the test suite
2014-09-17 03:19:40 +02:00
Carlos Martín Nieto
52e09724fd
ssh: skip the localhost cert check earlier
...
Skip it before we attempt to clone, as we would exit with -1 on systems
which do not have sshd running.
2014-09-16 17:13:58 +02:00
Carlos Martín Nieto
1e0aa105fa
ssh: expose both hashes
...
The user may have the data hashed as MD5 or SHA-1, so we should provide
both types for consumption.
2014-09-16 17:02:33 +02:00
Carlos Martín Nieto
286369a81f
ssh: provide our own types for host key lengths
...
Instead of using the libssh2 defines, provide our own, which eases usage
as we do not need to check whether libgit2 was built with libssh2 or not.
2014-09-16 17:02:32 +02:00
Carlos Martín Nieto
0782fc43f8
net: use only structs to pass information about cert
...
Instead of spreading the data in function arguments, some of which
aren't used for ssh and having a struct only for ssh, use a struct for
both, using a common parent to pass to the callback.
2014-09-16 17:02:32 +02:00
Carlos Martín Nieto
0fef38999a
Merge remote-tracking branch 'upstream/master' into cmn/host-cert-info
2014-09-16 17:02:28 +02:00
Carlos Martín Nieto
bf8756d6a2
ssh: add test for host key
...
Test that the certificate check callback gets the right fingerprint from
the host we're connecting to.
2014-09-16 17:01:32 +02:00
Carlos Martín Nieto
08545d366b
winhttp: credential check on successful connect
...
On successful connection, still ask the user whether they accept the server's certificate, indicating that WinHTTP would let it though.
2014-09-16 17:01:31 +02:00
Carlos Martín Nieto
23ca0ad5eb
Bring certificate check back to the normal return code
...
Returning 0 lets the certificate check succeed. An error code is bubbled
up to the user.
2014-09-16 17:01:31 +02:00
Carlos Martín Nieto
2f5864c50c
ssh: do ssh cert info before asking for credentials
...
We know the host's key as soon as we connect, so we should perform the
check as soon as we can, before we bother with the user's credentials.
2014-09-16 17:01:31 +02:00
Carlos Martín Nieto
17491f6e56
transport: always call the certificate check callback
...
We should let the user decide whether to cancel the connection or not
regardless of whether our checks have decided that the certificate is
fine. We provide our own assessment to the callback to let the user fall
back to our checks if they so desire.
2014-09-16 17:01:30 +02:00
Carlos Martín Nieto
85acc56262
remote: add tests for the certificate callback
2014-09-16 17:01:30 +02:00
Carlos Martín Nieto
9b9405865e
Provide a callback for certificate validation
...
If the certificate validation fails (or always in the case of ssh),
let the user decide whether to allow the connection.
The data structure passed to the user is the native certificate
information from the underlying implementation, namely OpenSSL or
WinHTTP.
2014-09-16 17:01:30 +02:00
Vicent Marti
903a76168e
Merge pull request #2561 from jacquesg/merge-skip
...
No files merged may result in bogus merge conflict error
2014-09-16 13:22:40 +02:00
Ciro Santilli
3b2cb2c91e
Factor 40 and 41 constants from source.
2014-09-16 13:07:04 +02:00