Comments (8)
Out of curiosity, how long does it take to pull down a fresh copy of the repository to a TFS workspace?
Also, what version of git-tfs did you download or build?
IO (local file and TFS DB) is typically the bottleneck on clone or quick-clone. Depending on the version of git-tfs you're using, it could also be spinning up lots of subprocesses, which isn't fast. I may someday rewrite clone and/or quick-clone to address speed issues.
You might take a look at tfs2git to see if you can speed up your clone time. Once the repository is mirrored into git, git tfs fetch
will be much more performant.
from git-tfs.
Straight from TFS the whole repository shouldn't take more than 20 minutes I think. I haven't pulled down the entire project's repository in a long time; I usually just work within a specific branch and subproject which is about 10% the size of the entire repository, clocking in around 11,000 files I think.
git-tfs definitely needs a way to clone partial sections of a repository; we have lots of branches of code in our TFS project. I don't think I could do tfs2git since the repository has upwards of 123,000 changesets now, which is why quick-clone sounded attractive to me.
I built the git-tfs from your git repo just yesterday, commit id 44d6f40.
from git-tfs.
I'm doing a git tfs fetch
now and it takes about 12 seconds per changeset, consistently.
from git-tfs.
On larger projects, I generally don't clone the whole thing. I try to find the narrowest directory that works. e.g. if there is $/Project with "Docs", "Third Party", and "Source" in it, I just git tfs clone http://blah $/Project/Source
. If you wanted Third Party and Source but not docs, you should be able to set the config value tfs-remotes.default.ignore-paths to "^Docs". You can also give this to git-tfs when you clone: git tfs clone --ignore-regex=^Docs http://blah $/Project/Source
. I often use this flag for large files (like the MSDE installer) that are sometimes unnecessarily included in the source tree somewhere.
from git-tfs.
Aha! Thanks for that. I'll definitely try that the next time I can. Thanks for your help and your quick responses!
from git-tfs.
Hi Matt,
I was able to put together an effective ignore-regex and also checked out only the specific branch of code I needed. I ended up with 14,600 objects checked out at an average rate of 0.726 objects/sec download rate. This took 5 hours and 19 minutes to complete, according to your -d(ebug) mode. All of the time is being spent in the DownloadFile method, which is to be expected, but I'm not sure why it is so slow. I'm downloading over a VPN connection this time, whereas my last report was over wi-fi at the office. I'll do a checkout with vanilla TFS next and see if there's any significant difference.
from git-tfs.
Okay, TFS is just slow. :P. I'm sure it's our completely-competent-in-every-way networking staff's fault.
from git-tfs.
Closing this issue since the problem is solely contained within the DownloadFile API call to TFS.
from git-tfs.
Related Issues (20)
- Policy: Internal error in Work Items. Error loading the Work Items policy HOT 2
- How do I retrieve file history after clone? All I see is branch comments. HOT 7
- Adding work items to the export file doesn't work
- git-tfs not showing history showing error,"Please report this case to the git-tfs developers!" HOT 1
- New Release after v0.32.0 HOT 4
- Sudden authentication issue HOT 2
- Export map can't be created, if a TFS changeset shall be assigned to multiple commits
- Wrong branch cloned when several branch names starts in the same
- "git tfs" isn't a command, but "git-tfs" is a command HOT 1
- Error while cloning branches by using command. - git tfs clone https://TFSURL/tfs/defaultcollection/ $/ProjectName/Ressursstyring/src/next . --branches=all HOT 2
- How is v0.33.0 supporting Vs2022 as mentioned in the release notes? HOT 3
- Exclude folders from migration. HOT 2
- "GitTfs.Core.GitTfsException: Nothing to checkin!" on "git tfs rcheckin" HOT 5
- Cannot verify the migrated repository 'Unable to cast object of type ....' HOT 3
- Feature Request : Submit git-tfs to winget HOT 2
- .gitattributes ignored HOT 5
- I couldn't run them at first, but then managed to run Checkin Policies on VS2022 HOT 1
- Crash if no VS installed
- Case changing renames in TFS are ignored HOT 3
- How does --ignore-branches-regex work? HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from git-tfs.