Making Other Changes to Flexlate Templates and Configuration¶
Flexlate provides commands that automatically manage configuration such
as fxt add source
or
fxt config target
. But not
every change you might want to make to the config has a command.
Use fxt sync
to Bring Arbitrary Changes to Flexlate Branches¶
Enter fxt sync
that will take the current
state of your config and render it to the Flexlate branches before merging
back into your working branch.
Note
Be sure to commit your changes before running
fxt sync
. In general, Flexlate always
wants you to commit your changes before running operations.
Possible Uses for fxt sync
¶
Why might you want to do this? Let’s go through a few examples.
Moving an Applied Template¶
For example, say you applied a template but later decide you want to move it.
$ fxt add output copier-simple-example some/path Applying template copier-simple-example to /tmp/tmpzfa7w27_ Updating 1 applied templates question1? Format: yaml my answer The second question question2? Format: float 10 create my answer.txt create temp.txt ✔ Successfully updated template output ✔ Successfully applied template copier-simple-example to /tmp/tmpzfa7w27_ $ mv some/path other $ git add -A $ git commit -m 'Move copier-simple-example from some/path to other' [main 3d8ef19] Move copier-simple-example from some/path to other 2 files changed, 0 insertions(+), 0 deletions(-) rename {some/path => other}/flexlate.json (100%) rename {some/path => other}/my answer.txt (100%) $ fxt sync Syncing local changes to flexlate branches Syncing changes in flexlate configs to output create my answer.txt ✔ Successfully updated template output ✔ Successfully synced local changes to flexlate branches
Moving a Template Source¶
There are several reasons why you might want to move a template source:
You are using a local template and you want to move it.
You are using a template from a remote repository and you want to switch it to a fork.
You are using a template from a remote repository and it was renamed
Just manually update the flexlate.json
file containing your template
source, commit the changes, then run
fxt sync
.
Updating a Single Applied Template¶
Flexlate has built-in functionality to update all the applied templates
within a project for a given template source. It does not have a built-in
command to update a single applied template, but you can do it by manually
updating the version in the flexlate.json
file and running
fxt sync
.
Migrating Add Modes¶
Say you have taken the default add mode local
setting and you are applying
a lot of templates but you don’t like having flexlate.json
files scattered
throughout your project. You want to switch to project
add mode, but
Flexlate cannot do this automatically. You can do this manually by
taking the contents of those flexlate.json
files and moving them to
one flexlate.json
file in your project root. You will need to update the
paths of the applied templates as well as the add mode accordingly.
Then change the default add mode in flexlate-project.json
to project
so that all new applied templates will use project
add mode automatically.
Once you have it all done,
commit your changes and run fxt sync
.