Commit Graph

80 Commits

Author SHA1 Message Date
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 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 51fc6026ca Use libGit2Sharp to merge branches 2014-05-26 22:24:47 +02:00
Philippe Miossec 205cc80e04 Refacto calls to Garbage Collection 2014-03-16 15:34:59 +01:00
Arkady Shapkin b3ab7b4c9f ParseEntries() called only when really needed 2014-03-13 16:51:23 +04: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 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
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
Kim Gybels 9ad8b2a03d Use TreeDefinition instead of index to build tree 2014-01-10 15:10:15 +01: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
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
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
Matt Burke ab13eb2f3b Merge remote-tracking branch 'origin/master' into pr/378
Conflicts:
	GitTfs/Commands/InitOptions.cs
2013-09-05 16:44:56 -04:00
Gordon Burgett 85d85d4d5c Merge branch 'master' into subtree
Conflicts:
	GitTfs.VsCommon/TfsHelper.Common.cs
	GitTfs/Core/GitRepository.cs
	GitTfs/Core/GitTfsRemote.cs
	GitTfs/Core/IGitRepository.cs
	GitTfs/Core/TfsInterop/ITfsHelper.cs
2013-09-05 15:35:06 -05:00
Philippe Miossec 17e4cfdf8d Merge branch 'master' into fetch_merge_when_no_commit
Conflicts:
	GitTfs/Commands/Clone.cs
	GitTfs/Commands/Fetch.cs
	GitTfs/Commands/InitBranch.cs
	GitTfs/Core/IGitRepository.cs
	GitTfs/Core/TfsInterop/ITfsHelper.cs
2013-06-06 23:10:52 +02:00
Philippe Miossec 8e9f7f8142 Manage rcheckin in bare repository 2013-06-04 21:13:07 +02:00
Chris Wundram 4c173a85be Merge branch 'master' into autocrlf 2013-05-29 16:17:48 -05:00
Matt Burke a0b228661e Merge remote-tracking branch 'origin/master'
Conflicts:
	GitTfs/Core/GitTfsRemote.cs
2013-05-29 10:23:59 -04:00
Chris Wundram 5c1fdf5f1d Fixed --autocrlf option on init so that it will set the autocrlf option
in the config.
Added --ignore case option to set ignorecase config setting.

These changes allow these settings to be controled when creating new repo
with git tfs init

Fixed unit tests to work with new CreateTfsRemote signature
2013-05-27 07:52:01 -05:00
Philippe Miossec bdf3c67ab9 rcheckin merge commit as a merge changeset
- find the tfs repository path of the parent commit
- create changeset of type merge with the previously found tfs repository path
- Resolve conflicts found by TFS by "AlwaysAcceptMine" because merge have already been done with git
2013-05-21 18:33:56 +02:00
Matt Burke 09606b228d Eliminate Process.Start("git", "update-ref", ...) 2013-04-29 12:00:34 -04:00
Philippe Miossec bb9d724b1d Replace git command update-ref by a LibGit2Sharp call to UpdateRef() 2013-04-22 21:57:32 +02:00
J.Ru db9a445089 Unshelve based on the parent changeset Id 2013-04-17 14:40:49 +02:00
Gordon Burgett d67e985e66 subtree now updates the owning remote to the commit after the subtree merge 2013-04-09 16:19:06 -05:00
Gordon Burgett fc1365d8fa TfsHelper can now map multiple paths in a workspace, remotes now map all paths for all subtrees
Signed-off-by: Gordon Burgett <gordon.burgett@gmail.com>
2013-04-09 09:01:14 -05:00
ivan.danilov-econ e74170291a Fix: Rcheckin ignores --no-build-default-comment option (during rcheckin of merge commit prevents including all comments from merged commits below original merge-commit comment in git) 2013-03-21 14:53:28 +02:00
Philippe Miossec 6e78b56d4d rcheckin --quick : reset current branch to tfs remote to be synchronized with tfs 2013-03-09 11:23:21 +01:00
Philippe Miossec 00a6e34d8c Add create Tfs branch option to branchcommand
+ other small refactoring
2013-02-03 22:17:58 +01:00
Philippe Miossec a334a57952 Add move and delete branch option to branchcommand
and add a DeleteTfsRemote() and MoveRemote() in GitRepository
2013-02-03 18:53:16 +01:00
Matt Burke bee409ed42 Fallout from those merge conflicts. 2013-01-09 16:58:05 -05:00
Matt Burke d062991eff Merge branch 'master' into refactor-to-functional-core
Conflicts:
	GitTfs/Commands/Init.cs
	GitTfs/Core/GitRepository.cs
	GitTfs/Core/GitTfsRemote.cs
	GitTfsTest/Integration/CloneTests.cs
	GitTfsTest/Integration/IntegrationHelper.cs
2013-01-09 15:39:59 -05:00
Sean M. Collins 5f3c7ae5eb Merge pull request #276 from pmiossec/add_notes_for_workitems
Add a note on the commit to keep trace of the workitems
2013-01-07 12:21:24 -08:00
Philippe Miossec a2e3184c21 Remove call to git command to set config (use libgit2sharp instead) 2013-01-06 23:30:39 +01:00
Philippe Miossec b5fb9b5b5b Add a note on the commit to keep trace of the workitems
Manage workitems when fetching changesets with adding a note with the workitems
displaying Id, title and a link to the workitem
2013-01-04 13:38:46 +01:00
Matt Burke 4d97b71542 Use a custom workspace, if desired. 2012-12-20 16:24:59 -05:00
Philippe Miossec 4d7e0f4125 Add a 'labels' command to get TFS labels of a branch
Synthaxe is similar to 'fetch' command with '-i' and '--all' options...
+ Add an option `--with-labels` to the 'fetch' command to get TFS labels when fetching TFS changesets
2012-12-15 13:45:04 +01:00
Matt Burke 2302a52b28 Use the ligit2 force. 2012-11-30 11:29:00 -05:00
Philippe Miossec da5a6201a5 Creation of the command "init-branch" to manage the cloning of a TFS branch (or all) from a TFS Server (2010, 2012 and 2008 partly)
Compiled for TFS Server 2008, 2010, 2012 and tested with TFS Server 2010, 2012

!! This command need that the clone of the TFS repository was made from the trunk (and not on the whole repository) and with history (not a quick-clone).

Usage for TFS 2010 and 2012 :
-------------------------------
* to clone one branch
git tfs init-branch $/Repository/path <git-branch-name-wished>
ex :
git tfs init-branch $/Repository/ProjectBranch
git tfs init-branch $/Repository/ProjectBranch myNewBranch

* to clone all branches
git tfs init-branch --all

Usage for TFS 2008 :
---------------------
* to clone one branch
git tfs init-branch--parent-branch=$/Repository/ProjectParentBranch $/Repository/path <git-branch-name-wished>

ex :
git tfs init-branch --parent-branch=$/Repository/ProjectParentBranch $/Repository/ProjectBranch
git tfs init-branch --parent-branch=$/Repository/ProjectParentBranch $/Repository/ProjectBranch myNewBranch
2012-11-19 22:03:42 +01:00
Matt Burke 6dd896eecd Unit tests for the configuration for a new tfs remote. 2012-10-16 13:53:13 -04:00
Collins, Sean 173001a836 Remove GetChangeSummary
It doesn't appear to be used anywhere.

Work for #144
2012-05-15 16:53:53 -04:00