Russell Belfer
decff7b4c1
New submodule test data
2012-08-24 11:00:26 -07:00
Russell Belfer
2eb4edf5f2
Fix errors on Win32 with new repo init
2012-08-24 10:48:48 -07:00
Russell Belfer
e9ca852e4d
Fix warnings and merge issues on Win64
2012-08-23 09:20:17 -07:00
Russell Belfer
85bd174626
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
2012-08-22 16:16:42 -07:00
Russell Belfer
b769e936d0
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.
2012-08-22 16:07:19 -07:00
Russell Belfer
ca1b6e5409
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.
2012-08-22 16:07:19 -07:00
Russell Belfer
5fdc41e765
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.
2012-08-22 13:57:57 -07:00
Vicent Martí
cfda29e382
Merge pull request #891 from arrbee/internal-ignore-api
...
API for managing in-memory ignore rules
2012-08-22 13:15:14 -07:00
Russell Belfer
2fb4e9b3c5
Wrap up ignore API and add tests
...
This fills out the ignore API and adds tests.
2012-08-22 11:42:00 -07:00
nulltoken
9d7ac675d0
tree entry: rename git_tree_entry_attributes() into git_tree_entry_filemode()
2012-08-21 23:15:13 +02:00
nulltoken
a7dbac0b23
filemode: deploy enum usage
2012-08-21 23:15:10 +02:00
Ben Straub
b2be351aad
Win32: test core.autocrlf
2012-08-21 10:55:39 -07:00
Ben Straub
c35881420d
Tests: close file handles before asserting
...
Avoids getting ERROR_SHARING_VIOLATION on win32
and killing the entire clar run.
2012-08-20 20:24:20 -07:00
nulltoken
66439b0b1a
treebuilder: enhance attributes handling on insertion
2012-08-19 14:11:59 +02:00
nulltoken
a7e3bd9b0f
Add deprecated-mode.git test repository
2012-08-19 14:11:57 +02:00
Vicent Martí
f98c32f3fe
Merge pull request #778 from ben/clone
...
Clone
2012-08-19 01:26:06 -07:00
Carlos Martín Nieto
fc1826d149
tests: fix tree walking test
...
Return -1 to stop the iteration instead of not-0
2012-08-14 20:54:13 +02:00
Russell Belfer
3a6bc301c5
Merge pull request #875 from arrbee/fix-message-prettify-length-check
...
Fix message prettify length check
2012-08-14 11:30:18 -07:00
Russell Belfer
85a0e28b80
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.
2012-08-14 10:50:58 -07:00
Russell Belfer
fdc637c4e2
Check prettify message output buffer after cleanup
...
This makes the message prettify buffer length check accurate.
2012-08-12 09:08:45 -07:00
Russell Belfer
a1ecddf01c
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.
2012-08-12 07:59:30 -07:00
Joshua Peek
e60af90498
Test trailing space after ref oid
2012-08-09 14:39:43 -05:00
Joshua Peek
6ab6829097
Parse ref oids without trailing newline
2012-08-09 12:39:09 -05:00
Ben Straub
eb87800ab6
Checkout: fix memory leak in tests.
2012-08-06 09:34:17 -07:00
Vicent Marti
81f73a872c
test: Open ODB on each test suite
2012-08-06 12:53:09 +02:00
Vicent Marti
51e1d80846
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
2012-08-06 12:41:08 +02:00
Russell Belfer
b0d376695e
Add new iteration behavior to git_tree_walk
...
Missed this one, ironically enough.
2012-08-03 17:24:59 -07:00
Russell Belfer
5dca201072
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.
2012-08-03 17:08:01 -07:00
Vicent Marti
e25dda51c4
Merge remote-tracking branch 'nulltoken/topic/amd64-compat' into development
...
Conflicts:
src/netops.c
src/netops.h
src/oid.c
2012-08-02 01:38:30 +02:00
Carlos Martín Nieto
074841ec6a
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.
2012-08-01 18:39:20 +02:00
Ben Straub
5f4d2f9f65
Checkout: fix problem with detached HEAD.
2012-07-31 19:49:19 -07:00
Ben Straub
78cd966aaf
Checkout: fix crlf tests under win32.
2012-07-31 16:24:04 -07:00
Ben Straub
e4bac3c469
Checkout: crlf filter.
2012-07-31 15:38:12 -07:00
Ben Straub
8e4aae1ae5
Checkout: handle file modes properly.
...
Global file mode override now works properly with
the file mode stored in the tree node.
2012-07-31 10:46:38 -07:00
Vicent Martí
bfb5916468
Merge pull request #833 from carlosmn/odb-one
...
odb: allow creating an ODB backend from a packfile index
2012-07-31 10:16:21 -07:00
Ben Straub
3f584b5027
Try to fix Travis.
2012-07-31 09:01:11 -07:00
Ben Straub
4bf5115642
Enable stats on git_index_read_tree.
...
Replace with the contents of
git_index_read_tree_with_stats() and improve
documentation comments.
2012-07-30 15:48:06 -07:00
Ben Straub
e0681f6d07
Checkout: disable file-mode test on win32.
2012-07-27 20:39:43 -07:00
Ben Straub
32beb2ecfe
Fix testrepo ref count to include new branch.
2012-07-27 20:36:12 -07:00
Ben Straub
b31667fb69
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_*.
2012-07-27 20:31:05 -07:00
Ben Straub
a4827a5b5c
Merge remote-tracking branch 'upstream/development' into test-merge
2012-07-27 11:17:21 -07:00
Ben Straub
15445f9ef7
Turn off network-dependent test for CI.
2012-07-27 11:14:30 -07:00
Vicent Martí
31637cd56a
Merge pull request #839 from nulltoken/topic/odb-foreach-documentation
...
odb: add some documentation to the foreach() test
2012-07-27 11:09:04 -07:00
Vicent Marti
f0244463ad
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.
2012-07-27 18:49:37 +02:00
Vicent Marti
b41a30bdbb
Merge remote-tracking branch 'nulltoken/topic/branch-rework' into development
2012-07-27 18:45:55 +02:00
Vicent Marti
b84f75c357
reflog: Rename entry_drop
to drop
2012-07-27 18:43:02 +02:00
Vicent Marti
43b67d496b
Merge remote-tracking branch 'nulltoken/topic/reflog-delete' into development
2012-07-27 18:39:40 +02:00
Sascha Cunz
eff5b49927
Remotes: Use correct url in git_remote_connect
2012-07-27 00:08:56 +02:00
Sascha Cunz
413d556384
Remotes: Save a cleaned pushurl (by deleting it from the config)
2012-07-27 00:08:54 +02:00
Sascha Cunz
8689a69d09
Tests: Test remote's pushurl
2012-07-26 23:08:24 +02:00
Ben Straub
b401bace1b
Restructure for better checkout options
...
* Removed the #define for defaults
* Promoted progress structure to top-level API call
argument
2012-07-26 13:12:21 -07:00
Ben Straub
ef9905c990
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.
2012-07-26 12:58:44 -07:00
Michael Schubert
0aeae70553
tests-clar/status: fix missing-prototype warning
2012-07-25 17:01:50 +02:00
nulltoken
1d733b573a
odb: add some documentation to the foreach() test
2012-07-25 11:23:27 +02:00
nulltoken
c3be5c5af0
reflog: keep the reflog name in sync with the reference name
2012-07-25 08:01:13 +02:00
nulltoken
40c75652d0
reflog: prevent git_reflog_append() from persisting the reflog back to disk
2012-07-25 07:53:32 +02:00
nulltoken
bd72425d16
reflog: introduce git_reflog_write()
2012-07-25 07:53:30 +02:00
nulltoken
d284b3de63
reflog: rename git_reflog_write() to git_reflog_append()
2012-07-25 07:53:30 +02:00
nulltoken
59341a5d59
reflog: introduce git_reflog_entry_drop()
2012-07-25 07:53:29 +02:00
nulltoken
7c458e3aee
reflog: add GIT_OID_HEX_ZERO constant
2012-07-25 07:53:27 +02:00
nulltoken
1cb157184b
tests: reorganize reflog tests
2012-07-25 07:53:27 +02:00
nulltoken
b8457baae2
portability: Improve x86/amd64 compatibility
2012-07-24 16:10:12 +02:00
nulltoken
ef4d795ec5
refs: drop git_reference_remote_tracking_from_branch()
2012-07-24 16:09:49 +02:00
nulltoken
fb910281d6
branch: introduce git_branch_tracking()
2012-07-24 16:09:48 +02:00
nulltoken
bf9e8cc86b
branch: make git_branch_move() reference based
2012-07-24 16:09:47 +02:00
nulltoken
88bcd5153f
branch: introduce git_reference_is_branch()
2012-07-24 16:09:45 +02:00
nulltoken
eed378b669
branch: introduce git_branch_lookup()
2012-07-24 16:09:44 +02:00
nulltoken
b308c11e4e
branch: change git_branch_create() to make it return a reference
2012-07-24 16:09:43 +02:00
nulltoken
326ca710a0
branch: remove useless header
2012-07-24 16:09:42 +02:00
yorah
a1773f9d89
Add flag to turn off pathspec testing for diff and status
2012-07-24 14:03:09 +02:00
yorah
e5e71f5e1d
Add more test coverage to match default git behavior for files containing brackets
2012-07-24 14:03:08 +02:00
aroben
151446ca60
Add a test for getting status of files containing brackets
2012-07-24 14:03:08 +02:00
yorah
02a0d651d7
Add git_buf_unescape and git__unescape to unescape all characters in a string (in-place)
2012-07-24 14:03:07 +02:00
Carlos Martín Nieto
279b45b05b
revparse: don't allow an empty string
...
Asking the library for "" used to give HEAD, but that's trying to
impose a default at the wrong layer. Make it fail.
2012-07-23 21:32:45 +02:00
Carlos Martín Nieto
14e1bc157a
tests: plug a leak in the config stress
2012-07-21 17:55:35 +02:00
Vicent Martí
5b78696334
Merge pull request #818 from nulltoken/rework
...
Revparse rework
2012-07-21 07:56:59 -07:00
Carlos Martín Nieto
507523c32f
odb: allow creating an ODB backend from a packfile index
...
git_odb_backend_one_packfile() allows us to create an ODB backend out
of an .idx file.
2012-07-21 16:23:49 +02:00
Carlos Martín Nieto
5d9cfa07ac
config: escape subsection names when creating them
...
This allows us to set options like "some.foo\\ish.var".
This closes #830
2012-07-21 02:28:46 +02:00
Russell Belfer
71d2735837
Fix bug with merging diffs with null options
...
A diff that is created with a NULL options parameter could result
in a NULL prefix string, but diff merge was unconditionally
strdup'ing it. I added a test to replicate the issue and then a
new method that does the right thing with NULL values.
2012-07-19 10:23:45 -07:00
Ben Straub
09a03995e0
Checkout: make core.symlinks test work on OSX.
2012-07-17 20:20:34 -07:00
Ben Straub
8651c10f1e
Checkout: obey core.symlinks.
2012-07-17 19:57:37 -07:00
nulltoken
db9be9457d
object: introduce git_object_peel()
...
Partially fix #530
2012-07-17 20:32:40 +02:00
Ben Straub
3e026f1b45
Update master-tip to fix unit test.
2012-07-17 09:00:38 -07:00
Ben Straub
bfc6563405
Merge branch 'development' into clone
2012-07-17 08:08:34 -07:00
Ben Straub
1d68fcd04b
Checkout: handle symlinks.
...
Includes unfinished win32 implementation.
2012-07-16 16:22:41 -07:00
nulltoken
d448392e5d
revparse: extend test coverage
2012-07-15 18:41:55 +02:00
nulltoken
b0f1533867
revparse: add reflog test data
2012-07-15 18:41:54 +02:00
Ben Straub
71bc89b9b6
Disable test that aren't quite ready yet.
2012-07-13 20:24:40 -07:00
Ben Straub
280c7bbf13
Add checkout test suite.
...
Removed 'bare' option from test repository to
allow checkout tests.
2012-07-13 15:52:27 -07:00
nulltoken
d1b7921a48
revparse: fix disambiguation of refs and abbrev oids
2012-07-12 22:30:00 +02:00
nulltoken
bb89cf9478
revparse: simplify handling of the colon syntax
2012-07-12 22:29:58 +02:00
nulltoken
dc1f4b32d3
tree: unfound tree entry returns GIT_ENOTFOUND
2012-07-12 22:29:55 +02:00
Russell Belfer
465092ce3f
Fix memory leak in test
2012-07-12 11:56:50 -07:00
Carlos Martín Nieto
eca67c585e
tests: fix git_odb_foreach() object count
...
Some objects were added in another PR
2012-07-12 20:40:09 +02:00
Vicent Martí
dd4345b424
Merge pull request #789 from carlosmn/odb-foreach
...
odb: add git_odb_foreach()
2012-07-12 09:42:54 -07:00
Vicent Martí
0cf6b2f29e
Merge pull request #805 from nulltoken/fix/revwalk-email-parsing
...
Fix revwalk email parsing
2012-07-12 09:37:09 -07:00
Vicent Martí
db2d4061f6
Merge pull request #814 from nulltoken/topic/revparse-refac
...
Revparse refactoring: a start
2012-07-12 09:35:35 -07:00
Vicent Martí
48bcf81dd2
Merge pull request #812 from arrbee/assorted-tweaks
...
Assorted goodies
2012-07-12 09:32:44 -07:00
nulltoken
84f18e3587
refs: introduce git_reference_remote_tracking_from_branch()
2012-07-12 01:06:13 +02:00
nulltoken
874303d468
refs: readonly tests don't need a sandboxed repo
2012-07-12 01:06:12 +02:00