firebase-tools: Firebase deploy should not reupload unchanged files
My site is 0.2 MB of html and 9.8 MB of images. I have a slow internet connection. Whenever I change the html, I suffer firebase deploy
reuploading all the images—even though they are unchanged.
Good old Divshot was careful to compare sha256 sums so it could skip reuploading unchanged files. This made it usable on a slow connection. You can read a description of its algorithm at https://github.com/divshot/divshot-push/blob/master/lib/sync-tree.js
Whereas Firebase simply creates a tar ball of the entire project firebase-upload-*.tar.gz
https://github.com/firebase/firebase-tools/blob/master/lib/prepareUpload.js , including all the unchanged files.
Please think how to conserve bandwidth, for those of us not blessed with high speed internet.
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Reactions: 46
- Comments: 28 (10 by maintainers)
Commits related to this issue
- cache latest env variables to improve performance (#133) — committed to firebase/firebase-tools by laurenzlong 8 years ago
Yep, this is on the roadmap and we know it’s strongly desired. Can’t give you a timeline, but we’re well aware.
On Tue, May 17, 2016, 9:49 AM Mirth Hickford notifications@github.com wrote:
This is the 5th most “reacted” open issue on Firebase, so I am really happy to be able to close it!
https://firebase.googleblog.com/2018/08/one-project-multiple-sites-plus-boost.html
Make sure to get the newest version of the Firebase CLI (
firebase-tools
on npm) and you’ll get super fast uploads!@mbleigh - while you’re all thinking about it, I wanted to mention my use case for consideration as well. I have an “append-only” site where new static content is created on a fairly regular basis. I always know what’s new… there’s never any diffing required in my particular use case. I’d be thrilled to see the ability to tack on new content, even if I had to make the zip/tarball myself, i.e. something like
firebase deploy --append ./my.zip
. Just food for thought.Also, if there’s anything I can do to help, let me know. I’m pretty handy with Node and static web hosting 😃
+1
Also looking forward. +1
So is it fixed, @mbleigh ?
+1
Is this still in the works? Any updates?
It’s my first time using firebase hosting and I have to say I was surprised to discover firebase uploads the entire
public
folder upon calling thefirebase deploy
command. I’m so used to using tools which calculates file differences (Git, Unity collaborate, etc.) so I thought thefirebase deploy
command was hanging (or failing) and spent a good 30 minutes searching online for a solution to the ‘problem’. Turns out the process was working fine after all, but just took its time over my slow internet connection.Just as a FYI, if you want to track the upload progress, simply open an Activity Manager application from your system OS and monitor the ‘node’ process for upload activity:
any update on this feature?
@laurenzlong @mbleigh : hi guys, any ETA on this?
@talas9 No problem! It keeps them running as they are.
+1