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