|
aa1c3b58
|
2012-11-13T14:13:47
|
|
Merge pull request #1016 from arrbee/fix-checkout-dir-removal
Update checkout with new strategies & behavior
|
|
3ee078c0
|
2012-11-13T13:46:17
|
|
config: rename get_config_entry -> config_entry
We're already in the git_config namespace, there is no need to repeat
it.
|
|
7ebefd22
|
2012-11-13T10:10:40
|
|
move hash library func ptrs to global global
|
|
b1a3a70e
|
2012-11-12T00:14:51
|
|
repository: Refine repository_head() error report
|
|
b0f6e45d
|
2012-11-01T15:47:18
|
|
create FETCH_HEAD specially instead of as a ref file
|
|
d18713fb
|
2012-11-10T20:24:53
|
|
Merge pull request #1056 from nulltoken/duplicate-tree-entries
Duplicate tree entries
|
|
0f3def71
|
2012-11-09T11:19:46
|
|
Fix various cross-platform build issues
This fixes a number of warnings and problems with cross-platform
builds. Among other things, it's not safe to name a member of a
structure "strcmp" because that may be #defined.
|
|
ad9a921b
|
2012-11-08T17:05:07
|
|
Rework checkout with new strategy options
This is a major reworking of checkout strategy options. The
checkout code is now sensitive to the contents of the HEAD tree
and the new options allow you to update the working tree so that
it will match the index content only when it previously matched
the contents of the HEAD. This allows you to, for example, to
distinguish between removing files that are in the HEAD but not
in the index, vs just removing all untracked files.
Because of various corner cases that arise, etc., this required
some additional capabilities in rmdir and other utility functions.
This includes the beginnings of an implementation of code to read
a partial tree into the index based on a pathspec, but that is
not enabled because of the possibility of creating conflicting
index entries.
|
|
f92bcaea
|
2012-11-08T17:39:23
|
|
index: prevent tree creation from a non merged state
Fix libgit2/libgit2sharp#243
|
|
b0b80658
|
2012-11-08T21:28:15
|
|
Update documentation in remote.h
|
|
7cc1bf0f
|
2012-11-08T21:08:59
|
|
index: Introduce git_index_has_conflicts()
|
|
9d641283
|
2012-11-08T08:06:23
|
|
Merge pull request #1048 from pwkelley/basic_auth
Basic authentication for http and winhttp
|
|
091361f5
|
2012-11-06T08:52:03
|
|
Basic authentication for http and winhttp
|
|
09cc0b92
|
2012-11-05T11:33:10
|
|
create callback to handle packs from fetch, move the indexer to odb_pack
|
|
942a7698
|
2012-11-05T06:54:34
|
|
Merge pull request #1034 from carlosmn/packbuilder-foreach
Let the user grab the packfile as it's being written
|
|
1362a983
|
2012-11-02T10:00:28
|
|
Merge pull request #1014 from arrbee/diff-rename-detection
Initial implementation of diff rename detection
|
|
d13da328
|
2012-11-01T14:18:40
|
|
Merge pull request #1038 from arrbee/doc-fixes
Improve docs, examples, warnings
|
|
b90500f0
|
2012-11-01T14:08:30
|
|
Improve docs, examples, warnings
This improves docs in some of the public header files, cleans
up and improves some of the example code, and fixes a couple
of pedantic warnings in places.
|
|
1e808f9c
|
2012-11-01T20:28:28
|
|
index: Add `git_index_new`
|
|
276ea401
|
2012-11-01T20:15:53
|
|
index: Add git_index_write_tree
|
|
7ae73e94
|
2012-11-01T09:15:29
|
|
Merge pull request #1030 from pwkelley/transports
Reorganize transport architecture
|
|
41fb1ca0
|
2012-10-29T13:41:14
|
|
Reorganize transport architecture (squashed 3)
|
|
b4b935d8
|
2012-10-31T10:43:08
|
|
packbuilder: add accessors for the number of total and written objects
|
|
3dfed9cb
|
2012-10-31T10:26:04
|
|
packbuilder: add git_packbuilder_foreach
Let the user get each object as a buffer+size pair so they can handle
the packfile content as they need to.
|
|
744cc03e
|
2012-10-30T12:10:36
|
|
Add git_config_refresh() API to reload config
This adds a new API that allows users to reload the config if the
file has changed on disk. A new config callback function to
refresh the config was added.
The modified time and file size are used to test if the file needs
to be reloaded (and are now stored in the disk backend object).
In writing tests, just using mtime was a problem / race, so I
wanted to check file size as well. To support that, I extended
`git_futils_readbuffer_updated` to optionally check file size in
addition to mtime, and I added a new function `git_filebuf_stats`
to fetch the mtime and size for an open filebuf (so that the
config could be easily refreshed after a write).
Lastly, I moved some similar file checking code for attributes
into filebuf. It is still only being used for attrs, but it
seems potentially reusable, so I thought I'd move it over.
|
|
efde4225
|
2012-10-30T12:04:28
|
|
Merge pull request #1017 from arrbee/diff-patch-to-str
Add git_diff_patch_to_str API
|
|
c4a9ded0
|
2012-10-30T12:03:22
|
|
Merge pull request #1026 from nulltoken/repo/state
repo: enhance git_repository_state() detection
|
|
db106d01
|
2012-10-30T09:40:50
|
|
Move rename detection into new file
This improves the naming for the rename related functionality
moving it to be called `git_diff_find_similar()` and renaming
all the associated constants, etc. to make more sense.
I also moved the new code (plus the existing `git_diff_merge`)
into a new file `diff_tform.c` where I can put new functions
related to manipulating git diff lists.
This also updates the implementation significantly from the
last revision fixing some ordering issues (where break-rewrite
needs to be handled prior to copy and rename detection) and
improving config option handling.
|
|
f45ec1a0
|
2012-10-29T20:04:21
|
|
index refactoring
|
|
31966d20
|
2012-10-27T09:30:03
|
|
repo: enhance git_repository_state() detection
|
|
e4c64cf2
|
2012-10-08T20:07:55
|
|
stash: add git_stash_drop()
|
|
23388413
|
2012-10-04T15:13:43
|
|
stash: add git_stash_foreach()
|
|
590fb68b
|
2012-10-04T13:47:45
|
|
stash: add git_stash_save()
|
|
eb44cfe0
|
2012-10-08T15:49:31
|
|
error: add GITERR_STASH error type
|
|
b1be9dd0
|
2012-10-03T12:09:17
|
|
index: introduce git_index_owner()
|
|
f7ae3f75
|
2012-10-08T16:23:15
|
|
reflog: fix documentation typos
|
|
cb7180a6
|
2012-10-25T11:48:39
|
|
Add git_diff_patch_print
This adds a `git_diff_patch_print()` API which is more like the
existing API to "print" a patch from an entire `git_diff_list`
but operates on a single `git_diff_patch` object.
Also, it rewrites the `git_diff_patch_to_str()` API to use that
function (making it very small).
|
|
1b934689
|
2012-10-25T10:55:03
|
|
Merge pull request #925 from nulltoken/topic/moving-branch-updates-config
Updates config upon moving and deletion of branches
|
|
fcccf304
|
2012-09-09T20:39:13
|
|
remote: introduce git_remote_rename()
|
|
1eb8cd7f
|
2012-10-25T08:16:13
|
|
Merge pull request #990 from ben/clone-callbacks
Progress callbacks
|
|
93cf7bb8
|
2012-10-24T20:56:32
|
|
Add git_diff_patch_to_str API
This adds an API to generate a complete single-file patch text
from a git_diff_patch object.
|
|
03bdb2ad
|
2012-10-23T16:32:01
|
|
GIT_EUNMERGED
|
|
632d8b23
|
2012-10-23T15:42:09
|
|
reset changes for merge
|
|
1e3b8ed5
|
2012-10-24T14:07:07
|
|
Remove 'bytes' param from git_remote_download
|
|
7d222e13
|
2012-10-24T13:29:14
|
|
Network progress: rename things
git_indexer_stats and friends -> git_transfer_progress*
Also made git_transfer_progress members more sanely
named.
|
|
c4958e68
|
2012-10-24T12:38:05
|
|
Fix documentation comment
|
|
4bc252e4
|
2012-10-24T11:27:03
|
|
Fix example in comment
|
|
b4f5bb07
|
2012-10-23T16:40:51
|
|
Initial implementation of diff rename detection
This implements the basis for diff rename and copy detection,
although it is based on simple SHA comparison right now instead
of using a matching algortihm. Just as `git_diff_merge` can be
used as a post-pass on diffs to emulate certain command line
behaviors, there is a new API `git_diff_detect` which will
update a diff list in-place, adjusting some deltas to RENAMED
or COPIED state (and also, eventually, splitting MODIFIED deltas
where the change is too large into DELETED/ADDED pairs).
This also adds a new test repo that will hold rename/copy/split
scenarios. Right now, it just has exact-match rename and copy,
but the tests are written to use tree diffs, so we should be able
to add new test scenarios easily without breaking tests.
|
|
c70ad945
|
2012-10-23T09:21:32
|
|
Update doc strings, warn about callback perf
|
|
a1abe66a
|
2012-09-10T12:11:02
|
|
Add config level support in the config API
Added `struct git_config_entry`: a git_config_entry contains the key, the value, and the config file level from which a config element was found.
Added `git_config_open_level`: build a single-level focused config object from a multi-level one.
We are now storing `git_config_entry`s in the khash of the config_file
|
|
9c05c17b
|
2012-10-19T20:05:18
|
|
Checkout progress now reports completed/total steps
|
|
7bcd9e23
|
2012-10-19T19:23:32
|
|
gitno_buffer: callback on each packet
The fetch code takes advantage of this to implement a
progress callback every 100kb of transfer.
|
|
aa1e8674
|
2012-10-18T12:57:47
|
|
Clone: in-line callbacks for progress
Also implemented in the git2 example.
|
|
216863c4
|
2012-10-17T14:02:24
|
|
Fetch/indexer: progress callbacks
|
|
0ae81fc4
|
2012-10-17T15:30:22
|
|
index: remove read_tree() progress indicator
git_index_read_tree() was exposing a parameter to provide the user with
a progress indicator. Unfortunately, due to the recursive nature of the
tree walk, the maximum number of items to process was unknown. Thus,
the indicator was only counting processed entries, without providing
any information how the number of remaining items.
|
|
183d8bdd
|
2012-10-16T20:33:48
|
|
Remove checkout_stats from git_clone
|
|
80642656
|
2012-10-16T20:23:10
|
|
Convert checkout_* to use progress callback
|
|
2c8bbb27
|
2012-10-16T20:16:21
|
|
Convert checkout_index to use progress callback
|
|
d57c47dc
|
2012-10-16T13:29:12
|
|
Add accessor for git_remote's stats field
Also converted the network example to use it.
|
|
3028be07
|
2012-10-16T13:10:27
|
|
Add git_indexer_stats field to git_remote
Also removing all the *stats parameters from external
APIs that don't need them anymore.
|
|
92f91b0e
|
2012-10-16T12:41:20
|
|
Clone: fix indentation
|
|
875b16eb
|
2012-10-19T23:44:49
|
|
repository: Typo
|
|
8b05bea8
|
2012-10-19T17:07:39
|
|
errors: deploy GIT_EORPHANEDHEAD usage
|
|
c4f68b35
|
2012-10-19T11:04:32
|
|
errors: introduce GIT_EORPHANEDHEAD
|
|
f0d2ddbb
|
2012-10-18T04:31:03
|
|
remote: support fetch cancelation
Introduce git_remote_stop() which sets a variable that is checked by
the fetch process in a few key places. If this is variable is set, the
fetch is aborted.
|
|
4c47a8bc
|
2012-10-17T14:14:51
|
|
Merge pull request #968 from arrbee/diff-support-typechange
Support TYPECHANGE records in status and adjust checkout accordingly
|
|
6012e868
|
2012-10-17T11:55:26
|
|
Merge pull request #972 from PaulThompson/separate_strarray
Separated git_strarray from common.h. Added doxy comments.
|
|
52748f7b
|
2012-10-16T08:36:55
|
|
Merge pull request #952 from csware/config-locations
Config location fixes
|
|
9e37305a
|
2012-10-16T08:34:28
|
|
Merge pull request #984 from arrbee/fix-fnmatch-and-ignore
Fix single file ignores
|
|
52032ae5
|
2012-10-15T12:48:43
|
|
Fix single-file ignore checks
To answer if a single given file should be ignored, the path to
that file has to be processed progressively checking that there
are no intermediate ignored directories in getting to the file
in question. This enables that, fixing the broken old behavior,
and adds tests to exercise various ignore situations.
|
|
4d968f13
|
2012-10-15T06:12:57
|
|
clone: Explicit support of no-checkout option
|
|
b46708aa
|
2012-10-11T23:04:08
|
|
Separated git_strarray from common.h. Added doxy comments.
|
|
fe67e404
|
2012-10-09T14:35:24
|
|
Move enum comments next to actual values
|
|
0a32dca5
|
2012-08-19T22:26:32
|
|
gsoc-pack-objects WIP
|
|
2f05339e
|
2012-07-10T08:53:05
|
|
Add git_tag_foreach
|
|
0d64bef9
|
2012-10-05T15:56:57
|
|
Add complex checkout test and then fix checkout
This started as a complex new test for checkout going through the
"typechanges" test repository, but that revealed numerous issues
with checkout, including:
* complete failure with submodules
* failure to create blobs with exec bits
* problems when replacing a tree with a blob because the tree
"example/" sorts after the blob "example" so the delete was
being processed after the single file blob was created
This fixes most of those problems and includes a number of other
minor changes that made it easier to do that, including improving
the TYPECHANGE support in diff/status, etc.
|
|
95f5f1e6
|
2012-10-02T13:57:15
|
|
Cleanup TYPECHANGE support
This is just some cleanup code, rearranging some of the checkout
code where TYPECHANGE support was added and adding some comments
to the diff header regarding the constants.
|
|
bc16fd3e
|
2012-09-28T13:40:02
|
|
Introduce status/diff TYPECHANGE flags
When I wrote the diff code, I based it on core git's diff output
which tends to split a type change into an add and a delete. But
core git's status has the notion of a T (typechange) flag for a
file. This introduces that into our status APIs and modifies the
diff code so it can be forced to not split type changes.
|
|
21e0d297
|
2012-10-09T11:45:50
|
|
Merge pull request #967 from arrbee/diff-submodule-tests-and-fixes
Diff submodule tests and fixes
|
|
5d1308f2
|
2012-10-08T15:19:00
|
|
Add test for diffs with submodules and bug fixes
The adds a test for the submodule diff capabilities and then
fixes a few bugs with how the output is generated. It improves
the accuracy of OIDs in the diff delta object and makes the
submodule output more closely mirror the OIDs that will be used
by core git.
|
|
dfbff793
|
2012-10-08T15:14:12
|
|
Fix a few diff bugs with directory content
There are a few cases where diff should leave directories in
the diff list if we want to match core git, such as when the
directory contains a .git dir. That feature was lost when I
introduced some of the new submodule handling.
This restores that and then fixes a couple of related to diff
output that are triggered by having diffs with directories in
them.
Also, this adds a new flag that can be passed to diff if you
want diff output to actually include the file content of any
untracked files.
|
|
0c78f685
|
2012-10-06T10:41:53
|
|
branch: introduce git_branch_is_head()
|
|
eada0762
|
2012-10-02T10:45:40
|
|
Merge pull request #939 from pwkelley/ignorecase
Support for the core.ignorecase flag
|
|
4258d483
|
2012-10-02T17:21:07
|
|
Rename xdr to xdg
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
3230a44f
|
2012-09-30T10:56:06
|
|
remote: support downloading all tags
Also honor remote.$name.tagopt = --tags.
|
|
f70e466f
|
2012-09-27T11:58:35
|
|
remote: add accessors for the autotag setting
|
|
24f2f94e
|
2012-09-15T08:07:24
|
|
fetch: use the include-tag capability
This tells the remote to send us any tags that point to objects that
we are downloading.
|
|
3665ba8e
|
2012-09-27T12:04:41
|
|
refspec: add git_refspec__free, remove git_refspec_parse
The latter shouldn't be exposed and isn't used, git_refspec__parse
supersedes it.
Fix a leak in the refspec tests while we're at it.
|
|
bae957b9
|
2012-09-25T16:31:46
|
|
Add const to all shared pointers in diff API
There are a lot of places where the diff API gives the user access
to internal data structures and many of these were being exposed
through non-const pointers. This replaces them all with const
pointers for any object that the user can access but is still
owned internally to the git_diff_list or git_diff_patch objects.
This will probably break some bindings... Sorry!
|
|
64286308
|
2012-09-25T10:48:50
|
|
Fix bugs in new diff patch code
This fixes all the bugs in the new diff patch code. The only
really interesting one is that when we merge two diffs, we now
have to actually exclude diff delta records that are not supposed
to be tracked, as opposed to before where they could be included
because they would be skipped silently by `git_diff_foreach()`.
Other than that, there are just minor errors.
|
|
5f69a31f
|
2012-09-24T20:52:34
|
|
Initial implementation of new diff patch API
Replacing the `git_iterator` object, this creates a simple API
for accessing the "patch" for any file pair in a diff list and
then gives indexed access to the hunks in the patch and the lines
in the hunk. This is the initial implementation of this revised
API - it is still broken, but at least builds cleanly.
|
|
9a12a625
|
2012-09-18T15:13:07
|
|
New take on iterating over diff content
Allow diff deltas to be accessed by index and make patch generation
explicit with hunk and line access by index as well.
|
|
5942bd18
|
2012-09-25T14:53:13
|
|
Merge pull request #947 from arrbee/public-error-set
Make giterr_set_str() and giterr_set_oom() public APIs
|
|
77e06d7e
|
2012-09-17T07:11:32
|
|
refs: introduce git_reference_is_valid_name()
|
|
c030ada7
|
2012-09-11T12:06:57
|
|
refs: make git_reference_normalize_name() accept refspec pattern
|
|
8b4f9b17
|
2012-09-24T18:59:00
|
|
Correctly read xdr compatible %HOME%/.config/git/config config file
This file is not just read if the global config file (%HOME%/.gitconfig)
is not found, however, it is used everytime but with lower priority.
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
f55af775
|
2012-09-22T01:16:10
|
|
Make clear that git_odb_hashfile does not use filters
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
1a628100
|
2012-09-21T15:04:39
|
|
Make giterr_set_str public
There has been discussion for a while about making some set of
the `giterr_set` type functions part of the public API for code
that is implementing new backends to libgit2. This makes the
`giterr_set_str()` and `giterr_set_oom()` functions public.
|
|
9e592583
|
2012-09-19T12:23:47
|
|
checkout: add notification callback for skipped files
|
|
ec40b7f9
|
2012-09-17T15:42:41
|
|
Support for core.ignorecase
|