|
db2d4061
|
2012-07-12T09:35:35
|
|
Merge pull request #814 from nulltoken/topic/revparse-refac
Revparse refactoring: a start
|
|
48bcf81d
|
2012-07-12T09:32:44
|
|
Merge pull request #812 from arrbee/assorted-tweaks
Assorted goodies
|
|
84f18e35
|
2012-07-12T00:44:07
|
|
refs: introduce git_reference_remote_tracking_from_branch()
|
|
874303d4
|
2012-07-11T23:47:58
|
|
refs: readonly tests don't need a sandboxed repo
|
|
b1aca6ea
|
2012-07-11T16:14:12
|
|
commit: introduce git_commit_nth_gen_ancestor()
|
|
a13a30ac
|
2012-07-11T05:29:51
|
|
Merge pull request #801 from nulltoken/fix/ref-renaming
refs and revparse love <3
|
|
b0fe1129
|
2012-07-10T15:13:30
|
|
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.
|
|
039fc406
|
2012-07-10T15:10:14
|
|
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.
|
|
991a56c7
|
2012-07-10T15:35:38
|
|
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.
|
|
b3ff1dab
|
2012-07-10T15:22:39
|
|
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.
|
|
4d3a7b78
|
2012-07-10T21:45:16
|
|
Merge pull request #793 from libgit2/tree-entry-by-path
Bring back `entry_bypath`
|
|
19017a24
|
2012-07-10T16:24:17
|
|
Merge pull request #797 from yorah/fix/inter-hunk-context
diff: make inter-hunk-context default value git-compliant
|
|
3e82d6c6
|
2012-07-07T08:25:39
|
|
revparse: unfound reference return ENOTFOUND
|
|
ce9e8e11
|
2012-07-07T07:27:53
|
|
revparse: fix invalid test reference name
|
|
b8460c20
|
2012-07-06T23:37:44
|
|
revparse: do not segfault when retrieving the last entry
|
|
3d78ab64
|
2012-07-06T19:48:57
|
|
revparse: split reflog test per feature
|
|
3cd90893
|
2012-07-06T17:25:31
|
|
revparse: enhance upstream reflog test coverage
|
|
35bed94f
|
2012-07-03T18:01:46
|
|
revparse: enhance refs/<name> coverage
|
|
cab65c2b
|
2012-07-05T22:26:14
|
|
revparse: detect incorrect "refname@{-n}" syntax
|
|
1decf88b
|
2012-07-03T15:34:22
|
|
revparse: slightly improve readability of tests
|
|
34922eee
|
2012-07-03T14:59:14
|
|
revparse: readonly tests don't need a sandboxed repo
|
|
d0a920a6
|
2012-07-07T10:36:35
|
|
refs: deep unfound ref returns ENOTFOUND
|
|
75261421
|
2012-07-04T11:58:04
|
|
refs: add git_reference_has_log()
|
|
b6bfd96f
|
2012-07-03T12:07:33
|
|
refs: fix moving of the reflog when renaming a ref
|
|
b00e9216
|
2012-07-03T12:38:09
|
|
Merge pull request #798 from nulltoken/fix/revparse-date
revparse: fix parsing of date specifiers
|
|
973ed4c9
|
2012-07-03T12:11:19
|
|
repo tests: do cleanup reinit tests
|
|
494ae940
|
2012-07-02T17:51:02
|
|
revparse: fix parsing of date specifiers
|
|
29f9186d
|
2012-07-02T11:18:01
|
|
diff: make inter-hunk-context default value git-compliant
Default in git core is 0, not 3
|
|
52b938d5
|
2012-06-29T17:06:38
|
|
revparse: unfound reflog entry returns ENOTFOUND
|
|
08ac23a5
|
2012-06-29T17:02:29
|
|
revparse: unfound reflog ref returns ENOTFOUND
|
|
4de89ce7
|
2012-06-29T16:51:46
|
|
revparse: unfound partially-named ref returns ENOTFOUND
|
|
7e8c146c
|
2012-06-29T00:47:46
|
|
Don't rmdir() nonexistent dirs in object::tree::frompath tests
It causes the clar testsuite to abort on Windows, and isn't necessary.
|
|
0e2fcca8
|
2012-06-29T02:21:12
|
|
tree: Bring back `entry_bypath`
Smaller, simpler, faster.
|
|
0e7af9e7
|
2012-06-28T18:04:01
|
|
revparse: unfound nth parent returns ENOTFOUND
|
|
0d23c62c
|
2012-06-28T11:09:16
|
|
revparse: handle specs with caret and colon
|
|
5b68ba7e
|
2012-06-27T17:27:38
|
|
revparse: unfound treepath returns ENOTFOUND
|
|
faaa7c51
|
2012-06-27T16:51:19
|
|
revparse: return trees through the "colon" syntax
|
|
e28dd29b
|
2012-06-28T07:50:16
|
|
revparse: replace spaces with tabs
|
|
ed754a75
|
2012-06-25T23:28:17
|
|
Merge pull request #783 from nulltoken/topic/reinit-coverage
Repo reinit fix + enhanced test coverage
|
|
527ed554
|
2012-06-22T15:51:44
|
|
references: introduce git_reference_foreach_glob()
|
|
d046945c
|
2012-06-22T16:42:37
|
|
Fix MSVC compilation errors
|
|
d6d8cc27
|
2012-06-22T13:41:26
|
|
tests-clar: fix isolation of repo initialization tests
|
|
dbb24a39
|
2012-06-22T11:30:43
|
|
repository: enhance reinitialization test coverage
|
|
f7292a99
|
2012-06-22T10:13:50
|
|
tests-clar: mark unused variables
|
|
fb8aa9e1
|
2012-06-21T20:12:50
|
|
Merge pull request #782 from nulltoken/topic/branch-foreach
Branch foreach
|
|
d4827081
|
2012-06-21T18:48:36
|
|
branch: drop git_branch_list()
|
|
a8fd805e
|
2012-06-21T18:29:38
|
|
branch: add git_branch_foreach()
|
|
dca6b228
|
2012-06-20T18:06:37
|
|
notes: fix memory leaks
|
|
9311423c
|
2012-06-21T02:30:30
|
|
tests: plug a leak in the repo tests
The second call to assert_config_entry_on_init_bytype is cleaned up by
the main cleanup function, but that overwrites the first _repo. Make
sure that one doesn't leak.
|
|
eb6bc45f
|
2012-06-19T21:11:48
|
|
Avoid uninitialized variable error.
|
|
cdca82c7
|
2012-06-20T00:46:26
|
|
Plug a few leaks
|
|
c3ce8d0c
|
2012-06-19T15:17:35
|
|
Merge pull request #775 from arrbee/fix-index-filemodes
Make index add/append support core.filemode flag
|
|
52329940
|
2012-06-19T15:04:45
|
|
Merge pull request #768 from nulltoken/topic/expose-message-prettify
message: Expose git_message_prettify()
|
|
da825c92
|
2012-06-19T14:27:02
|
|
Make index add/append support core.filemode flag
This fixes git_index_add and git_index_append to behave more like
core git, preserving old filemode data in the index when adding
and/or appending with core.filemode = false.
This also has placeholder support for core.symlinks and
core.ignorecase, but those flags are not implemented (well,
symlinks has partial support for preserving mode information in
the same way that git does, but it isn't tested).
|
|
2c90145a
|
2012-06-19T09:24:44
|
|
Fix potential segfault in revparse.
|
|
743a4b3b
|
2012-06-15T22:24:59
|
|
message: Expose git_message_prettify()
git_commit() and git_tag() no longer prettify the
message by default. This has to be taken care of
by the caller.
This has the nice side effect of putting the
caller in position to actually choose to strip
the comments or not.
|
|
68f527c4
|
2012-06-18T17:50:12
|
|
Merge pull request #758 from libgit2/config-values-containing-quotes
Quotes inside config values don't survive serialization/deserialization
|
|
8c4c357f
|
2012-06-19T02:43:36
|
|
clar: Fix warnings
|
|
31eed56b
|
2012-06-18T17:36:14
|
|
Merge pull request #753 from nulltoken/topic/merge-base-many
Expose git_merge_base_many()
|
|
b93688d0
|
2012-06-19T02:33:03
|
|
Merge remote-tracking branch 'yorah/fix/notes-creation' into development
Conflicts:
src/notes.c
|
|
515a4c7c
|
2012-06-19T00:59:04
|
|
tree: Proper path comparison logic
|
|
e00b56eb
|
2012-06-15T10:15:57
|
|
Fix broken tests caused by no longer prettifying by default
|
|
67d334c1
|
2012-06-11T16:57:02
|
|
config: add more tests for writing escaped chars
|
|
750be86a
|
2012-06-09T12:45:21
|
|
Add a test that shows we don't preserve quotes in config values
|
|
fa45d25f
|
2012-06-13T14:03:48
|
|
Fix issue #763
|
|
027d77ee
|
2012-06-06T16:41:42
|
|
notes: simplify tests
|
|
7623b1b6
|
2012-06-11T11:33:13
|
|
repository: make git_repository_init() value the core.logallrefupdates config entry
|
|
976b69bd
|
2012-06-11T11:06:53
|
|
repository: widen test coverage regarding initialization and configuration entries
|
|
cfc17dc4
|
2012-06-09T17:43:18
|
|
Add a test showing that git_status_file gets confused by spaces in .gitignore
|
|
145e696b
|
2012-06-08T11:56:24
|
|
Minor fixes, cleanups, and clarifications
There are three actual changes in this commit:
1. When the trailing newline of a file is removed in a diff, the
change will now be reported with `GIT_DIFF_LINE_DEL_EOFNL` passed
to the callback. Previously, the `ADD_EOFNL` constant was given
which was just an error in my understanding of when the various
circumstances arose. `GIT_DIFF_LINE_ADD_EOFNL` is deprecated and
should never be generated. A new newline is simply an `ADD`.
2. Rewrote the `diff_delta__merge_like_cgit` function that contains
the core logic of the `git_diff_merge` implementation. The new
version doesn't actually have significantly different behavior,
but the logic should be much more obvious, I think.
3. Fixed a bug in `git_diff_merge` where it freed a string pool
while some of the string data was still in use. This led to
`git_diff_print_patch` accessing memory that had been freed.
The rest of this commit contains improved documentation in `diff.h`
to make the behavior and the equivalencies with core git clearer,
and a bunch of new tests to cover the various cases, oh and a minor
simplification of `examples/diff.c`.
|
|
0abd7244
|
2012-06-04T16:17:41
|
|
Fix filemode comparison in diffs
File modes were both not being ignored properly on platforms
where they should be ignored, nor be diffed consistently on
platforms where they are supported.
This change adds a number of diff and status filemode change
tests. This also makes sure that filemode-only changes are
included in the diff output when they occur and that filemode
changes are ignored successfully when core.filemode is false.
There is no code that automatically toggles core.filemode
based on the capabilities of the current platform, so the user
still needs to be careful in their .git/config file.
|
|
a02e7249
|
2012-05-29T17:53:29
|
|
notes: simplify the handling of fanouts
- Do not create new levels of fanout when creating notes from libgit2
- Insert a note in an existing matching fanout
- Remove a note from an existing fanout
- Cleanup git_note_read, git_note_remove, git_note_foreach, git_note_create methods in order use tree structures instead of tree_oids
|
|
e272efcb
|
2012-06-08T11:24:37
|
|
Tests: wrap 'getenv' and friends for Win32 tests.
|
|
3a0d1e12
|
2012-05-10T15:32:52
|
|
notes: add failing test
|
|
454cc829
|
2012-05-29T13:28:26
|
|
notes: add test resource with faked two-level fanout
|
|
3f035860
|
2012-06-07T22:43:03
|
|
misc: Fix warnings from PVS Studio trial
|
|
763b8381
|
2012-06-07T13:22:50
|
|
Fixing rev-parse-induced Travis errors.
|
|
6c08e69f
|
2012-06-07T12:30:20
|
|
Merge pull request #669 from nulltoken/topic/reset
Add git_reset()
|
|
b9ebcc59
|
2012-06-07T12:29:31
|
|
Merge pull request #684 from benstraub/rev-parse
Rev parse
|
|
edebceff
|
2012-05-01T13:57:45
|
|
Add git_reset()
Currently supports Soft and Mixed modes.
|
|
cddb8efe
|
2012-06-07T11:34:48
|
|
Merge pull request #704 from nulltoken/topic/blob_fromchunks
Add the ability to create blob given a provider of chunks of bytes
|
|
cd445767
|
2012-05-27T15:00:05
|
|
blob: add git_blob_create_fromchunks()
|
|
5bb54582
|
2012-06-07T09:44:08
|
|
Merge pull request #752 from nulltoken/fix/warning
Fix compilation warning and failing test
|
|
b46bdb22
|
2012-05-25T16:28:53
|
|
merge: Expose git_merge_base_many()
|
|
8e60c712
|
2012-06-07T09:50:19
|
|
Fix git_status_file for files that start with a character > 0x7f
git_status_file would always return GIT_ENOTFOUND for these files.
The underlying bug was that git__strcmp_cb, which is used by
git_path_with_stat_cmp to sort entries in the working directory,
compares strings based on unsigned chars (this is confirmed by the
strcmp(3) manpage), while git__prefixcmp, which is used by
workdir_iterator__entry_cmp to search for a path in the working
directory, compares strings based on char. So the sort puts this path at
the end of the list, while the search expects it to be at the beginning.
The fix was simply to make git__prefixcmp compare using unsigned chars,
just like strcmp(3). The rest of the change is just adding/updating
tests.
|
|
6183f0e2
|
2012-06-07T14:55:24
|
|
merge: cleanup tests
|
|
6654dbe3
|
2012-06-07T14:09:25
|
|
tests: fix assertion
|
|
36c08022
|
2012-06-06T12:39:29
|
|
Omit failing test on 32-bit machines.
This test is intended to verify that 64-bit
machines can handle parsing dates in 2039 and
beyond, and fails on 32-bit machines. It is now
omitted when run on a 32-bit machine to eliminate
an expected failure.
|
|
8a385c04
|
2012-06-06T12:25:22
|
|
Move git__date_parse declaration to util.h.
|
|
eadc0e03
|
2012-06-05T13:41:13
|
|
Merge pull request #747 from nulltoken/topic/init-filemode
Make git_repository_init() value "core.filemode" and "core.ignorecase"
|
|
693b23c0
|
2012-06-05T14:29:10
|
|
repository: make git_repository_init() value the core.ignorecase config entry
|
|
a146ba9e
|
2012-06-05T22:16:08
|
|
tests: Fix warning with nested comments
|
|
56a5000d
|
2012-06-05T12:52:44
|
|
Merge branch 'development' into rev-parse
Conflicts:
src/util.h
tests-clar/refs/branches/listall.c
|
|
fac66990
|
2012-06-05T13:56:44
|
|
repository: make git_repository_init() value the core.filemode config entry
|
|
01dbe273
|
2012-06-04T15:10:29
|
|
Merge pull request #737 from nulltoken/topic/git_remote_add_refspec
Remotes and refspecs
|
|
d27bf665
|
2012-05-30T00:50:39
|
|
remote: Make git_remote_add() generate a default refspec with a force update specifier
|
|
36c88422
|
2012-06-02T16:48:12
|
|
Add a failing test case for git_remote_disconnect/git_remote_connected.
|
|
734efe4b
|
2012-06-01T14:18:52
|
|
Rev-parse: implement ":/foo" syntax.
|
|
2497106f
|
2012-06-01T11:41:54
|
|
Rev-parse: add test with deeper path.
|
|
244d2f6b
|
2012-05-30T16:52:11
|
|
Rev-parse: add "tag:README" syntax.
|