|
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
|
|
b769e936
|
2012-08-01T14:49:47
|
|
Don't reference stack vars in cleanup callback
If you use the clar cleanup callback function, you can't pass a
reference pointer to a stack allocated variable because when the
cleanup function runs, the stack won't exist anymore.
|
|
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.
|
|
697665c0
|
2012-08-21T14:32:09
|
|
Merge pull request #889 from nulltoken/filemode-enum
Filemode enum
|
|
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
|
|
d854d59e
|
2012-08-17T21:15:32
|
|
filemode: introduce enum to ease use of attributes
|
|
b2be351a
|
2012-08-21T10:10:32
|
|
Win32: test core.autocrlf
|
|
c3588142
|
2012-08-20T20:24:20
|
|
Tests: close file handles before asserting
Avoids getting ERROR_SHARING_VIOLATION on win32
and killing the entire clar run.
|
|
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.
|
|
6cb64ce3
|
2012-08-19T15:12:43
|
|
Merge pull request #879 from nulltoken/deprecated-mode
Handling of 100664 deprecated mode in tree entries
|
|
66439b0b
|
2012-08-17T11:21:49
|
|
treebuilder: enhance attributes handling on insertion
|
|
a7e3bd9b
|
2012-08-16T11:53:24
|
|
Add deprecated-mode.git test repository
|
|
f98c32f3
|
2012-08-19T01:26:06
|
|
Merge pull request #778 from ben/clone
Clone
|
|
1a10fded
|
2012-08-15T14:34:49
|
|
Merge pull request #877 from nulltoken/minor-fixes
Minor fixes
|
|
e0db9f11
|
2012-08-15T17:54:05
|
|
refs: fix missing parameter documentation
|
|
5fd17fc2
|
2012-08-15T17:50:02
|
|
notes: slight documentation enhancements
|
|
1a0537e4
|
2012-08-15T00:08:38
|
|
Fix compilation warning
|
|
fc1826d1
|
2012-08-14T20:54:13
|
|
tests: fix tree walking test
Return -1 to stop the iteration instead of not-0
|
|
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.
|
|
e08ca0d4
|
2012-08-13T21:04:27
|
|
Merge pull request #871 from joshtriplett/fix-note_foreach-docs
git_note_foreach: Fix documentation for notes_ref parameter
|
|
a6ee6201
|
2012-08-13T21:02:35
|
|
Merge pull request #870 from joshtriplett/fix-note_create-docs
git_note_oid: Fix the documentation to reference parameters using the correct names
|
|
0374e6ab
|
2012-08-13T21:02:12
|
|
Merge pull request #872 from joshtriplett/fix-note_remove-docs
git_note_create: Copyediting on documentation for the oid parameter
|
|
b7916444
|
2012-08-13T21:01:24
|
|
Merge pull request #867 from joshtriplett/fix-array-size-for-git_config_get_mapped
Fix incorrect array size in example for git_config_get_mapped
|
|
c86dd38a
|
2012-08-13T20:56:28
|
|
Merge pull request #866 from arrbee/fix-config-file-parsing
Config file parser includes = in name if no space around it
|
|
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
|
|
39a60efd
|
2012-08-12T07:06:11
|
|
git_note_remove: Copyediting on documentation for the oid parameter
|
|
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.
|
|
d45ada03
|
2012-08-12T06:31:42
|
|
git_note_foreach: Fix documentation for notes_ref parameter
|
|
22408f4d
|
2012-08-12T05:53:30
|
|
git_note_oid: Fix the documentation to reference parameters using the correct names
|
|
b90202bb
|
2012-08-12T03:56:15
|
|
Fix incorrect array size in example for git_config_get_mapped
In the documentation for git_config_get_mapped, the sample mapping
array uses [3] but has 4 entries. Fix by dropping the size entirely and
letting the compiler figure it out.
|
|
c9d78bde
|
2012-08-11T18:21:44
|
|
Merge pull request #863 from joshtriplett/export-git_attr_value
Export git_attr_value
|
|
5389005d
|
2012-08-11T18:14:07
|
|
Export git_attr_value
Commit 0c9eacf3d2c83256736a5bb2a240e73afd13d55f introduced the function
git_attr_value and switched the GIT_ATTR_* macros to use it, but
attempting to use that function leads to a linker error (undefined
reference to `git_attr_value'). Export git_attr_value so programs can
actually call it.
|
|
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
|
|
d7b3dab9
|
2012-08-09T12:54:58
|
|
Merge pull request #861 from josh/parse-chomped-oid
Parse ref oids without trailing newline
|
|
de65f824
|
2012-08-09T14:47:58
|
|
Merge remote-tracking branch 'arrbee/rtrim-loose-refs' into parse-chomped-oid
|
|
186c054d
|
2012-08-09T14:47:29
|
|
Revert implementation changes
|
|
28e00681
|
2012-08-09T14:39:56
|
|
Ignore ref oid terminator
|
|
e60af904
|
2012-08-09T14:39:43
|
|
Test trailing space after ref oid
|
|
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.
|
|
eb87800a
|
2012-08-06T09:34:17
|
|
Checkout: fix memory leak in tests.
|
|
81f73a87
|
2012-08-06T12:53:09
|
|
test: Open ODB on each test suite
|
|
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:
|
|
cf81ded6
|
2012-08-01T15:18:03
|
|
Merge pull request #849 from scunz/git_caps
Add function to query for compile time settings.
|
|
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.
|
|
8b67f72b
|
2012-07-31T21:25:48
|
|
Add documentation for clone methods.
|
|
5f4d2f9f
|
2012-07-31T19:49:19
|
|
Checkout: fix problem with detached HEAD.
|
|
5280f4e6
|
2012-07-31T19:39:06
|
|
Add checkout.h to git2.h.
Also correcting some documentation strings.
|
|
78cd966a
|
2012-07-31T16:24:04
|
|
Checkout: fix crlf tests under win32.
|
|
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
|
|
0565e7bd
|
2012-07-31T10:17:22
|
|
Merge pull request #837 from carlosmn/travis
travis: be more idiomatic with the environment
|
|
bfb59164
|
2012-07-31T10:16:21
|
|
Merge pull request #833 from carlosmn/odb-one
odb: allow creating an ODB backend from a packfile index
|
|
3f584b50
|
2012-07-31T09:01:11
|
|
Try to fix Travis.
|
|
383fb799
|
2012-07-31T08:51:38
|
|
Rename example function to avoid name collision.
|
|
7e02c7c5
|
2012-07-31T08:45:42
|
|
Checkout: save index on checkout.
|
|
577cd8ae
|
2012-07-30T16:17:35
|
|
Merge pull request #840 from carlosmn/remote-unify
Unify the transport code
|
|
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.
|
|
84595a30
|
2012-07-30T14:38:32
|
|
Add clone to the network example.
|
|
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.
|
|
ae789622
|
2012-07-25T10:52:20
|
|
examples: fix warnings in network/
|
|
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.
|
|
50364dd8
|
2012-07-29T22:30:01
|
|
Merge pull request #847 from schu/inline-oid-cmp
git_oid_cmp: inline memcmp by hand to optimize
|
|
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
|