Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

template is not created in working directory #461

Open
gerard76 opened this issue Jan 9, 2023 · 2 comments
Open

template is not created in working directory #461

gerard76 opened this issue Jan 9, 2023 · 2 comments

Comments

@gerard76
Copy link

gerard76 commented Jan 9, 2023

When I create a template from an existing .env file located in another directory as my working directory, the template is not created in my working directory

Steps to reproduce

mkdir temp
echo "setting=123" > temp/.env
dotenv -t temp/.env
cat temp/.env.template

Expected behavior

I expected the .env.template to be created in my current (working) directory and not in the directory of the .env file as per the documentation.

System configuration

dotenv version:
dotenv 2.8.1

@karlwilbur
Copy link

The documentation shows one creating a template from .env not temp/.env:

https://github.com/bkeepers/dotenv#should-i-commit-my-env-file

So, were you to run the example code, then "A template will be created in your working directory named {FINAME}.template. So in the above example, it would create a .env.template file."

If you look at the code:

def create_template
File.open(@env_file, "r") do |env_file|
File.open("#{@env_file}.template", "w") do |env_template|
env_file.each do |line|
env_template.puts template_line(line)
end
end
end
end

...then you will see that it just takes the filename passed on the CLI (including the path; the input file name {FINAME} referenced in the docs) and appends .template to create the template filename.

After looking at it, I think that the current functionality is the expected behavior.

@gerard76
Copy link
Author

Indeed, that is what the code does and what I pointed out to be be incompatible with the documentation. The template is not created in the working directory but in the directory where the .env lives. In the documentation example they happen to be the same.

If this is the expected behavior the documentation could be updated, if the documentation is right, the code could be updated, but right now they are not compatible with each other.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants