git-tfs recreates workspace each fetch/pull?

202 views
Skip to first unread message

br...@woodruffs.org

unread,
Oct 3, 2015, 11:18:32 AM10/3/15
to git-tfs-dev
Hi --

I am working with a large TFS repository over a remote link -- much slower than being onsite.  Locally, I want to use Git to manage branch changes and use git-tfs to bridge between Git and TFS.
I didn't want a full TFS trunk w/ branches, only the branch that we're working with so I cloned the specific branch.  

I'm using git-tfs 0.23 w/ VS2012/2013 and TFS 2013.

e.g.:

    git tfs clone <URL to collection> $/<Path to Project Branch> --authors=..\authors.txt .

So far so good: the git repository was populated as expected, change lists for our branch are in the history, etc.

Now I'm looking to pull a set of changes just merged from the TFS main branch into our specific project branch:

    git tfs pull

git-tfs reports:

    Fetching from TFS remote 'default'...
           Fetching from dependent TFS remote '<Project/main>'

git-tfs is now populating a workspace for main below the .git folder as:

    .git\~w

and this appears to be mapped to the main on remote as reported above.  

Since there is no other mapping for this folder in my TFS workspace, I am assuming that the workspace is re-mapped for every bridging operation?  

Is there a way to configure git-tfs to retain these mappings? 


Philippe Miossec

unread,
Oct 3, 2015, 2:14:31 PM10/3/15
to git-tfs-dev, br...@woodruffs.org
>Since there is no other mapping for this folder in my TFS workspace, I am assuming that the workspace is re-mapped for every bridging operation?  

Indeed!


>Is there a way to configure git-tfs to retain these mappings?

No, there isn't.

I would like to know what is your goal why you want to keep this mapping. Because the mapping contain only the files that have changed and not all the files and is not intended to work in/with it...

The folder is deleted because in the past, it could grow a lot and take a lot of place and because it is hidden to the user never deleted.

br...@woodruffs.org

unread,
Oct 4, 2015, 12:18:36 PM10/4/15
to git-tfs-dev, br...@woodruffs.org
Hi - thanks for the reply.


I would like to know what is your goal why you want to keep this mapping. Because the mapping contain only the files that have changed and not all the files and is not intended to work in/with it...

The folder is deleted because in the past, it could grow a lot and take a lot of place and because it is hidden to the user never deleted.

The current behavior I'm seeing is that although I've only mapped a specific branch to git, the tfs pull request is downloading the entire TFS repro and trying to build refs for each checkin in the main branch.   The repository is very large and has a very long history as it started processing refs, I decided to cancel as it was years behind in history.  The branch that I'm trying to bridge has only three checkins in it, the first the actual fork of the branch.  The first two came down into Git via the tfs clone, I'm trying to pull the third which is another merge from the main branch but I don't want the entire file history from main.

Philippe Miossec

unread,
Oct 4, 2015, 1:48:47 PM10/4/15
to git-t...@googlegroups.com
If you only want the last changesets of your main branch, use the `-c` option of the `clone` command to specify the changeset to clone from. And you could use the option `--ignore-branches` to not fetch the other branches.

--
You received this message because you are subscribed to the Google Groups "git-tfs-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to git-tfs-dev...@googlegroups.com.
To post to this group, send email to git-t...@googlegroups.com.
Visit this group at http://groups.google.com/group/git-tfs-dev.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages