Как мне проверить, что будет зафиксировано в CVS, прежде чем я действительно зафиксирую?

Если у вас нет внешней необходимости создавать переменные foo_value, bar_valueи т. д., а они нужны только внутри скрипта, вам, вероятно, следует использовать вместо этого ассоциативный массив. Вот так:

declare -A values
for i in "${array[@]}"; do
    # some commands...
    values[$i]="my string including other variables ${other_variable}"
done
echo "${values[$i]}"

# loop over the keys:
for key in "${!values[@]}"; do
    echo "values has key '$key'"
done

(Обратите внимание, что вы хотите заключить "${array[@]}"в кавычки, чтобы правильно обрабатывать значения, содержащие пробелы и символы подстановки; и вам нужно поставить точку с запятой перед doв for i in...; do.)

0
28.01.2021, 18:31
2 ответа

Давно не пользовался cvs:sub -версия svnи mercurial hgлучше. У них есть атомарные коммиты (, каждый файл коммитится вместе, так что вы можете -откатить всю фиксацию целиком за один шаг ).

Укажите файл для фиксации:cvs commit -m '«message»' '«file-names…»'

#↳ cvs --help commit
Usage: cvs commit [-cRlf] [-m msg | -F logfile] [-r rev] files...

И/или используйте cvs status, чтобы найти нужную информацию.

The cvs status command is a quick way to determine which files are up-to-date and which need to be committed or merged.... — https://www.oreilly.com/library/view/essential-cvs/0596004591/ch03s04.html#:~:text=The%20cvs%20status%20command%20is,merged.

1
18.03.2021, 22:33

Вы можете использовать команду updateдля отображения измененных и добавленных файлов, которые будут зафиксированы, если вы не укажете, какие файлы нужно зафиксировать. Добавьте опцию -nдля имитации обновления (пробного -прогона ), например.

$ cvs -n up
cvs update: Updating.
M foo
A yum

показывает файл yumкак добавленный, а файл fooкак измененный.(upявляется псевдонимом для update, см.cvs --help-synonyms).

-1
18.03.2021, 22:33

Теги

Похожие вопросы