Как правильно работать с пользовательским скриптом GreaseMonkey, используя git?

Я работаю над сценарием пользователя для Firefox, поэтому я использую GreaseMonkey. Кроме того, чтобы облегчить разработку, я использую git для обновления различных версий своего кода.

Теперь позвольте мне попытаться объяснить проблему.

Когда я добавляю в GreaseMonkey пользовательский скрипт из моего локального каталога git, новые файлы создаются в папке gm_scripts моего профиля Firefox.

GreaseMonkey использует эти файлы в качестве исходного, а не моего каталога git, поэтому, если я хочу изменить свой код и протестировать некоторые вещи, я должен изменить файлы внутри gm_scripts. Это означает, что я не могу зафиксировать изменение, мне сначала нужно скопировать файлы из gm_scripts в мою директорию git. Это действительно неудобно.

Есть другое решение. Я также могу изменить скрипт из моего каталога git, а затем переустановить его в GreaseMonkey, используя закладку, указывающую на эти локальные файлы. Но опять же, это совсем не удобно.

В-третьих, я решил определить папку внутри gm_scripts как мой каталог git. К сожалению, мой проект содержит много файлов, которые я заказал в папки, и я хочу, чтобы он был чистым. Но добавление пользовательского скрипта в GreaseMonkey приводит к извлечению всех файлов из их папки.

добыча

Более того, мой git-проект не содержит только папку usercript, есть еще кое-что. Поэтому, вероятно, не стоит объявлять каталог gm_script в качестве источника для git, поскольку многие файлы помещаются в gm_scripts, тогда как они не имеют ничего общего с usercript, не является хорошим методом. И это не правильно, когда меня заставляют работать в папке, потерянной в глубине моего профиля Firefox.

Я хотел бы знать, существует ли техника для эффективной и простой работы над проектом, включая GreaseMonkey и git.

1 ответ

Решение

Вы можете связать необходимые файлы!

Windows ( повышенная командная строка): mklink <<gmfile>> <<gitfile>>

Unix / Linux: ln -s <<gitfile>> <<gmfile>

Спасибо Энкиду из дискуссионной группы Greasespot за его ответ!


Использование Windows и .bat файл, этот код используется для связывания всех файлов из вашей папки git с папкой Greasemonkey (могут быть ошибки, если в путях есть пробелы или два файла имеют одинаковое имя).

echo off

set git_dir=C:\path\to\your\git\folder
set gm_dir=C:\path\to\your\greasemonkey\userscript\folder\

for /R %git_dir% %%G IN (*) do (
    echo Y | del %gm_dir%%%~nxG
    mklink %gm_dir%%%~nxG  %%G
)
Другие вопросы по тегам