|
0b0ecbec
|
2013-03-19T17:42:10
|
|
clone: fix param comment
|
|
32460251
|
2013-03-18T15:54:35
|
|
Fixes and cleanups
Get rid of some dead code, tighten things up a bit, and fix a bug
with core::env test.
|
|
41954a49
|
2013-03-18T14:19:35
|
|
Switch search paths to classic delimited strings
This switches the APIs for setting and getting the global/system
search paths from using git_strarray to using a simple string with
GIT_PATH_LIST_SEPARATOR delimited paths, just as the environment
PATH variable would contain. This makes it simpler to get and set
the value.
I also added code to expand "$PATH" when setting a new value to
embed the old value of the path. This means that I no longer
require separate actions to PREPEND to the value.
|
|
5540d947
|
2013-03-15T16:39:00
|
|
Implement global/system file search paths
The goal of this work is to expose the search logic for "global",
"system", and "xdg" files through the git_libgit2_opts() interface.
Behind the scenes, I changed the logic for finding files to have a
notion of a git_strarray that represents a search path and to store
a separate search path for each of the three tiers of config file.
For each tier, I implemented a function to initialize it to default
values (generally based on environment variables), and then general
interfaces to get it, set it, reset it, and prepend new directories
to it.
Next, I exposed these interfaces through the git_libgit2_opts
interface, reusing the GIT_CONFIG_LEVEL_SYSTEM, etc., constants
for the user to control which search path they were modifying.
There are alternative designs for the opts interface / argument
ordering, so I'm putting this phase out for discussion.
Additionally, I ended up doing a little bit of clean up regarding
attr.h and attr_file.h, adding a new attrcache.h so the other two
files wouldn't have to be included in so many places.
|
|
1aa5318a
|
2013-03-09T16:04:34
|
|
diff: allow asking for diffs with no context
Previously, 0 meant default. This is problematic, as asking for 0
context lines is a valid thing to do.
Change GIT_DIFF_OPTIONS_INIT to default to three and stop treating 0
as a magic value. In case no options are provided, make sure the
options in the diff object default to 3.
|
|
6f83a781
|
2013-03-07T11:14:03
|
|
Merge pull request #1403 from ethomson/tracing
Optional tracing back to consumers
|
|
b5ec5430
|
2013-03-04T23:52:30
|
|
optional tracing
|
|
33abaad8
|
2013-03-07T18:58:34
|
|
refs: Dude, you're OUT.
|
|
d00d5464
|
2013-03-01T15:37:33
|
|
immutable references and a pluggable ref database
|
|
f7b18502
|
2013-03-06T22:25:01
|
|
fixed minor issues with new note iterator
* fixed style issues
* use new iterator functions for git_note_foreach()
|
|
1a90dcf6
|
2013-03-06T19:07:56
|
|
use git_note_iterator type instead of non-public git_iterator one
|
|
6edb427b
|
2013-03-06T16:43:21
|
|
basic note iterator implementation
* git_note_iterator_new() - create a new note iterator
* git_note_next() - retrieves the next item of the iterator
|
|
3d74702e
|
2013-03-05T23:50:43
|
|
Make sure docurium can see git_packbuilder_foreach
|
|
5bddabcc
|
2013-03-04T17:40:48
|
|
clear REUC on checkout
|
|
447ae791
|
2013-03-03T15:19:21
|
|
indexer: kill git_indexer
This was the first implementation and its goal was simply to have
something that worked. It is slow and now it's just taking up
space. Remove it and switch the one known usage to use the streaming
indexer.
|
|
e68e33f3
|
2013-02-27T14:50:32
|
|
Merge pull request #1233 from arrbee/file-similarity-metric
Add file similarity scoring to diff rename/copy detection
|
|
fcc265fe
|
2013-02-17T16:52:26
|
|
pack.h: improve docs on how to create a packfile
|
|
c1b5e8c4
|
2013-02-15T11:35:33
|
|
branch: Make git_branch_remote_name() cope with orphaned heads
|
|
d4b747c1
|
2013-02-21T16:44:44
|
|
Add diff rename tests with partial similarity
This adds some new tests that actually exercise the similarity
metric between files to detect renames, copies, and split modified
files that are too heavily modified.
There is still more testing to do - these tests are just partially
covering the cases.
There is also one bug fix in this where a change set with only
MODIFY being broken into ADD/DELETE (due to low self-similarity)
without any additional RENAMED entries would end up not processing
the split requests (because the num_rewrites counter got reset).
|
|
960a04dd
|
2013-02-21T12:40:33
|
|
Initial integration of similarity metric to diff
This is the initial integration of the similarity metric into
the `git_diff_find_similar()` code path. The existing tests all
pass, but the new functionality isn't currently well tested. The
integration does go through the pluggable metric interface, so it
should be possible to drop in an alternative to the internal
metric that libgit2 implements.
This comes along with a behavior change for an existing interface;
namely, passing two NULLs to git_diff_blobs (or passing NULLs to
git_diff_blob_to_buffer) will now call the file_cb parameter zero
times instead of one time. I know it's strange that that change
is paired with this other change, but it emerged from some
initialization changes that I ended up making.
|
|
71a3d27e
|
2013-02-08T10:06:47
|
|
Replace diff delta binary with flags
Previously the git_diff_delta recorded if the delta was binary.
This replaces that (with no net change in structure size) with
a full set of flags. The flag values that were already in use
for individual git_diff_file objects are reused for the delta
flags, too (along with renaming those flags to make it clear that
they are used more generally).
This (a) makes things somewhat more consistent (because I was
using a -1 value in the "boolean" binary field to indicate unset,
whereas now I can just use the flags that are easier to understand),
and (b) will make it easier for me to add some additional flags to
the delta object in the future, such as marking the results of a
copy/rename detection or other deltas that might want a special
indicator.
While making this change, I officially moved some of the flags that
were internal only into the private diff header.
This also allowed me to remove a gross hack in rename/copy detect
code where I was overwriting the status field with an internal
value.
|
|
9bc8be3d
|
2013-02-19T10:25:41
|
|
Refine pluggable similarity API
This plugs in the three basic similarity strategies for handling
whitespace via internal use of the pluggable API. In so doing, I
realized that the use of git_buf in the hashsig API was not needed
and actually just made it harder to use, so I tweaked that API as
well.
Note that the similarity metric is still not hooked up in the
find_similarity code - this is just setting out the function that
will be used.
|
|
a235e9d3
|
2013-02-15T14:12:43
|
|
Pluggable similarity metric API
|
|
91f7335e
|
2013-02-15T13:12:03
|
|
push: fix typo in git_push_finish() doc
|
|
a53b5e5f
|
2013-02-14T20:20:18
|
|
push: improve docs on success / failure of git_push_finish
|
|
6a0ffe84
|
2013-02-12T10:50:55
|
|
Merge pull request #1333 from phkelley/push_options
Add git_push_options, to set packbuilder parallelism
|
|
9c258af0
|
2013-02-12T10:13:56
|
|
Merge pull request #1316 from ben/clone-cancel
Allow network operations to cancel
|
|
2bca5b67
|
2013-02-07T23:44:18
|
|
remote: Introduce git_remote_is_valid_name()
Fix libgit2/libgit2sharp#318
|
|
390a3c81
|
2013-02-11T11:44:00
|
|
Merge pull request #1190 from nulltoken/topic/reset-paths
reset: Allow the selective reset of pathspecs
|
|
db4bb415
|
2013-02-07T14:53:52
|
|
Teach refspec to transform destination reference to source reference
|
|
2e3e8c88
|
2013-02-08T11:05:47
|
|
Teach remote branch to return its remote
|
|
b8b897bb
|
2013-02-11T08:28:53
|
|
Add git_push_options, to set packbuilder parallelism
|
|
0d64ba48
|
2013-01-25T17:35:46
|
|
diff: add a notify callback to `git_diff__from_iterators`
The callback will be called for each file, just before the `git_delta_t` gets inserted into the diff list.
When the callback:
- returns < 0, the diff process will be aborted
- returns > 0, the delta will not be inserted into the diff list, but the diff process continues
- returns 0, the delta is inserted into the diff list, and the diff process continues
|
|
fcd81bcf
|
2013-02-07T12:47:29
|
|
No bitfields in public headers b/c packing is compiler-specific
|
|
f393d4e8
|
2013-02-06T13:07:56
|
|
Clone: fetch all tags
|
|
b71bac9d
|
2013-02-05T12:03:41
|
|
Document callback-triggered cancellation
|
|
a0c34c94
|
2013-01-20T13:27:28
|
|
reset: Introduce git_reset_default()
|
|
fe95ac1b
|
2013-02-05T10:59:58
|
|
Allow progress callback to cancel fetch
This works by having the indexer watch the return
code of the callback, so will only take effect
on object boundaries.
|
|
c67ffd4a
|
2013-01-20T12:08:12
|
|
reset: Enhance documentation
|
|
3f0ed118
|
2013-01-15T11:03:05
|
|
index: Enhance documentation
|
|
7602cb7c
|
2013-01-31T10:44:57
|
|
Add user-from-url param to auth callback
|
|
f1e2735c
|
2013-01-30T11:10:39
|
|
Add helper for diff line stats
This adds a `git_diff_patch_line_stats()` API that gets the total
number of adds, deletes, and context lines in a patch. This will
make it a little easier to emulate `git diff --stat` and the like.
Right now, this relies on generating the `git_diff_patch` object,
which is a pretty heavyweight way to get stat information. At
some future point, it would probably be nice to be able to get
this information without allocating the entire `git_diff_patch`,
but that's a much larger project.
|
|
4657fc1c
|
2013-01-29T13:54:08
|
|
Merge pull request #1285 from phkelley/vector
Vector improvements and their fallout
|
|
5fb98206
|
2013-01-28T15:56:04
|
|
Added git_treebuilder_entrycount
Conflicts:
src/tree.c
|
|
11d9f6b3
|
2013-01-27T14:17:07
|
|
Vector improvements and their fallout
|
|
c253056d
|
2013-01-24T20:44:17
|
|
Added git_branch_name().
This is a convenience function to get the branch name of a given
ref. The returned branch name is compatible with the name that can
be supplied e.g. to git_branch_lookup(). That is, the prefixes
"refs/heads" or "refs/remotes" are omitted.
Also added a new test for testing the new function.
|
|
3fbd7485
|
2013-01-24T11:03:11
|
|
Merge pull request #1250 from jamill/push_update_tips
Update remote tips on push
|
|
a0f777c8
|
2013-01-23T23:44:34
|
|
opts: Add getters too
|
|
59853eff
|
2013-01-23T02:58:58
|
|
Global options setter
|
|
1d645aab
|
2013-01-17T10:20:33
|
|
Update remote tips on push
|
|
ddcb28a4
|
2013-01-17T16:56:57
|
|
Merge pull request #1239 from ethomson/index_remove
add an index_remove_bypath that removes conflicts
|
|
34a4ad46
|
2013-01-16T15:52:58
|
|
Merge pull request #1211 from arrbee/fix-icase-status-file
Fix case insensitivity issues in git_status_file
|
|
4b45675d
|
2013-01-16T14:20:41
|
|
Merge pull request #1248 from sba1/doc-fix
Some doc improvements in transport.h
|
|
bf031581
|
2013-01-14T14:22:11
|
|
branch: Introduce git_branch_tracking_name()
|
|
62d4fa23
|
2013-01-16T12:25:28
|
|
Some doc improvements
|
|
98527b5b
|
2013-01-09T16:03:35
|
|
Add git_tree_entry_cmp and git_tree_entry_icmp
This adds a new external API git_tree_entry_cmp and a new internal
API git_tree_entry_icmp for sorting tree entries. The case
insensitive one is internal only because general users should
never be seeing case-insensitively sorted trees.
|
|
25743bd7
|
2013-01-12T13:47:56
|
|
add an index_remove_bypath that removes conflicts, renamed add_from_workdir to match
|
|
e2d2c6e5
|
2013-01-12T02:14:14
|
|
Merge pull request #1222 from scunz/clone_branch
Switch to specified branch during clone
|
|
f31cae8b
|
2013-01-12T05:51:00
|
|
Default git_clone_options' checkout strategy to GIT_CHECKOUT_SAFE_CREATE
|
|
3874f2d5
|
2013-01-11T20:23:46
|
|
Kill vestigal dangling-remote code
Fixes #1232
|
|
635c235c
|
2013-01-10T12:11:49
|
|
errors: Introduce EMERGECONFLICT error code
|
|
88aef766
|
2013-01-11T02:45:55
|
|
Implement analog for 'git checkout --branch xxx ...'
|
|
40342bd2
|
2013-01-10T15:15:37
|
|
Add GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH
This adds an option to checkout a la the diff option to turn off
fnmatch evaluation for pathspec entries. This can be useful to
make sure your "pattern" in really interpretted as an exact file
match only.
|
|
404880b1
|
2013-01-10T11:24:09
|
|
Merge pull request #1206 from ben/stock-auth
Expose stock user/pass credential utility
|
|
4a863c06
|
2013-01-03T20:36:26
|
|
Sane refresh logic
All the ODB backends have a specific refresh interface. When reading an
object, first we attempt every single backend: if the read fails, then
we refresh all the backends and retry the read one more time to see if
the object has appeared.
|
|
520dcc1c
|
2013-01-08T19:55:59
|
|
Move credential helpers to their own (optional) header
|
|
ffb02b16
|
2013-01-08T12:58:20
|
|
Expose stock user/pass credential utility
|
|
abeefbbe
|
2012-12-26T19:16:23
|
|
push: properly handle tags
Currently, push doesn't really handle tags when queueing objects. Fix
it.
|
|
087f64d3
|
2012-12-17T18:48:26
|
|
Relax refspecs accepted by push
|
|
359fc2d2
|
2013-01-08T17:07:25
|
|
update copyrights
|
|
f2b7f7a6
|
2013-01-07T15:44:22
|
|
Share git_diff_blobs/git_diff_blob_to_buffer code
This moves the implementation of these two APIs into common code
that will be shared between the two. Also, this adds tests for
the `git_diff_blob_to_buffer` API. Lastly, this adds some extra
`const` to a few places that can use it.
|
|
f6234cd9
|
2012-12-21T20:57:43
|
|
Introduce git_diff_blob_to_buffer
|
|
7eb222fc
|
2013-01-06T10:39:35
|
|
Correct typos in documentation
|
|
e5562e18
|
2013-01-06T10:12:05
|
|
Revert "Tab align value of GIT_FILEMODE_BLOB_EXECUTABLE"
This reverts commit 47fbcbb5a8d4aad87371a381ebdadd04cde3fb2b.
|
|
47fbcbb5
|
2013-01-06T10:02:37
|
|
Tab align value of GIT_FILEMODE_BLOB_EXECUTABLE
|
|
7fc00435
|
2013-01-03T15:48:52
|
|
Add index API to remove all files in a directory
This adds the git_index_remove_directory API plus tests.
|
|
77cffa31
|
2013-01-02T17:14:00
|
|
Simplify checkout documentation
This moves a lot of the detailed checkout documentation into a new
file (docs/checkout-internals.md) and simplifies the public docs
for the checkout API.
|
|
a9a73007
|
2012-12-20T16:16:22
|
|
Submodule caching fix and location API
This adds a new API to the submodule interface that just returns
where information about the submodule was found (e.g. config file
only or in the HEAD, index, or working directory).
Also, the old "refresh" call was potentially keeping some stale
submodule data around, so this simplfies that code and literally
discards the old cache, then reallocates.
|
|
5cf9875a
|
2012-12-18T15:19:24
|
|
Add index updating to checkout
Make checkout update entries in the index for all files that are
updated and/or removed, unless flag GIT_CHECKOUT_DONT_UPDATE_INDEX
is given. To do this, iterators were extended to allow a little
more introspection into the index being iterated over, etc.
|
|
7e5c8a5b
|
2012-12-10T15:31:43
|
|
More checkout improvements
This flips checkout back to be driven off the changes between
the baseline and the target trees. This reinstates the complex
code for tracking the contents of the working directory, but
overall, I think the resulting logic is easier to follow.
|
|
cf208031
|
2012-12-06T13:36:17
|
|
Rework checkout internals (again)
I've tried to map out the detailed behaviors of checkout and make
sure that we're handling the various cases correctly, along with
providing options to allow us to emulate "git checkout" and "git
checkout-index" with the various flags. I've thrown away flags
in the checkout API that seemed like clutter and added some new
ones. Also, I've converted the conflict callback to a general
notification callback so we can emulate "git checkout" output and
display "dirty" files.
As of this commit, the new behavior is not working 100% but some
of that is probably baked into tests that are not testing the
right thing. This is a decent snapshot point, I think, along the
way to getting the update done.
|
|
5a62d659
|
2013-01-03T12:44:09
|
|
MERGE_HEAD contents iterator
|
|
35560d6d
|
2013-01-03T15:53:50
|
|
expose merge metadata cleanup
|
|
b60b4562
|
2013-01-03T16:31:36
|
|
add option to allow git note overwrite
|
|
42e50b5e
|
2013-01-03T12:44:09
|
|
MERGE_HEAD contents iterator
|
|
ad2bc32f
|
2013-01-03T15:53:50
|
|
expose merge metadata cleanup
|
|
8716b499
|
2013-01-03T16:31:36
|
|
add option to allow git note overwrite
|
|
cd5ca5b9
|
2013-01-02T13:50:41
|
|
Merge pull request #1152 from ben/clone-api-structification
Segregate in-memory and persisted remotes
|
|
730df6d0
|
2013-01-02T13:43:54
|
|
Include checkout options inline
|
|
0642c143
|
2013-01-02T12:44:47
|
|
Move `url` to last place in parameter list
|
|
46c2c1d5
|
2012-12-28T13:29:16
|
|
Fixed compilation with VS >= 2010
Starting with VS2010 MS ships a stdint.h.
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
f19304d2
|
2012-12-24T15:59:01
|
|
remote: Prevent create() from blindly overwriting
|
|
ae35aa07
|
2012-12-24T15:29:26
|
|
remote: Improve documentation
|
|
b0aa14aa
|
2012-12-24T15:27:42
|
|
remote: Enhance in-memory remote test coverage
|
|
2052e3c0
|
2012-12-21T10:32:23
|
|
Merge pull request #1163 from barrbrain/check-exists-before-write
odb: check if object exists before writing
|
|
79000951
|
2012-12-21T08:05:59
|
|
In-memory remotes don't have names
|
|
4d185dd9
|
2012-12-19T14:30:06
|
|
odb: check if object exists before writing
Update the procondition of git_odb_backend::write.
It may now be assumed that the object has already been hashed.
|
|
87bc689f
|
2012-12-20T15:50:33
|
|
git_remote_create calls git_remote_save
|
|
874dcb25
|
2012-12-20T11:49:05
|
|
Remote: deprecate dangling, prevent saving in-memory
|
|
29f27599
|
2012-12-20T10:51:09
|
|
Rename remote creation APIs
git_remote_add -> git_remote_create
git_remote_new -> git_remote_create_inmemory
|