Commit Graph

512 Commits

Author SHA1 Message Date
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