Running Pow on GIT repo branch - ruby

I've checked out my Ruby project from GIT and I've installed pow to run it on a friendly URL from my browser.
We've got a stable working version of our app running in our GIT 'master', but now I want to run our development branch on the same pow URL. I've already switched the working branch to our development branch 'redesign', but the Pow URL is complaining with error in the screen.
My question: Is it even possible to run POW on a directory using a GIT branch other than 'master'?

Yes, but you might need to restart pow to force it to refresh the code.
There's two ways to do this:
touch ~/.pow/restart.txt
Install the powder gem. That allows you to run powder restart on your app directory.
Also, you might want to run bundle on your project directory too, as dependencies might have changed in the new branch (hard to tell without more information.)

Related

Ext-Tidy on Heroku

I'm trying to get the PHP Tidy extension to run on my Heroku instance that I've set up. I've added ext-tidy to my composer.json file and run composer update to update the composer.lock file.
However when I push the changes to Heroku, the build fails as the Heroku buildpack doesn't include the Tidy extension.
Is there a way to get Composer to bundle the Tidy extension so that it gets pushed to Heroku (I'm using a Windows machine so I don't know if this will complicate matters if it is possible)? Or do I need to create a new buildpack with Tidy integrated? If so, I'd appreciate it if someone could point me in the right direction to be able to do this.
Thanks.

Github Pages Ignoring Updates to Dependency of Jekyll App

I have a jekyll app that uses the jekyll-seo-tag. I forked jekyll-seo-tag to make some more tweaks. I pushed my changes up to Github and pointed my Gemfile to the forked repo.
When I run the app locally, I see the correct (i.e. new) behavior. When I push the jekyll app to Github, I see don't the updates.
I've inspected the Gemfile.lock file on Github and it's pointed to my forked repo and is using the correct SHA.
I tried to get Github to rebuild the page by sending an empty commit.
git commit -m 'rebuild site' --allow-empty
But it had no effect.
My guess is that when GitHub builds the app, it's using a cached version, but that's just a theory. I get no errors anywhere.
Any idea what else I can do to troubleshoot this?

Capistrano 2 -> 3 git deployment differences?

In my previous capistrano version 2 deployment of an app, I always got access to git on the deployed side with .git present. This was handy when in a pinch we need to make a couple of tweaks server side and push them back to version control.
Now that we're moving to capistrano version 3 we've been missing the .git folder and obviously no longer can issue git status, etc. on this deployment.
Is there an option I'm missing that has changed the functionality of cap 3 that removes git vs from a project upon deployment?
It does indeed USE git for each deployment, but it's obviously doing something after the deploy to remove .git, etc.
You can find the .git directory in #{repo_path} variable.

Git bundled into Cocoa app cannot find helpers in bundle

Context:
I have a Mac app. I want to include Git in this app because some functions of my app use Git and I don't want the user to have to install it on his machine.
I have downloaded Git from source. I edited the Makefile to declare these two lines:
NO_GETTEXT="yesPlease"
CURLDIR=/usr/local
The first line tells the build process to skip localizing and just use English.
The second line declares the path to where libcurl is installed. I downloaded libcurl_devel and built it from source. This is required to enable Git to pull/push from http and https repos.
Git builds successfully. I then copy all of the resulting files into my app's bundle. I'm using NSTask to run Git and attempt to pull an https://-based repo.
The Problem:
The error I get is:
fatal: Unable to find remote helper for 'https'
I googled this, and everyone said that as long as I had libcurl installed when I built Git, Git would work with HTTP and HTTPS addresses. And, in fact, if I run the installed Git from the command line, it does!
What I Need:
So, I must be missing a path setting or an environment variable or SOMETHING that tells Git where to find those remote helpers. They ARE in my app bundle; the screenshot below shows them:
So: what the hell do I need to set in order to resolve this problem when I run Git from within my application bundle?
Unbelievable. I've been trying to fix this for 8+ hours and five minutes after I finally break down and post this question, I figure it out:
Git has an option called --exec-path. I had been passing this argument to the NSTask like this (Where APP BUNDLE is replaced by the path to the application bundle on the user's machine):
--exec-path=[APP BUNDLE]/git/bin
Since bin was the folder where the Git binary was located, I figured that was the appropriate path. However, if I do this:
--exec-path=[APP BUNDLE]/git/libexec/git-core
It works.

Should I use Heroku git for source control in addition to production code?

I have created one application using NodeJS, Angular and Express which I want to run at Heroku. Now, Im using Grunt to build the code that are placed in the dist folder and is ready to be deployed and run on Heroku. This would be done by pushing the dist folder in the Heroku git repo.
Now, should i push my source code in Heroku git as well?
If so, how should I seperate it from dist-folder repository? For instance, I dont want Heroku to run npm install each time i push changes to remote repo. And dist folder should not be part of the source code folder in the repository since it is auto generated.
Using a git repository is the only way to push changes to heroku. So yes it is mandatory. Having said that here is what they have to say about it.
Heroku provides the git service primarily for deployment, and the ability to clone from it is offered as a convenience. We strongly recommend you store your code in another git repository such as GitHub and treat that as canonical.
Again there is no way to stop them from doing an npm install on each push. Here is a quote from their getting started guide
Heroku recognizes an app as Node.js by the existence of a package.json. Even if your app has no dependencies, you should still create a package.json that declares a name, version, and empty dependencies in order that it appear as a Node app.
But I suppose that you could download all the dependencies of your app locally, not specify in package.json, push it along with rest of your application and you might trick heroku into thinking that there are no dependencies. Have not tried it myself though.
If you don't want dist folder to be a part of push simply gitignore it.

Resources