Задать вопрос
@roman9966

Как удалить НЕ пустые директории из удаленного репозитория svn через git-svn?

И ещё добавить директории в гитигнор или свнигнор, что бы при следующих коммитах они игнорировались.
  • Вопрос задан
  • 183 просмотра
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
@ALexhha
DevOps Engineer
А что вам мешает удалить их средствами самого svn? Или я что то упускаю?

# cd /home/toster/master/
# svn co http://svn.example.net/repos/toster/ ./
Checked out revision 0.

# svn add . --force
A         awk
A         awk/gettime.awk
A         awk/join.awk
...
A         authconfig/authconfig.py
A         aclocal
A         aclocal/pkg.m4

# svn commit -m 'Initial commit'
...
...
...
Transmitting file data ................................
Committed revision 1.

# svn commit -m 'Add some pictures'
...
...
...
Transmitting file data ................................
Committed revision 2.

# svn ls http://svn.example.net/repos/toster/
aclocal/
anaconda/
applications/
augeas/
authconfig/
awk/
firstboot-left.png
firstboot-small.png
splash-small.png
workstation.png


# cd /home/toster/slave/
# svn co http://svn.example.net/repos/toster/ ./
...
Checked out revision 2.

# mkdir xxx
# dd if=/dev/urandom of=xxx/100mb.bin bs=1M count=100
# svn add xxx
A         xxx
A  (bin)  xxx/100mb.bin

# svn commit -m "My private and secret data"
Adding         xxx
Adding  (bin)  xxx/100mb.bin
Transmitting file data .
Committed revision 3.

# cd /home/toster/master/
# svn update
Updating '.':
A    xxx
A    xxx/100mb.bin
Updated to revision 3.

# ls -la xxx/
total 102408
drwxr-xr-x  2 root root      4096 Jan 28 21:03 .
drwxr-xr-x 10 root root      4096 Jan 28 21:03 ..
-rw-r--r--  1 root root 104857600 Jan 28 21:03 100mb.bin


# cd /home/toster/slave/
# svn rm xxx/
D         xxx
D         xxx/100mb.bin

# svn commit -m "Remove my private and secret data"
Deleting       xxx

Committed revision 4.

# cd /home/toster/master/
# svn update
Updating '.':
D    xxx
Updated to revision 4.

# ls -la xxx
ls: cannot access xxx: No such file or directory

# svn ls http://svn.example.net/repos/toster/
aclocal/
anaconda/
applications/
augeas/
authconfig/
awk/
firstboot-left.png
firstboot-small.png
splash-small.png
workstation.png


Единственный минус, эти данные навсегда останутся в репозитарии и будут занимать место. Я как раз для таких случаев (node, bower, gulp) писал svn hook (pre-commit) на сервере, который просто не принимал подобные коммиты.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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