Comments (9)
It's good to download git in a better way. Shall we provide mirror mechanism to speed up users' downloading in some area like china ?
from dugite.
@shiftkey Could you give us some advice ?
The developers in china may suffer the speed of the download of dugite-native for some reason .
from dugite.
@frankLife this issue is for the contents of this file - the details in there change per release, and updating that is a manual process.
Lines 14 to 23 in c535d05
I was looking at letting the end user control where the local packages are stored in #134 so you could cache the artefacts for CI scenarios. But that's not quite what you're looking for.
If there's a secondary server which stores this releases in a similar, I'm happy to co-ordinate supporting this. I'm not sure how I feel about #137 and using three environment variables, but I do like using environment variables to control this behaviour.
What about if, instead of an environment variable for each platform, we had a single one like DUGITE_NATIVE_DOWNLOAD_SOURCE
which we could then use to change the URLs we use?
from dugite.
@shiftkey If we use single one like DUGITE_NATIVE_DOWNLOAD_SOURCE
, dose it mean that we join the three platform download urls and using it by splitting ?
or changing the prefix like https://github.com/desktop/dugite-native/releases/download/
to concat the source suffix ?
I feel the second method may be not very good that it needs to match the download path in other server.
But I hope the #134 can be merged soon which we can use to solve the problem in another way.
from dugite.
If we use single one like
DUGITE_NATIVE_DOWNLOAD_SOURCE
, dose it mean that we join the three platform download urls and using it by splitting ?
This depends on how this alternate source will host the artefacts. If they are at a predictable URL that is similar to the GitHub releases, and the file names remain the same, then we might be able to do it.
For example, this is a GitHub release URL:
https://github.com/desktop/dugite-native/releases/download/v2.14.3-rc1/dugite-native-v2.14.3-macOS-23.tar.gz
To simplify it down, let me swap in a few placeholders:
[HOST]/desktop/dugite-native/releases/download/[VERSION]/[FILE]
The VERSION
and FILE
parameters should be the same - we'll be doing the same checksumming of the downloaded bits - and HOST
will obviously change to be a different server, but if the rest is done in a predictable way (GitHub has it's way of finding releases, HOST
might be different) then I think we can get away with one environment variable for HOST
.
I'll make finishing up #134 a priority in the meantime (I need to document it, I think that's all that's left).
from dugite.
Yes, we can only provide HOST
and I think it needs more effort to deal with the download path. Shall we provide a way which it can save the effort and get more flexibility with consideration of checksumming ?
from dugite.
@frankLife I think the next step is finding someone is willing to setup an alternate server in China which mirrors these updates, so we can start experimenting with how this will work in the script.
from dugite.
@fengmk2 may you give this support ?
from dugite.
I'm going to close this out as it's sat for over a year without any movement, but if someone wants to get involved with hosting please get in touch.
from dugite.
Related Issues (20)
- Use in React Native HOT 1
- dugite/package.json: Unexpected end of JSON input in Electron 11 beta HOT 3
- GitProcess.exec cause CPU 100% and never resolve in Electron HOT 2
- Return process or PID in IGitResult HOT 7
- Slow tests fail on missing repository HOT 2
- Stream Commands to GitProcess HOT 3
- Any way of stopping Dugite from downloading Git? HOT 2
- ChainAlert: npm package release (1.108.0) has no matching tag in this repo HOT 2
- Simultaneous async git operations - best practice? HOT 1
- Proxy support seems to have regressed HOT 3
- How to run git command interactively?
- 'subtree' is not a git command
- Github Desktop Dugite fails on arm64 linux HOT 1
- rmSync is not defined HOT 1
- `execTask.cancel()` doesn't kill the git process properly HOT 4
- Missing require in dugite/script /download-git.js HOT 1
- Git exec takeup 500MB when installed with pnpm HOT 1
- Drop `electron` from repository tags HOT 3
- Request: Publish version 2.5.2 to the npm package registry HOT 2
- Unable to use git difftool? HOT 1
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 dugite.