Есть ли такое меню, как интерактивный коммит для SVN, как у Git с --interactive? - PullRequest
5 голосов
/ 05 января 2012

Скорее всего, вы знаете, что в git вы можете получить очень хороший опыт коммита, используя

git commmit --interactive

, которое отобразит меню, в котором вы можете добавлять / обновлять / исправлять / возвращать объекты и выбирать файлы по их диапазону, например: 1-5,10-12,100-1135

$ git commit --interactive
           staged     unstaged path


*** Commands ***
  1: [s]tatus     2: [u]pdate     3: [r]evert     4: [a]dd untracked
  5: [p]atch      6: [d]iff       7: [q]uit       8: [h]elp
What now>

Я хочу получить такую ​​же функциональность в SVN, как и команда оболочки .
Вы знаете, что такое команда SVN?

Ответы [ 4 ]

8 голосов
/ 05 января 2012

Плохая новость заключается в том, что для svn не существует такой вещи, как интерактивная подсказка командной строки. Хорошей новостью является то, что вы можете написать свой собственный и первым придумать такой полезный инструмент.

0 голосов
/ 10 июля 2013

Мнение: я считаю svn очень плохо разработанным для командной строки и сценариев в целом ...

Но я часто использую find и его выражение -ok, когда хочу запросить пользователя:

find . -name "*.jar" -exec svn info {} \; -a -ok svn delete {} \;

Обратите внимание, что в случае, если вы не хотите выводить svn info, вы должны вызывать подоболочку следующим образом (в противном случае -ok не будет выводиться вообще):

find . -name "*.jar" -exec sh -c 'svn info "{}" 2>/dev/null' \; -a -ok svn delete {} \;
0 голосов
/ 07 июня 2013

в духе ответа Альтема, я только что сделал:

# collect a list modified files
svn st > temp.sh
# use your favourite editor (although it is vim, right?) 
# to edit list into suitable svn command or commands
vim temp.sh
# execute
. ~/temp.sh

и сделал команду для фиксации выбора файлов

Гад, что уродливо

но проще, чем делать несколько svn ci коммитов и svn st

0 голосов
/ 05 января 2012

Я не думаю, что у вас есть такая особенность в CLI (интерфейс командной строки, то есть «с командой оболочки») SVN.

Конечно, у вас есть некоторые из них в графическом интерфейсе, такие как TortoiseSVN (Windows) или RabbitVCS (Linux) , но это графическое решение, не командная строка (опять же, не команда оболочки).

Графически расширенный коммит выглядит так:

graphical commit

...