|
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.
|
|
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)
|
|
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
|
|
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
|
|
d8041638
|
2013-05-02T17:22:13
|
|
fix some leaks
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
e1807113
|
2013-05-01T15:31:23
|
|
merge: Warning noise
|
|
2ba55c1f
|
2013-05-01T15:20:08
|
|
refdb: Proper namespace root
|
|
758e50c5
|
2013-05-01T06:18:09
|
|
Merge pull request #1389 from ethomson/merge_trees
Merge trees
|
|
155ee751
|
2013-05-01T05:34:01
|
|
Add error messages for failed submodule lookup
|
|
46779411
|
2013-05-01T05:32:10
|
|
fix typo
|
|
ae99f5e2
|
2013-05-01T04:57:24
|
|
Make sure error messages get set
|
|
f6f48f90
|
2013-05-01T04:57:05
|
|
Simplify error reporting
|
|
3e199f42
|
2013-05-01T04:18:46
|
|
Set error message for branch functions
There were a couple of places where an error was being returned
from branch related code but no error message was being set.
|
|
cfcdbc10
|
2013-05-01T03:03:17
|
|
Merge pull request #1523 from libgit2/vmg/namespaces
Namespace support
|
|
75d1c8c6
|
2013-04-30T17:33:11
|
|
move NAME and REUC extensions to sys/
|
|
0462fba5
|
2013-04-30T14:56:41
|
|
renames!
|
|
bec65a5e
|
2013-04-01T22:16:21
|
|
merge!
|
|
bade5194
|
2013-04-30T21:02:13
|
|
lol namespaces
|
|
5fa7e469
|
2013-04-30T04:13:39
|
|
Fix some formatting inconsistency
|
|
e26b14c0
|
2013-04-26T15:35:47
|
|
Update diff handling of untracked directories
When diff encounters an untracked directory, there was a shortcut
that it took which is not compatible with core git. This makes
the default behavior no longer take that shortcut and instead look
inside the untracked directory to see if there are any untracked
files within it. If there are not, then the directory is treated
as an ignore directory instead of an untracked directory. This
has implications for the git_status APIs.
|
|
fdb3034e
|
2013-04-25T14:57:13
|
|
Reorganize diff code into functions
In preparation for more changes to the internal diff logic, it
seemed wise to split the very large git_diff__from_iterators into
separate functions that handle the four main cases (unmatched old
item, unmatched new item, unmatched new directory, and matched
old and new items). Hopefully this will keep the logic easier to
follow even as more cases have to be added to this code.
|
|
7dcda3aa
|
2013-04-30T13:19:02
|
|
object: haha
|
|
0b726701
|
2013-04-30T13:13:38
|
|
object: Explicitly define helper API methods for all obj types
|
|
cd2ed9f0
|
2013-04-30T04:02:52
|
|
Merge pull request #1518 from arrbee/export-oid-comparison
Remove most inlines from the public API
|
|
d76fb20e
|
2013-04-30T03:29:48
|
|
Merge pull request #1520 from carlosmn/nth-refspec
Add refspec list accessors
|
|
0a1755c0
|
2013-04-30T03:15:45
|
|
Catch issue in config set with no config file
This prevents a segfault when setting a value in the config of a
repository that doesn't have a config file.
|
|
9c5d4b2e
|
2013-04-30T12:05:16
|
|
remote: fix a leak when dwim'ing refspecs
|
|
1ffd0806
|
2013-04-30T11:18:16
|
|
remote: add resfpec list accessors
Bring back a way of acessing the git_refspec* from a remote.
Closes #1514
|
|
8d39f2a7
|
2013-04-30T10:55:17
|
|
refspec: add direction accessor
|
|
203d5b0e
|
2013-04-29T18:20:58
|
|
Some cleanups
Removed useless prototype and renamed object typecast functions
declaration macro.
|
|
e4af0f00
|
2013-04-29T18:15:43
|
|
Add new src/oid.h
|
|
d7761102
|
2013-04-29T14:22:06
|
|
Standardize cast versions of git_object accessors
This removes the GIT_INLINE versions of the simple git_object
accessors and standardizes them with a helper macro in src/object.h
to build the function bodies.
|
|
b7f167da
|
2013-04-29T13:52:12
|
|
Make git_oid_cmp public and add git_oid__cmp
|
|
41578510
|
2013-04-29T13:30:31
|
|
Merge pull request #1511 from carlosmn/refspec-shorthand
dwim shorthand refspecs for fetch
|
|
c8a4e8a5
|
2013-04-29T11:14:56
|
|
don't use uninitialized struct stat in win32
|
|
aa8f0101
|
2013-04-29T08:59:46
|
|
Add git_oid_strcmp and use it for git_oid_streq
Add a new git_oid_strcmp that compares a string OID with a hex
oid for sort order, and then reimplement git_oid_streq using it.
This actually should speed up git_oid_streq because it only reads
as far into the string as it needs to, whereas previously it would
convert the whole string into an OID and then use git_oid_cmp.
|
|
8564a022
|
2013-04-29T08:51:24
|
|
Fix fragile git_oid_ncmp
git_oid_ncmp was making some assumptions about the length of
the data - this shifts the check to the top of the loop so it
will work more robustly, limits the max, and adds some tests
to verify the functionality.
|
|
0c72248b
|
2013-04-29T07:34:13
|
|
Introduce git_oid_compare, an exported oid cmp
|
|
51e4da6d
|
2013-04-29T01:49:40
|
|
push: don't send a packfile when only issuing delete commands
For update and create commands where all the objects are known to
exist in the remote, we must send an empty packfile. However, if all
we issue are delete commands, no packfile must be sent.
Take this into consideration for push.
|
|
d8488457
|
2013-04-28T16:26:55
|
|
remote: dwim the refspecs according to the remote's advertised refs
As git allows you to store shorthand refspecs in the configuration, we
need to do this ourselves.
|
|
528a4e24
|
2013-04-28T14:16:45
|
|
Parse shorthand refspecs as valid
Relax the ONELEVEL ref naming rules so the refspec parsing code can
ask for 'master' to be considered valid.
|
|
eb63fda2
|
2013-04-25T11:52:17
|
|
git_atomic_ssize for 64-bit atomics only on 64-bit platforms
|
|
879458e7
|
2013-04-24T15:52:33
|
|
repo: Add `git_repository__cleanup`
|
|
687db88f
|
2013-04-22T16:45:36
|
|
Make sure diff output is cleared on error
|
|
b1ff7004
|
2013-04-22T16:25:57
|
|
Improve diff config options handling
This makes diff use the cvar cache for config options where
possible, and also adds support for a number of other config
options to diff including "diff.context", "diff.ignoreSubmodules",
"diff.noprefix", "diff.mnemonicprefix", and "core.abbrev".
To make this natural, this involved a rearrangement of the code
that allocates the diff object vs. the code that initializes it
based on the combination of options passed in by the user and
read from the config.
This commit includes tests for most of these new options as well.
|
|
6be368bf
|
2013-04-22T16:24:53
|
|
Clear repo config cache when cfgs are set
This is a conservative change, but it seemed like the only safe
thing to do -- i.e. clear the cvar cache when a config gets set.
|
|
eac76c23
|
2013-04-22T14:27:36
|
|
Use config cache where possible
This converts many of the config lookups that are done around the
library to use the repository config cache. This was everything I
could find that wasn't part of diff (which requires a larger fix).
|
|
ab01cbd4
|
2013-04-22T14:24:12
|
|
Add configs to repo config cache
This adds a bunch of additional config values to the repository
config value cache and makes it easier to add a simple boolean
config without creating enum values for each possible setting.
Also, this fixes a bug in git_config_refresh where the config
cache was not being cleared which could lead to potential
incorrect values.
The work to start using the new cached configs will come in the
next couple of commits...
|
|
608d0466
|
2013-04-22T13:51:35
|
|
Make tree to tree diffs case sensitive
When case insensitive tree iterators were added, we started reading
the case sensitivity of the index to decide if the tree should be
case sensitive. This is good for index-to-tree comparisons, but
for tree-to-tree comparisons, we should really default to doing a
case sensitive comparison unless the user really wants otherwise.
|
|
a5df71c1
|
2013-04-19T22:36:01
|
|
Support diff.context config
|
|
bd0a07f4
|
2013-04-23T12:28:59
|
|
Clone: replace fetch spec with custom value
|
|
7915e6cc
|
2013-04-23T11:48:12
|
|
Merge pull request #1498 from libgit2/vmg/atomic64
64 bit atomic operations and shared cache memory usage
|
|
a2378ae4
|
2013-04-23T20:42:29
|
|
opts: Add getter for cached memory
|
|
0b90366c
|
2013-04-23T12:27:38
|
|
Fixes indentation
|
|
f0e37a8b
|
2013-04-23T12:22:29
|
|
Added function to insert commit into pack
|
|
a5de9044
|
2013-04-23T02:24:44
|
|
refs: Better error name
|
|
920cbc98
|
2013-04-22T17:31:47
|
|
cache: More aggressive default
|
|
a14163a7
|
2013-04-22T17:30:49
|
|
cache: Shared meter for memory usage
|
|
f9774eea
|
2013-04-22T17:22:31
|
|
atomic: Add an atomic type for 64-bit operations
|
|
05b17964
|
2013-04-21T19:26:35
|
|
Make refcounting atomic
|
|
d8771592
|
2013-04-22T17:04:52
|
|
cache: Max cache size, and evict when the cache fills up
|