|
d0849f83
|
2013-10-02T11:07:18
|
|
Simplify git_path_is_empty_dir implementation
This simplifies git_path_is_empty_dir on both Windows (getting rid
of git_buf allocation inside the function) and other platforms (by
just using git_path_direach), and adds tests for the function, and
uses the function to simplify some existing tests.
|
|
219d3457
|
2013-10-01T16:12:15
|
|
Initial iconv hookup for precomposed unicode
This hooks up git_path_direach and git_path_dirload so that they
will take a flag indicating if directory entry names should be
tested and converted from decomposed unicode to precomposed form.
This code will only come into play on the Apple platform and even
then, only when certain types of filesystems are used.
This involved adding a flag to these functions which involved
changing a lot of places in the code.
This was an opportunity to do a bit of code cleanup here and there,
for example, getting rid of the git_futils_cleanupdir_r function in
favor of a simple flag to git_futils_rmdir_r to not remove the top
level entry. That ended up adding depth tracking during rmdir_r
which led to a safety check for infinite directory recursion. Yay.
This hasn't actually been tested on the Mac filesystems where the
issue occurs. I still need to get test environment for that.
|
|
0e0cf787
|
2013-10-02T14:04:44
|
|
clone: put the callbacks struct directly in the clone options
There's no need for this to be a pointer to somewhere else.
|
|
fdc7e5e3
|
2013-09-20T23:14:12
|
|
clone: bring back NULL as defaults
This wasremoved as part of the large culling a few commits ago.
|
|
c833893c
|
2013-09-20T22:57:01
|
|
clone: re-allow using a custom remote name
This is a small thing that by itself doesn't quite justify making the
user use clone_into.
|
|
6ac15eff
|
2013-09-20T22:34:05
|
|
clone: remove more options from basic clone
The basic clone function is there to make it easy to create a "normal"
clone. Remove a bunch of options that are about changing the remote's
configuration.
|
|
c8dbec48
|
2013-09-16T18:42:53
|
|
clone: remove the autotag option
Downloading all tags is part of what makes it a clone instead of
simply a fetch.
|
|
605da51a
|
2013-09-17T09:50:30
|
|
No such thing as an orphan branch
Unfortunately git-core uses the term "unborn branch" and "orphan
branch" interchangeably. However, "orphan" is only really there for
the checkout command, which has the `--orphan` option so it doesn't
actually create the branch.
Branches never have parents, so the distinction of a branch with no
parents is odd to begin with. Crucially, the error messages deal with
unborn branches, so let's use that.
|
|
114f5a6c
|
2013-06-10T10:10:39
|
|
Reorganize diff and add basic diff driver
This is a significant reorganization of the diff code to break it
into a set of more clearly distinct files and to document the new
organization. Hopefully this will make the diff code easier to
understand and to extend.
This adds a new `git_diff_driver` object that looks of diff driver
information from the attributes and the config so that things like
function content in diff headers can be provided. The full driver
spec is not implemented in the commit - this is focused on the
reorganization of the code and putting the driver hooks in place.
This also removes a few #includes from src/repository.h that were
overbroad, but as a result required extra #includes in a variety
of places since including src/repository.h no longer results in
pulling in the whole world.
|
|
1fed6b07
|
2013-05-13T21:57:37
|
|
Fix trailing whitespaces
|
|
24988894
|
2013-05-10T12:02:17
|
|
Fix some memory leaks
|
|
6f748f38
|
2013-05-04T12:14:40
|
|
Do not write tagopt configuration option on clone by default
|
|
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
|
|
bd0a07f4
|
2013-04-23T12:28:59
|
|
Clone: replace fetch spec with custom value
|
|
dfdf709e
|
2013-04-23T21:29:07
|
|
get last refspec in clone test
|
|
4330ab26
|
2013-04-20T04:43:28
|
|
remote: handle multiple refspecs
A remote can have a multitude of refspecs. Up to now our git_remote's
have supported a single one for each fetch and push out of simplicity
to get something working.
Let the remotes and internal code know about multiple remotes and get
the tests passing with them.
Instead of setting a refspec, the external users can clear all and add
refspecs. This should be enough for most uses, though we're still
missing a querying function.
|
|
d064c747
|
2013-04-15T23:18:24
|
|
Merge remote-tracking branch 'ben/unified-revparse' into development
|
|
2ebc3c66
|
2013-04-15T11:57:24
|
|
Redeploy git_revparse_single.
|
|
1aa21fe3
|
2013-04-09T05:03:51
|
|
Deprecate git_revparse_single and _rangelike
|
|
a258d8e3
|
2013-03-30T03:39:19
|
|
branch: rename 'tracking' to 'upstream'
The term 'tracking' is overloaded. Help distinguish what we mean by
using 'upstream' for this part of the library.
|
|
926acbcf
|
2013-03-01T11:07:53
|
|
Clone should not delete directories it did not create
|
|
c1b5e8c4
|
2013-02-15T11:35:33
|
|
branch: Make git_branch_remote_name() cope with orphaned heads
|
|
3ad05221
|
2013-02-05T16:52:56
|
|
Fix MSVC compilation warnings
Fix #1308
|
|
aa928de0
|
2013-01-29T17:26:42
|
|
Add test case for clone head detached repo
Signed-off-by: Frank Li <lznuaa@gmail.com>
Signed-off-by: nulltoken <emeric.fermas@gmail.com>
|
|
bf031581
|
2013-01-14T14:22:11
|
|
branch: Introduce git_branch_tracking_name()
|
|
e2d2c6e5
|
2013-01-12T02:14:14
|
|
Merge pull request #1222 from scunz/clone_branch
Switch to specified branch during clone
|
|
f1d4a35e
|
2013-01-12T00:08:48
|
|
Tests: Add test for check out of given branch during clone
|
|
b5b28120
|
2013-01-12T00:07:44
|
|
Test: Cleanup some cleaning code
|
|
090d5e1f
|
2013-01-11T14:40:09
|
|
Fix MSVC compilation warnings
|
|
b97fabfa
|
2013-01-06T15:18:00
|
|
tests: Fix some memory leaks
|
|
7761ce21
|
2013-01-03T04:24:12
|
|
Merge branch 'development' into clar2
Conflicts:
tests-clar/clone/nonetwork.c
tests-clar/online/clone.c
tests-clar/online/fetchhead.c
|
|
f46769e5
|
2013-01-03T02:13:37
|
|
Fix network suite
|
|
922dd978
|
2013-01-02T13:54:37
|
|
Move some clone tests to the nonetwork suite
|
|
730df6d0
|
2013-01-02T13:43:54
|
|
Include checkout options inline
|
|
156cfec0
|
2012-12-19T00:12:26
|
|
Cleanup Clar to make it SIMPLER
|
|
6bd09ecc
|
2012-12-24T15:51:10
|
|
Fix MSSVC compilation issue
|
|
621b50e4
|
2012-12-19T16:51:37
|
|
Clone: trust but verify
|
|
b412d563
|
2012-12-18T19:46:05
|
|
Add more clone options. Push test suite segfaults.
|
|
96a289f5
|
2012-12-19T05:24:23
|
|
clone-empty-test: Don't use one pointer for two things
... so we can clean up correctly.
|
|
22d23c61
|
2012-12-17T17:15:58
|
|
Cleanup the test correctly
|
|
57f5d8dc
|
2012-12-14T14:15:42
|
|
Remove placeholder files during tests
|
|
1164acde
|
2012-12-14T14:00:35
|
|
Rebase fixup
|
|
850b1edf
|
2012-12-13T12:55:28
|
|
Allow clone to handle empty repos
|
|
b9e7e2b4
|
2012-12-14T13:46:45
|
|
Move non-options back out of options struct
|
|
18b2d560
|
2012-12-14T13:03:59
|
|
Deploy git_clone_options; remove git_clone_bare
|
|
509216a5
|
2012-12-14T02:49:01
|
|
test: Fix clone tests
|
|
b0b9fd32
|
2012-12-14T02:41:53
|
|
Merge remote-tracking branch 'origin/clone-auth' into development
|
|
8a8820d8
|
2012-12-13T17:58:12
|
|
Add test to clone with absolute path
|
|
24393ea6
|
2012-12-13T09:14:56
|
|
Stop premature remote freeing when cloning
|
|
7c353afd
|
2012-12-13T08:47:29
|
|
Define constant for default fetch spec
|
|
44f36f6e
|
2012-12-12T19:48:44
|
|
Convert clone to use dangling remotes
|
|
cfbe4be3
|
2012-11-17T19:54:47
|
|
More external API cleanup
Conflicts:
src/branch.c
tests-clar/refs/branches/create.c
|
|
2508cc66
|
2012-11-18T21:38:08
|
|
Rename ref and reflog apis for consistency
|
|
9094d30b
|
2012-11-23T11:41:56
|
|
Reset all static variables to NULL in clar's __cleanup
Without this change, any failed assertion in the second (or a later) test
inside a test suite has a chance of double deleting memory, resulting in
a heap corruption. See #1096 for details.
This leaves alone the test cases where we "just" use cl_git_sandbox_init()
and cl_git_sandbox_cleanup(). These methods already take good care to not
double delete a repository.
Fixes #1096
|
|
aa1c3b58
|
2012-11-13T14:13:47
|
|
Merge pull request #1016 from arrbee/fix-checkout-dir-removal
Update checkout with new strategies & behavior
|
|
2ff1a0d0
|
2012-11-09T16:59:46
|
|
Helpers for local-filesystem remote URLs
|
|
757b4065
|
2012-11-09T14:01:44
|
|
Fix warnings and valgrind issues
This fixes some various warnings that showed up in Travis and
a couple uses of uninitialized memory and one memory leak.
|
|
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.
|
|
505da062
|
2012-11-06T10:26:06
|
|
Implement local transport's fetch
|
|
1fc375e6
|
2012-10-25T09:02:55
|
|
Fix Windows build
Pedantic ordering of GIT_UNUSED vs. variable declarations.
|
|
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.
|
|
9c05c17b
|
2012-10-19T20:05:18
|
|
Checkout progress now reports completed/total steps
|
|
aa1e8674
|
2012-10-18T12:57:47
|
|
Clone: in-line callbacks for progress
Also implemented in the git2 example.
|
|
183d8bdd
|
2012-10-16T20:33:48
|
|
Remove checkout_stats from git_clone
|
|
add5efe7
|
2012-10-16T00:49:05
|
|
test: fix some memory leaks
|
|
c4f68b32
|
2012-10-15T07:06:22
|
|
clone: fix detection of remote HEAD
|
|
4d968f13
|
2012-10-15T06:12:57
|
|
clone: Explicit support of no-checkout option
|
|
86a2da6e
|
2012-10-10T15:10:07
|
|
Clone: use libgit2's test repos
|
|
65415ea2
|
2012-10-10T10:34:26
|
|
Tests: add "network" category
Split the clone tests into network and no-network suites.
|
|
bf0e62a2
|
2012-10-07T12:50:18
|
|
clone: fix cloning of empty repository
|
|
ebecf1e7
|
2012-10-07T12:04:07
|
|
clone: reorganize tests
|
|
5bb0dc93
|
2012-09-13T14:02:46
|
|
ODB: re-load packfiles on failed lookup
The old method was avoiding re-loading of packfiles by watching the mtime of the
pack directory. This causes the ODB to become stale if the directory and packfile
are written within the same clock millisecond, as when cloning a fairly small
repo.
This method tries to find the object in the cached packs, and forces a refresh when
that fails. This will cause extra stat'ing on a miss, but speeds up the success
case and avoids this race condition.
|
|
15445f9e
|
2012-07-27T11:14:30
|
|
Turn off network-dependent test for CI.
|
|
b401bace
|
2012-07-26T13:12:21
|
|
Restructure for better checkout options
* Removed the #define for defaults
* Promoted progress structure to top-level API call
argument
|
|
ef9905c9
|
2012-07-26T12:58:44
|
|
checkout: introduce git_checkout_opts
Refactor checkout into several more-sensible
entry points, which consolidates common options
into a single structure that may be passed around.
|
|
81167385
|
2012-07-11T15:33:19
|
|
Fix compile and workings on msvc.
Signed-off-by: Ben Straub <bstraub@github.com>
|
|
d024419f
|
2012-07-11T10:40:53
|
|
Add git_path_is_empty_dir.
|
|
822d9dd5
|
2012-07-11T09:50:12
|
|
Remove duplicate of git_repository_head_tree.
|
|
1c7eb971
|
2012-07-10T12:04:23
|
|
Reindent.
|
|
acdd3d95
|
2012-06-21T19:51:56
|
|
Clone: allow empty dirs.
|
|
5a20196f
|
2012-06-21T15:11:13
|
|
Fix warning on msvc build.
|
|
94161115
|
2012-06-21T10:34:11
|
|
Clone: minor cleanup and whitespace.
|
|
8340dd5d
|
2012-06-20T14:17:54
|
|
Clone: remove fragile path-handling code.
Also standardized on 3-space indentation. Sorry
about that.
|
|
da73fb70
|
2012-06-20T12:48:41
|
|
Disable long-running test.
|
|
3c4b008c
|
2012-06-20T12:43:28
|
|
Disable failing test (for now).
|
|
764df57e
|
2012-06-15T13:14:43
|
|
Add git_clone and git_clone_bare.
So far they only create a repo, setup the "origin"
remote, and fetch. The API probably needs work as
well; there's no way to get progress information
at this point.
Also uncovered a shortcoming; git_remote_download
doesn't fetch over local transport.
|
|
f2a855d5
|
2012-06-19T20:37:12
|
|
Clone: restructure.
|
|
bb1f6087
|
2012-06-19T09:15:39
|
|
Add progress reporting to clone.
|