|
85bd1746
|
2012-08-22T16:03:35
|
|
Some cleanup suggested during review
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
|
|
ca1b6e54
|
2012-07-31T17:02:54
|
|
Add template dir and set gid to repo init
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.
|
|
0e26202c
|
2012-08-01T14:30:08
|
|
fix missing validation and type cast warning
|
|
662880ca
|
2012-07-26T16:07:01
|
|
Add git_repository_init_ext for power initters
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.
|
|
5fdc41e7
|
2012-08-22T13:57:57
|
|
Minor bug fixes in diff code
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.
|
|
cfda29e3
|
2012-08-22T13:15:14
|
|
Merge pull request #891 from arrbee/internal-ignore-api
API for managing in-memory ignore rules
|
|
2fb4e9b3
|
2012-08-22T11:42:00
|
|
Wrap up ignore API and add tests
This fills out the ignore API and adds tests.
|
|
f004c4a8
|
2012-08-21T17:26:39
|
|
Add public API for internal ignores
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.
|
|
9d7ac675
|
2012-08-21T11:45:16
|
|
tree entry: rename git_tree_entry_attributes() into git_tree_entry_filemode()
|
|
a7dbac0b
|
2012-08-17T21:10:32
|
|
filemode: deploy enum usage
|
|
5c27da1f
|
2012-08-20T12:10:23
|
|
Merge pull request #884 from carlosmn/global-windows
Make the memory-window conrol structures global
|
|
8cef828d
|
2012-08-18T22:11:49
|
|
Make the memory-window conrol structures global
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.
|
|
66439b0b
|
2012-08-17T11:21:49
|
|
treebuilder: enhance attributes handling on insertion
|
|
f98c32f3
|
2012-08-19T01:26:06
|
|
Merge pull request #778 from ben/clone
Clone
|
|
1a0537e4
|
2012-08-15T00:08:38
|
|
Fix compilation warning
|
|
85f28ba8
|
2012-08-14T11:43:20
|
|
Merge pull request #873 from carlosmn/tree-walk
git_tree_walk callback return value semantic does not match documentation
|
|
3a6bc301
|
2012-08-14T11:30:18
|
|
Merge pull request #875 from arrbee/fix-message-prettify-length-check
Fix message prettify length check
|
|
85a0e28b
|
2012-08-14T10:50:58
|
|
Make git_message_prettify return bytes written
If you want to be absolutely safe with git_message_prettify, you
can now pass a NULL pointer for the buffer and get back the number
of bytes that would be copied into the buffer.
This means that an error is a non-negative return code and a
success will be greater than zero from this function.
|
|
a6bf1687
|
2012-08-13T14:07:47
|
|
tree: allow the user to skip an entry or cancel the walk
Returning a negative cancels the walk, and returning a positive one
causes us to skip an entry, which was previously done by a negative
value.
This allows us to stay consistent with the rest of the functions that
take a callback and keeps the skipping functionality.
|
|
53ae1235
|
2012-08-13T14:00:53
|
|
tree: bring back the documented behaviour for a walk
However, there should be a way to cancel the walk and another to skip
the entry.
|
|
616c1433
|
2012-08-12T11:53:58
|
|
Clean up code
Okay, this is probably cleaner and it is also less net change
from the original version
|
|
fdc637c4
|
2012-08-12T09:08:45
|
|
Check prettify message output buffer after cleanup
This makes the message prettify buffer length check accurate.
|
|
a1ecddf0
|
2012-08-12T07:59:30
|
|
Fix config parser boundary logic
The config file parser was not working right if there was no
whitespace between the value name and the equals sign. This
fixes that.
|
|
738837bd
|
2012-08-11T12:29:24
|
|
sha1: add missing header guards
|
|
c07d9c95
|
2012-08-09T15:33:04
|
|
oid: Explicitly include `oid.h` for the inlined CMP
|
|
186c054d
|
2012-08-09T14:47:29
|
|
Revert implementation changes
|
|
28e00681
|
2012-08-09T14:39:56
|
|
Ignore ref oid terminator
|
|
2fe293b6
|
2012-08-09T11:36:21
|
|
trim whitespace when parsing loose refs
|
|
6ab68290
|
2012-08-09T12:39:09
|
|
Parse ref oids without trailing newline
|
|
e4607392
|
2012-08-06T11:06:05
|
|
Fix iterator check and return value
There is a little cleanup necessary from PR #843. Since the
new callbacks return `GIT_EUSER` we have to be a little careful
about return values when they are used internally to the library.
Also, callbacks should be checked for non-zero return values,
not just less than zero.
|
|
d8d28e2e
|
2012-08-06T12:44:23
|
|
remotes: Proper return for `git_remote_ls`
|
|
51e1d808
|
2012-08-06T12:41:08
|
|
Merge remote-tracking branch 'arrbee/tree-walk-fixes' into development
Conflicts:
src/notes.c
src/transports/git.c
src/transports/http.c
src/transports/local.c
tests-clar/odb/foreach.c
|
|
7e9f78b5
|
2012-08-04T15:22:38
|
|
remote: add missing include git2/remote.h
Otherwise we get an incomplete type error, since git_remote_callbacks
isn't declared yet.
|
|
b0d37669
|
2012-08-03T17:24:59
|
|
Add new iteration behavior to git_tree_walk
Missed this one, ironically enough.
|
|
5dca2010
|
2012-08-03T17:08:01
|
|
Update iterators for consistency across library
This updates all the `foreach()` type functions across the library
that take callbacks from the user to have a consistent behavior.
The rules are:
* A callback terminates the loop by returning any non-zero value
* Once the callback returns non-zero, it will not be called again
(i.e. the loop stops all iteration regardless of state)
* If the callback returns non-zero, the parent fn returns GIT_EUSER
* Although the parent returns GIT_EUSER, no error will be set in
the library and `giterr_last()` will return NULL if called.
This commit makes those changes across the library and adds tests
for most of the iteration APIs to make sure that they follow the
above rules.
|
|
5daca042
|
2012-08-03T01:01:21
|
|
filebuf: Check the return value for `close`
|
|
d96c3863
|
2012-08-02T01:56:02
|
|
win32: set errno to ENOENT or ENOTDIR when appropriate in do_lstat
|
|
e25dda51
|
2012-08-02T01:38:30
|
|
Merge remote-tracking branch 'nulltoken/topic/amd64-compat' into development
Conflicts:
src/netops.c
src/netops.h
src/oid.c
|
|
95a1d876
|
2012-08-01T16:31:00
|
|
Merge pull request #850 from libgit2/attr-export
attr: Do not export variables externally
|
|
0ac349a9
|
2012-08-02T01:22:51
|
|
repository: Indentation
|
|
e5f49501
|
2012-08-01T16:21:41
|
|
Merge pull request #848 from carlosmn/pending-message
repository: add a getter and remove function for git's prepared message
|
|
0c9eacf3
|
2012-08-02T01:15:24
|
|
attr: Do not export variables externally
Fixes #824
Exporting variables in a dynamic library is a PITA. Let's keep
these values internally and wrap them through a helper method.
This doesn't break the external API. @arrbee, aren't you glad I turned
the `GIT_ATTR_` macros into function macros? :sparkles:
|
|
aa549d32
|
2012-08-01T15:09:05
|
|
Clean up a TODO comment.
|
|
e564e496
|
2012-08-01T20:02:32
|
|
Add function to query for compile time settings.
|
|
074841ec
|
2012-08-01T17:49:19
|
|
repository: add a getter and remove function for git's prepared message
The 'git revert/cherry-pick/merge -n' commands leave .git/MERGE_MSG
behind so that git-commit can find it. As we don't yet support these
operations, users who are shelling out to let git perform these
operations haven't had a convenient way to get this message.
These functions allow the user to retrieve the message and remove it
when she's created the commit.
|
|
5f4d2f9f
|
2012-07-31T19:49:19
|
|
Checkout: fix problem with detached HEAD.
|
|
e4bac3c4
|
2012-07-31T15:38:12
|
|
Checkout: crlf filter.
|
|
8e4aae1a
|
2012-07-31T10:44:42
|
|
Checkout: handle file modes properly.
Global file mode override now works properly with
the file mode stored in the tree node.
|
|
2340b181
|
2012-07-31T10:19:30
|
|
Merge pull request #826 from carlosmn/config-find-error
git_config_find_* does not set a git error
|
|
bfb59164
|
2012-07-31T10:16:21
|
|
Merge pull request #833 from carlosmn/odb-one
odb: allow creating an ODB backend from a packfile index
|
|
7e02c7c5
|
2012-07-31T08:45:42
|
|
Checkout: save index on checkout.
|
|
4bf51156
|
2012-07-30T14:52:46
|
|
Enable stats on git_index_read_tree.
Replace with the contents of
git_index_read_tree_with_stats() and improve
documentation comments.
|
|
f1587b97
|
2012-07-30T14:37:40
|
|
Checkout: use git_index_read_tree_with_stats.
New variant of git_index_read_tree that fills in
the 'total' field of a git_indexer_stats struct
as it's walking the tree.
|
|
0048372a
|
2012-07-27T01:09:06
|
|
transport: rename encrypt to use_ssl
SSL isn't the only way that a transport can be encrypted. The new name
will make it easier to merge the SSH support.
|
|
3e3228b6
|
2012-07-25T16:30:58
|
|
fetch: remove timeout code
|
|
8861d32f
|
2012-07-25T16:16:53
|
|
ssl: use the callback instead of ifs to determine how to get data
Using the callbacks makes it clearer and reduces the amount of #ifdefs
and ifs and we need in the code.
|
|
ad4b5beb
|
2012-07-25T10:40:59
|
|
transport: store the refs in a common area
Instad of each transport having its own function and logic to get to
its refs, store them directly in transport.
Leverage the new gitno_buffer to make the parsing and storing of the
refs use common code and get rid of the git_protocol struct.
|
|
b49c8f71
|
2012-07-24T19:03:22
|
|
remote: use the same code to control git and http
This allows us to add capabilitites to both at the same time, keeps
them in sync and removes a lot of code.
gitno_buffer now uses a callback to fill its buffer, allowing us to
use the same interface for git and http (which uses callbacks).
|
|
114dc6e1
|
2012-07-24T17:10:57
|
|
network: implement multi_ack for the git transport
|
|
64d01de8
|
2012-07-24T14:23:16
|
|
remote: start moving the protocol to a common area
For the transition, http is going to keep its own logic until the
git/common code catches up with the implied multi_ack that http
has. This also has the side-effect of making the code cleaner and more
correct regardingt he protocol.
|
|
f6b26e77
|
2012-07-27T10:53:09
|
|
git_oid_cmp: inline memcmp by hand to optimize
git.git uses an inlined hashcmp function instead of memcmp, since it
performes much better when comparing hashes (most hashes compared
diverge within the first byte).
Measurements and rationale for the curious reader:
http://thread.gmane.org/gmane.comp.version-control.git/172286
|
|
6810ba08
|
2012-07-28T11:33:12
|
|
Fix -Wuninitialized warning
|
|
b31667fb
|
2012-07-27T20:29:06
|
|
Checkout: add head- and ref-centric checkouts.
Renamed git_checkout_index to what it really was,
and removed duplicate code from clone.c. Added
git_checkout_ref, which updates HEAD and hands off
to git_checkout_head.
Added tests for the options the caller can pass to
git_checkout_*.
|
|
4d83399d
|
2012-07-27T11:55:58
|
|
Adjust for msvc pedantry.
|
|
b494cdbd
|
2012-07-27T11:50:32
|
|
Checkout: handle deeply-nested submodules better.
Now creating intermediate directories where the
submodule is deep, like "src/deps/foosubmodule".
|
|
8a155a04
|
2012-07-27T11:49:34
|
|
Fix mismatched git_branch_create args.
|
|
7affe23d
|
2012-07-27T11:23:44
|
|
Use new git_remote_update_tips signature.
|
|
a4827a5b
|
2012-07-27T11:17:21
|
|
Merge remote-tracking branch 'upstream/development' into test-merge
|
|
60d5cc57
|
2012-07-27T09:52:44
|
|
Merge pull request #834 from carlosmn/network-callbacks
Add a struct for network callbacks
|
|
f0244463
|
2012-07-27T18:49:37
|
|
branch: Add `repository` argument to `create`
Yes, we can get the repository from the owner of the object, but having
it marked explicitly makes the API more consistent.
|
|
b41a30bd
|
2012-07-27T18:45:55
|
|
Merge remote-tracking branch 'nulltoken/topic/branch-rework' into development
|
|
b84f75c3
|
2012-07-27T18:43:02
|
|
reflog: Rename `entry_drop` to `drop`
|
|
43b67d49
|
2012-07-27T18:39:40
|
|
Merge remote-tracking branch 'nulltoken/topic/reflog-delete' into development
|
|
6eb240b0
|
2012-07-26T19:09:37
|
|
Checkout: use caller's flags for open()
|
|
c0c39025
|
2012-07-27T02:37:15
|
|
remote: fix C99-ism
|
|
095ccc01
|
2012-07-26T16:31:49
|
|
Checkout: implementation of most options
|
|
2031760c
|
2012-07-26T16:10:22
|
|
Fix git_tree_walk to return user error
This makes sure that an error code returned by the callback function
of `git_tree_walk` will stop the iteration and get propagated back
to the caller verbatim.
Also, this adds a minor helper function `git_tree_entry_byoid` that
searches a `git_tree` for an entry with the given OID. This isn't
a fast function, but it's easier than writing the loop yourself as
an external user of the library.
|
|
eff5b499
|
2012-07-25T02:34:12
|
|
Remotes: Use correct url in git_remote_connect
|
|
413d5563
|
2012-07-25T02:10:35
|
|
Remotes: Save a cleaned pushurl (by deleting it from the config)
|
|
76501590
|
2012-07-25T01:33:15
|
|
Remotes: Setter for url+pushurl; Getter for pushurl
|
|
3ed4b501
|
2012-07-25T01:32:31
|
|
Remotes: Load/Save for fetch.foo.pushurl
|
|
cb020f0d
|
2012-07-25T01:14:58
|
|
Remove unneccessary string transformation
|
|
b401bace
|
2012-07-26T13:12:21
|
|
Restructure for better checkout options
* Removed the #define for defaults
* Promoted progress structure to top-level API call
argument
|
|
ef9905c9
|
2012-07-26T12:58:44
|
|
checkout: introduce git_checkout_opts
Refactor checkout into several more-sensible
entry points, which consolidates common options
into a single structure that may be passed around.
|
|
c3be5c5a
|
2012-07-21T19:19:46
|
|
reflog: keep the reflog name in sync with the reference name
|
|
40c75652
|
2012-07-21T12:33:46
|
|
reflog: prevent git_reflog_append() from persisting the reflog back to disk
|
|
ae833178
|
2012-07-21T12:32:02
|
|
reflog: prevent git_reflog_read() from chocking when no log exists yet
|
|
bd72425d
|
2012-07-18T20:12:45
|
|
reflog: introduce git_reflog_write()
|
|
d284b3de
|
2012-07-16T12:12:53
|
|
reflog: rename git_reflog_write() to git_reflog_append()
|
|
59341a5d
|
2012-07-16T18:31:22
|
|
reflog: introduce git_reflog_entry_drop()
|
|
7c458e3a
|
2012-07-17T10:53:19
|
|
reflog: add GIT_OID_HEX_ZERO constant
|
|
b8457baa
|
2012-07-24T07:57:58
|
|
portability: Improve x86/amd64 compatibility
|
|
786a17cd
|
2012-07-20T16:41:41
|
|
branch: enforce git_branch_delete() parameter checking
|
|
ef4d795e
|
2012-07-20T16:39:22
|
|
refs: drop git_reference_remote_tracking_from_branch()
|
|
fb910281
|
2012-07-20T16:38:54
|
|
branch: introduce git_branch_tracking()
|
|
bf9e8cc8
|
2012-07-20T16:34:08
|
|
branch: make git_branch_move() reference based
|
|
88bcd515
|
2012-07-20T16:27:56
|
|
branch: introduce git_reference_is_branch()
|
|
eed378b6
|
2012-07-20T16:19:04
|
|
branch: introduce git_branch_lookup()
|
|
b308c11e
|
2012-07-19T15:39:16
|
|
branch: change git_branch_create() to make it return a reference
|
|
326ca710
|
2012-07-19T15:32:58
|
|
branch: remove useless header
|