Commit Graph

194 Commits

Author SHA1 Message Date
Philippe Miossec 8b4f34c616 Prevent throwing of an Exception when reading missing git config key 2014-12-07 19:02:03 +01:00
Philippe Miossec ebe97e7472 When no value found in the git config file, use the default one specified 2014-10-02 23:41:22 +02:00
Philippe Miossec e956d1d340 Expose a BatchSize option...
Since 21f36fa47c, tfs changesets are
 fetched by batches of 100 changesets (instead of all at once)
 to better support big history when cloning (and use less memory).

This option let the user specify the size of the batch
(because perhaps even 100 is too big for some big repositories).

Values accepted:
x < 0 => Only one batch with ALL the changesets
x == 0 => default value of 100
x > 0 => batches of x changesets
2014-10-02 13:42:41 +02:00
Philippe Miossec 9851568ac7 Change call to CreateCommit() because used api is obsolete 2014-08-06 10:27:28 +02:00
Philippe Miossec c685a27aea Use the good Signature 2014-08-06 09:50:55 +02:00
Philippe Miossec 2a60c57f14 Update libgit2sharp to v0.18.1 2014-08-04 13:45:04 +02:00
Philippe Miossec 0225dd5ea2 Add checkout command
git tfs checkout changesetId [-b=branch_name]
ex: git-tfs checkout 2365
      git-tfs checkout 2365 -b=bugfix_2365

Solve #563
2014-07-10 14:29:58 +02:00
Arkady Shapkin 6b6dcde978 branch init support initializing by specifying git branch or git remote 2014-07-05 13:50:23 +02:00
Philippe Miossec 841189410a Manage other strange cases 2014-06-07 14:28:01 +02:00
Cameron Jordan 92253d55ed Fix changeset id parsing regex 2014-05-29 17:14:46 -07:00
Cameron Jordan f5f1d72042 Expose TryParseChangesetId for testability 2014-05-29 17:06:30 -07:00
Philippe Miossec 796c0d063d throw an exception if commit not found 2014-05-26 22:24:49 +02:00
Philippe Miossec 51fc6026ca Use libGit2Sharp to merge branches 2014-05-26 22:24:47 +02:00
Philippe Miossec 0d639c344b Keep topology order to follow 2014-05-05 22:06:08 +02:00
Søren Holstebroe a14ae502b8 Some trivial code refactoring in FindTfsParentCommits. 2014-05-05 22:06:06 +02:00
Philippe Miossec 71881d83ae FindTfsParentCommits : Improve performance
- Remove recursivity
- Don't process the same commit (and ancestors) two times

Fix case where git-tfs take too much time, CPU
 and memory in a none "git-tfs repository" with a lot of commits
2014-05-05 22:06:04 +02:00
Matt Burke 3caa2b8e8e Merge pull request #583 from KindDragon/changeset_id_cache
Test crash fixed
2014-04-14 12:23:29 -04:00
Arkady Shapkin 2cd342717c Test crash fixed 2014-04-12 22:55:52 +04:00
Matt Burke 37e5510c55 Merge pull request #569 from KindDragon/changeset_id_cache
`FindCommitByChangesetId` cache added
2014-04-10 09:52:10 -04:00
Philippe Miossec 205cc80e04 Refacto calls to Garbage Collection 2014-03-16 15:34:59 +01:00
Arkady Shapkin ea5fed7914 FindCommitByChangesetId cache added 2014-03-14 18:04:07 +04:00
Arkady Shapkin 2ba5f345c6 Check latest changesets first 2014-03-13 16:51:25 +04:00
Arkady Shapkin b3ab7b4c9f ParseEntries() called only when really needed 2014-03-13 16:51:23 +04:00
Shapkin Arkady 5345d714f1 FindCommitHashByChangesetId use compiled regex 2014-03-02 13:57:35 +01:00
Philippe Miossec 90958def2f Always return stub remotes when not found and let that fail when a real remote is needed
it helps better manage some cases...
2014-02-16 14:19:54 +01:00
Philippe Miossec 244852cb93 Add a better way to find the TfsParentChangesets
Correct Tfs remote returned when using option `-I` in the case of a merge commit. It was returning the name of the
Tfs remote with the higher changeset id instead of the Tfs remote of the current branch (by following topology!).

