Опрацювання, які папки svn'd з командного рядка


1

У мене є папка, яка містить набір папок, які самі є коренем різних проектів. Деякі з цих проектів розміщені під svn, деякі - ні. Я шукаю однолінійку, яку можу набрати в командному рядку, щоб подати мені список тих проектів, на які не втілено… будь-які ідеї?

Відповіді:


2

Я використовую 'svn info', щоб перевірити, чи знаходиться підкаталог під контролем версій. Якщо тестований каталог не є робочою копією, 'svn info' повернеться з помилкою.
Ви можете перенаправити вихід, щоб приховати вихід 'svn info'.

Я продовжую щось подібне до ітераційних каталогів, і якщо 'svn info' повернеться з помилкою, перегукується з їх назвою.

for D in */; do svn info ${D} &>/dev/null; if [  $? -ne 0 ]; then echo ${D}; fi done

Я не знаю, чи можете ви назвати його однолінійним, але це зробить роботу.
Також зауважте, що сюди не входять приховані каталоги.


Приємне рішення, але чи не буде трохи швидше просто перевірити, чи є .svnпідкаталог у кожному місці?
Lèse majesté

Працює для мене :)
Джо

@ Lèsemajesté Це буде, але ".svn" може бути старим сміттям чи чимось іншим, і "svn info" також певною мірою перевіряє робочу копію.
amotzg
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.