Pull from your own remixes?


lets say you’ve made a glitch called kinda-cool.glitch.me (not a real glitch, I hope)
you decide you want to remix it to add a new feature, fix an issue, or for whatever reason, don’t want to lose what you’ve done. so you click remix and you end up with some-funky-name.glitch.me.

a little while later you decide that the fix you’ve done is great, or the new feature worked out.

it would be nice if there was a button in the new remixed version that’s only there for users who have remixed their own glitches that says "push to:kinda-cool.glitch.me ", or something similar. this button would not be offered to users who are remixing other people glitches, (although i suppose that could be an option if someone wanted to opt in for this)

back in your original glitch this would cause a new button to appear that’s called “pull from remix: some-funky-name.glitch.me

when you click that, everything you did in some-funky-name.glitch.me gets instantly dumped into kinda-cool.glitch.me

a little while later you decide what you did is not so great, so you rewind kinda-cool.glitch.me and everything is back how it was.
you return to some-funky-name.glitch.me, fix that small issue that you hadn’t noticed in the original push/pull and do it again.

I’m not sure if glitch already offers anything like this, but if it did, that would be kind cool

especially if you could use it collaboratively, but even if it was limited to “you can only pull from your own remixes” as a trial

I’ve sort of implemented something like this using a bash script using zip, wget and unzip, but i’d rather it be something formalized that has the rewind capability.

please don’t use these scripts unless you understand how they work and use them at your own risk

in some-funky-name.glitch.me you would have


cd /app
mkdir -p public/backups
zip -r public/backups/${PROJECT_DOMAIN}.zip  public  -x **.zip
zip public/backups/${PROJECT_DOMAIN}.zip *.js package.json

echo  pausing for update

mkdir -p /app/backups
mv  public/backups/${PROJECT_DOMAIN}.zip "/app/backups/bu $(date).zip"

and back in kinda-cool.glitch.me

(note this references backup.sh which is actually exactly the same as push.sh in the other glitch - when you push you ae pushing a backup. this script invokes that in order to preserve it’s current state - like rewind)

cd /app
#backup what we have before we do this
. ./backup.sh
if [[ "$1" != "" ]]; then
if [[ "${PROJECT_DOMAIN}" == "${BU_HOST}" ]]; then
   echo warning - this is the same host.
mkdir -p /app/backups
cd /app/backups
[[ -e ${BU_HOST}.zip ]] && rm ${BU_HOST}.zip
wget -O ${BU_HOST}.zip  https://${BU_HOST}.glitch.me/backups/${BU_HOST}.zip
if [[ -e ${BU_HOST}.zip ]]; then
cd /app
unzip -u backups/${BU_HOST}.zip
echo ${BU_HOST}.zip could not be downloaded

as a precaution, every file that is newer is explicitly prompted for overwrites, which a good way to see what’s different.
it might be cool for any formalized version of this concept to consider a page of checkboxes. of course, with rewind, it takes some of this risk away, however it could be there is just one file you want to get, because well, reasons.