Also remove a call to external git command...
and refactoring GitTfsRemote.GetTfsChangesetById because could not be based on FilterParentTfsCommits() anymore
2014-02-16 14:13:53 +01:00
Matt Burke e5ed004c7c UTC ftw
https://github.com/git-tfs/git-tfs/pull/534#issuecomment-34543386
2014-02-12 06:56:23 -05:00
Matt Burke 0df0aabb95 Use the new form of ObjectDatabase.CreateCommit(). 2014-02-12 06:51:00 -05:00
Matt Burke 4c0ef6fc89 Reset is only used in one place, to ResetHard. 2014-02-12 06:48:03 -05:00
Matt Burke b3c83c8f55 Don't convert line endings in commit messages.
* Update to include libgit2/libgit2sharp#611
* Revert 4eaabce1ae
* Revise release notes for #534
2014-02-12 06:46:49 -05:00
Arkadiy Shapkin b90b8ca53f Removed unused using directives 2014-02-06 15:35:03 +04:00
Arkady Shapkin 5f86d34372 Removed unused methods 2014-02-06 15:33:11 +04:00
Matt Burke 3d7b7a015f Merge pull request #534 from spraints/commit-with-lg2s
Use libgit2sharp to commit
2014-02-05 13:40:47 -05:00
Kim Gybels 7aa90fb308 Improve finding commit for changeset number
Because commits can be shared across branches, it is better to do a single
search starting from the branches than to do a search for each branch
separately. The revision walking implemented in the git library will take
care of efficiently enumerating the graph, not visiting shared commits
multiple times.
2014-01-19 17:51:17 +01:00
Matt Burke 83944e16c8 Create commits with LibGit2Sharp.
This breaks all the clone tests because the commit shas change. The
commit shas change because libgit2sharp changes "\r\n" to "\n".
2014-01-17 18:06:05 -05:00
Matt Burke 1f5afb0e81 🔥 HashAndInsertObject 2014-01-17 16:53:05 -05:00
Matt Burke f0c34b4521 Merge remote-tracking branch 'origin/master' into no-index
Conflicts:
	GitTfs/Core/TfsChangeset.cs
2014-01-17 15:15:12 -05:00
Kim Gybels 9ad8b2a03d Use TreeDefinition instead of index to build tree 2014-01-10 15:10:15 +01:00
Shapkin Arkady a5f6de67e6 Clone performance slightly improved 2013-12-25 11:32:23 +04:00
ivan-danilov 0b719420c5 Fixes #490: --no-build-default-comment option of rcheckin is not respected 2013-11-21 21:40:43 +02:00
Philippe Miossec 9324466e3c Check in an existing git branch in a new TFS branch 2013-11-05 14:01:45 +01:00
Philippe Miossec be4299b473 Refactoring FindChangesetInGitRepository() not really needed... 2013-10-10 14:44:22 +02:00
pmiossec 1c027a0d17 Rewrite FindCommitByCommitMessage to better find by changeset Id
(for better performance and maintainability)
2013-10-07 14:05:49 +02:00
Philippe Miossec 5ac512087f Add a reset command to be able to reset a remote to a previous commit
to fetch changeset again.
2013-09-29 17:00:11 +02:00
Philippe Miossec 0ef7691e9b Save ExportMetadatas option in the config 2013-09-21 00:33:19 +02:00
Matt Burke 1f6ee92ea5 Merge pull request #363 from pmiossec/fetch_merge_when_no_commit
Fetch merge changesets and checkin merge commits
2013-09-16 13:10:06 -07:00
Sean M. Collins 900843ea8a Merge pull request #437 from pmiossec/update_libgit2sharp
Update libgit2sharp to v0.14.0
2013-09-16 06:49:18 -07:00
Philippe Miossec 02aaa3ea70 Merge branch 'master' into fetch_merge_when_no_commit
Conflicts:
	GitTfs/Commands/InitBranch.cs
	GitTfs/Core/ITfsWorkspace.cs
	GitTfs/Core/TfsInterop/ITfsHelper.cs
	GitTfsTest/Commands/InitBranchTest.cs
2013-09-15 23:32:50 +02:00
Matt Burke 539854440c Merge pull request #350 from gburgett/subtree
Subtree command for git-tfs
2013-09-11 17:10:12 -07:00
Philippe Miossec 1c1dc4b237 Update libgit2sharp to v0.14.0 2013-09-11 12:09:40 +02:00