|
45301cca
|
2014-11-18T11:44:59
|
|
Merge pull request #2608 from libgit2/cmn/remote-push
Provide a convenience function `git_remote_push()`
|
|
8b5b814e
|
2014-11-17T20:10:58
|
|
Merge pull request #2671 from swisspol/remote_create_fix
Fixed active_refspecs field not initialized on new git_remote objects
|
|
7f1b73b7
|
2014-11-17T17:03:55
|
|
Merge pull request #2693 from libgit2/cmn/push-refspec-refactor
push: use the common refspec parser
|
|
a4221ccb
|
2014-11-17T16:36:54
|
|
Merge pull request #2699 from swisspol/fix_warnings
Fixed a couple Clang warnings
|
|
d3cd7da5
|
2014-10-28T20:56:18
|
|
Fixed active_refspecs field not initialized on new git_remote objects
When creating a new remote, contrary to loading one from disk,
active_refspecs was not populated. This means that if using the new
remote to push, git_push_update_tips() will be a no-op since it
checks the refspecs passed during the push against the base ones
i.e. active_refspecs. And therefore the local refs won't be created
or updated after the push operation.
|
|
5915d700
|
2014-11-17T14:28:22
|
|
branch: consider an empty upstream remote config as not found
|
|
8aa70737
|
2014-11-17T14:03:50
|
|
Merge branch 'openssl-lock-free'
|
|
d6ecc311
|
2014-11-15T14:35:58
|
|
Plug possible leak in the openssl locks
|
|
ce8822cb
|
2014-11-15T20:45:17
|
|
Merge pull request #2707 from swisspol/fix_include
Fixed git2.h not including threads.h anymore
|
|
624eb97f
|
2014-11-15T13:49:15
|
|
Merge pull request #2708 from phatblat/pr/threading-doc
Fix typo in THREADING.md
|
|
d698712b
|
2014-11-14T21:15:42
|
|
Fix GCD typo
|
|
889d8c8b
|
2014-11-15T08:20:36
|
|
Fixed git2.h not including threads.h anymore
|
|
692c0408
|
2014-11-09T08:09:25
|
|
Fixed a couple Clang warnings
|
|
aad638f3
|
2014-11-07T15:00:11
|
|
push: use the common refspec parser
There is one well-known and well-tested parser which we should use,
instead of implementing parsing a second time.
The common parser is also augmented to copy the LHS into the RHS if the
latter is empty.
The expressions test had to change a bit, as we now catch a bad RHS of a
refspec locally.
|
|
65f6c1c7
|
2014-11-09T13:41:57
|
|
Merge pull request #2653 from ethomson/contributing
Add test information to contributing guidelines
|
|
057126c6
|
2014-11-08T18:15:02
|
|
Merge pull request #2637 from libgit2/cmn/global-init
Rename git_threads_ to git_libgit2_
|
|
64e3e6d4
|
2014-10-11T12:25:50
|
|
remote: use configured push refspecs if none are given
If the user does not pass any refspecs to push, try to use those
configured via the configuration or via add_push().
|
|
6eb9e39c
|
2014-10-10T13:35:57
|
|
push: move main test function to git_remote_push()
We have the step-by-step method in the initialization function as we
want to remove references based on the list of references which are
already there, and we can use the convenience function for testing the
main push.
|
|
3149547b
|
2014-10-10T12:39:53
|
|
remote: introduce git_remote_push()
This function, similar in style to git_remote_fetch(), performs all the
steps required for a push, with a similar interface.
The remote callbacks struct has learnt about the push callbacks, letting
us set the callbacks a single time instead of setting some in the remote
and some in the push operation.
|
|
799e22ea
|
2014-10-23T17:34:41
|
|
Rename git_threads_ to git_libgit2_
This describes their purpose better, as we now initialize ssl and some
other global stuff in there. Calling the init function is not something
which has been optional for a while now.
|
|
4865cc3f
|
2014-11-08T17:45:38
|
|
Merge pull request #2673 from swisspol/2672
Fixed GIT_REMOTE_DOWNLOAD_TAGS_ALL to behave like git 1.9.0+
|
|
e284c451
|
2014-10-28T22:18:38
|
|
Changed GIT_REMOTE_DOWNLOAD_TAGS_ALL to behave like git 1.9.0
|
|
02bc5233
|
2014-11-08T17:05:13
|
|
Merge pull request #2698 from libgit2/cmn/fetchhead-refactor
Refactor fetchhead
|
|
bc8c4a8a
|
2014-11-08T16:55:23
|
|
Merge pull request #2695 from libgit2/cmn/remote-lookup
remote: rename _load() to _lookup()
|
|
e3bd48a7
|
2014-11-08T16:52:43
|
|
Merge pull request #2696 from libgit2/cmn/empty-objects
odb: hardcode the empty blob and tree
|
|
09d1408c
|
2014-11-08T16:49:30
|
|
Merge pull request #2694 from Therzok/statusFile
git_status_file now takes an exact path.
|
|
2c9b9c8b
|
2014-11-08T20:40:02
|
|
remote: refactor the reference-update decision
This is an ugly chunk of code, so let's put it into its own function.
|
|
e1ac0101
|
2014-11-08T14:40:53
|
|
odb: hardcode the empty blob and tree
git hardocodes these as objects which exist regardless of whether they
are in the odb and uses them in the shell interface as a way of
expressing the lack of a blob or tree for one side of e.g. a diff.
In the library we use each language's natural way of declaring a lack of
value which makes a workaround like this unnecessary. Since git uses it,
it does however mean each shell application would need to perform this
check themselves.
This makes it common work across a range of applications and an issue
with compatibility with git, which fits right into what the library aims
to provide.
Thus we introduce the hard-coded empty blob and tree in the odb
frontend. These hard-coded objects are checked for before going to the
backends, but after the cache check, which means the second time they're
used, they will be treated as normal cached objects instead of creating
new ones.
|
|
64fdd86d
|
2014-11-08T20:21:14
|
|
remote: don't check for upstream on an anonymous remote
If the remote is anonymous, then we cannot check for any configuration,
as there is no name. Check for this before we try to use the name, which
may be a NULL pointer.
This fixes #2697.
|
|
e235db02
|
2014-11-08T20:09:11
|
|
remote: use git_branch_upstream_remote()
This reduces the clutter somewhat and lets us see what we're asking
about the reference.
|
|
82374d98
|
2014-11-08T20:00:17
|
|
branch: add getter for the upstream remote name
This gets the value from branch.<foo>.remote.
|
|
209425ce
|
2014-11-08T13:25:51
|
|
remote: rename _load() to _lookup()
This brings it in line with the rest of the lookup functions.
|
|
68182085
|
2014-11-07T20:32:50
|
|
git_status_file now takes an exact path
This function has one output but can match multiple files, which can be
unexpected for the user, which would usually path the exact path of the
file he wants the status of.
|
|
4e1b3b3b
|
2014-11-07T09:28:41
|
|
Merge pull request #2691 from libgit2/cmn/submodule-and-dir
submodules: stale module entries
|
|
62a617dc
|
2014-11-06T16:16:46
|
|
iterator: submodules are determined by an index or tree
We cannot know from looking at .gitmodules whether a directory is a
submodule or not. We need the index or tree we are comparing against to
tell us. Otherwise we have to assume the entry in .gitmodules is stale
or otherwise invalid.
Thus we pass the index of the repository into the workdir iterator, even
if we do not want to compare against it. This follows what git does,
which even for `git diff <tree>`, it will consider staged submodules as
such.
|
|
f1a7906f
|
2014-11-06T11:47:50
|
|
submodules: add failing test for stale module entries
We consider an entry in .gitmodules to mean that we have a submodule at
a particular path, even if HEAD^{tree} and the index do not contain any
reference to it.
We should ignore that submodule entry and simply consider that path to
be a regular directory.
|
|
dd83e602
|
2014-11-07T08:32:50
|
|
Merge pull request #2692 from ethomson/bug2515
checkout_index: handle other stages
|
|
2d24816b
|
2014-11-06T18:49:37
|
|
checkout_index: Remove stage 0 when checking out conflicts
|
|
9f664347
|
2014-11-06T14:40:21
|
|
checkout_index: remove conflicts when checking out new files
|
|
64dc2485
|
2014-11-06T10:38:25
|
|
Merge pull request #2598 from libgit2/cmn/stacked-ignore
ignore: don't leak rules into higher directores
|
|
7bb63991
|
2014-11-06T10:25:23
|
|
Merge pull request #2676 from libgit2/cmn/threading
Threading and crypto libraries
|
|
f890a84f
|
2014-11-06T10:19:22
|
|
Merge pull request #2682 from libgit2/cmn/fetch-tags-refspec
remote: check for the validity of the refspec when updating FETCH_HEAD
|
|
6069042f
|
2014-11-05T16:51:39
|
|
ignore: don't leak rules into higher directories
A rule "src" in src/.gitignore must only match subdirectories of
src/. The current code does not include this context in the match rule
and would thus consider this rule to match the top-level src/ directory
instead of the intended src/src/.
Keep track fo the context in which the rule was defined so we can
perform a prefix match.
|
|
0798b014
|
2014-10-04T11:48:50
|
|
ignore: add failing test for a file mentioning the parent
When we mention "src" in src/.gitignore, we wrongly consider src/ itself
to be ignored.
|
|
b4e5432f
|
2014-11-05T10:47:19
|
|
Merge pull request #2688 from libgit2/cmn/ignore-file-trailing-cr
ignore: consider files with a CR in their names
|
|
5c54e216
|
2014-11-05T16:07:07
|
|
ignore: consider files with a CR in their names
We currently consider CR to start the end of the line, but that means
that we miss cases with CR CR LF which can be used with git to match
files whose names have CR at the end of their names.
The fix from the patch comes from Russell's comment in the issue.
This fixes #2536.
|
|
3f8d005a
|
2014-11-03T22:27:11
|
|
Merge pull request #2686 from ethomson/rename_notfound
Propogate GIT_ENOTFOUND from git_remote_rename
|
|
cce27d82
|
2014-11-03T14:07:20
|
|
git_remote_rename: propogate GIT_ENOTFOUND
|
|
de0c4555
|
2014-11-03T11:32:47
|
|
Merge pull request #2679 from jfultz/missing-include
Make config reading continue after hitting a missing include file.
|
|
6d20006f
|
2014-11-02T20:11:54
|
|
remote: check the relevance of the refspec when updating FETCH_HEAD
Before trying to rtransform using the given refspec to figure out what
the name of the upstream branch is on the remote, we must make sure that
the target of the refspec applies to the current branch's upstream.
|
|
0a629181
|
2014-11-03T15:10:14
|
|
Merge pull request #2661 from swisspol/2656
Changed context_lines and interhunk_lines to uint32_t to match struct s_xdemitconf
|
|
4bb87087
|
2014-11-03T15:01:41
|
|
Merge pull request #2683 from libgit2/cmn/remote-unify
remote: unify the creation code
|
|
873eb899
|
2014-11-03T14:57:39
|
|
Merge pull request #2680 from libgit2/cmn/invalid-cert-return
netops: return GIT_ECERTIFICATE when it fails the basic tests
|
|
0fab748e
|
2014-11-03T14:52:34
|
|
Merge pull request #2685 from libgit2/cmn/mmap-readable
Fix segmentation fault observed on OpenBSD/sparc64
|
|
2cc6011e
|
2014-11-03T14:49:56
|
|
Merge pull request #2684 from jacquesg/openssl-windows
Make the Visual Studio compiler happy
|
|
aad0bd6b
|
2014-11-03T13:46:56
|
|
Fix segmentation fault observed on OpenBSD/sparc64
A non-readable mapping of a file causes an access violation in
the pack tests. Always use PROT_READ to work around this.
|
|
bc48bcdc
|
2014-11-03T14:23:13
|
|
Make the Visual Studio compiler happy
|
|
ebc13b2b
|
2014-11-02T19:16:49
|
|
Clean up issues include.path issues found during code review.
* Error-handling is cleaned up to only let a file-not-found error
through, not other sorts of errors. And when a file-not-found
error happens, we clean up the error.
* Test now checks that file-not-found introduces no error. And
other minor cleanups.
|
|
a68e217f
|
2014-11-02T21:57:14
|
|
remote: unify the creation code
The create function with default refspec is the same as the one with a
custom refspec, but it has the default refspec, so we can create the one
on top of the other.
|
|
ea8dedc9
|
2014-11-02T20:39:29
|
|
remote: fix tagopt test
An anonymous remote wouldn't create remote-tracking branches, so testing
we don't create them for TAGS_ALL is nonsensical. Furthermore, the name
of the supposed remote-tracking branch was also not one which would have
been created had it had a name.
Give the remote a name and test that we only create the tags when we
pass TAGS_ALL and that we do create the remote-branch branch when given
TAGS_AUTO.
|
|
0f838d27
|
2014-11-02T20:03:23
|
|
remote: add a failing test for checking the current branch's upstream
When we update FETCH_HEAD we check whether the remote is the current
branch's upstream remote. The code does not check whether the current
refspec is relevant for this reference but always tries to perform the
reverse transformation, which causes it to error out if the refspec
doesn't match the reference.
Thanks to Pierre-Olivier Latour for the reproduction recipe.
|
|
521c0cab
|
2014-11-02T17:18:19
|
|
merge: talk about the merging state after git_merge()
Since it's not necessarily obvious, mention the merging state and how to
clear it.
|
|
22fbb265
|
2014-11-02T16:12:10
|
|
netops: return GIT_ECERTIFICATE when it fails the basic tests
When we first ask OpenSSL to verify the certfiicate itself (rather
than the HTTPS specifics), we should also return
GIT_ECERTIFICATE. Otherwise, the caller would consider this as a failed
operation rather than a failed validation and not call the user's own
validation.
|
|
727ae380
|
2014-11-01T11:21:45
|
|
Make config reading continue after hitting a missing include file.
For example, if you have
[include]
path = foo
and foo didn't exist, git_config_open_ondisk() would just give up
on the rest of the file. Now it ignores the unresolved include
without error and continues reading the rest of the file.
|
|
15bea02c
|
2014-10-31T11:24:02
|
|
docs: explicitly document the threading caveats
Talk about sharing objects and error messages; but the most important
part is about what to do with the cryptographic libraries, which sadly
have to become to responsibility of the application.
|
|
fe6b51ae
|
2014-11-01T10:45:33
|
|
ssl: separate locking init from general init
Extract the lock-setting functions into their own, as we cannot assume
that it's ok for us to set this unconditionally.
|
|
e0836577
|
2014-11-01T10:26:09
|
|
ssl: clear the OpenSSL locking function
We're freeing the memory which holds the locks so we must make sure that
the locking function doesn't try to use it.
|
|
264d74fd
|
2014-10-27T15:04:21
|
|
Merge pull request #2669 from ethomson/revert_test_fix
revert tests: always use core.autocrlf=false in tests
|
|
53ca45ee
|
2014-10-27T17:27:25
|
|
revert tests: always use core.autocrlf=false in tests
|
|
7647f449
|
2014-10-27T12:19:42
|
|
Merge pull request #2659 from swisspol/static_analysis
Fixed the most obvious Clang static analyzer warnings
|
|
64bcf567
|
2014-10-26T10:30:05
|
|
Fixed potential crash with uninitialized variables
|
|
ea66215d
|
2014-10-26T10:29:19
|
|
Removed some useless variable assignments
|
|
d88766c4
|
2014-10-26T10:40:46
|
|
Changed context_lines and interhunk_lines to uint32_t to match struct s_xdemitconf
|
|
116a19d4
|
2014-10-27T06:33:11
|
|
Merge pull request #2666 from libgit2/cmn/threadsafe-on
Flip THREADSAFE's default to ON
|
|
177a29d8
|
2014-10-27T10:39:45
|
|
Merge commit 'refs/pull/2366/head' of github.com:libgit2/libgit2
|
|
79b0ae4e
|
2014-10-27T10:30:57
|
|
Flip THREADSAFE's default to ON
Threads are here to stay; and for a while now, users have had to call
the initialization function which sets up threads and crypto regardless
of whether the library was built threadsafe or not.
|
|
aabe1e5a
|
2014-10-26T23:36:15
|
|
Merge branch 'csware/cleanup'
|
|
334a0696
|
2014-10-26T17:36:14
|
|
Minor cleanup: Use defined no_check_cert_flags instead of C&P them again
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
b07db1eb
|
2014-10-26T20:18:04
|
|
Merge pull request #2482 from libgit2/ed/rebase
Rebase (merge)
|
|
67917281
|
2014-10-26T22:37:01
|
|
rebase: add information to the CHANGELOG
|
|
979645a7
|
2014-10-04T20:17:26
|
|
rebase: updates based on PR comments
|
|
18b00406
|
2014-10-03T19:02:29
|
|
s/git_merge_head/git_annotated_commit
Rename git_merge_head to git_annotated_commit, as it becomes used
in more operations than just merge.
|
|
796b03bd
|
2014-10-03T20:47:48
|
|
rebase: clean up some warnings and memory leaks
|
|
e69737d7
|
2014-09-11T16:46:46
|
|
rebase: oid member of operation should be const
|
|
ed2c06a6
|
2014-09-11T16:47:20
|
|
git_rebase: iterators for operations
|
|
f152f8ac
|
2014-08-26T16:18:46
|
|
rebase: preload all operations
|
|
b6b636a7
|
2014-08-25T13:29:50
|
|
rebase: init/open a git_rebase object
|
|
18b439b9
|
2014-08-23T18:19:34
|
|
git_rebase_next: provide info about the operation
|
|
5ae9d296
|
2014-07-21T12:25:03
|
|
git_rebase_finish: rewrite notes when finishing rebase
|
|
bad4937e
|
2014-07-21T10:47:01
|
|
Introduce `git_note_author`, `git_note_committer`
|
|
a612a25f
|
2014-07-18T18:22:54
|
|
git_rebase_commit: write HEAD's reflog appropriately
|
|
517644cc
|
2014-07-18T17:19:10
|
|
Introduce git_rebase_finish to complete a rebase
|
|
14864fbf
|
2014-07-18T15:37:42
|
|
git_rebase_next: test that we return GIT_ITEROVER
|
|
93a7004c
|
2014-07-18T14:50:06
|
|
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.
|
|
a35a9890
|
2014-07-17T18:25:03
|
|
Introduce git_rebase_commit
Commit the current patch of a rebase process.
|
|
443d5674
|
2014-07-17T11:59:01
|
|
git_rebase_next: write conflicts nicely during rebase
|
|
950a7091
|
2014-07-15T10:23:10
|
|
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.
|
|
4fe84d62
|
2014-07-14T15:19:19
|
|
Introduce git_rebase_abort
Abort an in-progress rebase and move the working directory and
repository back to the ORIG_HEAD state.
|
|
daf395b7
|
2014-07-18T17:40:07
|
|
git_reset: const the git_signature arg
|
|
867a36f3
|
2014-07-14T14:35:01
|
|
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.
|