|
99d32707
|
2013-05-11T06:42:25
|
|
Fix refdb iteration early termination bug
There was a problem found in the Rugged test suite where the
refdb_fs_backend__next function could exit too early in some
very specific hashing patterns for packed refs. This ports
the Rugged test to libgit2 and then fixes the bug.
|
|
7b5bc8f4
|
2013-05-11T05:15:00
|
|
Merge pull request #1569 from linquize/msvc-sdl
Fix broken build when MSVC SDL checks is enabled
|
|
e583334c
|
2013-05-10T21:42:22
|
|
Fix broken build when MSVC SDL checks is enabled
|
|
b6cc559a
|
2013-05-11T02:42:49
|
|
Merge pull request #1385 from carlosmn/refs-iter
Introduce a refs iterator
|
|
c58cac12
|
2013-05-04T18:06:14
|
|
Introduce a glob-filtering iterator
If the backend doesn't provide support for it, the matching is done in
refdb on top of a normal iterator.
|
|
9bd89d96
|
2013-05-04T16:49:39
|
|
Move a couple more functions to use iterators
|
|
2b562c3a
|
2013-05-04T16:32:58
|
|
refs: remove the OID/SYMBOLIC filtering
Nobody should ever be using anything other than ALL at this level, so
remove the option altogether.
As part of this, git_reference_foreach_glob is now implemented in the
frontend using an iterator. Backends will later regain the ability of
doing the glob filtering in the backend.
|
|
95727245
|
2013-05-04T16:03:17
|
|
refs: implement _foreach with the iterator
|
|
932af0e9
|
2013-05-04T15:57:44
|
|
Add iterator support to the testdb backend
|
|
fb592a96
|
2013-05-04T15:54:57
|
|
Remove outdated test
Selecting wether to list loose or packed references is not something
we want to support anymore, so remove a test for this.
|
|
51fc5e89
|
2013-05-04T15:16:55
|
|
Make sure the ref iterator works in an repo without physical presence
|
|
69a3c766
|
2013-05-04T15:03:32
|
|
refdb_fs: don't crash when the repo doesn't have a path
|
|
4def7035
|
2013-03-02T19:31:03
|
|
refs: introduce an iterator
This allows us to get a list of reference names in a loop instead of callbacks.
|
|
4a65aead
|
2013-05-10T10:49:22
|
|
Merge pull request #1571 from arrbee/what-if-ignorecase-lies
Improve ignore handling in git_status_file
|
|
c3a51711
|
2013-05-10T10:47:08
|
|
Merge pull request #1572 from arrbee/diff-patch-with-rename
Fix diff output for renames and copies
|
|
94d24ac9
|
2013-05-10T10:33:25
|
|
Merge pull request #1573 from nulltoken/fix/leaks
Fix some memory leaks
|
|
24988894
|
2013-05-10T12:02:17
|
|
Fix some memory leaks
|
|
e9ba61f3
|
2013-05-10T09:32:42
|
|
Fix diff output for renames and copies
If you use rename detection, the renamed and copied files would
not show any text diffs because the function that decides if
data should be loaded didn't know which sides of the diff to
load for those cases.
This adds a test that looks at the patch generated for diff
entries that are COPIED or RENAMED.
|
|
1f9e41ee
|
2013-05-10T07:50:53
|
|
Improve ignore handling in git_status_file
The git_status_file API was doing a hack to deal with files that
are inside ignored directories. The status scan was not reporting
any file in this case, so git_status_file would attempt a final
"stat()" call, and return IGNORED if the file actually existed.
On case-insensitive filesystems where core.ignorecase is set
incorrectly, this magic check can "succeed" and report a file
as ignored when it should actually return ENOTFOUND.
Now that we have the GIT_STATUS_OPT_RECURSE_IGNORED_DIRS, we can
use that flag to make sure that git_status_file() will look into
ignored directories and eliminate the hack completely, so we give
the correct error.
|
|
ae59321f
|
2013-05-10T14:31:58
|
|
clone: fix -Wmaybe-uninitialized warning
|
|
aca2d26a
|
2013-05-09T09:08:44
|
|
Merge pull request #1566 from ethomson/ref_zero
calloc refs instead of malloc'ing them
|
|
617bb175
|
2013-05-09T17:44:44
|
|
calloc refs instead of malloc'ing them
|
|
9ca4ff41
|
2013-05-09T06:48:16
|
|
Merge pull request #1563 from arrbee/doc-fix-repo-message
Fix git_repository_message docs
|
|
3d1c9f61
|
2013-05-09T06:45:06
|
|
Fix git_repository_message docs
This clarifies the docs for git_repository_message and also adds
to the tests to explicitly check NUL termination of data when the
output buffer is smaller than the message size. There is a minor
behavior change so that a non-NULL output buffer will always be
NUL terminated (at length zero) if an error occurs.
|
|
503dd0f3
|
2013-05-09T05:43:25
|
|
Merge pull request #1560 from carlosmn/ref-dwim
Expose git_reference_dwim
|
|
ddc5c054
|
2013-05-09T05:42:37
|
|
Merge pull request #1561 from arrbee/fix-windows-diff-eofnl
Fix windows diff eofnl error
|
|
eb05b114
|
2013-05-07T22:45:01
|
|
Fix dumb type in time comparison
|
|
af795759
|
2013-05-07T15:09:11
|
|
Merge pull request #1552 from carlosmn/config-helpers
Config helpers for global/xdg config files
|
|
98d633cc
|
2013-05-07T23:28:21
|
|
Expose git_reference_dwim
Extract this function out of the rev-parse code to be able to DWIM a
reference instead of its target.
|
|
5d831887
|
2013-05-07T00:10:02
|
|
config: convenience function to open global/xdg
The rules for which one to open is a bit silly, so let's make it
easier for our users.
|
|
a4b75dcf
|
2013-05-06T21:51:25
|
|
repo: unconditionally create a global config backend
When a repository is initialised, we need to probe to see if there is
a global config to load. If this is not the case, the user isn't able
to write to the global config without creating the backend and adding
it themselves, which is inconvenient and overly complex.
Unconditionally create and add a backend for the global config file
regardless of whether it exists as a convenience for users.
To enable this, we allow creating backends to files that do not exist
yet, changing the semantics somewhat, and making some tests invalid.
|
|
d6465e1a
|
2013-05-07T10:14:28
|
|
Merge pull request #1557 from carlosmn/tagopt
remote: correctly interpret tagopt '--tags'
|
|
0f938c6b
|
2013-05-07T09:59:53
|
|
Fix win32 type warnings
|
|
505b5d0c
|
2013-05-07T16:01:22
|
|
remote: correctly interpret tagopt '--tags'
When tagopt is set to '--tags', we should only take the default tags
refspec into account and ignore any configured ones.
Bring the code into compliance.
|
|
33665410
|
2013-05-07T08:00:44
|
|
Merge pull request #1556 from arrbee/diff-patch-fixes
Diff patch bug fixes
|
|
c2f602f8
|
2013-05-07T07:15:39
|
|
Fix line numbering for patches with eofnl
When a patch contained an eofnl change (i.e. the last line either
gained or lost a newline), the oldno and newno line number values
for the lines in the last hunk of the patch were not useful. This
makes them behave in a more expected manner.
|
|
d63eec69
|
2013-05-07T04:44:08
|
|
Improve diff function docs
|
|
fd96f98e
|
2013-05-07T04:36:42
|
|
More tests for files with no newline at end
|
|
e35e2684
|
2013-05-07T04:32:17
|
|
Add GIT_DIFF_LINE_CONTEXT_EOFNL
This adds a new line origin constant for the special line that
is used when both files end without a newline.
In the course of writing the tests for this, I was having problems
with modifying a file but not having diff notice because it was
the same size and modified less than one second from the start of
the test, so I decided to start working on nanosecond timestamp
support. This commit doesn't contain the nanosecond support, but
it contains the reorganization of maybe_modified and the hooks so
that if the nanosecond data were being read by stat() (or rather
being copied by git_index_entry__init_from_stat), then the nsec
would be taken into account.
This new stuff could probably use some more tests, although there
is some amount of it here.
|
|
1c92f109
|
2013-05-07T01:32:10
|
|
Merge pull request #1551 from nvloff/set_upstream_local_branch
fix git_branch_set_upstream for local branches
|
|
51e297dd
|
2013-05-07T00:31:40
|
|
Merge pull request #1554 from sba1/sort-amiga-fix
Fixed qsort_r() problem when targeting AmigaOS.
|
|
7f8cf6fe
|
2013-05-07T09:15:12
|
|
Fixed qsort_r() problem when targeting AmigaOS.
We fall back to the libgit2-provided insert sort as done for other
platforms.
|
|
590991a7
|
2013-05-06T23:25:06
|
|
Merge pull request #1553 from jdavid/git_commit_owner
Add git_commit_owner to the public interface
|
|
6e865996
|
2013-05-07T07:33:35
|
|
Add git_commit_owner to the public interface
Just like git_tree_owner, etc.
|
|
3d42e9a3
|
2013-05-06T20:32:20
|
|
git_branch_set_upstream with local branches
Currently git_branch_set_upstream when passed a local branch
creates invalid configuration, for ex. if we setup branch
'tracking_master' to track local 'master' libgit2 generates
the following config
```
[branch "track_master"]
remote = .
merge = .refs/heads/track_master
```
The merge value is invalid and calling git_branch_upstream on
'tracking_master' results in invalid reference error.
It should do:
```
[branch "track_master"]
remote = .
merge = refs/heads/master
```
|
|
3405f787
|
2013-05-06T06:51:21
|
|
Merge pull request #1547 from ethomson/win32_stat
p_stat() should follow symlinks on windows
|
|
03c28d92
|
2013-05-06T06:45:53
|
|
Merge pull request #1526 from arrbee/cleanup-error-return-without-msg
Make sure error messages are set for most error returns
|
|
d5e5bbd7
|
2013-05-06T06:45:40
|
|
Merge pull request #1524 from jamill/clone_tagopts
By default do not set tagopt when cloning
|
|
450a78bf
|
2013-05-06T06:33:02
|
|
Merge pull request #1545 from ethomson/checkout_dirs_in_use
allow checkout to proceed when a dir to be removed is in use (win32)
|
|
0ed3fa8a
|
2013-05-06T05:53:13
|
|
Merge pull request #1550 from nvloff/fix_typo_in_branch_h
branch.h: fix typo in docs
|
|
72662202
|
2013-05-06T15:31:26
|
|
branch.h: fix typo in docs
|
|
3e96e339
|
2013-05-05T08:01:18
|
|
Merge pull request #1549 from nulltoken/fix/from_oids
Strict/lax commit API
|
|
467cbec7
|
2013-05-05T16:48:34
|
|
commit: make create_from_oids() accept plain oid
|
|
ce72e399
|
2013-05-05T16:45:38
|
|
commit: guard create() against not owned trees
|
|
00a4c479
|
2013-05-04T12:04:39
|
|
p_stat() should follow symlinks on windows
|
|
6f748f38
|
2013-05-04T12:14:40
|
|
Do not write tagopt configuration option on clone by default
|
|
6e286e8d
|
2013-05-04T01:04:23
|
|
Remove obsolete test for peel type
Peeling to an invalid type is now checked via an assert so this
test is no longer relevant.
|
|
e09d18ee
|
2013-05-03T18:39:44
|
|
allow checkout to proceed when a dir to be removed is in use (win32)
|
|
dfec726b
|
2013-05-03T23:30:54
|
|
odb: Do not error out if an alternate ODB is missing
|
|
b641c00e
|
2013-05-03T17:35:50
|
|
clar: Always generate the test suite
|
|
811c761f
|
2013-05-03T08:19:12
|
|
Merge pull request #1540 from ethomson/leaks
fix some leaks
|
|
d8041638
|
2013-05-02T17:22:13
|
|
fix some leaks
|
|
42b2bcf0
|
2013-05-02T13:42:16
|
|
Merge pull request #1538 from ethomson/merge_warning_cleanup
braces
|
|
5e151329
|
2013-05-02T15:19:49
|
|
braces
|
|
dc83d32a
|
2013-05-02T13:01:44
|
|
Merge pull request #1537 from ethomson/merge_warning_cleanup
puns are not funny; type punning especially so
|
|
4e7c1560
|
2013-05-02T14:58:40
|
|
puns are not funny; type punning especially so
|
|
0cce210a
|
2013-05-02T10:36:58
|
|
Use assert for peel target type check
|
|
af7689ea
|
2013-05-02T09:50:34
|
|
Merge pull request #1535 from carlosmn/pack-threading
Switch to index_version as "git_pack_file is ready" flag
|
|
0ddfcb40
|
2013-05-02T18:06:14
|
|
Switch to index_version as "git_pack_file is ready" flag
We use p->index_map.data to check whether the struct has been set up
and all the information about the index is stored there. This variable
gets set up halfway through the setup process, however, and a thread
can come along and use fields that haven't been written to yet.
Crucially, pack_entry_find_offset() needs to read the index version
(which is written after index_map) to know the offset and stride
length to pass to sha1_entry_pos(). If these values are wrong,
assertions in it will fail, as it will be reading bogus data.
Make index_version the last field to be written and switch from using
p->index_map.data to p->index_version as "git_pack_file is ready" flag
as we can use it to know if every field has been written.
|
|
8a497ec9
|
2013-05-02T09:21:46
|
|
Merge pull request #1531 from libgit2/jk/peeled-refs
refdb_fs: do not require peeled packed refs to be tags
|
|
a591ed3e
|
2013-05-02T12:06:46
|
|
refdb_fs: respect PEELING_STANDARD
We only set our negative flag for PEELING_FULL; we can fall
back to the lesser PEELING_STANDARD if our ref is in the
refs/tags/ hierarchy.
|
|
822645f6
|
2013-05-02T17:48:49
|
|
refdb_fs: Only strstr the traits line
|
|
1022db2b
|
2013-05-02T17:42:09
|
|
refdb_fs: Traits are always surrounded by spaces
This makes parsing easier! :p
|
|
f69db390
|
2013-05-02T17:29:58
|
|
refdb_fs: store "cannot be peeled" flag for packed refs
Fixes #1532
|
|
3bb00f33
|
2013-05-02T17:17:46
|
|
refdb_fs: implement the fully-peeled trait
|
|
34bd5999
|
2013-05-02T17:14:05
|
|
Revert "Protect sha1_entry_pos call with mutex"
This reverts commit 8c535f3f6879c6796d8107d7eb80dd8b2105621b.
|
|
7edb9071
|
2013-05-02T11:07:20
|
|
refdb_fs: do not require peeled packed refs to be tags
Older versions of git would only write peeled entries for
items under refs/tags/. Newer versions will write them for
all refs, and we should be prepared to handle that.
|
|
d966310c
|
2013-05-02T03:37:28
|
|
Merge pull request #1529 from arrbee/more-packfile-locking
More packfile locking
|
|
8c535f3f
|
2013-05-02T03:34:56
|
|
Protect sha1_entry_pos call with mutex
There is an occasional assertion failure in sha1_entry_pos from
pack_entry_find_index when running threaded. Holding the mutex
around the code that grabs the index_map data and processes it
makes this assertion failure go away.
|
|
81b7dec4
|
2013-05-02T03:06:34
|
|
Fix some compile warnings and trailing whitespace
|
|
d82d66c9
|
2013-05-02T03:05:21
|
|
Extra threading tests
We need to hammer the packfile open phase harder in the thread
tests, in addition to the cache API.
|
|
9d2f841a
|
2013-05-02T03:03:54
|
|
Add extra locking around packfile open
We were still seeing a few issues in threaded access to packs.
This adds extra locks around the opening of the mwindow to
avoid a different race.
|
|
b60d95c7
|
2013-05-01T15:55:54
|
|
clarify error propogation
|
|
2f28219c
|
2013-05-01T15:53:12
|
|
clarify where error message is set
|
|
52c52737
|
2013-05-01T15:51:30
|
|
Clear error msg when we eat error silently
|
|
f470b00b
|
2013-05-01T15:48:40
|
|
Fix one error not reported in revparse
There are many paths through revparse that may return an error
code without reporting an error, I believe. This fixes one of
them. Because of the backtracking in revparse, it is pretty
complicated to fix the others.
|
|
1a9e406c
|
2013-05-01T15:47:37
|
|
minor missing error message
|
|
bf6bebe2
|
2013-05-01T15:23:40
|
|
Factor out some code that needed to clear errors
A number of places were looking up option config values and then
not clearing the error codes if the values were not found. This
moves the repeated pattern into a shared routine and adds the
extra call to giterr_clear() when needed.
|
|
41e93563
|
2013-05-01T15:08:12
|
|
Error messages for a couple other boundary conditions
|
|
62caf3f3
|
2013-05-01T15:01:47
|
|
Report some errors returnable by push
|
|
f063f578
|
2013-05-01T14:48:35
|
|
Catch some odd odb backend corner case errors
There are some cases, particularly where no loaded ODB backends
support a particular operation, where we would return an error
code without having set an error. This catches those cases and
reports that no ODB backends support the operation in question.
|
|
8915a140
|
2013-05-01T14:23:01
|
|
Report a couple object error conditions
|
|
734c6fc1
|
2013-05-01T14:15:55
|
|
Report errors finding notes
|
|
de19c4a9
|
2013-05-01T14:00:20
|
|
Set error when no merge base is found
|
|
e830c020
|
2013-05-01T13:50:39
|
|
Report stat error when checking if file modified
|
|
69c50f4c
|
2013-05-01T13:47:00
|
|
Merge pull request #1527 from ethomson/checkout_allow_empty_dirs
allow empty dirs to exist when doing checkout
|
|
52c102b7
|
2013-05-01T13:43:48
|
|
More care reporting diff patch iteration errors
|
|
3f663178
|
2013-05-01T13:38:56
|
|
More care catching and setting config errors
|
|
8cddf9b8
|
2013-05-01T18:21:10
|
|
refdb: Properly load namespaces
|
|
0cc7d8df
|
2013-05-01T09:50:40
|
|
allow empty dirs to exist when doing checkout
|