epcim
10/23/2015 - 12:38 PM

svn.howto.md

SVN

SVN Ignore

cd ./trunk
svn propset -R svn:ignore tmp .
svn propset -R svn:ignore private .
svn propset -R svn:ignore "_*.*" .
svn commit -m "New Ignores"


svn propset -R svn:ignore "`svn propget svn:ignore .`" .

Alternative:

cd trunk/Blah/              # The directory with the files

# Start editing the properties for the current directory
svn propedit svn:ignore .   # Opens an editor (SVN_EDITOR, EDITOR)

# Add the following value with a new line, save, and exit:
*.txt

# See that things worked
svn propget svn:ignore .    # So you can see the properties
svn status --no-ignore      # You should see an 'I' next to the ignored files

# Commit
svn commit -m "New Ignores" # You must commit the new property change

Init

create /var2/svn/repos --fs-type fsfs

Stop

kill -QUIT `ps aux| grep svnserve | grep -v pts | gawk '{print $2}'`
ps aux| grep svnserve | grep -v pts | gawk '{print $2}' | xargs kill -QUIT

Start

svnserve -d -r /var2/svn/repos

Status

ps aux| grep svnserve | grep -v pts

export / import - only specified dirs..

svnadmin dump /var2/svn/repos/myg-bpas > repos-myorg-bpas.dumpfile
cat repos-myg-bpas.dumpfile | svndumpfilter --drop-empty-revs --renumber-revs include 'apps/klienti-mileston1' > repos-myorg-bpas_klientim1.dumpfile 
svn mkdir -m "test" svn://localhost/repos/myg-bpas/apps/tmp-test-klm1
svnadmin load /var2/svn/repos/myg-bpas  < repos-myorg-bpas_klientim1.dumpfile
vim repos-myg-bpas_klientim1.dumpfile
svnadmin load /var2/svn/repos/myg-bpas  < repos-myorg-bpas_klientim1.dumpfile

migration

cat apde.dump| svndumpfilter --drop-empty-revs --renumber-revs include 'trunk' > tmp_apde_trunk.dump
cat customweb.dump | svndumpfilter --drop-empty-revs --renumber-revs include 'trunk' > tmp_customweb_trunk.dump
# scp to SVN server
# ssh -A root@monitor.intranet.myorg -L2222:10.20.30.180:22
# scp -P 2222 tmp_customweb_trunk.dump root@localhost:/root/workspace
# scp -P 2222 tmp_apde_trunk.dump root@localhost:/root/workspace
svnadmin load --ignore-uuid  --parent-dir 'trunk/solution' /var/svn/cloudpilot_src  < tmp_apde_trunk.dump
svn move file:///var/svn/cloudpilot_src/trunk/solution/trunk file:///var/svn/cloudpilot_src/trunk/solution/apde -m "imported apde"
svnadmin load --ignore-uuid  --parent-dir 'trunk/solution' /var/svn/cloudpilot_src < tmp_customweb_trunk.dump
svn move file:///var/svn/cloudpilot_src/trunk/solution/trunk file:///var/svn/cloudpilot_src/trunk/solution/customweb -m "imported customweb"
## bkps
cp -a  /var/svn/cloudpilot_src /var/svn/cloudpilot_src.bkp2
rm -rf /var/svn/cloudpilot_src 
cp -a /var/svn/cloudpilot_src.bkp2 /var/svn/cloudpilot_src
chown apache.apache -R /var/svn/cloudpilot_src
cp -a  /var/svn/cloudprod_src /var/svn/cloudprod_src.bkp2
rm -rf /var/svn/cloudprod_src 
cp -a /var/svn/cloudprod_src.bkp2 /var/svn/cloudprod_src
chown apache.apache -R /var/svn/cloudprod_src
# relocate
svn switch --relocate https://gator.myorg.cz/dhl/svn/cloudpilot_src/trunk/solution/apde
svn switch --relocate https://gator.myorg.cz/dhl/svn/cloudpilot_src/trunk/solution/customweb

Doc

------------------------------------------------
 JEDNODUCHY NAVOT NA POUZIVANI SVN REPOSITOY:
 ------------------------------------------------

 Struktura adresaru / jmena konvence  / pravidla:
 ------------------------------------------------

\nsvis
|
|___\trunk
|    |_____  build
|    |_____  src
|    |_____  ...
|
|___\tags
|    |_____  build
|    |_____  src
|    |_____  ...
|

trunk    - halvni vetev vyvoje, posledni revize (HEAD)
tags     - kopie adr. trunk v urcite revizi, read-only, napr: nsvis_klient_v0.1.1
branches - vedlejsi vetve vyvoje, ( napr. oddeleny vyvoj a pozdejsi merge s trunk vetvi )

Do tags a branches se kod dostane pomoci prikazu 'svn copy', data nejsou v ramci repository
nikdy duplicitni, cili i toto zkopirovani je ve skutecnosti jen link na konkretni revize.

SVN Win/Lin UI Klienti:

Jak pracovat se SVN, howto, dokumentace: