🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.comp.os.linux.newbie
3 messages
3 total messages Started by horhe Tue, 25 May 2010 15:05
svn, jak skopiować zawartość katalogu, a nie katalog w repo
#138677
Author: horhe
Date: Tue, 25 May 2010 15:05
20 lines
1493 bytes
Witam,
Chciałbym skopiować w zdalnym repozytorium zawartość(środek) katalogu do 
środka innego katalogu.
Repozytorium wygląda tak:
$ svn ls -R file:///tmp/test/
kat1/
kat1/podkat1.1/
kat2/
kat2/plik2

Chciałbym zawartość kat2 umieścić w kat1/podkat1.1/ . Próbuję tak:
$ svn cp file:///tmp/test/kat2 file:///tmp/test/kat1/podkat1.1
ale wtedy dostaję w zmianach:
A    file:///tmp/test/kat1/podkat1.1/kat2
czyli tworzony jest niepotrzebnie kat2 w podkatalogu podkat1.1
To co chcę osiągnąć, robiąc to na lokalnej kopii osiągnąłbym w ten sposób:
$ svn cp kat2/* kat1/podkat1.1/
, natomiast przy ścieżkach zdalnych (url) gwiazdka nie działa.
Jak to należy zrobić?
Pozdrawiam
Re: svn, jak skopiować zawartość katalogu, a nie katalog w repo
#138678
Author: Lukasz
Date: Wed, 26 May 2010 09:19
31 lines
1930 bytes
Dnia 25.05.2010 horhe <skrzynka_na_spam@kolekcja.mejor.pl> napisał/a:
> Chciałbym zawartość kat2 umieścić w kat1/podkat1.1/ . Próbuję tak:
> $ svn cp file:///tmp/test/kat2 file:///tmp/test/kat1/podkat1.1
> ale wtedy dostaję w zmianach:
> A    file:///tmp/test/kat1/podkat1.1/kat2
> czyli tworzony jest niepotrzebnie kat2 w podkatalogu podkat1.1
> To co chcę osiągnąć, robiąc to na lokalnej kopii osiągnąłbym w ten sposób:
> $ svn cp kat2/* kat1/podkat1.1/
> , natomiast przy ścieżkach zdalnych (url) gwiazdka nie działa.
> Jak to należy zrobić?

hmmm... rzeczywiście wygląda na to, że jedyny sposób aby zrobić to
po stronie serwera, to czary w stylu:

#v+
$ svn ls svn://srv/test/kat1/ | \ 
	while read plik; do svn cp -m copy \
	svn://srv/test/kat1/$plik svn://srv/test/kat2/; \
	done 
#v-

No ale to chyba kiepskie rozwiązanie :(

Może lepszy efekt uzyskasz zaciągając całe repo, dokonując zmian lokalnie 
i commitując zmiany na serwer? no ale to tylko takie gdybanie 
- daj znać jak coś wymyślisz :)

pozdro
Łukasz

PS. a może mają coś o tym w FAQ?
Re: svn, jak skopiować zawartość katalogu, a nie katalog w repo
#138679
Author: horhe
Date: Wed, 26 May 2010 13:12
35 lines
2255 bytes
Dnia 26.05.2010 Lukasz <luka@somewhere.pl> napisał/a:
Witam,
> hmmm... rzeczywiście wygląda na to, że jedyny sposób aby zrobić to
> po stronie serwera, to czary w stylu:
>
> #v+
> $ svn ls svn://srv/test/kat1/ | \ 
> 	while read plik; do svn cp -m copy \
> 	svn://srv/test/kat1/$plik svn://srv/test/kat2/; \
> 	done 
> #v-
>
> No ale to chyba kiepskie rozwiązanie :(

Miałem nadzieję, że jest na to metoda zamykająca się w obrębie svn.
Gdybym miał seeet plików to numery rewizji by się strasznie podkręcały, 
nie mówiąc o problemie z czytaniem opisów zmian;)

> Może lepszy efekt uzyskasz zaciągając całe repo, dokonując zmian lokalnie 
> i commitując zmiany na serwer? no ale to tylko takie gdybanie 
> - daj znać jak coś wymyślisz :)

> PS. a może mają coś o tym w FAQ?

W ich czerwonej księdze
(http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.copy.html )
właśnie tak jest opisany sposób tagowania. Właśnie zaważyłem, jedną różnicę
pomiędzy tym jak ja to robię, a jak opisane. Wszystko jest fajnie jeśli
docelowy katalog (w moim przykładzie podkat1.1) nie istnieje. Wtedy kopiuje się
tak jakbym chciał, a jeśli katalog istnieje to wtedy mam sytuację opisaną
jak wyżej. Zachowuje się to więc jak zwykłe polecenie cp. Pewnie jest
milion super powodów dlaczego jest akurat tak (a akurat dla mnie
jest to wadą) :)
Dzięki,
Pozdrawiam
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads