Another simple pattern used a lot in django:
try: from local_settings import * except Exception: pass
Then put any variable you want to override in local_settings.py and put local_settings.py in .gitignore
Another simple pattern used a lot in django:
try: from local_settings import * except Exception: pass
Then put any variable you want to override in local_settings.py and put local_settings.py in .gitignore
I contract for a company which has set rules for their stuff. Trying to change these rules would be an amount of effort similar to becoming CEO, starting out as a deckswabber.
One of their project is a web app. It has an .htaccess file. In production it is configured to run like this:
Addhandler fcgid-script .fcgi
However in development i want it to run like this: Addhandler cgi-script .fcgi
Normally you'd just put the entire file on ignore with --assume-unchanged, but that doesn't work well, since the file also contains other bits of configuration that are important for the app, and get changed fairly frequently.OP's tool is perfect for this kind of situation.
.htaccess is ignored while the .htaccess.dist template is part of the reop
What kinda stuff are you putting in .htaccess that changes so often?
Projects sometimes check in an IDE formatting file settings to ensure that all developers use the same formatting. There are a couple of times where I wanted to add my own little formatting detail (which didn't conflict with the project's) but couldn't because doing so would mark that file modified and force me to remember to undo my changes before each push.
With the hack from the article, I have now a working solution out of this.
That's not even remotely possible.
Note that --assume-unchanged means you are promissing to git that the file hasn't changed, so it doesn't have to lookt at it every time you invoke git status (for performance reasons).
When you break that promise, git will complain, just like you said.
"Of course this is a stupid example, you would probably
put the username, password and other important stuff in
another file, say a config file, but let’s assume that
this is not possible, or somehow this variable cannot be
else where."ie, your process manager will call /path/to/env/bin/gunicorn and in this case, you'll have to configure the env variables here (in the process manager (supervisor)) config.
Do you expect to develop on your production systems?
Do you also store databases in the same directory?
I can not think of a possible use case for this, but I guess there must be since this at least someone seems to recognize it.