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
nulltoken
b1aca6eae0
commit: introduce git_commit_nth_gen_ancestor()
2012-07-12 01:06:11 +02:00
Ben Straub
81167385e9
Fix compile and workings on msvc.
...
Signed-off-by: Ben Straub <bstraub@github.com>
2012-07-11 15:41:37 -07:00
nulltoken
8aedf1d558
signature: prevent angle bracket usage in identity
2012-07-11 20:40:13 +02:00
nulltoken
118cf57d42
revwalk: relax the parsing of the commit time
2012-07-11 20:40:12 +02:00
nulltoken
5b07111529
tests: add test commit with angle brackets in the author name
2012-07-11 20:40:12 +02:00
Ben Straub
d024419f16
Add git_path_is_empty_dir.
2012-07-11 10:40:53 -07:00
Ben Straub
822d9dd51f
Remove duplicate of git_repository_head_tree.
2012-07-11 09:50:12 -07:00
Vicent Martí
a13a30ac30
Merge pull request #801 from nulltoken/fix/ref-renaming
...
refs and revparse love <3
2012-07-11 05:29:51 -07:00
Russell Belfer
991a56c704
Add flag to write gitlink on setting repo workdir
...
This added a flag to the `git_repository_set_workdir()` function
that enables generation of a `.git` gitlink file that links the
new workdir to the parent repository. Essentially, the flag tells
the function to write out the changes to disk to permanently set
the workdir of the repository to the new path.
If you pass this flag as true, then setting the workdir to something
other than the default workdir (i.e. the parent of the .git repo
directory), will create a plain file named ".git" with the standard
gitlink contents "gitdir: <repo-path>", and also update the
"core.worktree" and "core.bare" config values.
Setting the workdir to the default repo workdir will clear the
core.worktree flag (but still permanently set core.bare to false).
BTW, the libgit2 API does not currently provide a function for
clearing the workdir and converting a non-bare repo into a bare one.
2012-07-10 23:19:47 -07:00
Russell Belfer
b3ff1dab31
Adding git_config_foreach_match() iteration fn
...
Adding a new config iteration function that let's you iterate
over just the config entries that match a particular regular
expression. The old foreach becomes a simple use of this with
an empty pattern.
This also fixes an apparent bug in the existing `git_config_foreach`
where returning a non-zero value from the iteration callback was
not correctly aborting the iteration and the returned value was
not being propogated back to the caller of foreach.
Added to tests to cover all these changes.
2012-07-10 23:19:47 -07:00
Russell Belfer
b0fe112922
Add path utilities to resolve relative paths
...
This makes it easy to take a buffer containing a path with relative
references (i.e. .. or . path segments) and resolve all of those
into a clean path. This can be applied to URLs as well as file
paths which can be useful.
As part of this, I made the drive-letter detection apply on all
platforms, not just windows. If you give a path that looks like
"c:/..." on any platform, it seems like we might as well detect
that as a rooted path. I suppose if you create a directory named
"x:" on another platform and want to use that as the beginning
of a relative path under the root directory of your repo, this
could cause a problem, but then it seems like you're asking for
trouble.
2012-07-10 23:19:47 -07:00
Russell Belfer
039fc40679
Add a couple of useful git_buf utilities
...
* `git_buf_rfind` (with tests and tests for `git_buf_rfind_next`)
* `git_buf_puts_escaped` and `git_buf_puts_escaped_regex` (with tests)
to copy strings into a buffer while injecting an escape sequence
(e.g. '\') in front of particular characters.
2012-07-10 23:19:47 -07:00
Russell Belfer
4d3a7b7846
Merge pull request #793 from libgit2/tree-entry-by-path
...
Bring back `entry_bypath`
2012-07-10 21:45:16 -07:00
Russell Belfer
19017a24e3
Merge pull request #797 from yorah/fix/inter-hunk-context
...
diff: make inter-hunk-context default value git-compliant
2012-07-10 16:24:17 -07:00
Ben Straub
1c7eb971ac
Reindent.
2012-07-10 12:04:23 -07:00
nulltoken
3e82d6c6f0
revparse: unfound reference return ENOTFOUND
2012-07-07 12:16:15 +02:00
nulltoken
ce9e8e11ca
revparse: fix invalid test reference name
2012-07-07 12:16:14 +02:00
nulltoken
b8460c2015
revparse: do not segfault when retrieving the last entry
2012-07-07 12:16:14 +02:00
nulltoken
3d78ab6427
revparse: split reflog test per feature
2012-07-07 12:16:12 +02:00
nulltoken
3cd90893a0
revparse: enhance upstream reflog test coverage
2012-07-07 12:16:11 +02:00
nulltoken
35bed94fd5
revparse: enhance refs/<name> coverage
2012-07-07 12:16:10 +02:00
nulltoken
cab65c2b23
revparse: detect incorrect "refname@{-n}" syntax
2012-07-07 12:16:08 +02:00
nulltoken
1decf88bc1
revparse: slightly improve readability of tests
2012-07-07 12:16:08 +02:00
nulltoken
34922eeeed
revparse: readonly tests don't need a sandboxed repo
2012-07-07 12:16:07 +02:00
nulltoken
d0a920a6fd
refs: deep unfound ref returns ENOTFOUND
2012-07-07 12:15:30 +02:00
nulltoken
75261421ec
refs: add git_reference_has_log()
2012-07-07 12:15:28 +02:00
nulltoken
b6bfd96fdd
refs: fix moving of the reflog when renaming a ref
2012-07-07 12:15:28 +02:00
Vicent Martí
b00e921605
Merge pull request #798 from nulltoken/fix/revparse-date
...
revparse: fix parsing of date specifiers
2012-07-03 12:38:09 -07:00
Carlos Martín Nieto
521aedad30
odb: add git_odb_foreach()
...
Go through each backend and list every objects that exists in
them. This allows fsck-like uses.
2012-07-03 12:50:51 +02:00
Carlos Martín Nieto
973ed4c9f0
repo tests: do cleanup reinit tests
2012-07-03 12:11:19 +02:00
nulltoken
494ae940a0
revparse: fix parsing of date specifiers
2012-07-02 19:56:41 +02:00
yorah
29f9186d1b
diff: make inter-hunk-context default value git-compliant
...
Default in git core is 0, not 3
2012-07-02 17:27:49 +02:00
nulltoken
52b938d55a
revparse: unfound reflog entry returns ENOTFOUND
2012-06-29 17:23:18 +02:00
nulltoken
08ac23a5fd
revparse: unfound reflog ref returns ENOTFOUND
2012-06-29 17:23:10 +02:00
nulltoken
4de89ce72a
revparse: unfound partially-named ref returns ENOTFOUND
2012-06-29 17:22:43 +02:00
Scott J. Goldman
7e8c146c6b
Don't rmdir() nonexistent dirs in object::tree::frompath tests
...
It causes the clar testsuite to abort on Windows, and isn't necessary.
2012-06-29 00:47:46 -07:00
Vicent Marti
0e2fcca850
tree: Bring back entry_bypath
...
Smaller, simpler, faster.
2012-06-29 02:21:12 +02:00
nulltoken
0e7af9e758
revparse: unfound nth parent returns ENOTFOUND
2012-06-28 19:12:42 +02:00
nulltoken
0d23c62c48
revparse: handle specs with caret and colon
2012-06-28 19:12:41 +02:00
nulltoken
5b68ba7e15
revparse: unfound treepath returns ENOTFOUND
2012-06-28 19:12:40 +02:00
nulltoken
faaa7c517c
revparse: return trees through the "colon" syntax
2012-06-28 19:12:40 +02:00
nulltoken
e28dd29b6e
revparse: replace spaces with tabs
2012-06-28 19:12:39 +02:00