Subversion исключить элемент из обработки
От: Sergey J. A. Беларусь  
Дата: 12.01.10 13:26
Оценка:
Ситуация
trunk/
MyProject1
MyProject2
....
BigProject1
BigProject2

Мне нужны только мои проекты, остальное не интересует. Но при коммите Subversion очень долго сканирует BigProjectX, в которых я ничего не менял и не собираюсь. Их обновления меня тоже не интересуют.
Как можно их исключить из Update/Commit?

Пока нашёл такой способ:
удаляю BigProject2
создаю пустую папку
делаю Checkout в эту папку и указываю "Only this item"
Теперь всё так, как я и хочу — Subversion и не обновляет их и не ругается на их отсутствие.

Но этих BigProject2 не мало, все руками пеерчекаучивать лень, может есть более прямой способ?
---
http://azarkevich.blogspot.com/
Re: Subversion исключить элемент из обработки
От: cvetkov  
Дата: 12.01.10 14:46
Оценка:
можно зделать checkout только того что нужно.
или при коммите выбирать что комитить.
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>
Re[2]: Subversion исключить элемент из обработки
От: Sergey J. A. Беларусь  
Дата: 12.01.10 14:50
Оценка:
Здравствуйте, cvetkov, Вы писали:

C>можно зделать checkout только того что нужно.

Пока так и делаю, но если "ненужных" проектов много, то приходится повозиться.

C>или при коммите выбирать что комитить.

Проблема в тормозах. С этими проектами сбор данных для коммита занимает секунд 15-20. Без проектов (я уже вычистил их) ну может секунду.
---
http://azarkevich.blogspot.com/
Re[3]: Subversion исключить элемент из обработки
От: cvetkov  
Дата: 12.01.10 15:00
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Здравствуйте, cvetkov, Вы писали:


C>>можно зделать checkout только того что нужно.

SJA>Пока так и делаю, но если "ненужных" проектов много, то приходится повозиться.
так я и говорю чекаутить только нужные

C>>или при коммите выбирать что комитить.

SJA>Проблема в тормозах. С этими проектами сбор данных для коммита занимает секунд 15-20. Без проектов (я уже вычистил их) ну может секунду.
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>
Re: Subversion исключить элемент из обработки
От: тыдыщх  
Дата: 13.01.10 09:03
Оценка:
Здравствуйте, Sergey J. A., Вы писали:
SJA>Как можно их исключить из Update/Commit?

Можно попробовать svn:ignore
Например, здесь
Re[2]: Subversion исключить элемент из обработки
От: Sergey J. A. Беларусь  
Дата: 13.01.10 09:23
Оценка:
Здравствуйте, тыдыщх, Вы писали:

Т>Можно попробовать svn:ignore

Т>Например, здесь
Не, это сделает проекты "проигноренными" для всех, но ведь с ними кто-то тоже работает (и возможно тоже хочет избавиться от моего проекта )
Было бы идеально какая-то команда типа
svn uncheckout BigProject
---
http://azarkevich.blogspot.com/
Re: Subversion исключить элемент из обработки
От: Clerk  
Дата: 13.01.10 10:24
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

Завести отдельный репозиторий?
Re[2]: Subversion исключить элемент из обработки
От: Sergey J. A. Беларусь  
Дата: 13.01.10 10:44
Оценка:
Здравствуйте, Clerk, Вы писали:

C>Завести отдельный репозиторий?


Это не я решаю, к сожалению.
---
http://azarkevich.blogspot.com/
Re: Subversion исключить элемент из обработки
От: rising_edge  
Дата: 13.01.10 12:21
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Ситуация

SJA>trunk/
SJA> MyProject1
SJA> MyProject2
SJA> ....
SJA> BigProject1
SJA> BigProject2

SJA>Мне нужны только мои проекты, остальное не интересует. Но при коммите Subversion очень долго сканирует BigProjectX, в которых я ничего не менял и не собираюсь. Их обновления меня тоже не интересуют.

SJA>Как можно их исключить из Update/Commit?

Зайти в каталог MyProject1 и в нём сделать svn update. Или написать простенький скрипт обхода нужных каталогов и в каждом делать update.
Re: Subversion исключить элемент из обработки
От: Sergey J. A. Беларусь  
Дата: 14.01.10 07:44
Оценка:
Что-то я тормоз.

Сам же написал, что надо делать руками, а переписать это скриптом не догадался.
Вот, накорябал на коленке под cygwin. Правда не может анчекаутить файлы, только директории.

#!/bin/bash

[[ "$1" == "" ]] && echo "usage: $0 <versioned-item>" && exit 1

while [[ "$1" != "" ]]; do

    echo 
    echo ====== Uncheckout: $1 ======

    [[ -f "$1" ]] && echo "$1 is file. Can't checkuot file." && shift && continue

    [[ -d "$1.tmp" ]] && echo "$1.tmp exists! Remove it manually." && shift && continue

    URL=$(svn info "$1" | sed -nre '/^URL:/ {
        s/URL: (.*)/\1/
        p}
    ')

    echo "$URL => $1"

    mv "$1" "$1.tmp"
    [[ $? != 0 ]] && echo "Can't mv $1 $1.tmp" && shift && continue

    svn co --depth=empty "$URL" "$1"
    [[ $? != 0 ]] && echo "Can't svn co --depth=empty $URL $1" && shift && continue

    echo -n "Delete '"$1.tmp"' [Y/n]? "
    read A
    [[ $A == "Y" || $A == "y" ||  $A == "" ]] && rm -fR "$1.tmp"

    
    shift
done


Ну и как обычно, если что — я не виноват
---
http://azarkevich.blogspot.com/
Re[2]: Subversion исключить элемент из обработки
От: Sergey J. A. Беларусь  
Дата: 14.01.10 07:57
Оценка:
Ага. Не успел написать, как нашёл баги. Так должно быть лучше.

#!/bin/bash

[[ "$1" == "" ]] && echo "usage: $0 <versioned-item>" && exit 1

while [[ "$1" != "" ]]; do

    X=${1%/}
    X=${X%\\}

    shift

    echo 
    echo ====== Uncheckout: $X ======

    [[ -f "$X" ]] && echo "$X is file. Can't checkuot file." && continue

    [[ -d "$X.tmp" ]] && echo "$X.tmp exists! Remove it manually." && continue

    URL=$(svn info "$X" | sed -nre '/^URL:/ {
        s/URL: (.*)/\1/
        p}
    ')

    echo "$URL => $X"

    mv "$X" "$X.tmp"
    [[ $? != 0 ]] && echo "Can't mv $X $X.tmp" && continue

    svn co --depth=empty "$URL" "$X"
    [[ $? != 0 ]] && echo "Can't svn co --depth=empty $URL $X" && continue

    echo -n "Delete '"$X.tmp"' [Y/n]? "
    read A
    [[ $A == "Y" || $A == "y" ||  $A == "" ]] && rm -fR "$X.tmp"
done
---
http://azarkevich.blogspot.com/
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.