Vicent Martí
947fad4f7f
Merge pull request #1624 from libgit2/vmg/full-ref-iterator
...
Breaking RefDB changes
2013-06-03 09:28:58 -07:00
Vicent Martí
8d863aa205
Merge pull request #1621 from NHDaly/clone_transport_flags
...
Added support for setting transport flags (No check SSL cert) to git_clo...
2013-05-31 06:01:59 -07:00
Nathan Daly
883929144d
Added support for setting transport flags (No check SSL cert) to git_clone call.
2013-05-31 08:53:22 -04:00
yorah
df50512aeb
Proposal to handle default value (auto = 0)
2013-05-30 18:06:54 +02:00
Vicent Marti
ec24e54296
What are the chances, really
2013-05-29 22:47:37 +02:00
nulltoken
1fed6b07f0
Fix trailing whitespaces
2013-05-15 22:41:30 +02:00
Edward Thomson
b6cc559a78
Merge pull request #1385 from carlosmn/refs-iter
...
Introduce a refs iterator
2013-05-11 02:42:49 -07:00
Carlos Martín Nieto
2b562c3a1e
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.
2013-05-11 11:20:38 +02:00
Michael Schubert
ae59321fb8
clone: fix -Wmaybe-uninitialized warning
2013-05-10 14:46:14 +02:00
Vicent Martí
03c28d92d0
Merge pull request #1526 from arrbee/cleanup-error-return-without-msg
...
Make sure error messages are set for most error returns
2013-05-06 06:45:53 -07:00
Jameson Miller
6f748f3885
Do not write tagopt configuration option on clone by default
2013-05-04 12:14:40 -04:00
Russell Belfer
46779411f9
fix typo
2013-05-01 05:32:10 -07:00
Russell Belfer
f6f48f9008
Simplify error reporting
2013-05-01 04:57:05 -07:00
Russell Belfer
b7f167da29
Make git_oid_cmp public and add git_oid__cmp
2013-04-29 13:52:12 -07:00
Ben Straub
bd0a07f4bb
Clone: replace fetch spec with custom value
2013-04-23 12:28:59 -07:00
Carlos Martín Nieto
bc6374eac4
remote: allow querying for refspecs
...
Introduce git_remote_{fetch,push}_refspecs() to get a list of refspecs
from the remote and rename the refspec-adding functions to a less
silly name.
Use this instead of the vector index hacks in the tests.
2013-04-20 19:45:40 +02:00
Carlos Martín Nieto
4330ab26b5
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.
2013-04-20 17:54:13 +02:00
Jameson Miller
926acbcf8e
Clone should not delete directories it did not create
2013-03-01 14:56:09 -05:00
Russell Belfer
9c258af094
Merge pull request #1316 from ben/clone-cancel
...
Allow network operations to cancel
2013-02-12 10:13:56 -08:00
Ben Straub
f393d4e8d7
Clone: fetch all tags
2013-02-06 13:07:56 -08:00
Ben Straub
fe95ac1b67
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.
2013-02-05 10:59:58 -08:00
Frank Li
28c3beaa59
Fix fail clone local repo which head detatched
...
Set head detach if can't found branch after download
Signed-off-by: Frank Li <lznuaa@gmail.com>
2013-01-27 15:02:06 +08:00
Sascha Cunz
1265b51f5b
Add missing git_buf_free
2013-01-11 03:10:23 +01:00
Sascha Cunz
88aef76635
Implement analog for 'git checkout --branch xxx ...'
2013-01-11 03:10:19 +01:00
Sascha Cunz
132c2db6a9
Fix possible free'ing of unitialized pointer in error case
2013-01-11 02:18:27 +01:00
Edward Thomson
359fc2d241
update copyrights
2013-01-08 17:31:27 -06:00
Vicent Martí
5df7ad3ece
Merge pull request #1196 from scunz/allow_clone_without_master_branch
...
Allow to clone repositories that don't have a `master` branch
2013-01-06 07:56:45 -08:00
nulltoken
d1aee4775a
clone: Fix a memory leak
2013-01-06 15:09:27 +01:00
Sascha Cunz
2ba6f3c7f1
Allow to clone repositories that don't have a master
branch
...
Before this, we error out from `reference_matches_remote_head` if the
reference we're searching for does not exist.
Since we explicitly check if master is existing in `update_head_to_remote`
and error out if it doesn't, a repository without master branch could
not be cloned.
In fact this was later clobbered by what is fixed in #1194 .
However, this patch introduces a `found` member in `head_info` and sets
it accordingly. That also saves us from checking the string length of
`branchname` a few times.
2013-01-06 14:30:52 +01:00
Russell Belfer
2850252af7
Oh yeah, bugs from my rebase
2013-01-04 15:47:44 -08:00
Ben Straub
730df6d0f7
Include checkout options inline
2013-01-02 13:43:54 -08:00
Ben Straub
29f27599ea
Rename remote creation APIs
...
git_remote_add -> git_remote_create
git_remote_new -> git_remote_create_inmemory
2012-12-20 10:52:57 -08:00
Ben Straub
00998a12ca
Initialize variable
2012-12-19 17:02:06 -08:00
Ben Straub
621b50e4d5
Clone: trust but verify
2012-12-19 17:02:06 -08:00
Ben Straub
b412d56389
Add more clone options. Push test suite segfaults.
2012-12-19 17:02:06 -08:00
Ben Straub
b9e7e2b4e1
Move non-options back out of options struct
2012-12-14 13:46:45 -08:00
Ben Straub
18b2d560d3
Deploy git_clone_options; remove git_clone_bare
2012-12-14 13:03:59 -08:00
Ben Straub
24393ea6d3
Stop premature remote freeing when cloning
2012-12-13 09:14:56 -08:00
Ben Straub
44f36f6e3b
Convert clone to use dangling remotes
2012-12-12 19:48:44 -08:00
Ben Straub
df705148ec
API updates for remote.h
...
Includes typedef for git_direction, and renames for
GIT_DIR_[FETCH|PUSH] to GIT_DIRECTION_(\1).
2012-11-27 13:19:49 -08:00
Vicent Marti
cfbe4be3fb
More external API cleanup
...
Conflicts:
src/branch.c
tests-clar/refs/branches/create.c
2012-11-27 13:18:27 -08:00
Ben Straub
2508cc66eb
Rename ref and reflog apis for consistency
2012-11-27 13:17:45 -08:00
Vicent Martí
aa1c3b588e
Merge pull request #1016 from arrbee/fix-checkout-dir-removal
...
Update checkout with new strategies & behavior
2012-11-13 14:13:47 -08:00
Edward Thomson
b0f6e45d14
create FETCH_HEAD specially instead of as a ref file
2012-11-11 11:56:33 -06:00
Russell Belfer
331e7de900
Extensions to rmdir and mkdir utilities
...
* Rework GIT_DIRREMOVAL values to GIT_RMDIR flags, allowing
combinations of flags
* Add GIT_RMDIR_EMPTY_PARENTS flag to remove parent dirs that
are left empty after removal
* Add GIT_MKDIR_VERIFY_DIR to give an error if item is a file,
not a dir (previously an EEXISTS error was ignored, even for
files) and enable this flag for git_futils_mkpath2file call
* Improve accuracy of error messages from git_futils_mkdir
2012-11-09 13:52:06 -08:00
Philip Kelley
41fb1ca0ec
Reorganize transport architecture (squashed 3)
2012-11-01 09:02:33 -04:00
Ben Straub
1e3b8ed5cf
Remove 'bytes' param from git_remote_download
2012-10-24 14:07:07 -07:00
Ben Straub
7d222e1312
Network progress: rename things
...
git_indexer_stats and friends -> git_transfer_progress*
Also made git_transfer_progress members more sanely
named.
2012-10-24 13:29:14 -07:00
Ben Straub
aa1e86741d
Clone: in-line callbacks for progress
...
Also implemented in the git2 example.
2012-10-19 19:36:22 -07:00
Ben Straub
9c3a98f1b0
Fix clone.c's indentation
2012-10-19 19:36:22 -07:00
Ben Straub
216863c48f
Fetch/indexer: progress callbacks
2012-10-19 19:36:22 -07:00
Ben Straub
183d8bddeb
Remove checkout_stats from git_clone
2012-10-19 19:36:22 -07:00
Ben Straub
806426565f
Convert checkout_* to use progress callback
2012-10-19 19:36:21 -07:00
Ben Straub
2c8bbb27d9
Convert checkout_index to use progress callback
2012-10-19 19:34:15 -07:00
Ben Straub
3028be0723
Add git_indexer_stats field to git_remote
...
Also removing all the *stats parameters from external
APIs that don't need them anymore.
2012-10-19 19:34:14 -07:00
Russell Belfer
4c47a8bcfe
Merge pull request #968 from arrbee/diff-support-typechange
...
Support TYPECHANGE records in status and adjust checkout accordingly
2012-10-17 14:14:51 -07:00
nulltoken
c4f68b3202
clone: fix detection of remote HEAD
2012-10-15 20:40:37 +02:00
nulltoken
4d968f134b
clone: Explicit support of no-checkout option
2012-10-15 20:40:37 +02:00
Russell Belfer
0d64bef941
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.
2012-10-09 11:59:34 -07:00
Michael Schubert
aa4437f637
Fix compiler warnings
...
* tests-clar/status: remove an unused variable
* clone: fix -Wmaybe-uninitialized warning
2012-10-09 17:51:11 +02:00
nulltoken
bf0e62a2b8
clone: fix cloning of empty repository
2012-10-08 00:44:21 +02:00
nulltoken
d280c71b8e
clone: leverage refspec transform
2012-10-08 00:44:16 +02:00
nulltoken
70edc1b0fc
clone: align type casing with convention
2012-10-08 00:44:11 +02:00
nulltoken
7eca3c561d
clone: deploy git_repository_set_head() usage
2012-10-07 21:03:49 +02:00
nulltoken
096d9e94aa
remote: use constants for well-known names
2012-10-07 21:03:37 +02:00
nulltoken
74a2400514
refs: use constants for well-known names
2012-10-07 12:04:19 +02:00
nulltoken
3aa443a951
checkout: introduce git_checkout_tree()
2012-09-17 10:48:26 +02:00
Russell Belfer
f4ea176fa8
Remove unnecessary include
...
I don't think clone.c needs in #include dirent.h and it is not
portable, so let's just get rid of it.
2012-09-14 10:31:40 -07:00
nulltoken
35d2e449bd
checkout: cleanup misplaced declaration
2012-09-06 18:40:07 +02:00
Ben Straub
aa549d323e
Clean up a TODO comment.
2012-08-01 15:09:05 -07:00
Ben Straub
b31667fb69
Checkout: add head- and ref-centric checkouts.
...
Renamed git_checkout_index to what it really was,
and removed duplicate code from clone.c. Added
git_checkout_ref, which updates HEAD and hands off
to git_checkout_head.
Added tests for the options the caller can pass to
git_checkout_*.
2012-07-27 20:31:05 -07:00
Ben Straub
4d83399d35
Adjust for msvc pedantry.
2012-07-27 11:55:58 -07:00
Ben Straub
8a155a044b
Fix mismatched git_branch_create args.
2012-07-27 11:49:34 -07:00
Ben Straub
7affe23db0
Use new git_remote_update_tips signature.
2012-07-27 11:23:44 -07:00
Ben Straub
b401bace1b
Restructure for better checkout options
...
* Removed the #define for defaults
* Promoted progress structure to top-level API call
argument
2012-07-26 13:12:21 -07:00
Ben Straub
ef9905c990
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.
2012-07-26 12:58:44 -07:00
Ben Straub
d024419f16
Add git_path_is_empty_dir.
2012-07-11 10:40:53 -07:00
Ben Straub
c3b5099fe4
Add git_path_is_dot_or_dotdot.
...
Also, remove some duplication in the clone test
suite.
2012-07-11 10:10:31 -07:00
Ben Straub
1c7eb971ac
Reindent.
2012-07-10 12:04:23 -07:00
Ben Straub
ea8178638c
Tabify.
2012-07-09 20:32:42 -07:00
Ben Straub
2b63db4cbb
Clone: update index to HEAD.
...
git_clone now produces a repo that
`git status` reports as clean!
2012-06-25 16:04:59 -07:00
Ben Straub
830388a728
Clone: non-empty-dir test, now for Win32.
2012-06-21 20:07:32 -07:00
Ben Straub
acdd3d959b
Clone: allow empty dirs.
2012-06-21 19:51:56 -07:00
Ben Straub
cb2dc0b0f8
Clone: replace one hardcoded value with another.
2012-06-21 13:37:08 -07:00
Ben Straub
14741d62d9
Clone: new home for git_checkout_force.
2012-06-21 11:13:19 -07:00
Ben Straub
941611153a
Clone: minor cleanup and whitespace.
2012-06-21 10:34:11 -07:00
Ben Straub
af58ec9e8d
Clone: prefer "master" as default branch.
2012-06-21 09:53:45 -07:00
Ben Straub
4fbc899acf
Clone: local branch for remote HEAD.
...
Now creating a local branch that tracks to the
origin's HEAD branch, and setting HEAD to that.
2012-06-21 09:53:45 -07:00
Ben Straub
8340dd5d5f
Clone: remove fragile path-handling code.
...
Also standardized on 3-space indentation. Sorry
about that.
2012-06-21 09:53:45 -07:00
Ben Straub
f2a855d5fe
Clone: restructure.
2012-06-21 09:53:44 -07:00
Ben Straub
bb1f6087e4
Add progress reporting to clone.
2012-06-21 09:53:44 -07:00
Ben Straub
764df57e82
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.
2012-06-21 09:53:44 -07:00