From svnbook at googlecode.com Sat May 1 17:06:39 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sat, 01 May 2010 22:06:39 +0000 Subject: [svnbook] r3727 committed - * fr/book/ch04-branching-and-merging.xml... Message-ID: <0016e6d27b88fcc02304858f9256@google.com> Revision: 3727 Author: christophe.nanteuil Date: Sat May 1 15:05:34 2010 Log: * fr/book/ch04-branching-and-merging.xml - cross-reading http://code.google.com/p/svnbook/source/detail?r=3727 Modified: /trunk/src/fr/book/ch04-branching-and-merging.xml ======================================= --- /trunk/src/fr/book/ch04-branching-and-merging.xml Fri Apr 23 13:21:19 2010 +++ /trunk/src/fr/book/ch04-branching-and-merging.xml Sat May 1 15:05:34 2010 @@ -17,8 +17,8 @@ La gestion des branches est un ?l?ment fondamental de la gestion de versions. Si vous comptez utiliser Subversion pour - g?rer vos donn?es, c'est une fonctionnalit? qui finira par - devenir indispensable pour vous. Ce chapitre suppose que vous ?tes + g?rer vos donn?es, c'est une fonctionnalit? dont vous ne pourrez + plus vous passer. Ce chapitre suppose que vous ?tes d?j? familier avec les notions de bases de Subversion (). @@ -27,7 +27,7 @@ - Qu'est-ce qu'une branche? + Qu'est-ce qu'une branche ? Supposons que votre travail soit de maintenir un document pour une division de votre entreprise, un manuel par exemple. @@ -36,7 +36,7 @@ pour elle, puisqu'elle fait les choses l?g?rement diff?remment. - Que faites-vous dans cette situation? Tout naturellement, + Que faites-vous dans cette situation ? Tout naturellement, vous cr?ez une seconde copie du document et commencez ? maintenir les deux copies s?par?ment. Puis, quand chaque division vous demande de faire des petites modifications, vous les incorporez @@ -120,7 +120,7 @@ corriger des bogues mineurs ici et l?. Elle a besoin que la derni?re version du projet (dans /calc/trunk) demeure en permanence - utilisable. Si vous commencez ? livrer des changements petit + utilisable. Si vous commencez ? propager des changements petit ? petit, vous allez s?rement rendre les choses difficiles pour Sally (ainsi que pour d'autres membres de l'?quipe). @@ -129,8 +129,8 @@ semaine ou deux. C'est-?-dire commencer ? modifier et ? r?organiser les fichiers dans votre copie de travail, mais sans effectuer de propagation ni de mise ? jour avant que vous - n'ayez compl?tement termin? la t?che. Il y a cependant un - certain nombre de probl?mes avec cette strat?gie. Premi?rement, + n'ayez compl?tement termin? la t?che. Cette strat?gie comporte + certains risques. Premi?rement, ce n'est pas sans danger. La plupart des gens aiment propager leurs modifications fr?quemment, au cas o? leur copie de travail aurait un accident. Deuxi?mement, ce n'est pas tr?s flexible. Si @@ -143,7 +143,7 @@ d'autre. Une des bonnes pratiques du monde du d?veloppement logiciel est de permettre ? vos pairs de passer votre travail en revue au fur et ? mesure. Si personne n'a acc?s - ? vos livraisons interm?diaires, vous vous coupez d'?ventuelles + ? vos propagations interm?diaires, vous vous coupez d'?ventuelles critiques et risquez de partir dans une mauvaise direction pendant des semaines avant que quelqu'un ne s'en aper?oive. Enfin, quand vous en aurez fini avec tous vos changements, @@ -202,15 +202,14 @@ dans le d?p?t, cr?ant un nouveau dossier ? la r?vision 341. Ce nouveau dossier est une copie de /calc/trunk, comme l'illustre la - . - + Subversion n'accepte pas les copies entre des d?p?ts distincts. Quand vous utilisez des URLs avec svn copy et svn move, vous ne pouvez copier que des ?l?ments faisant partie du m?me d?p?t. - + . Bien qu'il soit aussi possible de cr?er une branche en utilisant svn copy pour dupliquer un dossier @@ -220,7 +219,7 @@ terme de dur?e, puisque chaque fichier et chaque dossier doit ?tre dupliqu? sur le disque local. Copier un dossier sur le serveur, par contre, est une op?ration dont la dur?e est - constante et c'est la fa?on dont la plupart des gens cr?ent + constante et c'est ainsi que la plupart des gens cr?ent des branches.
@@ -300,7 +299,7 @@ svn switch est une m?thode alternative pour cr?er une copie de travail d'une branche). - Imaginons qu'une semaine passe et que les livraisons + Imaginons qu'une semaine passe et que les propagations suivantes ont lieu : @@ -430,7 +429,7 @@ Premi?rement, Subversion n'a pas de notion interne de branche — il sait seulement faire des copies. Quand vous copiez un dossier, le dossier qui en r?sulte n'est une - branche que parce vous + branche que parce que vous le consid?rez comme tel. Vous aurez beau envisager ce dossier diff?remment ou le traiter diff?remment, pour Subversion c'est juste un dossier ordinaire auquel sont @@ -465,11 +464,11 @@ la branche de d?veloppement principale. Pour les projets qui ont un grand nombre de contributeurs, - il est d'usage courant que la plupart des gens aient des copies + il est d'usage que la plupart des gens aient des copies de travail du tronc. D?s que quelqu'un doit faire des modifications de longue haleine, susceptibles de perturber - le tronc, une proc?dure standard est de cr?er une branche - priv?e et d'y propager les modifications jusqu'? ce que tout + le tronc, une proc?dure standard est qu'il cr?e une branche + priv?e et qu'il y propage les modifications jusqu'? ce que tout le travail soit termin?. Bref, la bonne nouvelle est que Sally et vous n'empi?tez @@ -487,7 +486,7 @@ partag?es ; Subversion vous offre la possibilit? de copier s?lectivement des modifications entre les branches. Et quand vous aurez tout fini dans votre branche, - votre groupe de modifications pourra ?tre recopi? en entier + l'ensemble de vos modifications pourra ?tre recopi? en entier vers le tronc. Dans la terminologie Subversion, l'action g?n?rale de r?plication des modifications d'une branche vers une autre s'appelle la fusion et elle @@ -497,8 +496,8 @@ Dans les exemples qui suivent, nous supposerons que le client et le serveur Subversion sont tous deux en version 1.5 (ou plus r?cente). Si l'un ou l'autre sont en version plus - ancienne, les choses seront plus compliqu?es : le syst?me - ne g?rera pas les changements de fa?on automatique et vous + ancienne, les choses sont plus compliqu?es : le syst?me + ne g?re pas les changements de fa?on automatique et vous devrez utiliser des m?thodes manuelles p?nibles pour obtenir des r?sultats similaires. Vous devrez en effet toujours utiliser la syntaxe d?taill?e de la fusion sp?cifiant l'?ventail des @@ -507,7 +506,7 @@ plus loin dans ce chapitre) et penser ? garder trace de ce qui a d?j? ?t? fusionn? et de ce qui ne l'a pas encore ?t?. Pour cette raison, nous recommandons fortement - que vous vous assuriez que client et serveur sont au moins + de vous assurer que client et serveur sont au moins en version 1.5. @@ -515,7 +514,7 @@ Ensembles de modifications Avant que nous n'allions plus loin, nous devons vous - avertir que les pages suivantes contiendront de nombreuses + avertir que les pages suivantes contiennent de nombreuses discussions portant sur les modifications. Beaucoup de gens ayant de l'exp?rience dans les syst?mes de gestion de versions utilisent le terme @@ -524,10 +523,10 @@ donc clarifier ce que Subversion entend par ensemble de modifications. - Tout le monde semble avoir sa propre d?finition, variant + Chacun semble avoir sa propre d?finition, variant l?g?rement, d'un ensemble de modifications, ou tout du moins - une attente diff?rente de ce qu'un syst?me de gestion de - versions peut entendre par l?. En ce qui nous concerne, disons + a une attente diff?rente quant ? leur traitement par le syst?me + de gestion de versions. En ce qui nous concerne, disons qu'un ensemble de modifications n'est qu'un simple regroupement de modifications identifi? par un nom unique. Les modifications peuvent inclure des changements textuels du contenu des @@ -538,7 +537,7 @@ Dans Subversion, un num?ro de r?vision globale N d?signe une arborescence dans le d?p?t : c'est ce ? quoi le d?p?t - ressemblait apr?s la N-?me propagation. C'est aussi le nom d'un + ressemblait apr?s la N-i?me propagation. C'est aussi le nom d'un ensemble de modifications implicite : si vous comparez l'arborescence N avec l'arborescence N−1, vous pouvez en d?duire exactement le correctif qui a ?t? propag?. Pour cette @@ -553,7 +552,7 @@ svn log -r 9238 pour obtenir le d?tail des modifications qui ont corrig? le bogue et lancer svn diff -c 9238 pour voir le - correctif lui-m?me. De plus (comme vous le verrez bient?t), + correctif lui-m?me. De plus (comme nous le verrons bient?t), la commande svn merge de Subversion est capable d'utiliser les num?ros de r?vision. Vous pouvez fusionner des listes de modifications sp?cifiques d'une @@ -577,7 +576,7 @@ ? faire des modifications importantes sur le /trunk du projet. Vous avez int?r?t ? recopier ces modifications dans votre propre branche, juste - pour vous assurer qu'elles se combinent bien avec vos + pour vous assurer qu'elles se combinent bien avec vos propres modifications. En fait, c'est l? une bonne pratique : synchroniser fr?quemment votre branche avec la ligne de d?veloppement principale permet d'?viter les conflits @@ -625,7 +624,7 @@ svn diff et ensuite de compiler et de tester votre branche. Notez que le r?pertoire de travail actuel (.) a aussi ?t? - modifi? ; svn diff indiquera que sa + modifi? ; svn diff indique que sa propri?t? svn:mergeinfo a ?t? cr??e ou modifi?e. Ceci est une m?ta-information importante li?e ? la fusion, ? laquelle vous ne devriez pas @@ -642,7 +641,7 @@ pas de conflits s?mantiques !). Si vous rencontrez de graves difficult?s, vous pouvez toujours annuler les modifications locales en lan?ant - svn revert . -R (qui annulera toutes + svn revert . -R (qui annule toutes les modifications locales) et entamer avec vos coll?gues une longue discussion sur le th?me Qu'est-ce qui se passe ?. Par contre, si les @@ -720,8 +719,8 @@ Supposons qu'une autre semaine s'est ?coul?e. Vous avez - propag? des modifications suppl?mentaires dans votre branche, - et que vos camarades ont ?galement continu? ? am?liorer le + propag? des modifications suppl?mentaires dans votre branche + et vos camarades ont ?galement continu? ? am?liorer le tronc. Une fois encore, vous aimeriez r?percuter les derni?res modifications du tronc vers votre branche et ainsi ?tre synchro. Lancez juste la m?me commande svn merge @@ -765,9 +764,9 @@ R?vision 390 propag?e. - ? pr?sent, vous allez utiliser svn merge + ? pr?sent, utilisez svn merge pour r?percuter les modifications de votre branche sur le tronc. - Vous aurez besoin d'une copie de travail de + Vous avez alors besoin d'une copie de travail de /trunk qui soit ? jour. Vous pouvez vous la procurer soit en effectuant un svn checkout, soit en reprenant une vieille @@ -834,8 +833,8 @@ synchronisation finale, il fusionne le groupe 380:385. Cependant, lors de la r?int?gration d'une branche dans - le tronc, les math?matiques sous-jacentes sont assez - diff?rentes. Votre branche d?di?e est ? pr?sent un + le tronc, la logique sous-jacente est assez + diff?rente. Votre branche d?di?e est ? pr?sent un amoncellement de modifications provenant ? la fois du tronc et de votre branche priv?e et il n'y a donc pas de groupe de r?visions contigu ? recopier. En sp?cifiant l'option @@ -941,7 +940,7 @@ Il existe ?galement une sous-commande, svn mergeinfo, qui peut ?tre utile pour voir non seulement quels ensembles de modifications un - dossier a absorb?, mais aussi quels ensembles de modifications + dossier a absorb?s, mais aussi quels ensembles de modifications il est encore susceptible de recevoir. Ceci donne une sorte d'aper?u du prochain ensemble de modifications que svn merge recopiera vers @@ -960,7 +959,7 @@ r389 r390 -# Quelles modifications sont encore susceptibles d'?tre fusionn?es du tronc vers la branche? +# Quelles modifications sont encore susceptibles d'?tre fusionn?es du tronc vers la branche ? $ svn mergeinfo http://svn.exemple.com/depot/calc/trunk --show-revs eligible r391 r392 @@ -972,7 +971,7 @@ La commande svn mergeinfo prend en param?tres une URL source (d'o? les modifications viennent) et une URL cible - optionnelle (vers laquelle les modifications seraient + optionnelle (vers laquelle les modifications sont fusionn?es). Si aucune URL cible n'est fournie, elle suppose que le dossier actuel est la cible. Dans l'exemple pr?c?dent, puisque nous interrogeons la copie de travail de notre @@ -1036,16 +1035,16 @@ de rencontrer quelques obstacles (facilement surmontables). Par exemple, si l'op?ration de fusion ajoute un nouveau fichier (ou plus exactement programme son ajout), - svn revert ne supprimera pas + svn revert ne supprime pas le fichier ; il va juste d?programmer l'ajout. Vous vous retrouvez avec un fichier non suivi en versions. Si ensuite vous tentez ? nouveau de lancer la fusion, il risque d'y avoir des conflits dus au fichier non suivi - en versions rest? en travers du chemin. - Solution ? Apr?s avoir effectu? un retour arri?re ? l'aide - de svn revert, pensez ? nettoyer la + en versions rest? en travers du chemin. La + Solution ? Apr?s avoir effectu? un retour en arri?re ? + l'aide de svn revert, pensez ? nettoyer la copie de travail et supprimer les fichiers et dossiers - non suivis en version. Il faut que le r?sultat de + non suivis en versions. Il faut que le r?sultat de svn status soit le plus propre possible, et dans l'id?al vide. @@ -1143,7 +1142,7 @@ permanente. En attendant, en guise de palliatif, voir . - + . @@ -1216,7 +1215,7 @@ Voil?, c'?tait la partie difficile : la recherche. Maintenant que vous savez ce que vous voulez r?cup?rer, - deux choix s'offrent ? vous. + deux options s'offrent ? vous. Une possibilit? serait d'utiliser svn merge pour appliquer la r?vision 808 @@ -1348,7 +1347,7 @@ priv?e dans le tronc. ? la machine ? caf?, vous apprenez par hasard que Sally a apport? une modification int?ressante ? entier.c dans le tronc. Vous reportant ? - l'historique des livraisons du tronc, vous vous apercevez + l'historique des propagations du tronc, vous vous apercevez qu'elle a corrig? un bogue crucial en r?vision 355, qui impacte directement la fonctionnalit? sur laquelle vous ?tes en train de travailler. Vous n'?tes peut-?tre pas encore pr?t @@ -1388,7 +1387,7 @@ Vous pouvez ? pr?sent lancer les proc?dures habituelles - de tests, avant de livrer cette modification ? votre branche. + de tests, avant de propager cette modification ? votre branche. Apr?s la propagation, Subversion marque r355 comme ayant ?t? fusionn?e dans la branche, afin qu'une future fusion magique synchronisant votre branche avec le @@ -1433,7 +1432,7 @@ modifications ; le cas se pr?sente tr?s souvent, par exemple lorsqu'une ?quipe g?re une branche de production du logiciel - (nous d?velopperons ce th?me dans + (ce th?me est d?velopp? dans ). @@ -1463,8 +1462,8 @@ Avertissement : bien que svn diff - et svn merge soient tr?s similaires au - niveau conceptuel, leur syntaxe est diff?rente dans de + et svn merge soient conceptuellement tr?s + similaires, leur syntaxe est diff?rente dans de nombreux cas. Pour plus de d?tails, reportez-vous au ou consultez svn help. Par exemple, @@ -1488,12 +1487,12 @@ Si vous fusionnez un dossier et que vous n'avez pas encore sp?cifi? de cible, svn merge - supposera qu'il est dans la premi?re situation et essaiera + suppose qu'il est dans la premi?re situation et essaie d'appliquer les modifications dans votre dossier en cours. Si vous fusionnez un fichier et que ce fichier (ou un fichier du m?me nom) existe dans votre dossier de - travail en cours, svn merge supposera - qu'il est dans la seconde situation et essaiera d'appliquer + travail en cours, svn merge suppose + qu'il est dans la seconde situation et essaie d'appliquer les modifications au fichier local du m?me nom. @@ -1502,15 +1501,15 @@ Syntaxe de la fusion : pour tout vous dire - Vous venez de voir des exemples d'utilisation de la - commande svn merge et vous allez bient?t - en voir plusieurs autres. Si la confusion r?gne dans votre - esprit concernant le fonctionnement des fusions, vous n'?tes - pas tout seul. De nombreux utilisateurs (en particulier ceux - qui d?couvrent la gestion de versions) sont initialement - perplexes au sujet de la syntaxe de la commande, ainsi que - quand et comment utiliser cette fonctionnalit?. Mais n'ayez - pas peur, cette commande est en fait bien plus simple que + Nous venons de voir des exemples d'utilisation de la + commande svn merge et nous allons bient?t + en voir plusieurs autres. Si vous n'avez pas bien assimil? le + le fonctionnement des fusions, rassurez-vous, vous n'?tes pas un + cas isol?. De nombreux utilisateurs (en particulier ceux + qui d?couvrent la gestion de versions) commencent par une phase + de perplexit? au sujet de la syntaxe de la commande, ainsi que + quand et comment utiliser cette fonctionnalit?. Mais, en fait, + cette commande est bien plus simple que vous ne le pensez ! Il y a une technique tr?s simple pour comprendre comment svn merge agit. @@ -1524,7 +1523,7 @@ les diff?rences sont appliqu?es ? une copie de travail. Si vous utilisez svn merge pour effectuer de simples - copies de modifications entre branches, il fera g?n?ralement + copies de modifications entre branches, elle fait g?n?ralement ce qu'il faut automatiquement. Par exemple, une commande telle que : @@ -1532,14 +1531,14 @@ $ svn merge http://svn.exemple.com/depot/calc/une-branche - tentera de dupliquer toutes les modifications faites + tente de dupliquer toutes les modifications faites dans une-branche vers votre r?pertoire de travail actuel, qui est sans doute une copie de travail partageant des liens historiques avec la branche. La commande est suffisamment intelligente pour ne copier que les modifications que votre copie de travail ne poss?de pas encore. Si vous r?p?tez cette commande une fois par semaine, - elle ne copiera que les modifications + elle ne copie que les modifications les plus r?centes qui ont eu lieu depuis la derni?re fusion. @@ -1552,16 +1551,16 @@ une arborescence initiale (souvent appel?e c?t? gauche - de la comparaison) + de la comparaison) ; une arborescence finale (souvent appel?e c?t? droit - de la comparaison) - - une copie de travail qui recevra les + de la comparaison) ; + + une copie de travail qui re?oit les diff?rences en tant que modifications locales (souvent appel?e cible - de la fusion) + de la fusion). @@ -1577,9 +1576,9 @@ svn revert pour revenir en arri?re sur toutes les modifications. - La syntaxe de svn merge vous offre - la possibilit? de sp?cifier les trois param?tres de fa?on - assez flexible. Voici quelques exemples : + La syntaxe de svn merge est assez + flexible quant ? la fa?on de sp?cifier les trois param?tres. + Voici quelques exemples : $ svn merge http://svn.exemple.com/depot/branche1 at 150 \ @@ -1597,7 +1596,7 @@ cible. La deuxi?me syntaxe peut ?tre utilis?e comme raccourci pour les cas o? vous comparez des r?visions diff?rentes de la m?me URL. La derni?re syntaxe indique que le param?tre copie - de travail est optionnel ; s'il est omis, elle utilisera + de travail est optionnel ; s'il est omis, elle utilise par d?faut le r?pertoire en cours. Si le premier exemple donne la syntaxe @@ -1628,9 +1627,9 @@ Si vous demandez ? svn merge de comparer deux URLs qui n'ont pas de lien entre elles, - un correctif sera quand m?me g?n?r? et appliqu? ? votre - copie de travail, mais aucune m?tadonn?e de fusion ne - sera cr??e. Il n'y a pas d'historique commun aux deux + un correctif est quand m?me g?n?r? et appliqu? ? votre + copie de travail, mais aucune m?tadonn?e de fusion n'est + cr??e. Il n'y a pas d'historique commun aux deux sources et les futures fusions intelligentes d?pendent de cet historique commun. @@ -1643,7 +1642,7 @@ Bien qu'il soit possible de lancer une commande telle que svn merge -r 100:200 http://svn.projetexterieur.com/depot/trunk, - le correctif r?sultant ne comportera aucune m?tadonn?e + le correctif r?sultant ne comporte aucune m?tadonn?e historique de fusion. ? la date d'aujourd'hui, Subversion n'est pas capable de repr?senter des URL de d?p?ts diff?rents au sein de la propri?t? @@ -1711,10 +1710,10 @@ paragraphe va expliquer ces diff?rences. Pour commencer, supposons que votre copie de travail n'a - pas de modification locale en cours. Quand vous lancerez + pas de modification locale en cours. Quand vous lancez svn update pour la mettre ? jour ? une r?vision particuli?re, les modifications envoy?es par le - serveur s'appliqueront toujours proprement + serveur s'appliquent toujours proprement ? votre copie de travail. Le serveur g?n?re le delta en comparant deux arborescences : d'une part un instantan? virtuel de votre copie de travail, d'autre part @@ -1729,7 +1728,7 @@ l'utilisateur avanc? peut demander au serveur de comparer n'importe quelle paire d'arborescences, m?me des arborescences n'ayant aucun rapport avec la copie - de travail ! Ce qui laisse potentiellement beaucoup de + de travail ! Cela laisse potentiellement beaucoup de place ? l'erreur humaine. Les utilisateurs vont parfois comparer deux arborescences qui ne sont pas les bonnes, cr?ant ainsi un delta qui ne s'appliquera pas proprement. @@ -1739,7 +1738,7 @@ fa?on que la commande Unix patch se plaint parfois de morceaux rat?s (failed hunks), - svn merge se plaindra de + svn merge se plaint de cibles manquantes omises (skipped targets) : @@ -1757,7 +1756,7 @@ Dans l'exemple pr?c?dent, il est possible que baz.c existe dans les deux instantan?s - de la branche en question ; et que le delta r?sultant + de la branche en question et que le delta r?sultant tente de modifier le contenu du fichier, mais que le fichier n'existe pas dans la copie de travail. Quoi qu'il en soit, le message Cible manquante omise signifie que @@ -1767,7 +1766,7 @@ en arri?re de mani?re r?cursive sur toutes les modifications cr??es par la fusion (svn revert . --recursive), d'effacer - tout fichier ou dossier non suivi en version restant apr?s le + tout fichier ou dossier non suivi en versions restant apr?s le retour en arri?re et de relancer svn merge avec des param?tres diff?rents. @@ -2983,7 +2982,7 @@ moment /trunk puisse ?tre compil? et passe avec succ?s les tests de r?gression. Une branche fonctionnelle n'est n?cessaire que quand une modification - n?cessite un grand nombre de livraisons susceptibles de + n?cessite un grand nombre de propagations susceptibles de d?stabiliser le tronc. Une bonne m?thode empirique est de se poser la question suivante : si le d?veloppeur travaillait pendant plusieurs jours en isolation et ensuite @@ -3131,7 +3130,7 @@ fournisseur est une arborescence au sein de votre propre syst?me de gestion de versions qui contient des informations fournies par une entit? tierce, ou fournisseur. Chaque version des donn?es - du fournisseur que vous d?ciderez d'incorporer dans votre projet + du fournisseur que vous d?cidez d'incorporer dans votre projet est appel?e une livraison fournisseur. @@ -3194,10 +3193,10 @@ Nous avons d?sormais la version actuelle du code source de libcomplex dans /fournisseur/libcomplex/actuel. ? pr?sent, - nous allons ?tiqueter cette version (voir - ) et ensuite la copier - dans la branche de d?veloppement principale. Cette op?ration - de copie cr?era un nouveau dossier appel? + nous ?tiquetons cette version (voir + ) et ensuite nous la + copions dans la branche de d?veloppement principale. Cette + op?ration de copie cr?e un nouveau dossier appel? libcomplex au sein du r?pertoire de notre projet existant calc. C'est dans cette copie des donn?es du fournisseur que nous ferons nos @@ -3236,7 +3235,7 @@ libcomplex, la 1.0, par une copie de libcomplex 1.1 et ensuite r?-appliquer les modifications que nous avions effectu?es pr?c?demment sur cette biblioth?que ? la nouvelle - version. Mais en fait nous allons aborder le probl?me sous un + version. Mais, en fait, nous allons aborder le probl?me sous un autre angle, en appliquant les changements apport?s ? libcomplex entre les versions 1.0 et 1.1 ? notre copie modifi?e de celle-ci. @@ -3256,12 +3255,12 @@ de la gestion de versions. Apr?s avoir remplac? le code de la 1.0 par le code de la - 1.1, svn status listera les fichiers ayant + 1.1, svn status liste les fichiers ayant des modifications locales et peut-?tre aussi des fichiers non suivis en versions. Si nous avons fait ce que nous ?tions - cens?s faire, les fichiers non suivis en version sont + cens?s faire, les fichiers non suivis en versions sont uniquement de nouveaux fichiers introduits par la version 1.1 - de libcomplex ; nous allons donc lancer + de libcomplex ; nous lan?ons donc svn add sur ces fichiers pour les inclure dans la gestion de versions. Si le code de la 1.1 ne contient plus certains fichiers qui ?taient dans l'arborescence de la @@ -3277,10 +3276,10 @@ nous avons faites pour lui donner cet aspect. Notre branche actuel contient - d?sormais la nouvelle livraison fournisseur. Nous allons donc - ?tiqueter la nouvelle version en 1.1 (de la m?me fa?on que + d?sormais la nouvelle livraison fournisseur. Nous ?tiquetons + donc la nouvelle version en 1.1 (de la m?me fa?on que nous avions pr?c?demment ?tiquet? la livraison fournisseur de - la version 1.0) et ensuite fusionner les diff?rences entre + la version 1.0) et ensuite nous fusionnons les diff?rences entre les ?tiquettes de la version pr?c?dente et de la nouvelle version vers notre branche de d?veloppement principale : @@ -3305,10 +3304,10 @@ version de la biblioth?que, sans la moindre complication ou conflit. - Mais les choses ne sont pas toujours aussi simples et en - fait il arrive assez fr?quemment que des fichiers sources + Mais les choses ne sont pas toujours aussi simples et, en + fait, il arrive assez fr?quemment que des fichiers sources changent d'emplacement d'une version ? l'autre d'un logiciel. - Ceci rend plus compliqu?e la t?che de s'assurer que nos + Ceci complique la t?che de s'assurer que nos modifications sont toujours valides pour la nouvelle version du code, et les choses peuvent rapidement d?g?n?rer, jusqu'au point o? nous pouvons ?tre forc?s de reporter manuellement nos @@ -3340,7 +3339,7 @@ processus. Ce script automatise les ?tapes importantes que nous avons mentionn?es dans la proc?dure g?n?rale de gestion des branches fournisseurs afin de minimiser les erreurs. Vous - serez toujours responsable de l'utilisation des commandes + ?tes toujours responsable de l'utilisation des commandes svn merge pour fusionner les nouvelles versions des donn?es tierces vers votre branche de d?veloppement principale, mais @@ -3361,7 +3360,7 @@ Il prend soin de s?ries compliqu?es d'op?rations entre - lesquelles Subversion a besoin d'une livraison + lesquelles Subversion a besoin d'une propagation interm?diaire, telles qu'avant de renommer un fichier ou un dossier pour la deuxi?me fois. @@ -3411,12 +3410,12 @@ il examine le contenu de votre livraison fournisseur existante, actuel, et le compare ? la nouvelle livraison fournisseur. Dans le cas le plus trivial, - aucun fichier ne sera pr?sent dans une version sans l'?tre - dans l'autre et le script effectuera le nouvel import sans + aucun fichier n'est pr?sent dans une version sans l'?tre + dans l'autre et le script effectue le nouvel import sans incident. Cependant, s'il y a des divergences dans l'agencement des fichiers entre les versions, - svn_load_dirs.pl vous demandera comment - r?soudre ces diff?rences. Par exemple, vous aurez + svn_load_dirs.pl vous demande comment + r?soudre ces diff?rences. Par exemple, vous avez l'opportunit? d'indiquer au script que vous savez que le fichier math.c de la version 1.0 de libcomplex a ?t? renomm? en arithmetique.c @@ -3428,14 +3427,14 @@ configuration s?par?, permettant de sp?cifier des propri?t?s sur des fichiers et dossiers, correspondants ? une expression r?guli?re, qui vont ?tre ajout?s au - d?p?t. Ce fichier de configuration sera indiqu? ? + d?p?t. Ce fichier de configuration est indiqu? ? svn_load_dirs.pl en utilisant l'option en ligne de commande. Chaque ligne du fichier de configuration est un ensemble de deux ou quatre valeurs d?limit?es par des espaces : une expression r?guli?re du style Perl ? laquelle comparer le chemin ajout?, un mot cl? de contr?le (soit break soit - cont) et ensuite en option un nom de + cont) et ensuite, en option, un nom de propri?t? et une valeur. @@ -3452,18 +3451,18 @@ break (ce qui signifie qu'aucune autre modification de propri?t? ne doit ?tre appliqu?e ? ce chemin). Si le terme de contr?le est cont - (abr?viation de continuer), la comparaison continuera avec la + (abr?viation de continuer), la comparaison continue avec la ligne suivante du fichier de configuration. - Tout espace faisant partie de l'expression r?guli?re, du + Toute espace faisant partie de l'expression r?guli?re, du nom de la propri?t? ou de la valeur de la propri?t? doit ?tre - entour? d'apostrophes ou de guillemets. Vous pouvez banaliser + entour?e d'apostrophes ou de guillemets. Vous pouvez banaliser les guillemets et apostrophes qui ne sont pas utilis?s pour - entourer un espace en les faisant pr?c?der d'une barre oblique + entourer une espace en les faisant pr?c?der d'une barre oblique invers?e (ou antislash : \). L'antislash ne banalise que les guillemets et apostrophes pendant le traitement du fichier de - configuration, donc pas la peine de prot?ger d'autres + configuration, ce n'est donc pas la peine de prot?ger d'autres caract?res au-del? de ce qui est n?cessaire pour l'expression r?guli?re. @@ -3480,7 +3479,7 @@ avons pr?sent? les concepts d'?tiquettes et de branches et montr? comment Subversion impl?mente ces concepts en copiant des r?pertoires avec la commande svn copy. Nous - ~avons expliqu? comment utiliser svn merge + avons expliqu? comment utiliser svn merge pour copier des modifications d'une branche ? l'autre ou pour revenir en arri?re sur des modifications non-satisfaisantes. Nous avons ?tudi? l'utilisation de svn switch From svnbook at googlecode.com Sun May 2 06:37:50 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sun, 02 May 2010 11:37:50 +0000 Subject: [svnbook] r3729 committed - * src/en/book/ch06-server-configuration.xml... Message-ID: <0016e68e8cb5fba73b04859ae7dc@google.com> Revision: 3729 Author: stsp at elego.de Date: Sun May 2 04:35:02 2010 Log: * src/en/book/ch06-server-configuration.xml (svn.serverconfig.pathbasedauthz): No need to list sally twice in the @everyone group. http://code.google.com/p/svnbook/source/detail?r=3729 Modified: /trunk/src/en/book/ch06-server-configuration.xml ======================================= --- /trunk/src/en/book/ch06-server-configuration.xml Sun May 2 04:33:06 2010 +++ /trunk/src/en/book/ch06-server-configuration.xml Sun May 2 04:35:02 2010 @@ -3095,7 +3095,7 @@ [groups] calc-developers = harry, sally, joe paint-developers = frank, sally, jane -everyone = harry, sally, joe, frank, sally, jane +everyone = harry, sally, joe, frank, jane Groups can be granted access control just like users. From svnbook at googlecode.com Sun May 2 06:33:49 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sun, 02 May 2010 11:33:49 +0000 Subject: [svnbook] r3728 committed - Fix the long-standing authz documentation bug regarding group permissi... Message-ID: <0016e68deb2b9f332d04859ad93d@google.com> Revision: 3728 Author: stsp at elego.de Date: Sun May 2 04:33:06 2010 Log: Fix the long-standing authz documentation bug regarding group permissions. This was tracked in the book's issue tracker as issue #71. This commit is based on the patch attached to that issue. See this post and follow-ups for related discussion: Date: Thu, 14 Jan 2010 22:16:35 +0000 From: Philip Martin To: dev at subversion.apache.org Subject: Multiple matching lines in authz file Message-ID: <877hrkmiws.fsf at stat.home.lan> http://svn.haxx.se/dev/archive-2010-01/0340.shtml I also discussed this with striker (who wrote a lot of the initial authz code) at the Apache Retreat. He confirmed that this was a documentation bug, rather than a bug in the implementation. * src/en/book/ch06-server-configuration.xml: (svn.serverconfig.pathbasedauthz): Group permissions can only be extended, not restricted, for individual group members. Document this correctly, rather than claiming the opposite was true. Patch by: Mark Cammidge (tweaked by me) http://code.google.com/p/svnbook/source/detail?r=3728 Modified: /trunk/src/en/book/ch06-server-configuration.xml ======================================= --- /trunk/src/en/book/ch06-server-configuration.xml Thu Feb 18 09:57:58 2010 +++ /trunk/src/en/book/ch06-server-configuration.xml Sun May 2 04:33:06 2010 @@ -3111,13 +3111,15 @@ @paint-developers = rw - Another important fact is that - the first matching rule is the one which gets - applied to a user. In the prior example, even though Jane is a - member of the paint-developers group (which has - read/write access), the jane = r rule will be - discovered and matched before the group rule, thus denying Jane - write access. + Another important fact is that group permissions are not + overridden by individual user permissions. Rather, the + combination of all matching permissions is + granted. In the prior example, Jane is a member of the + paint-developers group, which has read/write access. + Combined with the jane = r rule, this still gives + Jane read/write access. Permissions for group members can only be extended + beyond the permissions the group already has. Restricting users who are + part of a group to less than their group's permissions is impossible. Groups can also be defined to contain other groups: From svnbook at googlecode.com Sun May 2 06:41:52 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sun, 02 May 2010 11:41:52 +0000 Subject: Issue 71 in svnbook: Description of permissions in authz incorrect for multiple matching lines In-Reply-To: <0-7155889305988986295-7441570024220402911-svnbook=googlecode.com@googlecode.com> References: <0-7155889305988986295-7441570024220402911-svnbook=googlecode.com@googlecode.com> Message-ID: <1-7155889305988986295-7441570024220402911-svnbook=googlecode.com@googlecode.com> Updates: Status: Fixed Comment #1 on issue 71 by s... at elego.de: Description of permissions in authz incorrect for multiple matching lines http://code.google.com/p/svnbook/issues/detail?id=71 Committed with tweaks in r3728. Thanks! From svnbook at googlecode.com Sun May 2 06:45:53 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sun, 02 May 2010 11:45:53 +0000 Subject: Issue 20 in svnbook: Document tree conflicts In-Reply-To: <2-7155889305988986295-14944795752420902646-svnbook=googlecode.com@googlecode.com> References: <2-7155889305988986295-14944795752420902646-svnbook=googlecode.com@googlecode.com> <0-7155889305988986295-14944795752420902646-svnbook=googlecode.com@googlecode.com> Message-ID: <3-7155889305988986295-14944795752420902646-svnbook=googlecode.com@googlecode.com> Updates: Status: Fixed Comment #3 on issue 20 by s... at elego.de: Document tree conflicts http://code.google.com/p/svnbook/issues/detail?id=20 A section about tree conflicts was added to the book some time ago. http://svnbook.red-bean.com/nightly/en/svn.tour.treeconflicts.html From svnbook at googlecode.com Mon May 3 04:50:03 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 03 May 2010 09:50:03 +0000 Subject: [svnbook] r3730 committed - * src/fr/book/ch06-server-configuration.xml... Message-ID: <0016361e7e4e5f73100485ad843e@google.com> Revision: 3730 Author: subversif999 at gmail.com Date: Mon May 3 02:49:46 2010 Log: * src/fr/book/ch06-server-configuration.xml - Fix typos http://code.google.com/p/svnbook/source/detail?r=3730 Modified: /trunk/src/fr/book/ch06-server-configuration.xml ======================================= --- /trunk/src/fr/book/ch06-server-configuration.xml Sat Mar 13 06:04:01 2010 +++ /trunk/src/fr/book/ch06-server-configuration.xml Mon May 3 02:49:46 2010 @@ -1,4 +1,4 @@ - + Configuration du serveur Un d?p?t Subversion h?berg? sur une machine donn?e est @@ -10,13 +10,13 @@ monde. Ce chapitre d?crit comment rendre visible votre d?p?t Subversion - en dehors de la machine h?te afin d'?tre utilis? par des clients + en dehors de la machine h?te pour qu'il soit utilisable par des clients distants. Nous couvrons les m?canismes serveurs disponibles actuellement pour Subversion, leur configuration et leur utilisation. ? la fin de ce chapitre, vous devriez ?tre apte ? d?cider quelle configuration r?seau convient ? vos besoins et - comprendre comment activer cette configuration sur votre machine - h?te. + comprendre comment mettre en place cette configuration sur votre + machine h?te. @@ -37,7 +37,7 @@ Apache est un serveur web extr?mement populaire ; en utilisant le module mod_dav_svn, Apache a acc?s - au d?p?t et peut le rendre accessible aux clients via le protocle + au d?p?t et peut le rendre accessible aux clients via le protocole WebDAV/DeltaV, qui est une extension d'HTTP. Comme Apache est un serveur tr?s complet, il inclut un grand nombre de fonctionnalit?s gratuites, telles que : communications @@ -73,15 +73,15 @@ d'utilisateurs locaux d'acc?der au d?p?t via des URL file://. Les autorisations d'acc?s bas?es sur des chemins n'ont donc aucun sens, puisque chaque utilisateur - acc?de aux fichiers de la base de donn?es du d?p?t - directement. + acc?de directement aux fichiers de la base de donn?es du + d?p?t. Le pr?sente un r?sum? rapide des trois types courants de d?ploiements de serveurs. - Comparaison des options des serveurs Subversion + Comparaison des fonctionnalit?s des serveurs Subversion @@ -99,15 +99,15 @@ Apache. CRAM-MD5 par d?faut ; LDAP, NTLM, ou tout autre m?canisme compatible avec SASL. - SSH + SSH. Comptes utilisateurs Fichiers priv?s ou tout autre m?canisme compatible - avec Apache (LDAP, SQL, etc.). + avec Apache (LDAP, SQL, etc.). Fichiers priv?s ou tout autre m?canisme compatible - avec SASL (LDAP, SQL, etc.). + avec SASL (LDAP, SQL, etc.). Comptes utilisateurs syst?mes. @@ -126,7 +126,7 @@ Chiffrement Disponible via SSL (option). - Disponible via les fonctionnalit?s optionnelles de + Disponible via les fonctionnalit?s optionnelles de SASL. Inh?rent ? toute connexion SSH. @@ -299,7 +299,7 @@ ce soit, n'est disponible, ni m?me celle des erreurs ; - les utilisateurs doivent etre membres du + les utilisateurs doivent ?tre membres du m?me groupe syst?me ou utiliser une cl? SSH partag?e ; @@ -410,8 +410,8 @@ si vous devez vous ins?rer au sein de syst?mes d'authentification d?j? en place (LDAP, Active Directory, - NTLM, X.509, etc.), il vous faudra utiliser soit le serveur - bas? sur Apache soit svnserve configur? + NTLM, X.509, etc.), il vous faudra utiliser soit le serveur + bas? sur Apache, soit svnserve configur? avec SASL. Si vous avez un besoin absolu de journaux des erreurs c?t? serveur ou de journaux des activit?s c?t? client, le serveur bas? sur Apache est le seul choix @@ -517,9 +517,9 @@ svnserve en serveur autonome Le plus facile est de d?marrer svnserve - en tant que serveur autonome. Pour le faire, utilisez l'option + en tant que serveur autonome. Pour ce faire, utilisez l'option (d pour daemon qui est - l'appelation consacr?e pour les serveurs Unix) : + l'appellation consacr?e pour les serveurs Unix) : $ svnserve -d @@ -539,7 +539,7 @@ est situ? sous /var/svn/projet-1, un client l'atteindra par svn://hote.exemple.com/var/svn/projet-1. Pour - am?liorer la s?curit?, vous pouvez passer l'option + renforcer la s?curit?, vous pouvez passer l'option ? svnserve afin de restreindre l'export aux d?p?ts situ?s sous le chemin indiqu?. Par exemple : @@ -551,9 +551,9 @@ L'utilisation de l'option modifie le chemin que le serveur consid?re comme la racine du syst?me de - fichiers ? exporter. Les clients utiliseront alors des URL avec - cette portion du chemin supprim?e (ce qui rend les URL plus - courtes et plus discr?tes) : + fichiers ? exporter. Les clients utiliseront alors des URL ne + comportant pas cette portion du chemin (ce qui rend les URL + plus courtes et plus discr?tes) : $ svn checkout svn://hote.exemple.com/projet-1 @@ -599,7 +599,7 @@ Si votre syst?me utilise un serveur inetd classique de type Unix, vous pouvez ajouter la ligne suivante ? - /etc/inetd.conf: + /etc/inetd.conf : svn stream tcp nowait proprio-svn /usr/bin/svnserve svnserve -i @@ -633,11 +633,11 @@ serveur SSH qui le fait ? votre place). Le programme svnserve se comporte alors normalement (utilisation des entr?es/sorties stdin et - stdout)et suppose que le trafic est + stdout) et suppose que le trafic est redirig? automatiquement vers le client par un tunnel. Quand svnserve est lanc? par un gestionnaire de tunnel comme ici, soyez sans crainte : l'utilisateur - authentifi? poss?dera les droits de lecture et d'?criture sur + authentifi? poss?dera les droits de lecture et d'?criture sur les fichiers de la base de donn?es. C'est essentiellement la m?me chose que quand un utilisateur local acc?de au d?p?t via des URL file://. @@ -716,8 +716,8 @@ start= auto - Notez aussi que le terme binpathpr?te ? - confusion : sa valeur est une ligne de + Notez aussi que le terme binpath pr?te + ? confusion : sa valeur est une ligne de commande, pas le chemin d'acc?s ? un ex?cutable. C'est pourquoi vous devez l'entourer de guillemets s'il contient des espaces. @@ -725,7 +725,7 @@ Une fois que le service a ?t? cr?e, il peut ?tre arr?t?, d?marr? ou interrog? ? l'aide des outils standards de l'interface graphique (le programme Services - des outils d'administration) ou en ligne de + des outils d'administration) ou de la ligne de commande : @@ -818,7 +818,7 @@ ([ et ]), les lignes de commentaires commencent par des di?ses (#) et chaque paragraphe contient des variables sp?cifiques qui peuvent - ?tre d?finies (variable = valeur). Examinons + ?tre d?finies (variable = valeur). Examinons ces fichiers et apprenons ? les utiliser. @@ -826,7 +826,7 @@ Cr?ation d'un fichier utilisateurs et d'un domaine d'authentification - Pour ce qui suit, le section [general] + Pour ce qui suit, la section [general] de svnserve.conf contient toutes les variables dont vous avez besoin. Commencez par modifier les valeurs de toutes les variables : choisissez un nom pour @@ -890,7 +890,7 @@ faire. Les variables anon-access et auth-access peuvent contenir les valeurs none, read, ou - write. Choisir la valeur + write. Choisir la valeur none emp?che ? la fois lecture et ?criture ; read autorise l'acc?s en lecture seule au d?p?t et write autorise @@ -961,8 +961,8 @@ Utilisation de svnserve avec SASL - Pour de nombreuses ?quipes, l'authentification par CRAM-MD5 - suffit ? leurs besoins. Cependant, si votre serveur (et vos + L'authentification par CRAM-MD5 suffit aux besoins + de bon nombre d'?quipes. Cependant, si votre serveur (et vos clients Subversion) ont ?t? compil?s avec la biblioth?que Cyrus Simple Authentication and Security Layer (SASL), vous avez ? votre disposition un certain nombre @@ -1011,8 +1011,8 @@ CRAM-MD5 et ANONYMOUS (voir ). Si le serveur et le client ont ?t? compil?s pour inclure SASL, un certain nombre - d'autres m?canismes d'authentification seront ?ventuellement - disponibles. N?anmoins, vous devrez configurer explicitement + d'autres m?canismes d'authentification sont ?ventuellement + disponibles. N?anmoins, vous devez configurer explicitement SASL sur le serveur pour qu'ils soient propos?s. @@ -1032,7 +1032,7 @@ Ensuite, cr?ez le fichier principal de configuration de SASL, appel? svn.conf, ? un endroit o? la biblioth?que SASL saura le trouver — g?n?ralement dans - un r?pertoire o? sont situ?s les greffons SASL. Vous devrez + un r?pertoire o? sont situ?s les greffons SASL. Vous devez localiser le r?pertoire des greffons de votre syst?me, tel que /usr/lib/sasl2/ ou /etc/sasl2/ (notez qu'il ne @@ -1045,11 +1045,11 @@ pour indiquer ? SASL les emplacements o? chercher. Cr?ez une cl? nomm?e [HKEY_LOCAL_MACHINE\SOFTWARE\Carnegie Mellon\Project Cyrus\SASL Library] et placez-y deux - cl?s : l'une appel?e SearchPath + cl?s : l'une appel?e SearchPath (dont la valeur est le chemin du r?pertoire contenant les biblioth?ques de greffons SASL sasl*.dll) et l'autre appel?e - ConfFile(dont la valeur est le chemin du + ConfFile (dont la valeur est le chemin du r?pertoire parent contenant le fichier svn.conf que vous avez cr??). @@ -1078,7 +1078,7 @@ vous demandez ? SASL de proposer le m?canisme DIGEST-MD5 aux clients et de comparer les mots de passe des utilisateurs ? une base de mots de passe priv?e situ?e ? l'emplacement - /etc/ma_bdd_sasl. Un administrateur + /etc/ma_bdd_sasl. Un administrateur syst?me pourra ensuite utiliser le programme saslpasswd2 pour ajouter ou modifier les noms d'utilisateurs et les mots de passe contenus dans cette @@ -1091,7 +1091,7 @@ Quelques consignes de prudence : tout d'abord, l'argument domaine qui est pass? ? saslpasswd2 doit correspondre au m?me - domaine celui que vous avez d?fini dans le fichier + domaine que celui que vous avez d?fini dans le fichier svnserve.conf ; s'ils ne correspondent pas, l'authentification ?chouera. En outre, ? cause d'une limitation de SASL, ce domaine commun doit ?tre @@ -1110,10 +1110,10 @@ Souvenez-vous que si vous configurez votre serveur pour qu'il n'autorise que certains m?canismes d'authentification - SASL, tous les clients qui se connecteront auront l'obligation + SASL, tous les clients qui se connectent ont l'obligation de supporter SASL. Tout client Subversion compil? sans SASL (ce qui inclut tous les clients ant?rieurs ? la version 1.5) - sera incapable de se connecter. D'un autre c?t?, ce type de + est incapable de se connecter. D'un autre c?t?, ce type de restriction est peut-?tre exactement ce que vous recherchez (Mes clients doivent tous utiliser Kerberos !). N?anmoins, si vous voulez permettre ? des clients non-SASL de @@ -1133,7 +1133,7 @@ requi?rent l'utilisation de la biblioth?que OpenSSL. Pour activer ou d?sactiver diff?rents niveaux de chiffrement, vous pouvez d?finir deux variables dans le fichier - svnserve.confde votre d?p?t : + svnserve.conf de votre d?p?t : [sasl] @@ -1197,7 +1197,7 @@ des utilisateurs) puis un processus svnserve priv? est g?n?r? automatiquement sur la machine distante, processus dont le propri?taire est l'utilisateur - harryssh. La commande + harryssh. La commande svnserve est lanc?e en mode tunnel () et son protocole r?seau est encapsul? dans la connexion chiffr?e par ssh, le @@ -1281,12 +1281,12 @@ svn+rsh://nomdutilisateur at hote/chemin), le client va l'inclure dans sa commande (rsh nomdutilisateur at hote svnserve -t). Mais vous pouvez - d?finir des sch?mas d'encapsulation bien plus ?volu?s que - ?a : + d?finir des sch?mas d'encapsulation bien plus + ?volu?s : [tunnels] -paulssh = $PAULSSH /opt/alternate/ssh -p 29934 +joessh = $JOESSH /opt/alternate/ssh -p 29934 Cet exemple illustre plusieurs choses. D'abord, il indique @@ -1308,9 +1308,9 @@ chacun se connectant par exemple ? un port diff?rent ou passant des options diff?rentes ? SSH, vous pouvez utiliser le m?canisme illustr? dans cet exemple. Concr?tement, si nous donnons une - valeur ? la variable d'environnement PAULSSH, + valeur ? la variable d'environnement JOESSH, cette valeur remplacera la totalit? de la valeur de la variable - d'encapsulation — $PAULSSH serait + d'encapsulation — $JOESSH serait ex?cut? au lieu de /opt/alternate/ssh -p 29934. @@ -1330,7 +1330,7 @@ - Mise en oeuvre initiale + Mise en ?uvre initiale Pour commencer, localisez le r?pertoire home du compte utilisateur que vous utilisez pour lancer @@ -1362,12 +1362,12 @@ command="programme" ssh-dsa AAAABtce9euch? utilisateur at exemple.com - Quand le champ command, le serveur SSH - va lancer le programme indiqu? en lieu et place de l'habituel - svnserve en mode tunnel que le client - Subversion a demand?. En d?coulent un certain nombre d'astuces - c?t? serveur. Dans les exemples suivants, nous abr?geons les - lignes du fichier par : + Quand le champ command est pr?sent, le + serveur SSH va lancer le programme indiqu? en lieu et place de + l'habituel svnserve en mode tunnel que le + client Subversion a demand?. En d?coulent un certain nombre + d'astuces c?t? serveur. Dans les exemples suivants, nous + abr?geons les lignes du fichier par : command="programme" TYPE CL? COMMENTAIRE @@ -1392,7 +1392,7 @@ peut ?tre un script personnalis? construit autour de svnserve qui sp?cifie le umask ? utiliser (voir ). Il - indique aussi comment comment ancrer + indique aussi comment ancrer svnserve dans un r?pertoire racine virtuel, ce qui est aussi tr?s souvent utilis? quand svnserve fonctionne en tant que d?mon. Le @@ -1435,7 +1435,7 @@ d'un port quelconque de votre serveur. Pour accorder le moins de droits possibles ? l'utilisateur, vous pouvez sp?cifier des options de restriction imm?diatement apr?s la commande - du champ command: + du champ command : command="svnserve -t --tunnel-user=harry",no-port-forwarding,no-agent-for @@ -1471,11 +1471,11 @@ de HTTP 1.1 (voir pour plus d'informations). Ce protocole se base sur HTTP, le protocole omnipr?sent ? la base du World Wide Web, lui ajoute des - fonctionnalit?s d'?criture et, en particulier, d'?criture - versionn?e. Le r?sultat est un syst?me robuste et standardis? qui - est inclus dans le logiciel Apache 2.0, support? par de nombreux - syst?mes d'exploitation et outils tiers, et qui ne demande pas - aux administrateurs r?seaux d'ouvrir un port r?seau + fonctionnalit?s d'?criture et, en particulier, d'?criture avec + gestion de versions. Le r?sultat est un syst?me robuste et standardis? + qui est inclus dans le logiciel Apache 2.0, support? par de + nombreux syst?mes d'exploitation et outils tiers, et qui ne demande + pas aux administrateurs r?seaux d'ouvrir un port r?seau suppl?mentaire C'est une chose qu'ils d?testent faire. . @@ -1499,7 +1499,7 @@ apporterez ? votre configuration d'Apache, il est probable que vous commettrez des erreurs. Si vous n'?tes pas d?j? familier avec le sous-syst?me de journalisation d'Apache, vous devrez apprendre - ? le conna?tre. Dans votre fichier httpd.conf + ? le conna?tre. Dans votre fichier httpd.conf, des directives sp?cifient l'emplacement sur le disque des journaux d'acc?s et d'erreurs g?n?r?s par Apache (les directives CustomLog et ErrorLog @@ -1513,7 +1513,7 @@ ? propos d'Apache 2 Si vous ?tes un administrateur syst?me, il est tr?s probable - que vous utilisiez d?j? le serveur web Apache et qui vous en + que vous utilisiez d?j? le serveur web Apache et que vous en ayez une exp?rience pr?alable. ? l'heure o? ces lignes sont ?crites, Apache 1.3 est la version la plus populaire d'Apache. Le passage de la communaut? ? Apache 2 est assez lent, pour @@ -1526,7 +1526,7 @@ ils d?couvrent que le module Apache de Subversion a ?t? ?crit sp?cifiquement pour l'API d'Apache 2. - Mais, ne vous inqui?tez pas ! Il est facile de faire + Mais ne vous inqui?tez pas ! Il est facile de faire fonctionner Apache 1.3 et Apache 2 c?te ? c?te ; il suffit de les installer dans des endroits s?par?s et d'utiliser Apache 2 en tant que serveur d?di? fonctionnant @@ -1572,14 +1572,14 @@ Vous pouvez accomplir les deux premi?res t?ches ci-dessus soit en compilant httpd et Subversion ? - partir du code source soit en installant les paquets binaires + partir du code source, soit en installant les paquets binaires pr?compil?s correspondants sur votre syst?me. Les informations les plus r?centes sur la fa?on de compiler Subversion dans le cadre d'une utilisation en conjonction avec le serveur - HTTP Apache, sur la compilation et la configuration d'Apache - lui-m?me dans cet objectif, sont consultables dans le fichier - INSTALL situ? ? la racine de l'arborescence - du code source de Subversion. + HTTP Apache, sur la compilation et sur la configuration + d'Apache lui-m?me dans cet objectif, sont consultables dans le + fichier INSTALL situ? ? la racine de + l'arborescence du code source de Subversion. @@ -1606,12 +1606,13 @@ LoadModule dav_svn_module modules/mod_dav_svn.so - Notez que si mod_dav a aussi ?t? compil? sous forme de - biblioth?que partag?e (et non par une ?dition de liens statiques - qui le place alors directement dans l'ex?cutable + Notez que si mod_dav a aussi ?t? compil? + sous forme de biblioth?que partag?e (et non par une ?dition de + liens statiques qui le place alors directement dans l'ex?cutable httpd), il vous faudra une directive - LoadModule pour celui-ci. Assurez-vous qu'il - est plac? avant la ligne mod_dav_svn : + LoadModule pour celui-ci. Assurez-vous + qu'elle est plac?e avant la ligne + mod_dav_svn : LoadModule dav_module modules/mod_dav.so @@ -1619,18 +1620,18 @@ - Plus loin au sein de votre fichier de configuration, vous + Plus loin dans votre fichier de configuration, vous devez indiquer ? Apache l'endroit o? r?side votre d?p?t (ou vos d?p?ts) Subversion. La directive Location poss?de une syntaxe de type XML, qui commence par une balise de - d?but et se termine par une balise de fin et diverses autres + d?but, se termine par une balise de fin et contient diverses autres directives de configuration au milieu. Le sens de la directive Location est de faire faire ? Apache quelque chose de sp?cial quand il traite les requ?tes adress?es ? une URL donn?e ou ? une de ses filles. Dans le cas de Subversion, il faut qu'Apache fasse traiter par la couche DAV les URL pointant vers les ressources suivies en versions. Vous pouvez indiquer ? - Apache de d?l?guer le traitement de toutes les URLs dont la + Apache de d?l?guer le traitement de toutes les URL dont la partie chemin d'acc?s (la partie de l'URL qui suit le nom du serveur et le num?ro de port optionnel) commence par /depot/ ? un gestionnaire de DAV dont le @@ -1652,9 +1653,9 @@ r?pertoire parent commun. Par exemple, si vous savez que vous allez cr?er plusieurs d?p?ts Subversion dans le r?pertoire /var/svn, auxquels on acc?dera par des URL - telles que http:///mon.serveur.com/svn/depot1, - http:///mon.serveur.com/svn/depot2, etc., vous pouvez - utiliser la syntaxe de configuration de + telles que http://mon.serveur.com/svn/depot1, + http://mon.serveur.com/svn/depot2, etc., vous + pouvez utiliser la syntaxe de configuration de httpd.conf de l'exemple suivant : @@ -1683,7 +1684,7 @@ DocumentRoot (c'est-?-dire le r?pertoire racine des fichiers qu'Apache expose sur le web) principal est export? vers /www, n'exportez pas de d?p?t - Subversion vers <Location /www/depot>. + Subversion vers <Location /www/depot>. Si une requ?te arrivait pour l'URI /www/depot/machin.c, Apache ne saurait pas s'il doit chercher un fichier depot/machin.c @@ -1701,8 +1702,8 @@ serveur. Les modules Apache v?rifient que la source de la copie est bien situ?e sur la m?me machine que la destination. Pour satisfaire cette exigence, vous aurez peut-?tre besoin de - d?clarer ? mod_dav que vous utilisez en - tant que nom d'h?te de votre serveur. En g?n?ral la directive + d?clarer ? mod_dav le nom d'h?te de votre + serveur. En g?n?ral, la directive ServerName du fichier httpd.conf peut ?tre utilis?e ? cette fin. @@ -1719,11 +1720,11 @@ plus de d?tails. - Maintenant, il nous faut examiner s?rieusement la question + ? pr?sent, il nous faut examiner s?rieusement la question des droits d'acc?s. Si vous utilisez Apache depuis un certain temps en tant que serveur web principal, vous h?bergez certainement pas mal de contenu : des pages web, des - scripts, etc. Ces ?l?ments ont d?j? ?t? configur?s avec un + scripts, etc. Ces ?l?ments ont d?j? ?t? configur?s avec un ensemble de droits qui leur permet de fonctionner avec Apache, ou plus exactement qui permet ? Apache de travailler avec ces fichiers. Apache, quand on l'utilise en tant que serveur @@ -1763,11 +1764,11 @@ </Location> - Votre d?p?t est ? pr?sent accessible + votre d?p?t est ? pr?sent accessible anonymement au reste du monde. Jusqu'? ce que configuriez des politiques d'authentification et de contr?le - d'acc?s, les d?p?ts Subversion que vous rendez disponible via la - directive Location sont g?n?ralement + d'acc?s, les d?p?ts Subversion que vous rendez disponibles via + la directive Location sont g?n?ralement accessibles ? tous. En d'autres termes : @@ -1789,7 +1790,7 @@ Bien s?r, vous avez peut-?tre d?j? mis en place une proc?dure automatique pre-commit pour emp?cher les - propagations (voir ). + propagations (voir ). Mais en progressant dans la lecture de ce chapitre, vous verrez qu'il est ?galement possible d'utiliser les m?thodes int?gr?es dans Apache pour restreindre les acc?s de fa?on @@ -1823,7 +1824,7 @@ $ - Puis, vous devez ajouter des directives dans le bloc + Ensuite, vous devez ajouter des directives dans le bloc Location du fichier httpd.conf pour indiquer ? Apache comment se servir du nouveau fichier des mots de passe. La directive @@ -1832,7 +1833,7 @@ le mode Basic. La directive AuthName permet de donner un nom arbitraire au domaine d'authentification. La plupart des navigateurs - affichent ce nom dans la boite de dialogue surgissante (pop-up) + affichent ce nom dans la bo?te de dialogue (pop-up) qui demande le nom d'utilisateur et le mot de passe. Enfin, utilisez la directive AuthUserFile pour sp?cifier le chemin du fichier des mots de passe que vous venez @@ -1879,7 +1880,7 @@ Prenez bien soin de lire qui suit pour plus de d?tails sur la directive Require et sur les - autres mani?res de mettre en oeuvre des politiques de contr?le + autres mani?res de mettre en ?uvre des politiques de contr?le d'acc?s. Un petit avertissement : les mots de passe de la @@ -1898,7 +1899,8 @@ une fonction de hachage ? une donn?e cr??e pour l'occasion. Le serveur envoie au client une cha?ne plus ou moins al?atoire de petite taille ; le client se sert du mot de passe de - l'utilisateur pour cr?er un condensat (hash en anglais) de + l'utilisateur pour cr?er un condensat + (hash en anglais) de cette cha?ne ; le serveur examine ensuite si le condensat correspond ? ses attentes. @@ -1910,7 +1912,7 @@ <Location /svn> - DAV svn + DAV svn SVNParentPath /var/svn AuthType Digest AuthName "Depot Subversion" @@ -1929,10 +1931,11 @@ certificat serveur auto-sign? Bien que les certificats serveurs auto-sign?s soient vuln?rables aux attaques du type - man-in-the-middle (attaque de - l'homme du milieu en fran?ais), une telle attaque - est bien plus difficile ? ex?cuter pour un observateur - occasionnel que de juste espionner les mots de passe + man-in-the-middle + (attaque de l'homme du milieu en fran?ais), + une telle attaque est bien plus difficile + ? ex?cuter pour un observateur occasionnel + que de juste espionner les mots de passe qui passent en clair sur le r?seau. . Consultez la documentation Apache (et la documentation @@ -1954,13 +1957,13 @@ Si un client Subversion est compil? pour utiliser OpenSSL, il obtient la possibilit? de communiquer avec le serveur - Apache via des URLs https://. La + Apache via des URL https://. La biblioth?que Neon utilis?e par le client Subversion est non seulement capable de v?rifier les certificats du serveur, mais aussi de renvoyer des certificats clients quand on le lui demande. Une fois que le client et le serveur ont ?chang? des certificats SSL et se sont authentifi?s mutuellement avec - succ?s, toute la communication qui s'ensuit est chiffr?e par + succ?s, tous les ?changes qui s'ensuivent sont chiffr?s par une cl? de session. Expliquer comment g?n?rer des certificats clients et @@ -1987,8 +1990,9 @@ biblioth?que OpenSSL effectue cette v?rification en examinant le signataire du certificat serveur, aussi nomm? autorit? de certification (AC, ou - CA en anglais). Si OpenSSL n'est pas capable de - faire confiance automatiquement ? l'autorit? de certification, + CA en anglais). Si OpenSSL + n'est pas capable de faire confiance + automatiquement ? l'autorit? de certification, ou si un autre probl?me appara?t (tel que l'expiration du certificat ou des noms d'h?tes divergents), le client en ligne de commande de Subversion vous demande si vous voulez faire @@ -1997,9 +2001,7 @@ $ svn list https://hote.exemple.com/depot/projet -(de 'https://hote.exemple.com:443') - Le certificat conduit ? une erreur inconnue : - - Le certificat a expir?. - - Le nom d'h?te du certificat ne correspond pas. +Erreur de validation du certificat du serveur pour 'https://hote.exemple.com:443' : - Le certificat n'est pas sign? pas une autorit? de confiance. Valider le certificat manuellement ! Informations du certificat : @@ -2024,8 +2026,8 @@ certificat dans les ?changes futurs. Votre fichier servers dans la zone de - configuration vous permet ?galement d'indiquer ? votre client - Subversion qu'il doit faire confiance automatiquement ? + configuration vous permet ?galement d'indiquer au client + Subversion qu'il doit automatiquement faire confiance ? certaines autorit?s de certification sp?cifiques, soit globalement, soit en tenant compte de la machine h?te. Il suffit d'attribuer ? la variable @@ -2055,8 +2057,8 @@ confiance ainsi qu'une preuve que le client poss?de bien la cl? priv?e associ?e au certificat (la r?ponse au d?fi). La cl? priv?e, ainsi que le certificat public, sont habituellement - enregistr?s dans un conteneur (un fichier .p12 - qui indique un fichier au format PKCS#12) sur le + enregistr?s dans un conteneur (un fichier .p12, + fichier au format PKCS#12) sur le disque, la cl? priv?e ?tant chiffr?e ? l'aide d'un mot de passe. Quand Subversion re?oit ce d?fi, il vous demande le chemin d'acc?s au conteneur ainsi que le mot de passe qui @@ -2100,7 +2102,8 @@ Subversion peut r?pondre automatiquement ? une demande de certificat client sans la moindre interaction de votre part - Ceux qui sont parmi les plus soucieux de s?curit? + Les administrateurs qui attachent le plus + d'importance ? la s?curit? peuvent ne pas vouloir stocker le mot de passe du certificat client dans le fichier servers de la zone de @@ -2137,7 +2140,7 @@ <Location>. Pour poursuivre dans la veine de notre exemple pr?c?dent, cela signifie que seuls les clients disant ?tre harry ou - Sally et qui ont fourni le bon mot de passe + sally et qui ont fourni le bon mot de passe pour leur nom d'utilisateur respectif ont l'autorisation d'effectuer des actions sur le d?p?t Subversion : @@ -2205,8 +2208,8 @@ Ce ne sont l? que quelques exemples simples. Pour des informations plus pouss?es sur le contr?le d'acc?s d'Apache et - la directive Require, jetez un oeil ? la - section Security du recueil des tutoriaux + la directive Require, jetez un ?il ? la + section Security du recueil des didacticiels de la documentation Apache ? l'adresse (site en anglais). @@ -2259,7 +2262,7 @@ Le bloc le plus simple consiste ? donner l'acc?s ? tout le monde. Dans ce sc?nario, Apache n'envoie jamais de d?fi d'authentification, tous les utilisateurs sont donc trait?s en - tant qu'anonymes. (voir l'anonymes (voir l'). @@ -2282,7 +2285,7 @@ l'authentification inconditionnelle via la directive Require valid-user et d?finit le moyen de s'authentifier (voir l'.) + linkend="svn.serverconfig.httpd.authz.perdir.ex-2"/>). Exemple-type de configuration : acc?s authentifi? @@ -2321,8 +2324,8 @@ l'). - Exemple-type de configuration : acc?s mixte - authentifi?/anonyme + Exemple-type de configuration : acc?s mixte + authentifi?/anonyme <Location /depot> DAV svn @@ -2348,8 +2351,9 @@ Une fois l'un de ces mod?les mis en place dans votre fichier httpd.conf, vous devez cr?er un fichier contenant les r?gles d'acc?s particuli?res pour chaque - chemin de votre d?pot. Nous en reparlons plus dans ce chapitre, - ? . + chemin de votre d?p?t. Nous en parlons plus en d?tails + plus loin dans ce chapitre, ? . @@ -2396,7 +2400,7 @@ D'un autre c?t?, il existe une sorte d'?chappatoire qui vous permet de faire un compromis entre les fonctions de - s?curit? et la vitesse. Si vous ne mettez pas en oeuvre de + s?curit? et la vitesse. Si vous ne mettez pas en ?uvre de contr?le d'acc?s sur les chemins (c'est-?-dire, si vous n'utilisez ni mod_authz_svn ni un module similaire), vous pouvez d?sactiver tous ces contr?les sur les @@ -2445,19 +2449,19 @@ Un des avantages les plus frappants d'avoir une configuration Apache/WebDAV pour votre d?p?t Subversion est que les r?visions les plus r?centes de vos fichiers et - r?pertoires versionn?s sont imm?diatement consultables ? - l'aide d'un navigateur web classique. Puisque Subversion - utilise des URL pour identifier les ressources versionn?es, - ces URL utilis?es pour acc?der aux d?p?ts via HTTP peuvent - ?tre tap?es directement dans un navigateur web. Votre + r?pertoires suivis en versions sont imm?diatement consultables + ? l'aide d'un navigateur web classique. Puisque Subversion + utilise des URL pour identifier les ressources suivies en + versions, ces URL utilis?es pour acc?der aux d?p?ts via HTTP + peuvent ?tre tap?es directement dans un navigateur web. Votre navigateur enverra une requ?te HTTP GET pour cette URL ; selon que cette URL repr?sente ou non - un fichier ou un r?pertoire versionn?, + un fichier ou un r?pertoire suivi en versions, mod_dav_svn renverra soit la liste des - ?l?ments du r?pertoire soit le contenu du fichier. + ?l?ments du r?pertoire, soit le contenu du fichier. Comme les URL ne contiennent pas d'informations concernant - la version de la ressource vous voulez voir, + la version de la ressource qui vous int?resse, mod_dav_svn renverra toujours la version la plus r?cente. Cette fonctionnalit? a un merveilleux effet secondaire : vous pouvez partager avec vos pairs des @@ -2484,7 +2488,7 @@ une ancienne version d'un fichier, un client doit suivre une proc?dure sp?cifique pour d?couvrir l'URL appropri?e ; cette proc?dure n?cessite d'envoyer - une s?rie de requ?tes WebDAB PROPFIND et + une s?rie de requ?tes WebDAV PROPFIND et de comprendre les concepts DeltaV. C'est quelque chose que votre navigateur web n'est pas capable de faire. @@ -2517,15 +2521,15 @@ quelque sorte un type MIME. Par d?faut, Apache va indiquer aux navigateurs web que tous les fichiers du d?p?t sont du type MIME par d?faut, en g?n?ral - text/plain. Cela peut ?tre frustrant, - cependant, si un utilisateur d?sire visualiser les fichiers + text/plain. Cela peut s'av?rer assez + frustrant, si un utilisateur d?sire visualiser les fichiers du d?p?t de mani?re plus appropri?e — par exemple, - cela pourrait ?tre une bonne chose d'afficher un fichier - truc.html du d?p?t sous forme d'une - vraie page HTML. + un fichier truc.html du d?p?t sera bien + plus lisible s'il est rendu dans le navigateur en tant que + fichier HTML. Pour rendre ceci possible, il suffit de vous assurer que - vos fichiers ont bien d?fini la propri?t? + vos fichiers portent bien la propri?t? svn:mime-type. Plus de d?tails sur ce sujet sont disponibles dans et vous @@ -2553,9 +2557,9 @@ Personnalisation de l'aspect - En g?n?ral vous utiliserez plus souvent les URL de - fichiers suivis en versions, apr?s tout c'est l? que le - contenu int?ressant r?side. Mais vous aurez peut-?tre + En g?n?ral, vous utiliserez principalement des URL de + fichiers suivis en versions ; apr?s tout c'est l? que + le contenu int?ressant r?side. Mais vous aurez peut-?tre l'occasion de naviguer dans le contenu d'un r?pertoire Subversion et vous remarquerez rapidement que le code HTML g?n?r? pour afficher la liste des ?l?ments du r?pertoire @@ -2590,7 +2594,7 @@ r?pertoire tools/xslt/ du code source de Subversion. Gardez ? l'esprit que le chemin d'acc?s fourni au r?pertoire SVNIndexXSLT est en fait une - URL — les navigateurs de chemins doivent d?j? ?tre + URL — les navigateurs de chemins doivent ?tre capables de lire vos feuilles de style pour les utiliser ! @@ -2618,8 +2622,8 @@ http://hote.exemple.com/svn/, il verra une liste de tous les d?p?ts Subversion situ?s dans /var/svn. ?videmment, ceci peut poser - des probl?mes de s?curit?, cette fonctionnalit? est donc - d?sactiv?e par d?faut. + des probl?mes de s?curit? ; cette fonctionnalit? est + donc d?sactiv?e par d?faut. @@ -2641,7 +2645,7 @@ appara?tre ? diff?rents endroits, mais sont en g?n?ral cr??s dans la zone de journalisation de votre installation Apache (sur Unix, ils r?sident souvent dans - /usr/local/apache2/logs/.) + /usr/local/apache2/logs/). Le fichier error_log d?crit toutes les erreurs internes qu'Apache rencontre au cours de son @@ -2659,7 +2663,7 @@ difficile d'examiner le fichier access_log et d'en d?duire ce que le client faisait — la plupart des op?rations se pr?sentent sous la forme de s?ries de - requ?tes PROPPATCH, GET, + requ?tes PROPPATCH, GET, PUT et REPORT ?nigmatiques. Pour couronner le tout, de nombreuses op?rations du client envoient des s?ries de requ?tes quasi-identiques, il @@ -2688,8 +2692,8 @@ Dans cet exemple, nous demandons ? Apache de cr?er un - fichier journal sp?cial, journal-svn dans - le r?pertoire classique de journaux d'Apache + fichier journal sp?cial, journal-svn, + dans le r?pertoire habituel de journaux d'Apache (logs). Les variables %t et %u sont remplac?es par l'horodatage et le nom d'utilisateur de la requ?te, @@ -2800,7 +2804,7 @@ les esclaves. Assurez-vous que vos serveurs ma?tre et esclaves ont tous des configurations identiques d'authentification et de contr?le d'acc?s ; s'ils ne - peuvent plus se synchroniser, cela peut vous conduire ? + peuvent plus se synchroniser, cela peut engendrer beaucoup d'ennuis. Ensuite nous devons nous occuper du probl?me de la @@ -2814,7 +2818,7 @@ simple client en train d'effectuer une propagation, l'esclave va imm?diatement tenter d'envoyer vers le ma?tre la requ?te d'?criture qui vient d'arriver ! Et l?, - patatras !. + patatras ! La solution consiste ? s'arranger pour que le ma?tre pousse les r?visions vers un emplacement @@ -2846,7 +2850,7 @@ Location du ma?tre et des esclaves, vous devez configurer le ma?tre pour que la r?plication vers les esclaves fonctionne. Ceci se fait de la mani?re habituelle, - en utilisant svnsync. Si vous n'?tes pas + en utilisant svnsync. Si vous n'?tes pas familier avec cet outil, reportez-vous ? pour plus de d?tails. @@ -2917,8 +2921,8 @@ pas n?cessaires, mais constituent un moyen astucieux d'autoriser svnsync ? lancer des commandes qui fonctionneront ? l'arri?re-plan, de telle - sorte que le client subversion ne se retrouvera pas ? - attendre ind?finiment que la propagation se termine. en + sorte que le client Subversion ne se retrouvera pas ? + attendre ind?finiment que la propagation se termine. En plus de cette proc?dure post-propagation (post-commit), vous aurez ?galement besoin d'une proc?dure post-revprop-change @@ -2928,7 +2932,8 @@ #!/bin/sh -# Proc?dure post-revprop-change pour r?pliquer les modifications revprop-changes vers les esclaves +# Proc?dure post-revprop-change pour r?pliquer les modifications +# des propri?t?s de r?visions vers les esclaves REV=${2} svnsync copy-revprops http://esclave1.exemple.com/svn-proxy-sync ${REV} > /dev/null 2>&1 @@ -2954,15 +2959,15 @@ svn lock et svn unlock sur les serveurs esclaves, vraisemblablement ? l'aide d'une m?thode de connexion ? - distance telle que SSH. Nous laissons ceci en guise - d'exercice au lecteur ! + distance telle que SSH. Nous laissons ceci au lecteur + en guise d'exercice ! Pi?ges ? ?viter - Votre syst?me de r?plication ma?tre/esclave doiit ? + Votre syst?me de r?plication ma?tre/esclave doit ? pr?sent ?tre pr?t ? l'emploi. Cependant, quelques consignes de prudence sont de mise. Souvenez-vous que la r?plication n'est pas totalement robuste en ce qui concerne les @@ -3017,7 +3022,7 @@ Apache, en tant que serveur web robuste, dont on peut tirer profit pour am?liorer les fonctionnalit?s ou la s?curit? de Subversion. Le client Subversion est capable d'utiliser SSL - (Secure Socket Layer — le protocole de s?curisation des + (Secure Socket Layer, le protocole de s?curisation des ?changes sur internet, pr?sent? auparavant). Si votre client Subversion a ?t? compil? en incluant le support de SSL, il peut acc?der ? votre serveur Apache en utilisant des URL @@ -3027,7 +3032,7 @@ D'autres fonctionnalit?s de la relation Apache/Subversion sont ?galement tout aussi utiles, comme par exemple la possibilit? de sp?cifier un port personnalis? (au lieu du port - HTTP par d?faut :80) ou un nom de domaine virtuel par lequel + HTTP par d?faut, 80) ou un nom de domaine virtuel par lequel acc?der au d?p?t Subversion ou la possibilit? d'acc?der au d?p?t via un serveur mandataire HTTP. @@ -3094,10 +3099,10 @@ pour la premi?re fois ont tendance ? se lancer dans le contr?le d'acc?s bas? sur les chemins sans trop y r?fl?chir. L'administrateur sait en g?n?ral quelles ?quipes travaillent sur - quel projet, il est d?s lors facile de d?marrer et d'accorder + quel projet, il est d?s lors facile de d?marrer en accordant l'acc?s pour certains r?pertoires ? certaines ?quipes et pas ? - d'autres. ?a peut sembler assez naturel, et apaiser le d?sir de - l'administrateur de contr?ler le d?p?t de tr?s pr?s. + d'autres. Ceci peut sembler assez naturel, et assouvir le d?sir + de l'administrateur de contr?ler le d?p?t de tr?s pr?s. Notez cependant qu'il y a souvent des co?ts invisibles (et visibles !) associ?s ? cette fonctionnalit?. Dans la @@ -3117,7 +3122,7 @@ en place une barri?re ? la collaboration. Vous cr?ez aussi tout un tas de r?gles qui doivent ?tre g?r?es au fur et ? mesure que les projets se d?veloppent, que de nouveaux utilisateurs sont - ajout?s, etc. C'est un quantit? de travail suppl?mentaire ? + ajout?s, etc. C'est une quantit? de travail suppl?mentaire ? fournir. Souvenez-vous que c'est un syst?me de gestion de @@ -3159,20 +3164,22 @@ La syntaxe du fichier est la m?me syntaxe que celle utilis?e dans svnserve.conf et dans les fichiers de - configuration. Les lignes comman?ant par un di?se - (#). Dans la forme la plus simple, chaque - section d?signe un d?p?t et un chemin ? l'int?rieur de celui-ci et - les noms d'utilisateurs authentifi?s sont les noms des options ? + configuration. Les lignes commen?ant par un di?se + (#) sont ignor?es. Dans la forme la plus + simple, chaque section d?signe un d?p?t et un chemin + ? l'int?rieur de celui-ci et les noms d'utilisateurs + authentifi?s sont les noms des options ? l'int?rieur de chaque section. La valeur de chaque option d?crit - le niveau d'acc?s au chemin du d?p?t de l'utilsateur : soit - r (lecture seule) soit rw - (lecture/?criture). Si l'utilisateur ne figure pas dans la + le niveau d'acc?s de l'utilisateur au chemin du d?p?t : + soit r (lecture seule), + soit rw (lecture/?criture). ***The diff for this file has been truncated for email.*** From svnbook at googlecode.com Thu May 6 06:03:01 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 06 May 2010 11:03:01 +0000 Subject: [svnbook] r3731 committed - * src/fr/book/ch07-customizing-svn.xml... Message-ID: <0016e64d9a13de25950485eae21c@google.com> Revision: 3731 Author: subversif999 at gmail.com Date: Thu May 6 04:02:41 2010 Log: * src/fr/book/ch07-customizing-svn.xml - Translate Chapter 7 http://code.google.com/p/svnbook/source/detail?r=3731 Modified: /trunk/src/fr/book/ch07-customizing-svn.xml ======================================= --- /trunk/src/fr/book/ch07-customizing-svn.xml Fri Sep 12 07:39:35 2008 +++ /trunk/src/fr/book/ch07-customizing-svn.xml Thu May 6 04:02:41 2010 @@ -1,15 +1,16 @@ - Customizing Your Subversion Experience - - Version control can be a complex subject, as much art as - science, that offers myriad ways of getting stuff done. - Throughout this book, you've read of the various Subversion - command-line client subcommands and the options that modify their - behavior. In this chapter, we'll look into still more ways to - customize the way Subversion works for you—setting up the - Subversion runtime configuration, using external helper - applications, Subversion's interaction with the operating system's - configured locale, and so on. + Personnalisation de Subversion + + La gestion de versions est un sujet complexe, au moins autant + un art qu'une science, qui offre une myriade de fa?ons d'accomplir + chaque t?che. En lisant ce livre, vous avez exp?riment? les + sous-commandes Subversion en ligne de commande et les options pour + modifier leur comportement. Dans ce chapitre, nous passons + en revue les moyens de personnaliser le fonctionnement + de Subversion : la configuration des options d'ex?cution, + l'utilisation d'applications externes pour faciliter certains + traitements, les interactions de Subversion avec la configuration + des param?tres r?gionaux du syst?me d'exploitation, etc. - Runtime Configuration Area - - Subversion provides many optional behaviors that the user can - control. Many of these options are of the kind - that a user would wish to apply to all Subversion operations. - So, rather than forcing users to remember command-line arguments - for specifying these options and to use them for every - operation they perform, Subversion uses configuration files, - segregated into a Subversion configuration area. - - The Subversion configuration area is - a two-tiered hierarchy of option names and their values. - Usually, this boils down to a special directory that contains - configuration files (the first tier), - which are just text files in standard INI format (with - sections providing the second tier). You can - easily edit these files using your favorite text editor (such as - Emacs or vi), and they contain directives read by the client to - determine which of several optional behaviors the user - prefers. + Zone de configuration des ex?cutables + + Subversion permet ? l'utilisateur de contr?ler finement son + comportement. Beaucoup d'options ont vocation ? s'appliquer ? + l'ensemble des op?rations de Subversion. Ainsi, plut?t que de + forcer les utilisateurs ? se souvenir d'arguments en ligne de + commande pour sp?cifier ces options et de les utiliser ? chaque + invocation, Subversion utilise des fichiers de configuration, + tenus ? l'?cart dans une zone de configuration sp?cifique ? + Subversion. + + La zone de configuration Subversion + consiste en une hi?rarchie ? deux niveaux constitu?e de noms + d'options et de leurs valeurs. Habituellement, cela se traduit + par un r?pertoire d?di? qui contient les + fichiers de configuration (le premier + niveau) : des fichiers texte au format standard INI + (dont les sections constituent le deuxi?me + niveau). Vous pouvez facilement ?diter ces fichiers ? l'aide de + votre ?diteur de texte favori (tel qu'Emacs ou vi). Ils + contiennent des directives lues par le client Subversion afin de + d?terminer le comportement par d?faut choisi par + l'utilisateur. - Configuration Area Layout - - The first time the svn - command-line client is executed, it creates a per-user - configuration area. On Unix-like systems, this area appears - as a directory named .subversion in the - user's home directory. On Win32 systems, Subversion creates a - folder named Subversion, typically inside - the Application Data area of the user's - profile directory (which, by the way, is usually a hidden - directory). However, on this platform, the exact location - differs from system to system and is dictated by the Windows - Registry. + Agencement de la zone de configuration + + La premi?re fois que le client svn en + ligne de commande est ex?cut?, il cr?e une zone de + configuration propre ? l'utilisateur. Sur les syst?mes de type + Unix, cette zone est un r?pertoire nomm? + .subversion dans le r?pertoire personnel + de l'utilisateur. Sur les syst?mes Windows, Subversion cr?e un + dossier nomm? Subversion, g?n?ralement + dans la zone Application Data du + r?pertoire qui contient le profil de l'utilisateur (qui est + habituellement, au passage, un r?pertoire cach?). Cependant, + sur cette plate-forme, l'emplacement exact du profil + utilisateur varie d'un syst?me ? l'autre et est dict? par la + base de registre Windows - The APPDATA environment variable - points to the Application Data area, - so you can always refer to this folder as - %APPDATA%\Subversion. - - We will refer to the per-user configuration area using its Unix - name, .subversion. - - In addition to the per-user configuration area, Subversion - also recognizes the existence of a system-wide configuration - area. This gives system administrators the ability to - establish defaults for all users on a given machine. Note - that the system-wide configuration area alone does not dictate - mandatory policy—the settings in the per-user - configuration area override those in the system-wide one, and - command-line arguments supplied to the svn - program have the final word on behavior. On Unix-like - platforms, the system-wide configuration area is - expected to be the /etc/subversion - directory; on Windows machines, it looks for a - Subversion directory inside the common - Application Data location (again, as - specified by the Windows Registry). Unlike the per-user - case, the svn program does not attempt - to create the system-wide configuration area. - - The per-user configuration area currently contains three - files—two configuration files (config and - servers), and a README.txt - file, which describes the INI format. At the time of their - creation, the files contain default values for each of the - supported Subversion options, mostly commented out and grouped - with textual descriptions about how the values for the key - affect Subversion's behavior. To change a certain behavior, - you need only to load the appropriate configuration file into - a text editor, and to modify the desired option's value. If at - any time you wish to have the default configuration settings - restored, you can simply remove (or rename) your configuration - directory and then run some innocuous svn - command, such as svn --version. A new - configuration directory with the default contents will be - created. - - The per-user configuration area also contains a cache of - authentication data. The auth directory - holds a set of subdirectories that contain pieces of cached - information used by Subversion's various supported - authentication methods. This directory is created in such a - way that only the user herself has permission to read its - contents. + La variable d'environnement APPDATA + pointe vers la zone Application Data, + vous pouvez donc toujours faire r?f?rence ? ce dossier en + utilisant %APPDATA%\Subversion. + . + Nous nous r?f?rerons ? cette zone de configuration propre ? + l'utilisateur en utilisant son nom Unix : + .subversion. + + En plus de la zone de configuration propre ? l'utilisateur, + Subversion reconna?t l'existence d'une zone de configuration + globale pour le syst?me. Cela permet aux administrateurs du + syst?me d'?tablir une configuration par d?faut pour l'ensemble + des utilisateurs d'une machine donn?e. Notez que la zone de + configuration globale seule ne fixe pas de politique + d?finitive : les r?glages de l'utilisateur sont + prioritaires par rapport aux r?glages globaux et les options + de la ligne de commande ont toujours le dernier mot. Sur les + plate-formes de type Unix, la zone de configuration globale + doit se trouver dans le r?pertoire + /etc/subversion ; sur les machines + Windows, Subversion cherche un r?pertoire + Subversion dans le dossier commun + Application Data (l? encore, l'endroit + exact d?pend de la base de registre Windows). Au contraire de + la zone propre ? l'utilisateur, le programme + svn ne tente pas de cr?er la zone de + configuration globale. + + La zone de configuration propre ? l'utilisateur contient + actuellement trois fichiers : deux fichiers de + configuration (config et + servers) et un fichier + README.txt qui d?crit le format INI. Lors + de leur cr?ation, ces fichiers contiennent les valeurs par + d?faut de toutes les options support?es par Subversion, + g?n?ralement mises en commentaire et group?es avec une + description textuelle de l'effet de la cl? sur le + fonctionnement de Subversion. Pour modifier un comportement + pr?cis, il suffit de charger le fichier de configuration dans + un ?diteur de texte et de changer la valeur de l'option + correspondante. Si, par la suite, vous voulez r?tablir les + valeurs par d?faut, vous n'avez qu'? supprimer ou renommer + votre r?pertoire de configuration puis lancer une commande + svn inoffensive, telle que + svn --version. Un nouveau r?pertoire + de configuration sera cr??, qui contiendra les valeurs par + d?faut. + + La zone de configuration propre ? l'utilisateur contient + ?galement un cache pour les donn?es d'authentification. Le + r?pertoire auth h?berge un ensemble de + sous-r?pertoires qui contiennent des informations mises en + cache, relatives aux diff?rentes m?thodes d'authentification + utilis?es par Subversion. Ce r?pertoire est cr?? de telle + mani?re que seul l'utilisateur ait acc?s ? son contenu. - Configuration and the Windows Registry - - In addition to the usual INI-based configuration area, - Subversion clients running on Windows platforms may also use - the Windows Registry to hold the configuration data. The - option names and their values are the same as in the INI - files. The file/section hierarchy is - preserved as well, though addressed in a slightly different - fashion—in this schema, files and sections are just - levels in the Registry key tree. - - Subversion looks for system-wide configuration values - under the - HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion - key. For example, the global-ignores option, - which is in the miscellany section of the - config file, would be found at + Configuration via la base de registre Windows + + En plus de la zone de configuration classique contenant + les fichiers INI, les clients Subversion qui tournent sur une + plate-forme Windows peuvent aussi utiliser la base de registre + Windows pour stocker leurs donn?es de configuration. Les noms + des options et leurs valeurs sont les m?mes que dans les + fichiers INI. La hi?rarchie fichier/section est + ?galement pr?sente, bien que trait?e de mani?re l?g?rement + diff?rente : dans ce cas, les fichiers et les sections + sont juste des niveaux dans l'arborescence des cl?s de + registres. + + Subversion cherche les valeurs de configuration + applicables ? tout le syst?me sous la cl? + HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion. + Par exemple, l'option global-ignores, qui + se trouve dans la section miscellany du + fichier de configuration, est situ?e dans HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores. - Per-user configuration values should be stored under + Les valeurs propres ? un utilisateur doivent ?tre stock?es sous HKEY_CURRENT_USER\Software\Tigris.org\Subversion. - - - Registry-based configuration options are parsed - before their file-based counterparts, so - they are overridden by values found in the configuration files. In - other words, Subversion looks for configuration information in - the following locations on a Windows system; lower-numbered - locations take precedence over higher-numbered locations: - + + + Les options de configuration de la base de registre sont + analys?es avant les options des fichiers + INI ; elles sont donc supplant?es par les valeurs trouv?es + dans les fichiers de configuration. En d'autres termes, + Subversion cherche les options de configuration dans l'ordre + suivant sur un syst?me Windows (les plus prioritaires sont + cit?es en premier) : + - Command-line options + les options en ligne de commande ; - The per-user INI files + les fichiers INI propres ? l'utilisateur ; - The per-user Registry values + les valeurs de la base de registre propres + ? l'utilisateur ; - The system-wide INI files + les fichiers INI applicables ? l'ensemble + du syst?me ; - The system-wide Registry values + les valeurs de la base de registre applicables + ? l'ensemble du syst?me. - Also, the Windows Registry doesn't really support the - notion of something being commented out. - However, Subversion will ignore any option key whose name - begins with a hash (#) character. This - allows you to effectively comment out a Subversion option - without deleting the entire key from the Registry, obviously - simplifying the process of restoring that option. - - The svn command-line client never - attempts to write to the Windows Registry and will not attempt - to create a default configuration area there. You can create - the keys you need using the REGEDIT - program. Alternatively, you can create a - .reg file (such as the one in ), and - then double-click on that file's icon in the Explorer shell, - which will cause the data to be merged into your - Registry. + Par ailleurs, la base de registre Windows ne supporte pas + vraiment la notion de mise en commentaire. + Cependant, Subversion ignorera toute cl? dont le nom commence + par le caract?re di?se (#). Cela vous + permet de mettre en commentaire efficacement une option + Subversion sans avoir ? effacer enti?rement la cl? de la base + de registre, ce qui simplifie manifestement la proc?dure de + restauration de l'option. + + Le client en ligne de commande svn + n'?crit jamais dans la base de registre et ne tentera pas d'y + cr?er une zone de configuration par d?faut. Vous pouvez cr?er + les cl?s dont vous avez besoin en utilisant le programme + REGEDIT. Une autre alternative consiste ? + cr?er un fichier .reg (tel que celui + donn? dans l') + puis ? double-cliquer sur l'ic?ne de ce fichier dans + l'explorateur Windows afin d'appliquer les modifications + ? votre base de registre. - Sample registration entries (.reg) file + Exemple de fichier de modification de la base + de registre (.reg) REGEDIT4 @@ -224,230 +245,250 @@ - The previous example shows the contents of a - .reg file, which contains some of the most - commonly used configuration options and their default values. - Note the presence of both system-wide (for network - proxy-related options) and per-user settings (editor programs - and password storage, among others). Also note that all the - options are effectively commented out. You need only to - remove the hash (#) character from the - beginning of the option names and set the values as you - desire. + L'exemple pr?c?dent pr?sente le contenu d'un fichier + .reg qui contient quelques unes des + options les plus commun?ment utilis?es et leurs valeurs + par d?faut. Notez la pr?sence de r?glages propres ? + l'utilisateur (notamment l'?diteur de texte et le stockage + des mots de passe) ainsi que de r?glages applicables ? + l'ensemble du syst?me (comme les options relatives au + mandataire r?seau). Notez ?galement que toutes les options + sont mises en commentaire. Il ne vous reste qu'? supprimer + le caract?re di?se (#) initial des noms + d'options et ? leur affecter la valeur que vous + souhaitez. - Configuration Options + Options de configuration - In this section, we will discuss the specific - runtime configuration options that Subversion currently - supports. + Dans cette section, nous allons nous int?resser aux + options de configuration des programmes support?es par la + version actuelle de Subversion. - Servers - - The servers file contains - Subversion configuration options related to the network - layers. There are two special section names in this - file—groups and - global. The groups - section is essentially a cross-reference table. The keys in - this section are the names of other sections in the file; - their values are globs—textual - tokens that possibly contain wildcard - characters—that are compared against the hostnames of - the machine to which Subversion requests are sent. + Fichier <filename>servers</filename> + + Le fichier servers contient les + options de configuration relatives aux couches r?seau. Il + y a deux sections sp?ciales dans ce fichier : + groups et global. + La section groups n'est rien d'autre + qu'un tableau de r?f?rences crois?es. Les cl?s de cette + section sont les noms des autres sections du fichier ; + ses valeurs sont des globs (des + repr?sentations textuelles qui peuvent contenir des + caract?res joker) qui sont compar?s aux noms des machines + auxquelles des requ?tes Subversion sont envoy?es. [groups] -beanie-babies = *.red-bean.com +serveurs-red-beans = *.red-bean.com collabnet = svn.collab.net -[beanie-babies] +[serveurs-red-beans] … [collabnet] … - When Subversion is used over a network, it attempts to - match the name of the server it is trying to reach with a - group name under the groups section. If - a match is made, Subversion then looks for a section in the - servers file whose name is the matched - group's name. From that section, it reads the actual network - configuration settings. - - The global section contains the - settings that are meant for all of the servers not matched - by one of the globs under the groups - section. The options available in this section are - exactly the same as those that are valid for the other server - sections in the file (except, of course, the special - groups section), and are as - follows: + Quand vous utilisez Subversion en r?seau, il essaie de + faire correspondre le nom du serveur auquel il tente de se + connecter avec un nom de groupe de la section + groups. Si une correspondance existe, + Subversion v?rifie alors s'il existe dans le fichier + servers une section dont le nom est + le nom du groupe correspondant. Le cas ?ch?ant, il tire + de cette section la configuration r?seau ? appliquer. + + La section global contient la + configuration ? appliquer ? tous les serveurs qui ne + correspondent ? aucun glob de la section + groups. Les options disponibles dans + cette section sont exactement les m?mes que pour les autres + sections du fichier (except?e bien s?r la section sp?ciale + groups) et sont : http-proxy-exceptions - This specifies a comma-separated list of patterns - for repository hostnames that should be accessed - directly, without using the proxy machine. The - pattern syntax is the same as is used in the Unix - shell for filenames. A repository hostname matching - any of these patterns will not be proxied. + Cette option contient une liste de motifs + (s?par?s par des virgules) de noms de machines + qui doivent ?tre contact?es directement, sans passer + par le mandataire. La syntaxe des motifs est la m?me + que celle utilis?e par le shell Unix pour les noms de + fichiers. L'acc?s aux d?p?ts d'une machine dont le nom + correspond ? l'un de ces motifs se fera sans passer + par un mandataire. http-proxy-host - This specifies the hostname of the proxy computer - through which your HTTP-based Subversion requests must - pass. It defaults to an empty value, which means that - Subversion will not attempt to route HTTP requests - through a proxy computer, and will instead attempt to - contact the destination machine directly. + Cette option contient le nom de la machine + mandataire pour les requ?tes HTTP de Subversion. La + valeur par d?faut est vide, ce qui signifie que + Subversion ne tentera pas de faire passer ses requ?tes + par un mandataire mais essaiera de contacter la machine + de destination directement. http-proxy-port - This specifies the port number on the proxy host - to use. It defaults to an empty value. + Cette option contient le num?ro du port ? + utiliser sur la machine mandataire. Par d?faut, + la valeur est vide. http-proxy-username - This specifies the username to supply to the proxy - machine. It defaults to an empty value. + Cette option contient le nom d'utilisateur ? + fournir ? la machine mandataire. Par d?faut, la valeur + est vide. http-proxy-password - This specifies the password to supply to the proxy - machine. It defaults to an empty value. + cette option contient le mot de passe ? fournir ? + la machine mandataire. Par d?faut, la valeur est + vide. http-timeout - This specifies the amount of time, in seconds, to - wait for a server response. If you experience - problems with a slow network connection causing - Subversion operations to time out, you should increase - the value of this option. The default value is - 0, which instructs the underlying - HTTP library, Neon, to use its default timeout - setting. + Cette option contient la dur?e maximum, en + secondes, pendant laquelle Subversion attend la + r?ponse du serveur. Si vous rencontrez des probl?mes + d'op?rations Subversion qui expirent ? cause d'une + connexion r?seau trop lente, vous devez augmenter + cette valeur. Par d?faut, la valeur est + 0, ce qui conduit la biblioth?que + HTTP sous-jacente (Neon) ? utiliser sa propre valeur + par d?faut. http-compression - This specifies whether Subversion should - attempt to compress network requests made to DAV-ready - servers. The default value is yes - (though compression will occur only if that capability - is compiled into the network layer). Set this to - no to disable compression, such as - when debugging network transmissions. + Cette option indique si oui ou non Subversion + doit essayer de compresser les requ?tes r?seaux ? + destination de serveurs DAV. La valeur par d?faut est + yes. Notez que la compression ne + sera effective que si la couche r?seau a ?t? compil?e + avec le support de la compression. Mettez + no pour ne pas activer la + compression, par exemple lorsque vous analysez les + transmissions r?seaux. http-library - Subversion provides a pair of repository access - modules that understand its WebDAV network protocol. - The original one, which shipped with Subversion 1.0, is - libsvn_ra_neon (though back then it - was called libsvn_ra_dav). Newer - Subversion versions also provide - libsvn_ra_serf, which uses a - different underlying implementation and aims to - support some of the newer HTTP concepts. - - At this point, libsvn_ra_serf - is still considered experimental, though it appears to - work in the common cases quite well. To encourage - experimentation, Subversion provides the - http-library runtime configuration - option to allow users to specify (generally, or in a - per-server-group fashion) which WebDAV access module - they'd prefer to use—neon or + Subversion est fourni avec deux modules d'acc?s + aux d?p?ts qui utilisent le protocole r?seau WebDAV. + Le module originel, fourni avec Subversion 1.0, est + libsvn_ra_neon + (bien qu'en ce temps-l?, il s'appelait + libsvn_ra_dav). Les nouvelles + versions de Subversion fournissent ?galement + libsvn_ra_serf, qui utilise une + impl?mentation sous-jacente diff?rente et qui vise ? + supporter certains des concepts HTTP les plus + r?cents. + + Actuellement, libsvn_ra_serf + est toujours consid?r?e en version exp?rimentale, + bien qu'elle semble fonctionner correctement dans les + cas usuels. Afin d'inciter les gens ? l'essayer, + Subversion fournit l'option de configuration + http-library pour permettre aux + utilisateurs de d?finir (globalement ou par groupe de + serveurs) quel module d'acc?s WebDAV ils veulent + utiliser : neon ou serf. http-auth-types - This option is a semicolon-delimited list of - authentication types supported by the Neon-based - WebDAV repository access modules. Valid members of - this list are basic, - digest, and + Cette option liste les m?thodes + d'authentification (s?par?es par des points-virgules) + support?es par les module d'acc?s aux d?p?ts WebDAV + bas?s sur Neon. Les valeurs valides sont : + basic, + digest et negotiate. neon-debug-mask - This is an integer mask that the underlying HTTP - library, Neon, uses for choosing what type of - debugging output to yield. The default value is - 0, which will silence all debugging - output. For more information about how Subversion - makes use of Neon, see . + Cette option contient un entier qui repr?sente un + masque que la biblioth?que HTTP sous-jacente (Neon) + utilise pour choisir quel type d'affichage de d?bogage + autoriser. La valeur par d?faut est 0, + ce qui interdit tout affichage de d?bogage. Pour plus + d'informations sur l'utilisation de Neon par + Subversion, reportez-vous au . ssl-authority-files - This is a semicolon-delimited list of paths to files - containing certificates of the certificate authorities - (or CAs) that - are accepted by the Subversion client when accessing the - repository over HTTPS. + Cette option contient une liste de chemins + (s?par?s par des points-virgules) vers les fichiers + contenant les certificats des autorit?s de + certifications (AC) qui doivent ?tre reconnues comme + de confiance par le client Subversion lors des acc?s + aux d?p?ts en HTTPS. ssl-trust-default-ca - Set this variable to yes if you - want Subversion to automatically trust the set of - default CAs that ship with OpenSSL. + Mettez cette variable ? yes + si vous voulez que Subversion fasse automatiquement + confiance ? l'ensemble des autorit?s de certification + livr?es par d?faut avec OpenSSL. ssl-client-cert-file - If a host (or set of hosts) requires an SSL client - certificate, you'll normally be prompted for a path to - your certificate. By setting this variable to that - same path, Subversion will be able to find your client - certificate automatically without prompting you. - There's no standard place to store your certificate on - disk; Subversion will grab it from any path you - specify. + Si un h?te (ou un ensemble d'h?tes) demande un + certificat SSL au client, vous serez sollicit? pour + fournir le chemin de votre certificat. D?s que cette + variable contient ce chemin, Subversion sera capable + de trouver automatiquement votre certificat et ne + vous sollicitera pas. Il n'existe pas d'emplacement + standard pour stocker un certificat utilisateur sur + le disque ; Subversion va le chercher ? l'endroit + que vous lui sp?cifiez. ssl-client-cert-password - If your SSL client certificate file is encrypted - by a passphrase, Subversion will prompt you for the - passphrase whenever the certificate is used. If you - find this annoying (and don't mind storing the - password in the servers file), - you can set this variable to the certificate's - passphrase. You won't be prompted anymore. + Si votre certificat client SSL est prot?g? par + une phrase de passe, Subversion vous la demandera + ? chaque fois que le certificat est utilis?. Si vous + trouvez cela p?nible (et que cela ne vous d?range pas + que cette phrase de passe soit stock?e dans le fichier + servers), vous pouvez placer + dans cette variable la phrase de passe de votre + certificat. Vous ne serez plus sollicit?. @@ -456,334 +497,367 @@ - Config - - The config file contains the rest - of the currently available Subversion runtime - options—those not related to networking. There are - only a few options in use as of this writing, but they are - again grouped into sections in expectation of future - additions. - - The auth section contains settings - related to Subversion's authentication and authorization - against the repository. It contains the following: + Fichier <filename>config</filename> + + Le fichier config contient le reste + des options du programme Subversion disponibles actuellement, + c'est-?-dire celles qui ne se rapportent pas au r?seau. Au + moment o? ces lignes sont ?crites, seules quelques options + sont utilis?es, mais elles sont quand m?me regroup?es en + sections en pr?vision d'ajouts futurs. + + La section auth contient les + param?tres relatifs ? l'authentification et au contr?le + d'acc?s de Subversion pour les d?p?ts. Elle comprend les + options suivantes : store-passwords - This instructs Subversion to cache, or not to - cache, passwords that are supplied by the user in - response to server authentication challenges. The - default value is yes. Set this to - no to disable this on-disk password - caching. You can override this option for a single - instance of the svn command using - the command-line - parameter (for those subcommands that support it). - For more information, see Cette option demande ? Subversion de garder en + cache (ou non) les mots de passe qui sont tap?s par + l'utilisateur en r?ponse aux demandes + d'authentification des serveurs. La valeur par d?faut + est yes. Remplacez cette valeur par + no pour d?sactiver la mise en cache + sur le disque. Vous pouvez outrepasser cette option + pour un appel donn? d'une commande + svn en utilisant l'option de ligne + de commande (pour les + sous-commandes qui acceptent cette option). Pour plus + d'informations, consultez . store-auth-creds - This setting is the same as - store-passwords, except that it - enables or disables on-disk caching of - all authentication information: - usernames, passwords, server certificates, and any - other types of cacheable credentials. + cette option est ?quivalente ? + store-passwords sauf qu'elle + applique la mise en cache sur le disque (ou non) ? + l'ensemble des informations + d'authentification : identifiants, mots de passe, + certificats serveur et tout autre type d'?l?ment + pouvant ?tre mis en cache. - The helpers section controls which - external applications Subversion uses to accomplish its - tasks. Valid options in this section are: + La section helpers d?finit quelles + sont les applications externes utilis?es par Subversion pour + accomplir ses t?ches. Les options valides dans cette section + sont : editor-cmd - This specifies the program Subversion will use to - query the user for certain types of textual metadata - or when interactively resolving conflicts. See - for - more details on using external text editors with - Subversion. + Cette option indique le programme utilis? par + l'utilisateur auquel Subversion demande d'entrer des + m?ta-donn?es textuelles ou de r?soudre les conflits de + mani?re interactive. Consultez + pour plus de d?tails sur l'utilisation d'un ?diteur de + texte externe avec Subversion. diff-cmd - This specifies the absolute path of a differencing - program, used when Subversion generates - diff output (such as when using the - svn diff command). By default, - Subversion uses an internal differencing - library—setting this option will cause it to - perform this task using an external program. See - for - more details on using such programs. + Cette option contient le chemin absolu du + programme de comparaison qui est utilis? lorsque + Subversion doit afficher ? l'utilisateur plusieurs + fichiers ? comparer (par exemple lors de l'utilisation + de la commande svn diff). Par + d?faut, Subversion utilise une biblioth?que interne de + comparaison. D?finir cette option le forcera ? utiliser + un programme externe pour effectuer cette t?che. + Consultez + pour plus de d?tails sur l'utilisation de tels + programmes. diff3-cmd - This specifies the absolute path of a three-way - differencing program. Subversion uses this program to - merge changes made by the user with those received - from the repository. By default, Subversion uses an - internal differencing library—setting this - option will cause it to perform this task using an - external program. See for more - details on using such programs. + Cette option contient le chemin absolu d'un + programme de comparaison ? trois entr?es. Subversion + utilise ce programme pour fusionner les changements + effectu?s par l'utilisateur avec ceux en provenance + du d?p?t. Par d?faut, Subversion utilise une + biblioth?que interne de comparaison. D?finir cette + option le forcera ? utiliser un programme externe pour + effectuer cette t?che. Consultez + pour plus de d?tails sur l'utilisation de tels + programmes. diff3-has-program-arg - This flag should be set to true - if the program specified by the - diff3-cmd option accepts a - command-line - parameter. + Ce drapeau doit ?tre mis ? true + si le programme sp?cifi? par l'option + diff3-cmd accepte l'option + en ligne de + commande. merge-tool-cmd - This specifies the program that Subversion will - use to perform three-way merge operations on your - versioned files. See for more - details on using such programs. + Cette option contient le programme que Subversion + utilise pour effectuer les op?rations de fusion ? + trois sources sur vos fichiers suivis en versions. + Consultez pour plus + de d?tails sur l'utilisation de tels + programmes. - The tunnels section allows you to - define new tunnel schemes for use with - svnserve and svn:// - client connections. For more details, see . - - The miscellany section is where - everything that doesn't belong elsewhere winds up. + La section tunnels vous permet de + d?finir de nouveaux tunnels ? utiliser avec les connexions + clientes svnserve et + svn://. Pour plus de d?tails, consultez + . + + La section miscellany r?colte tout + ce qui n'a pas sa place ailleurs - Anyone for potluck dinner? + En clair, c'est un joyeux fourre-tout. - In this section, you can find: + Dans cette section, vous trouvez : global-ignores - When running the svn status - command, Subversion lists unversioned files and - directories along with the versioned ones, annotating - them with a ? character (see ). Sometimes it can - be annoying to see uninteresting, unversioned - items—for example, object files that result from - a program's compilation—in this display. The - global-ignores option is a list of - whitespace-delimited globs that describe the names of - files and directories that Subversion should not - display unless they are versioned. The default value - is *.o *.lo *.la #*# .*.rej *.rej .*~ *~ - .#* .DS_Store. - - As well as svn status, the - svn add and svn import - commands also ignore files that match the list - when they are scanning a directory. You can override this - behavior for a single instance of any of these commands - by explicitly specifying the filename, or by using - the command-line flag. - - For information on finer-grained control of - ignored items, see - . + Quand vous ex?cutez la commande + svn status, Subversion affiche la + liste des fichiers et r?pertoires non suivis en versions + avec ceux qui sont suivis en versions, en les marquant + d'un caract?re ? (voir + ). + Parfois, ces ?l?ments inutiles et non suivis en version + ne font que rendre l'affichage plus confus, par exemple + dans le cas des fichiers objets g?n?r?s par les + compilations. L'option + contient une liste de globs s?par?s par des espaces + qui d?crivent les noms de fichiers et de r?pertoires + que Subversion ne doit pas afficher, sauf s'ils sont + suivis en versions. La valeur par d?faut est + *.o *.lo *.la #*# .*.rej + *.rej .*~ *~ .#* .DS_Store. + + Tout comme svn status, les + commandes svn add et svn + import ignorent les fichiers qui entrent en + correspondance avec la liste lors du parcours d'un + r?pertoire. Vous pouvez bloquer ce comportement pour + une instance donn?e de ces commandes en sp?cifiant + explicitement le nom de fichier ou en utilisant + l'option en ligne de + commande. ***The diff for this file has been truncated for email.*** From svnbook at googlecode.com Thu May 6 11:42:51 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 06 May 2010 16:42:51 +0000 Subject: [svnbook] r3732 committed - * src/en/book/ch05-repository-admin.xml... Message-ID: <00504501770c32ae710485efa287@google.com> Revision: 3732 Author: cmpilato at gmail.com Date: Thu May 6 09:42:34 2010 Log: * src/en/book/ch05-repository-admin.xml Update information about the dav/ repository subdirectory. http://code.google.com/p/svnbook/source/detail?r=3732 Modified: /trunk/src/en/book/ch05-repository-admin.xml ======================================= --- /trunk/src/en/book/ch05-repository-admin.xml Tue May 26 08:17:39 2009 +++ /trunk/src/en/book/ch05-repository-admin.xml Thu May 6 09:42:34 2010 @@ -61,7 +61,7 @@ $ ls repos -conf/ dav/ db/ format hooks/ locks/ README.txt +conf/ db/ format hooks/ locks/ README.txt Here's a quick fly-by overview of what exactly you're seeing @@ -75,14 +75,6 @@ A directory containing configuration files - - - dav - - A directory provided to - mod_dav_svn for its private - housekeeping data - db @@ -120,6 +112,24 @@ + + Prior to Subversion 1.5, the on-disk repository structure + also always contained a dav subdirectory. + mod_dav_svn used this directory to store + information about + WebDAV activities—mappings of + high-level WebDAV protocol concepts to Subversion commit + transactions. Subversion 1.5 changed that behavior, moving + ownership of the activities directory, and the ability to + configure its location, into mod_dav_svn + itself. Now, new repositories will not necessarily have + a dav subdirectory + unless mod_dav_svn is in use and hasn't + been configured to store its activities database elsewhere. + See for + more information. + + Of course, when accessed via the Subversion libraries, this otherwise unremarkable collection of files and directories suddenly becomes an implementation of a virtual, versioned From svnbook at googlecode.com Fri May 7 05:46:01 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Fri, 07 May 2010 10:46:01 +0000 Subject: [svnbook] r3733 committed - * src/fr/book/ch08-embedding-svn.xml... Message-ID: <001485f7d536e9ceb40485fec366@google.com> Revision: 3733 Author: subversif999 at gmail.com Date: Fri May 7 03:45:10 2010 Log: * src/fr/book/ch08-embedding-svn.xml - Fix typos http://code.google.com/p/svnbook/source/detail?r=3733 Modified: /trunk/src/fr/book/ch08-embedding-svn.xml ======================================= --- /trunk/src/fr/book/ch08-embedding-svn.xml Tue Mar 23 15:21:44 2010 +++ /trunk/src/fr/book/ch08-embedding-svn.xml Fri May 7 03:45:10 2010 @@ -4,11 +4,12 @@ Subversion est con?u de mani?re modulaire : il est constitu? d'un ensemble de biblioth?ques ?crites en langage C. Chaque biblioth?que a un but et une interface de programmation - (API, application programming interface en anglais) bien - d?finis ; cette interface est disponible non seulement pour le + (API, application programming + interface en anglais) bien d?finis ; + cette interface est disponible non seulement pour le propre usage de Subversion mais aussi pour n'importe quel programme qui souhaite inclure ou piloter Subversion d'une mani?re ou d'une - autre. En plus, l'API Subversion est non seulement disponible pour + autre. De plus, l'API Subversion est non seulement disponible pour les programmes ?crits en langage C, mais aussi pour les programmes ?crits dans des langages de plus haut niveau tels que Python, Perl, Java et Ruby. @@ -33,16 +34,16 @@ Organisation des biblioth?ques en couches successives Chaque biblioth?que au sein de Subversion peut ?tre class?e - dans une des trois couches principales — la couche d?p?t, la - couche d'acc?s au d?p?t (RA pour repository access - en anglais) et la couche client (voir la de la pr?face). Nous - allons examiner ces trois couches rapidement mais, d'abord, + dans une des trois couches principales : la couche d?p?t, la + couche d'acc?s au d?p?t (RA pour Repository + Access en anglais) et la couche client (voir la + de la pr?face). + Nous allons examiner ces trois couches rapidement mais, d'abord, passons bri?vement en revue les diff?rentes biblioth?ques de Subversion. Pour des raisons de coh?rence, nous nous r?f?rons ? ces biblioth?ques par leurs noms Unix sans extension (libsvn_fs, libsvn_wc, - mod_dav_svn, etc.). + mod_dav_svn, etc.). @@ -111,7 +112,7 @@ libsvn_wc biblioth?que pour la gestion de la copie de - travail local ; + travail locale ; mod_authz_svn @@ -145,7 +146,7 @@ libsvn_ra_serf et libsvn_ra_svn impl?mentent toutes la m?me interface et fonctionnent comme des greffons pour - libsvn_ra. Et toutes les quatre communiquent + libsvn_ra. Et toutes les quatre communiquent avec la couche d?p?t — libsvn_ra_local se connectant directement au d?p?t, les trois autres le faisant ? travers le r?seau. @@ -166,10 +167,11 @@ fournissent diff?rents types d'IHM. Ces interfaces graphiques utilisent la m?me API que le client en ligne de commande fourni en standard. Depuis le d?but, cette modularit? joue un r?le majeur - dans la prolif?ration des diff?rents clients Subversion (sous la + dans la prolif?ration des diff?rents clients Subversion, sous la forme de clients autonomes ou greff?s dans des environnements de - d?veloppement int?gr?s [IDE en anglais]) et, par extension, dans - l'adoption formidablement rapide de Subversion lui-m?me. + d?veloppement int?gr?s (IDE en + anglais) et, par extension, dans l'adoption formidablement rapide + de Subversion lui-m?me. @@ -221,7 +223,7 @@ vous pouvez attendre de n'importe quel autre syst?me de fichiers : vous pouvez cr?er et supprimer des fichiers et des r?pertoires, les copier et les d?placer, modifier le contenu - d'un fichier, etc. Elle poss?de ?galement des caract?ristiques + d'un fichier, etc. Elle poss?de ?galement des caract?ristiques peu communes comme la capacit? d'ajouter, modifier et supprimer des m?ta-donn?es (propri?t?s) sur chaque fichier ou r?pertoire. En outre, le syst?me de fichiers Subversion est @@ -229,7 +231,7 @@ si vous faites des modifications dans votre arborescence, Subversion se souvient de l'?tat de votre arborescence avant les modifications. Et il se souvient aussi de l'?tat avant les - modifications pr?c?dentes, et l'?tat encore ant?rieur, et ainsi + modifications pr?c?dentes, et de l'?tat encore ant?rieur, et ainsi de suite. Vous pouvez ainsi remonter le temps (c'est-?-dire les versions) jusqu'au moment o? vous avez commenc? ? ajouter des ?l?ments dans le syst?me de fichiers. @@ -241,19 +243,19 @@ - Commencer une transaction de propagation de + commencer une transaction de propagation de Subversion ; - Effectuer les modifications (ajouts, suppressions, - modifications de propri?t?s, etc.) ; + effectuer les modifications (ajouts, suppressions, + modifications de propri?t?s, etc.) ; - Clore la transaction. + clore la transaction. - Une fois que la transaction est clotur?e, les + Une fois que la transaction est termin?e, les modifications du syst?me de fichiers sont stock?es de fa?on permanente en tant qu'?l?ments de l'historique. Chacun de ces cycles g?n?re une nouvelle r?vision de l'arborescence et @@ -345,7 +347,7 @@ qui demande un argument de type chemin attend ?galement un argument de type racine (d?nomm? en fait svn_fs_root_t). Cet argument d?crit - soit une r?vision soit une transaction (qui est en fait la + soit une r?vision, soit une transaction (qui est en fait la gen?se d'une r?vision) et fournit la troisi?me dimension, l'?l?ment de contexte indispensable pour diff?rencier /machin/bidule dans la r?vision 32 et le @@ -355,20 +357,20 @@ l'univers du syst?me de fichiers Subversion.
- Ajouter le temps pour le suivi de versions — la - troisi?me dimension ! + Prise en compte du temps — la + troisi?me dimension de la gestion de versions !
Comme nous l'avons d?j? mentionn?, l'API de libsvn_fs ressemble ? s'y m?prendre ? celle de n'importe quel autre syst?me de fichiers, sauf qu'on y a - ajout? la formidable capacit? de suivre les versions. Elle a ?t? + ajout? la formidable capacit? de gestion des versions. Elle a ?t? con?ue pour ?tre utilisable par n'importe quel programme ayant - besoin d'un syst?me de fichiers suivi en versions. Et, ce n'est - pas un hasard, Subversion lui-m?me est int?ress? par une telle + besoin d'un syst?me de fichiers suivi en versions. Et ce n'est + pas un hasard si Subversion lui-m?me est int?ress? par une telle fonctionnalit?. Mais, bien que cette API soit suffisante pour - effectuer un suivi en versions basique des fichiers et des + effectuer une gestion de versions basique des fichiers et des r?pertoires, Subversion en demande plus, et c'est l? que libsvn_repos entre en sc?ne. @@ -409,7 +411,7 @@ obtenir les messages de propagation associ?s ? toutes - (ou certaines) les r?visions qui ont modifi? un ensemble de + les r?visions (ou certaines) qui ont modifi? un ensemble de fichiers du syst?me de fichiers ; @@ -425,8 +427,8 @@ Comme Subversion continue ? ?voluer, la biblioth?que du d?p?t - grandit avec la biblioth?que du syst?me de fichiers pour offrir - davantage de fonctionnalit?s et des options configurables. + grandit avec la biblioth?que du syst?me de fichiers pour offrir + davantage de fonctionnalit?s et des options configurables.
@@ -436,10 +438,10 @@ Si la couche D?p?t de Subversion est ? l'autre bout de la ligne, la couche d'acc?s au d?p?t (RA pour - repository access en anglais) est la ligne en - tant que telle. Charg?e d'organiser les donn?es entre les - biblioth?ques client et le d?p?t, cette couche inclut la - biblioth?que de chargement du module + repository access en anglais) + est la ligne en tant que telle. Charg?e d'organiser les donn?es + entre les biblioth?ques client et le d?p?t, cette couche inclut + la biblioth?que de chargement du module libsvn_ra, les modules RA eux-m?mes (qui incluent ? l'heure actuelle libsvn_ra_neon, libsvn_ra_local, @@ -492,10 +494,10 @@ fonctionnalit?s n?cessaires pour envoyer des donn?es suivies en versions vers le d?p?t et pour en recevoir. Chacun des greffons RA disponibles est capable d'effectuer ces t?ches en utilisant - un protocole particulier :libsvn_ra_dav + un protocole particulier : libsvn_ra_dav utilise le protocole HTTP/WebDAV (avec chiffrement SSL en option) pour communiquer avec un serveur HTTP Apache sur lequel - fonctionne le module serveur Subversion + tourne le module serveur Subversion mod_dav_svn ; libsvn_ra_svn utilise un protocole r?seau propre ? Subversion pour communiquer avec le programme @@ -507,10 +509,10 @@ tout simplement ?crire une nouvelle biblioth?que qui impl?mente l'interface RA d'un c?t? et qui communique avec le d?p?t de l'autre. Votre nouvelle biblioth?que peut utiliser des - protocoles r?seaux existants ou vous pouvez en inventer un - nouveau. Vous pourriez ainsi utiliser les communications - inter-processus (IPC pour interprocess - communication en anglais) ou m?me, soyons fou, + protocoles r?seaux existants ou vous pouvez en inventer de + nouveaux. Vous pouvez ainsi utiliser les communications + inter-processus (IPC pour interprocess + communication en anglais) ou m?me, soyons fou, impl?menter un protocole bas? sur l'email. Subversion apporte les API, ? vous d'apporter la cr?ativit?. @@ -520,8 +522,8 @@ Couche client - C?t? client, la copie de travail Subversion est l'endroit o? - tout se passe. Le gros des fonctionnalit?s impl?ment?es par les + C?t? client, tout se passe dans la copie de travail + Subversion. Le gros des fonctionnalit?s impl?ment?es par les biblioth?ques client existe dans le seul but de g?rer les copies de travail locales — des r?pertoires pleins de fichiers et d'autres sous-r?pertoires qui sont une sorte de copie locale et @@ -531,19 +533,20 @@ La biblioth?que de Subversion pour la copie de travail, libsvn_wc, est directement responsable de la gestion des donn?es dans les copies de travail. Pour ce - faire, la biblioth?que stocke des donn?es d'administration ? - propos de chaque r?pertoire suivi en versions dans un - sous-r?pertoire sp?cial. Ce sous-r?pertoire, nomm? + faire, la biblioth?que stocke dans un sous-r?pertoire sp?cial + des donn?es d'administration concernant chaque r?pertoire + suivi en versions. Ce sous-r?pertoire, nomm? .svn, est pr?sent dans chaque r?pertoire d'une copie de travail ; il contient tout un tas de fichiers et de r?pertoires qui enregistrent l'?tat du r?pertoire suivi en versions et fournit un espace priv? pour les actions d'administration. Pour les habitu?s de CVS, ce sous-r?pertoire .svn a des objectifs similaires aux - r?pertoires administratifs CVS que l'on trouve dans les copies - de travail CVS. Pour plus d'informations sur la zone - d'administration .svn, reportez-vous ? - plus loin dans ce + r?pertoires administratifs CVS que l'on + trouve dans les copies de travail CVS. + Pour plus d'informations sur la zone d'administration + .svn, reportez-vous ? + plus loin dans ce chapitre. La biblioth?que client de Subversion, @@ -552,7 +555,7 @@ fonctionnalit?s de la biblioth?que de la copie de travail avec celles de la couche d'acc?s au d?p?t (RA) afin de fournir l'API de plus haut niveau, utilisable par n'importe quelle application - qui voudrait effectuer des actions g?n?rales de suivi de + qui voudrait effectuer des actions g?n?rales de gestion de versions. Par exemple, la fonction svn_client_checkout() prend une URL en argument. Elle passe cette URL ? la couche RA et ouvre une @@ -560,17 +563,18 @@ ensuite au d?p?t l'arborescence requise, envoie cette arborescence ? la biblioth?que de la copie de travail, qui ?crit alors une copie de travail compl?te sur le disque (les - r?pertoires .svn et tout). + r?pertoires .svn et tout le reste). La biblioth?que client est con?ue pour ?tre utilis?e par n'importe quelle application. Alors que le code source de Subversion inclut un client standard en ligne de commande, le - but recherch? est qu'il doit ?tre tr?s facile d'?crire un nombre - quelconque de clients utilisant une interface utilisateur - graphique (GUI en anglais) par dessus cette biblioth?que client. - Les nouvelles GUI (ou les nouveaux clients en fait) pour - Subversion n'ont aucune raison de n'?tre que des sur-couches au - client en ligne de commande : elles ont un acc?s total, via + but recherch? est qu'il soit tr?s facile d'?crire un nombre + quelconque de clients dot?s d'un environnement graphique + (GUI en anglais) par-dessus + cette biblioth?que client. Il n'y a pas de raison que les + nouveaux environnements graphiques (ou les nouveaux clients en + fait) pour Subversion ne soient que des sur-couches au client + en ligne de commande : ils ont un acc?s total, via l'API libsvn_client, aux m?mes fonctionnalit?s, donn?es et autres m?canismes que le client en ligne de commande utilise. En fait, le code source de Subversion @@ -594,7 +598,7 @@ un affichage lisible par l'utilisateur. Ce type de traduction peut induire des pertes. C'est-?-dire que le programme n'affiche peut-?tre pas l'ensemble des informations qu'il a - obtenu de l'API ou alors qu'il combine peut-?tre certaines + obtenues de l'API ou qu'il combine peut-?tre certaines informations pour obtenir une repr?sentation plus compacte. @@ -611,7 +615,7 @@ Mais l'argument d?cisif quant ? l'utilisation directe des API plut?t que d'encapsuler d'autres programmes est que le projet Subversion assure la compatibilit? vis-?-vis de ses - API. Lors des changements de versions mineurs des API (comme + API. Lors des changements de version mineure des API (comme par exemple entre la version 1.3 et 1.4), aucun prototype de fonction ne change. En d'autres termes, vous n'?tes pas forc? de mettre ? jour le code source de votre programme simplement @@ -620,8 +624,8 @@ fonctionneront toujours. Ainsi, cela vous laisse de la marge pour ?ventuellement adopter les nouvelles API. Ce type de promesse de compatibilit? n'existe pas pour les sorties du - programme Subversion en ligne de commande, qui est susceptible - de changer ? chaque version. + programme Subversion en ligne de commande, qui sont + susceptibles de changer ? chaque version. @@ -643,9 +647,9 @@ - ? quel emplacement du d?p?t font r?f?rence les fichiers et - les sous-r?pertoires dans le r?pertoire de la copie de - travail ; + ? quel emplacement du d?p?t les fichiers et les + sous-r?pertoires du r?pertoire de la copie de travail + font r?f?rence ; quelle r?vision de chacun de ces fichiers et r?pertoires @@ -689,7 +693,7 @@ originales et des propri?t?s, les informations d'?tat sur les conflits et les actions planifi?es, les derni?res informations connues sur les propagations (auteur, num?ro de r?vision et - horodatage), l'historique de la copie locale — + horodatage) et l'historique de la copie locale : pratiquement tout ce qui int?resse un client Subversion ? propos d'un ?l?ment suivi (ou ? suivre) en versions ! @@ -729,23 +733,23 @@ Comme mentionn? auparavant, le r?pertoire .svn contient aussi les copies originales (avant modification locale) des fichiers : les - versions de base (text-base - versions en anglais). Vous pouvez les trouver dans - le r?pertoire .svn/text-base. Ces copies - originales offrent tout un tas d'avantages — + versions de base (text-base + versions en anglais). Vous pouvez les trouver + dans le r?pertoire .svn/text-base. Ces + copies originales offrent tout un tas d'avantages — identification des diff?rences et des modifications, retour en arri?re sur les fichiers modifi?s ou supprim?s, tout cela sans - faire appel au r?seau ; ?changes plus performants avec le + faire appel au r?seau ; ?changes plus performants avec le serveur — mais au prix d'avoir chaque fichier stock? au moins en double sur le disque. De nos jours, c'est pratiquement n?gligeable pour la majorit? des fichiers. Cependant, la situation se d?t?riore ? mesure que vos fichiers suivis en - versions grandissent. Nous ?tudions dor?navant la possibilit? de - rendre optionnel la pr?sence de ces fichiers versions de + versions grossissent. Nous ?tudions dor?navant la possibilit? de + rendre optionnelle la pr?sence de ces versions de base. Cependant, c'est justement quand vos fichiers - suivis en versions grandissent que l'existence de fichiers - versions de base devient cruciale — qui - veut transmettre un ?norme fichier ? travers le r?seau juste + suivis en versions grossissent que l'existence des + versions de base devient cruciale : qui a + envie de transmettre un ?norme fichier ? travers le r?seau juste parce qu'il veut propager une petite modification ? Dans le m?me esprit que les fichiers versions de @@ -771,7 +775,7 @@ D?velopper des applications utilisant les API des biblioth?ques Subversion est plut?t simple. Subversion est d'abord un ensemble de biblioth?ques en langage C, avec des fichiers - d'en-t?tes (.h) situ?s dans le r?pertoire + d'en-t?tes (.h) situ?s dans le r?pertoire subversion/include de l'arborescence des sources. Ces en-t?tes sont copi?s dans votre arborescence syst?me (par exemple /usr/local/include) @@ -788,17 +792,17 @@ et les fonctions ont un espace de nommage r?serv?. Cela veut dire que tous les noms de symboles Subversion publics commencent par svn_, suivi d'un code indiquant la biblioth?que - dans laquelle le symbole est d?fini (par exemple - wc, client, - fs, etc.), suivi d'un unique caract?re soulign? - (_) puis du reste du nom du symbole. Les + dans laquelle le symbole est d?fini (par exemple + wc, client, + fs, etc.), suivi d'un unique caract?re + soulign? (_) puis du reste du nom du symbole. Les fonctions semi-publiques (utilis?es par plusieurs fichiers au sein d'une biblioth?que mais pas par du code ext?rieur ? cette biblioth?que, on peut les trouver au sein des r?pertoires de la biblioth?que) suivent une r?gle de nommage l?g?rement diff?rente dans le sens o?, au lieu d'un unique caract?re soulign? apr?s le code indiquant la biblioth?que, elles utilisent deux - caract?res soulign? cons?cutifs (_ _). + caract?res soulign? cons?cutifs (_ _). Les fonctions qui sont propres ? un fichier source (c'est-?-dire priv?es) n'ont pas de pr?fixe particulier et sont d?clar?es avec le mot-cl? static. Bien s?r, un compilateur n'a @@ -814,7 +818,7 @@ en anglais). Ce document contient des informations particuli?rement utiles qui, bien que destin?es aux d?veloppeurs (ou aux personnes d?sireuses de le devenir) de Subversion - lui-m?me, peuvent ?galement s'appliquer ? tous ceux qui + lui-m?me, peuvent ?galement servir ? tous ceux qui d?veloppent des applications utilisant Subversion comme biblioth?que tierce @@ -828,12 +832,13 @@ APR, la biblioth?que Apache de portabilit? des ex?cutables ? c?t? des types de donn?es propres ? Subversion, vous - pouvez voir de nombreuses r?f?rences ? des types de donn?es qui - commencent par apr_ — ce sont les + trouverez de nombreuses r?f?rences ? des types de donn?es qui + commencent par apr_ : ce sont les symboles de la biblioth?que pour la portabilit? d'Apache - (Apache Portable Runtime en anglais, soit APR). APR est un jeu - de biblioth?ques Apache, originellement extraites du code source - du serveur pour essayer de s?parer ce qui d?pendait du syst?me + (Apache Portable Runtime en + anglais, soit APR). APR est un jeu de biblioth?ques Apache, + originellement extraites du code source du serveur + pour essayer de s?parer ce qui d?pendait du syst?me d'exploitation de ce qui n'en d?pendait pas. Au final, on obtient une biblioth?que qui fournit une API permettant d'effectuer des op?rations qui changent un peu (ou beaucoup) en @@ -860,10 +865,11 @@ donn?es et le type de donn?es APR le plus utilis?, que l'on retrouve dans presque tous les prototypes de l'API Subversion, est apr_pool_t — le r?servoir de - m?moire ("memory pool" en anglais) APR. Subversion utilise les - r?servoirs de m?moire en interne pour tous ses besoins - d'allocation m?moire (? moins qu'une biblioth?que externe ne - requiert un autre m?canisme de gestion de la m?moire pour les + m?moire (memory pool en anglais) + APR. Subversion utilise les r?servoirs de m?moire + en interne pour tous ses besoins d'allocation m?moire + (? moins qu'une biblioth?que externe ne requi?re + un autre m?canisme de gestion de la m?moire pour les donn?es transmises via son API) Neon et Berkeley DB par exemple. @@ -898,7 +904,7 @@ particuli?rement pointues de votre programme. Des langages tels que Java ou Python utilisent un ramasse-miettes - (garbage collector en anglais) + (garbage collector en anglais) qui alloue de la m?moire aux objets en cas de besoin et la lib?re automatiquement quand l'objet n'est plus utilis?. @@ -926,25 +932,25 @@ - Pr?-requis pour les URL et les chemins + Pr?requis pour les URL et les chemins Subversion a ?t? con?u pour effectuer ? distance des - op?rations de suivi de versions. ? ce titre, les possibilit?s + op?rations de gestion de versions. ? ce titre, les possibilit?s d'internationalisation (i18n) ont fait l'objet d'une attention toute particuli?re. Apr?s tout, ? distance peut vouloir dire depuis un ordinateur situ? dans le m?me - bureau mais aussi ? l'autre bout de la + bureau, mais aussi ? l'autre bout de la plan?te. Pour faciliter cette prise en compte, toutes les interfaces publiques de Subversion qui acceptent des chemins comme argument s'attendent ? ce que ces chemins soient rendus canoniques — la fa?on la plus facile de le faire ?tant de les passer en argument ? la fonction - svn_path_canonicalize() — et encod?s + svn_path_canonicalize() — et cod?s dans le format UTF-8. Cela signifie, par exemple, que tout nouveau programme client qui pilote l'interface libsvn_client doit d'abord convertir les chemins depuis le codage local vers UTF-8 avant de fournir ces - chemins ? la biblioth?que Subversion, puis de reconvertir tout + chemins ? la biblioth?que Subversion, puis doit reconvertir tout chemin renvoy? par Subversion vers le codage local avant d'utiliser ce chemin ? des fins externes ? Subversion. Heureusement, Subversion fournit un ensemble de fonctions (voir @@ -955,12 +961,12 @@ pass?es en param?tres respectent le format URI. Ainsi, au lieu de d?signer par file:///home/utilisateur/Mon fichier.txt l'URL d'un fichier nomm? Mon fichier.txt - dans le r?pertoire home/utilisateur, vous - devez utiliser + situ? dans le r?pertoire home/utilisateur, + vous devez utiliser file:///home/utilisateur/Mon%20fichier.txt. L? encore, Subversion fournit des fonctions utiles ? votre application — svn_path_uri_encode() - et svn_path_uri_decode() pour encoder et + et svn_path_uri_decode() pour coder et d?coder, respectivement, des URI. @@ -971,9 +977,10 @@ partir d'un autre langage que le C (par exemple un programme Python ou Perl), Subversion offre cette possibilit? via le g?n?rateur simplifi? d'interface et d'encapsulation - (Simplified Wrapper and Interface Generator ou - SWIG en anglais). Les interfaces SWIG de Subversion sont situ?es - dans le r?pertoire subversion/bindings/swig. + (Simplified Wrapper and Interface + Generator ou SWIG en anglais). + Les interfaces SWIG de Subversion sont situ?es + dans le r?pertoire subversion/bindings/swig. Elles sont toujours en cours d'?volution mais sont utilisables. Elles vous permettent d'appeler les fonctions de l'API Subversion indirectement, en utilisant des interfaces qui @@ -1006,7 +1013,7 @@ Les interfaces Subversion vers les langages de programmation ne sont pas suivies avec le m?me niveau d'exigence que les - modules du c?ur de Subversion mais peuvent g?n?ralement ?tre + modules du c?ur de Subversion, mais peuvent g?n?ralement ?tre utilis?es en production. De nombreuses applications, de nombreux scripts, des clients graphiques alternatifs et des outils tiers utilisent aujourd'hui sans probl?me les interfaces vers @@ -1065,11 +1072,11 @@ compatible avec le format de fichier de l'impl?mentation native de cette biblioth?que. - Ceci dit, SVNKit est unaninement reconnu pour sa + Ceci dit, SVNKit est unanimement reconnu pour sa fiabilit?. Et une solution 100 % Java est beaucoup plus - robuste vis-?-vis des erreurs de programmation — un - bogue dans SVNKit g?n?re une exception Java que vous pouvez - intercepter tandis qu'un bogue dans une biblioth?que du c?ur + robuste vis-?-vis des erreurs de programmation : un + bogue dans SVNKit g?n?re une exception Java que vous pouvez + intercepter, tandis qu'un bogue dans une biblioth?que du c?ur de Subversion utilis?e par javahl peut mettre par terre tout votre environnement d'ex?cution Java. En conclusion, pesez le pour et le contre avant de choisir une impl?mentation en Java @@ -1093,7 +1100,7 @@ pouvez y observer l'utilisation du r?servoir de m?moire APR qui est utilis? pour les besoins d'allocation m?moire. En outre, le code r?v?le le c?t? obscur de la gestion des erreurs de - Subversion — toutes les erreurs Subversion doivent ?tre + Subversion : toutes les erreurs Subversion doivent ?tre explicitement prises en compte pour ?viter des fuites de m?moire (et dans certains cas, le plantage de l'application). @@ -1197,7 +1204,7 @@ } else { - /* Une autre erreur s'est produite. Affiche un message d'erreur. + /* Une autre erreur s'est produite. Affiche un message d'erreur. */ printf("Une erreur s'est produite lors de l'ajout du " "r?pertoire '%s' au d?p?t '%s'.\n", @@ -1218,7 +1225,7 @@ votre d?p?t Subversion effectue automatiquement certaines t?ches externes ? Subversion chaque fois qu'une transaction est propag?e (par exemple envoyer un mail qui d?crit les changements - effectu?s dans la transaction vers la liste de diffusion des + effectu?s dans la transaction ? la liste de diffusion des d?veloppeurs), vous devez utiliser la version de la fonction encapsul?e dans libsvn_repos qui ajoute la fonctionnalit? d'activation des proc?dures automatiques : @@ -1270,7 +1277,7 @@ if svn.fs.svn_fs_is_dir(racine, chemin_complet): parcourir_rep_systemedefichiers(racine, chemin_complet) else: - # Sinon, c'est un fichier donc l'afficher maintenant + # Sinon, c'est un fichier donc l'afficher maintenant. print chemin_complet def parcourir_la_plus_recente_revision(chemin_depot): @@ -1299,7 +1306,7 @@ % (os.path.basename(sys.argv[0]))) sys.exit(1) - # transforme la chaine en chemin canonique. + # Transforme la cha?ne en chemin canonique. chemin_depot = svn.core.svn_path_canonicalize(sys.argv[1]) # Et c'est parti ! @@ -1336,13 +1343,13 @@ commande svn status. - Une version en Python de status + Une version de status en Python #!/usr/bin/env python """Parcourir un r?pertoire d'une copie de travail en affichant les -informations d etat.""" +informations d'?tat.""" import sys import os.path @@ -1378,7 +1385,7 @@ """Une fonction de renvoi ("callback") pour svn_client_status.""" # Affiche le chemin, moins la partie d?j? pr?sente - # dans la racine du parcours + # dans la racine du parcours. text_status = generer_code_etat(etat.text_status) prop_status = generer_code_etat(etat.prop_status) print '%s%s %s' % (text_status, prop_status, path) @@ -1398,7 +1405,7 @@ stream.write("""Usage: %s OPTIONS CHEMIN_COPIE_TRAVAIL Options: --help, -h : Affiche ce message d'aide. - --verbose, -v : Affiche les ?tats de tous les objets, sans exception + --verbose, -v : Affiche l'?tat de tous les objets, sans exception. """ % (os.path.basename(sys.argv[0]))) sys.exit(code_erreur) @@ -1436,11 +1443,11 @@ de svn_client_ctx_t() est un peu trompeur parce que l'API publique de Subversion ne poss?de pas de telle fonction — la g?n?ration automatique de fonctions de SWIG - est ? la peine (cette fonction est une sorte d'usine ? fonctions - pour transformer des structures C complexes vers un ?quivalent - en Python). Notez ?galement que le chemin pass? au programme - (comme le dernier) est moulin? par - svn_path_canonicalize(), car, + ( une sorte d'usine ? fonctions pour transformer des structures + C complexes vers un ?quivalent en Python) est ? la peine. + Notez ?galement que le chemin pass? au programme + (tout comme dans le programme pr?c?dent) est moulin? par + svn_path_canonicalize() car, dans le cas contraire, on s'expose ? un arr?t rapide et brutal du programme par la biblioth?que C Subversion sous-jacente qui effectue des tests de @@ -1461,7 +1468,7 @@ modulaire et fournir une API publique stable de mani?re ? ce que des d?veloppeurs tiers — tel que vous, peut-?tre — puissent ?crire des logiciels qui pilotent les fonctionnalit?s du - coeur de Subversion. + c?ur de Subversion. Dans ce chapitre, nous avons approfondi notre vision de l'architecture de Subversion, examin? ses couches logiques et @@ -1469,7 +1476,7 @@ couches de Subversion pour communiquer entre elles. De nombreux d?veloppeurs ont imagin? des utilisations int?ressantes de l'API Subversion, de la simple proc?dure automatique jusqu'? des - syst?mes de suivi de versions compl?tement diff?rents, en passant + syst?mes de gestion de versions compl?tement diff?rents, en passant par l'int?gration de Subversion dans d'autres applications. Et vous, quelle utilisation originale en tirerez-vous ? From svnbook at googlecode.com Fri May 7 11:05:59 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Fri, 07 May 2010 16:05:59 +0000 Subject: [svnbook] r3734 committed - * trunk/src/de/book/appc-webdav.xml... Message-ID: <0016362841922c44610486033c96@google.com> Revision: 3734 Author: jmfelderhoff at gmx.eu Date: Fri May 7 09:04:46 2010 Log: * trunk/src/de/book/appc-webdav.xml - Microsoft Web Folders. http://code.google.com/p/svnbook/source/detail?r=3734 Modified: /trunk/src/de/book/appc-webdav.xml ======================================= --- /trunk/src/de/book/appc-webdav.xml Fri Apr 30 09:09:43 2010 +++ /trunk/src/de/book/appc-webdav.xml Fri May 7 09:04:46 2010 @@ -915,17 +915,28 @@ Weise umbenennen, kopieren oder l?schen. Da es jedoch eine F?higkeit des Explorers ist, ist die DAV-Freigabe f?r normale Anwendungen nicht sichtbar. Alle Zugriffe auf DAV m?ssen ?ber - die Schnittstelle des Explorers erfolgen, + die Schnittstelle des Explorers erfolgen. + + Microsoft Webordner + + + Microsoft war unter den urspr?nglichen Unterst?tzern der + WebDAV-Spezifikation und begann, den ersten Client in + Windows 98 auszuliefern, der als Webordner bekannt wurde. + Dieser Client wurde auch mit Windows NT 4.0 und Windows + 2000 ausgeliefert. + + + Der urspr?ngliche Webordner-Client war eine Erweiterung + des Explorers, dem graphischen Hauptprogramm zum + Durchst?bern von Dateisystemen. Er arbeitet gut genug. In + Windows 98 k?nnte es sein, das dieses Merkmal ausdr?cklich + installiert werden muss, falls Webordner noch nicht + innerhalb von Mein Computer sichtbar sind. In Windows 2000 + muss einfach eine neue Netzwerkumgebung + hizugef?gt und ein URL eingegeben werden, und die + WebDAV-Freigabe erscheint zum Durchst?bern. + + + Mit der Einf?hrung von Windows XP begann Microsoft, eine + neue Implementierung der Webordner herauszugeben, die unter + dem Namen WebDAV-Mini-Redirector bekannt wurde. Die neue + Implementierung ist ein Client auf Dateisystemebene, die es + erm?glicht, WebDAV-Freigaben unter einem Laufwerksbuchstaben + einzuh?ngen. Leider ist diese Implementierung unglaublich + fehlerhaft. F?r gew?hnlich versucht der Client, HTTP-URLs + (http://host/repos) in + UNC-Freigabe-Darstellung (\\host\repos) + umzuwandeln; er versucht dar?berhinaus, + Windows-Dom?nen-Authentifizierung als Antwort auf + Basic-Authentication HTTP-Anforderungen zu verwenden, wobei + Benutzernamen als RECHNER\benutzername + gesendet werden. Diese Probleme bei der Zusammenarbeit sind + schwerwiegend und an zahlreichen Orten rund um die Welt + dokumentiert, was viele Benutzer frustriert. Sogar Greg + Stein, der urspr?ngliche Autor von Apaches WebDAV-Modul, + sagt ohne Umschweife, dass die Webordner von XP nicht mit + einem Apache-Server zusammenarbeiten k?nnen. + + + Die erste Implementierung der Webordner in Windows + Vista scheint fast die gleiche wie unter XP zu sein, so + dass dieselben Probleme auftauchen. Mit etwas Gl?ck wird + Microsoft diese Probleme in einem Vista-Service-Pack + beheben. + + Jedoch scheint es provisorische L?sungen sowohl f?r XP und + Vista zu geben, die es Webordner erm?glichen, mit Apache + zusammenzuarbeiten. Benutzer haben meistens berichtet, dass + diese Techniken erfolgreich waren, also werden wir sie an + dieser Stelle weitergeben. + + + Unter Windows XP haben Sie zwei Optionen. Suchen Sie + zun?chst in der Webpr?senz von Microsoft nach dem Update + KB90730, Software Update for Web Folders. Das + k?nnte all Ihre Probleme l?sen. Falls nicht, scheinen sich die + originalen Webordner aus der Zeit vor XP in Ihrem System zu + verbergen. Sie k?nnen sie ans Licht holen, indem Sie in + Netzwerkumgebung gehen und eine neue Umgebung anlegen. Wenn + Sie danach gefragt werden, tragen Sie den URL des Repositorys + ein, aber verwenden Sie dabei eine + Portnummer im URL. Beispielsweise sollten Sie statt + http://host/repos + http://host:80/repos eingeben. + Antworten Sie auf irgendwelche Authentifizierungsanfragen mit + Ihren Subversion-Zugangadaten. + + + Unter Windows Vista k?nnte derselbe Update KB90730 alles + bereinigen. Dort k?nnte es jedoch noch weitere Probleme + geben. Einige Benutzer haben berichtet, dass Vista alle + http://-Verbindungen als unsicher + betrachtet, und deshalb alle Authentifizierungsanforderungen + seitens Apache scheitern l?sst, sofern sie nicht ?ber + https:// erfolgen. Sollten Sie nicht in + der Lage sein, sich ?ber SSL mit dem Subversion-Repository + zu verbinden, k?nnen Sie die System-Registratur anpassen, um + dieses Verhalten zu unterbinden. Dazu ?ndern Sie einfach den + Wert des Schl?ssels + HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel + von 1 auf 2. + Eine letzte Warnung: Stellen Sie sicher, den Webordner so + einzurichten, dass er auf das Wurzelverzeichnis des + Repositorys (/) zeigt, statt auf ein + Unterverzeichnis wie etwa /trunk. Die + Webordner von Vista scheinen nur mit + Repository-Wurzelverzeichnissen zu funktionieren. + + + Generell sei gesagt, dass Sie, obwohl diese Zwischenl?sungen + f?r Sie funktionieren k?nnten, mehr Spass bei der Verwendung + eines WebDAV-Clients von einem Drittanbieter haben werden, + wie etwa WebDrive oder NetDrive. From svnbook at googlecode.com Wed May 12 13:30:53 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Wed, 12 May 2010 18:30:53 +0000 Subject: Issue 79 in svnbook: Update 'svnsync sync' and 'svnsync copy-revprops' syntax and recommendations. Message-ID: <0-7155889305988986295-18294350994331691023-svnbook=googlecode.com@googlecode.com> Status: New Owner: cmpilato Labels: Type-Defect Priority-Medium Milestone-en-1.7 New issue 79 by cmpilato: Update 'svnsync sync' and 'svnsync copy-revprops' syntax and recommendations. http://code.google.com/p/svnbook/issues/detail?id=79 As part of Subversion issue #3637 (http://subversion.tigris.org/issues/show_bug.cgi?id=3637), the syntax for 'svnsync sync' and 'svnsync copy-revprops' has changed, and the new syntax is the recommendation (for security purposes). Need to document this. From svnbook at googlecode.com Mon May 17 00:43:59 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 17 May 2010 05:43:59 +0000 Subject: [svnbook] r3735 committed - * trunk/src/de/book/appc-webdav.xml... Message-ID: <000e0cd32e9028f3500486c3b62d@google.com> Revision: 3735 Author: jmfelderhoff at gmx.eu Date: Sun May 16 22:42:48 2010 Log: * trunk/src/de/book/appc-webdav.xml - Nautilus, Konqueror. http://code.google.com/p/svnbook/source/detail?r=3735 Modified: /trunk/src/de/book/appc-webdav.xml ======================================= --- /trunk/src/de/book/appc-webdav.xml Fri May 7 09:04:46 2010 +++ /trunk/src/de/book/appc-webdav.xml Sun May 16 22:42:48 2010 @@ -1099,18 +1099,35 @@ Nautilus, Konqueror + + Nautilus ist der offizielle Dateimanager/Browser des + GNOME-Desktops (), und + Konqueror ist der Manager/Browser f?r den KDE-Desktop + (). Beide dieser + Anwendungen besitzen einen eingebauten WebDAV-Client auf + Dateisystem-Browser-Ebene und funktionieren prima mit einem + autoversionierenden Repository. + + + In GNOMEs Nautilus w?hlen Sie den Men?eintrag + File→Open location und + tragen den URL in den angebotenen Dialog ein. Das Repository + sollte dann wie ein anderes Dateisystem angezeigt werden. + + + + Im Konqueror von KDE m?ssen Sie beim Eintragen des URL + in den Zielleiste das Schema webdav:// + verwenden. Wenn Sie einen http://-URL + eingeben, verh?lt sich Konqueror wie ein gew?hnlicher + Web-Browser. Sie werden wahrscheinlich die allgemeine + Verzeichnisauflistung von mod_dav_svn + sehen. Falls Sie statt + http://host/repos jedoch + webdav://host/repos eingeben, wird + Konqueror zum WebDAV-Client und zeigt das Repository als + Dateisystem an. From svnbook at googlecode.com Thu May 20 10:40:25 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 20 May 2010 15:40:25 +0000 Subject: [svnbook] r3736 committed - * trunk/src/de/book/appc-webdav.xml... Message-ID: <001636b14988b1ebef04870864b3@google.com> Revision: 3736 Author: jmfelderhoff at gmx.eu Date: Thu May 20 08:40:05 2010 Log: * trunk/src/de/book/appc-webdav.xml - WebDAV Filesystem Implementation http://code.google.com/p/svnbook/source/detail?r=3736 Modified: /trunk/src/de/book/appc-webdav.xml ======================================= --- /trunk/src/de/book/appc-webdav.xml Sun May 16 22:42:48 2010 +++ /trunk/src/de/book/appc-webdav.xml Thu May 20 08:40:05 2010 @@ -1156,8 +1156,12 @@ + + WebDAV-Dateisystem-Implementation + + + Die WebDAV-Dateisystem-Implementation ist wohl die beste + Art von WebDAV-Client. Sie ist als systemnahes + Dateisystem-Modul implementiert, das sich normalerweise + innerhalb des Betriebssystemkerns befindet. Das bedeutet, dass + eine DAV-Freigabe wie irgendein anderes Dateisystem eingeh?ngt + werden kann, ?hnlich dem Einh?ngen einer NFS-Freigabe unter + Unix oder dem Sichtbarmachen einer SMB-Freigabe ?ber einen + Laufwerksbuchstaben unter Windows. Demzufolge bietet diese Art + von Client f?r alle Programme einen vollst?ndig transparenten + WebDAV-Schreib- und Lesezugriff. Die Anwendungen merken nicht + einmal, dass WebDAV-Anforderungen stattfinden. WebDrive, NetDrive + + Sowohl WebDrive als auch NetDrive sind ausgezeichnete + kommerzielle Produkte, die es erm?glichen, WebDAV-Freigaben + unter Windows als Laufwerksbuchstaben einzuh?ngen. Als + Ergebnis k?nnen Sie mit den Inhalten dieser Pseudo-Laufwerke + mit WebDAV im Hintergrund ebenso einfach und auf dieselbe + Weise arbeiten wie mit lokalen Festplatten. Sie k?nnen + WebDrive von South River Technologies () beziehen. NetDrive + von Novell ist frei online verf?gbar, die Benutzung + erfordert jedoch eine NetWare Lizenz. @@ -1189,6 +1217,7 @@ Mac OS X + + Apples Betriebssystem OS X besitzt einen integrierten + WebDAV-Client auf Dateisystemebene. W?hlen Sie im Finder den + Men?eintrag Go→Connect to + Server aus. Geben Sie einen WebDAV-URL ein, + und er erscheint als Laufwerk auf der Arbeitsoberfl?che so + wie jede andere eingeh?ngte Platte. Sie k?nnen auch eine + WebDAV-Freigabe aus dem Darwin-Terminal einh?ngen, indem Sie + den Dateisystemtypen webdav beim Befehl + mount angeben: $ mount -t webdav http://svn.example.com/repos/project /some/mountpoint $ + + Beachten Sie, dass OS X sich weigert, die Freigabe + les- und schreibbar einzuh?ngen, sofern die Version Ihres + mod_dav_svn ?lter ist als 1.2; in diesem + Fall wird sie nur lesbar sein. Das liegt daran, das OS X auf + der Unterst?tzung von Sperren bei les- und schreibbaren + Freigaben besteht, und die F?higkeit, Dateien zu sperren + erst mit Subversion 1.2 erschien. + + + Desweiteren kann der WebDAV-Client von OS X manchmal + ?berempfindlich auf HTTP-Weiterleitungen reagieren. Falls OS + X das Repository ?berhaupt nicht einh?ngen kann, k?nnte es + notwendig sein, die Direktive BrowserMatch + in der Datei httpd.conf des Apache + Servers zu aktivieren: BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully @@ -1226,11 +1282,19 @@ Linux davfs2 + + Linux davfs2 ist ein Dateisystem-Modul f?r den Linux-Kernel, + dessen Entwicklung bei betrieben wird. Sobald + Sie davfs2 installiert haben, k?nnen Sie eine + WebDAV-Netzfreigabe mit dem ?blichen Linux mount-Befehl + einh?ngen: $ mount.davfs http://host/repos /mnt/dav From svnbook at googlecode.com Thu May 20 11:32:48 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 20 May 2010 16:32:48 +0000 Subject: Issue 80 in svnbook: ch 4 Branching and Merging - incorrect definition of revision Message-ID: <0-7155889305988986295-6274579604092621849-svnbook=googlecode.com@googlecode.com> Status: New Owner: ---- Labels: Type-Defect Priority-Medium New issue 80 by ppitha: ch 4 Branching and Merging - incorrect definition of revision http://code.google.com/p/svnbook/issues/detail?id=80 I'm both a newbie to svn and a nitpicker. Chapter 4 states near the top: "At this point, you should understand how each commit creates an entirely new filesystem tree (called a ?revision?) in the repository." Finding it alarming that a commit would create an entirely new filesystem tree, I went and read the chapter on Revisions where it states "Each time the repository accepts a commit, this creates a new state of the filesystem tree, called a revision. " I propose the chapter 4 text say "At this point, you should understand how each commit creates a new state of filesystem tree (called a ?revision?) in the repository." Thanks, Phil ppitha at gmail.com From svnbook at googlecode.com Wed May 26 10:26:27 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Wed, 26 May 2010 15:26:27 +0000 Subject: Issue 81 in svnbook: Update feature branches from trunk Message-ID: <0-7155889305988986295-2742235568945268409-svnbook=googlecode.com@googlecode.com> Status: New Owner: ---- Labels: Type-Defect Priority-Medium New issue 81 by bugpwr: Update feature branches from trunk http://code.google.com/p/svnbook/issues/detail?id=81 From svnbook: "Another way of thinking about this pattern is that your weekly sync of trunk to branch is analogous to running svn update in a working copy, while the final merge step is analogous to running svn commit from a working copy. After all, what else is a working copy but a very shallow private branch? It's a branch that's capable of storing only one change at a time." The recommended practice seems to be misleading, or the industry doesn't quite know how to use it. For example, see http://stackoverflow.com/questions/2146426/how-to-properly-update-a-feature-branch-from-trunk The problem is that a developer in a large organization, that would usually require every feature to get to trunk thru one or two feature branches, cannot really update these numerous small feature branches (with just a few changesets) by merging huge amounts of trunk changes to each of them. Even for a smaller development task force, the approach creates a problem during reintegration of the feature branch. Suggesting removal of this section, or, alternative practice, like the one we employ: [proposal] "When you want to synchronize with the changes from trunk, but not yet ready to reintegrate the feature branch, you may open a new feature branch cut from the current trunk. Then, you merge onto the new branch, delete the previous one and continue working on the new branch. This way, the merge is always downward (Feature branches -> trunk -> release branches)." From j.m.f at gmx.li Sun May 30 02:13:00 2010 From: j.m.f at gmx.li (Jens M. Felderhoff) Date: Sun, 30 May 2010 09:13:00 +0200 Subject: [de] Deutsche =?UTF-8?B?w5xiZXJzZXR6dW5nOg==?= Wie geht es weiter? Message-ID: <20100530091300.697e0cc6@neuromancer> So, vor einer Woche habe ich den letzten Rest von Anhang C ins Repository geschoben. Leider sind noch einige Punkte bez?glich der deutschen ?bersetzung offen. Die deutsche Seite zur Koordinierung der ?bersetzung (www.svnbook.de) scheint nicht mehr richtig gepflegt zu werden (ich habe die Anh?nge alle ohne Tickets ?bersetzt, sonst w?rde ich heute noch warten). Laut www.svnbook.de befindet sich das dritte Kapitel seit dem 10. September 2008 in ?bersetzung; im Repository ist allerdings davon noch nichts aufgetaucht. Das sechste Kapitel ist bis "Using svnserve with SASL" ?bersetzt und ins Repository ?bergeben worden. Tickets gibt es aber nur f?r die bereits ?bersetzten Teile. Es w?re sch?n, wenn sich Beteiligte oder Interessierte mal melden w?rden. Tsch?ss Jens -- Intentionally left blank. From svnbook at googlecode.com Mon May 31 01:38:50 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 31 May 2010 06:38:50 +0000 Subject: [svnbook] r3737 committed - Changed wording Repository -> Projektarchiv. Message-ID: <000e0cd1549e1592950487de1c65@google.com> Revision: 3737 Author: jmfelderhoff at gmx.eu Date: Sun May 30 23:37:40 2010 Log: Changed wording Repository -> Projektarchiv. http://code.google.com/p/svnbook/source/detail?r=3737 Modified: /trunk/src/de/book/appa-quickstart.xml /trunk/src/de/book/appb-svn-for-cvs-users.xml /trunk/src/de/book/appc-webdav.xml /trunk/src/de/book/ch00-preface.xml /trunk/src/de/book/ch01-fundamental-concepts.xml /trunk/src/de/book/ch02-basic-usage.xml /trunk/src/de/book/ch04-branching-and-merging.xml /trunk/src/de/book/ch05-repository-admin.xml /trunk/src/de/book/ch06-server-configuration.xml /trunk/src/de/book/ch07-customizing-svn.xml /trunk/src/de/book/ch08-embedding-svn.xml /trunk/src/de/book/ch09-reference.xml ======================================= --- /trunk/src/de/book/appa-quickstart.xml Wed Dec 23 08:59:14 2009 +++ /trunk/src/de/book/appa-quickstart.xml Sun May 30 23:37:40 2010 @@ -15,7 +15,7 @@ --> Falls Sie Subversion unbedingt zum Laufen bringen wollen (und Sie der Typ sind, der durch Experimentieren lernt), erkl?rt Ihnen - dieser Anhang, wie ein Repository erstellt, Code importiert und + dieser Anhang, wie ein Projektarchiv erstellt, Code importiert und wieder als Arbeitskopie ausgecheckt wird. Dabei zeigen wir Verbindungen zu den relevanten Kapiteln in diesem Buch auf. @@ -129,7 +129,7 @@ Beachten Sie, dass ein herausgegebenes Quelltextpaket unter Umst?nden nicht alles enth?lt, was Sie ben?tigen, um einen Kommandozeilen-Client zu bauen, der mit einem entfernten - Repository kommunizieren kann. Ab Subversion 1.4 werden die + Projektarchiv kommunizieren kann. Ab Subversion 1.4 werden die Bibliotheken, von denen Subversion abh?ngt (apr, apr-util und neon) als eigene Quelltextpakete mit dem Suffix -deps verteilt. Diese Bibliotheken sind @@ -162,10 +162,10 @@ --> Falls Sie einer der Zeitgenossen sind, die gerne die allerneueste Software verwenden, k?nnen Sie auch den Quelltext - von Subversion aus dem Subversion-Repository bekommen, in dem er + von Subversion aus dem Subversion-Projektarchiv bekommen, in dem er verwaltet wird. Offensichtlich ben?tigen Sie hierf?r bereits einen Subversion-Client. Doch sobald Sie einen haben, k?nnen Sie - eine Arbeitskopie des Subversion-Quelltext-Repositorys von + eine Arbeitskopie des Subversion-Quelltext-Projektarchivs von auschecken: Beachten Sie, dass der ausgecheckte URL im Beispiel @@ -276,8 +276,8 @@ repository. To begin, create a new repository: --> Subversion speichert alle versionierten Daten in einem - zentralen Repository. Um anzufangen, erstellen Sie ein neues - Repository: + zentralen Projektarchiv. Um anzufangen, erstellen Sie ein neues + Projektarchiv: $ svnadmin create /var/svn/repos @@ -296,11 +296,11 @@ --> Dieser Befehl erzeugt ein neues Verzeichnis, /var/svn/repos, das ein - Subversion-Repository enth?lt. Dieses neue Verzeichnis + Subversion-Projektarchiv enth?lt. Dieses neue Verzeichnis beinhaltet (neben anderen Dingen) eine Sammlung von Datenbankdateien. Wenn Sie hineinschauen, werden Sie Ihre versionierten Dateien nicht sehen. Weitere Informationen zur - Erstellung und Wartung von Repositorys finden Sie in . Subversion fehlt das Konzept Projekt. Das - Repository ist lediglich ein virtuelles, versioniertes + Projektarchiv ist lediglich ein virtuelles, versioniertes Dateisystem, ein gro?er Baum, der alles aufnehmen kann, was Sie wollen. Manche Administratoren bevorzugen es, nur ein Projekt in - einem Repository zu speichern, wohingegen andere mehrere - Projekte in einem Repository unterbringen, indem sie sie in + einem Projektarchiv zu speichern, wohingegen andere mehrere + Projekte in einem Projektarchiv unterbringen, indem sie sie in getrennten Unterverzeichnissen ablegen. Wir er?rtern die Vorteile jedes Ansatzes in . So oder so, - das Repository verwaltet nur Dateien und Verzeichnisse, so dass + das Projektarchiv verwaltet nur Dateien und Verzeichnisse, so dass es ganz allein bei den Menschen liegt, bestimmte Verzeichnisse als Projekte anzusehen. Auch wenn Sie in diesem Buch Bez?ge auf Projekte sehen sollten, denken Sie daran, dass wir dabei nur ?ber irgendein Verzeichnis (oder eine Sammlung von - Verzeichnissen) im Repository sprechen. + Verzeichnissen) im Projektarchiv sprechen. Sobald Sie Ihre Daten vorbereitet haben, importieren Sie sie - mit dem Befehl svn import in das Repository + mit dem Befehl svn import in das Projektarchiv (siehe ): - Nun enth?lt das Repository diesen Datenbaum. Wie bereits + Nun enth?lt das Projektarchiv diesen Datenbaum. Wie bereits erw?hnt, werden Sie Ihre Dateien nicht sehen, wenn Sie direkt - in das Repository schauen; sie werden alle in einer Datenbank - abgelegt. Das imagin?re Dateisystem des Repositorys jedoch + in das Projektarchiv schauen; sie werden alle in einer Datenbank + abgelegt. Das imagin?re Dateisystem des Projektarchivs jedoch enth?lt nun ein Verzeichnis namens myproject, welches wiederum Ihre Daten enth?lt. @@ -451,11 +451,11 @@ /tmp/myproject unver?ndert bleibt; Subversion kennt es nicht. (Sie k?nnen das Verzeichnis eigentlich l?schen, wenn Sie m?chten.) Um damit zu beginnen, - Repository-Daten zu manipulieren, m?ssen Sie eine neue + Projektarchiv-Daten zu manipulieren, m?ssen Sie eine neue Arbeitskopie der Daten anlegen, eine Art privater Arbeitsbereich. Fordern Sie Subversion dazu auf, eine Arbeitskopie des Verzeichnisses - myproject/trunk im Repository + myproject/trunk im Projektarchiv auszuchecken: @@ -474,10 +474,10 @@ back into the repository. --> Nun haben Sie eine pers?nliche Kopie eines Teils des - Repositorys in einem Verzeichnis namens + Projektarchivs in einem Verzeichnis namens myproject. Sie k?nnen die Dateien in Ihrer Arbeitskopie bearbeiten und dann diese ?nderungen zur?ck an das - Repository ?bergeben. + Projektarchiv ?bergeben. @@ -503,7 +503,7 @@ version of your file to the repository. --> Rufen Sie svn commit auf, um die - neue Version Ihrer Datei an das Repository zu ?bergeben. + neue Version Ihrer Datei an das Projektarchiv zu ?bergeben. @@ -512,7 +512,7 @@ copy up to date with the repository. --> Rufen Sie svn update auf, um Ihre - Arbeitskopie bez?glich des Repositorys zu + Arbeitskopie bez?glich des Projektarchivs zu aktualisieren. @@ -531,7 +531,7 @@ linkend="svn.serverconfig"/> to learn about the different sorts of server processes available and how to configure them. --> - An dieser Stelle haben Sie die M?glichkeit, Ihr Repository + An dieser Stelle haben Sie die M?glichkeit, Ihr Projektarchiv f?r andere ?ber das Netz erreichbar zu machen. Siehe , um mehr ?ber die verschiedenen Arten von verf?gbaren Server-Prozessen zu erfahren und wie sie ======================================= --- /trunk/src/de/book/appb-svn-for-cvs-users.xml Sat Feb 6 09:21:42 2010 +++ /trunk/src/de/book/appb-svn-for-cvs-users.xml Sun May 30 23:37:40 2010 @@ -52,8 +52,8 @@ --> In CVS werden Revisionsnummern pro Datei vergeben. Das liegt daran, dass CVS seine Daten in RCS-Dateien speichert; f?r jede - Datei gibt es eine entsprechende RCS-Datei im Repository, und - die Struktur des Repositorys entspricht grob der Struktur Ihres + Datei gibt es eine entsprechende RCS-Datei im Projektarchiv, und + die Struktur des Projektarchivs entspricht grob der Struktur Ihres Projektbaums. - In Subversion sieht das Repository aus wie ein einzelnes + In Subversion sieht das Projektarchiv aus wie ein einzelnes Dateisystem. Jede ?bergabe verursacht einen v?llig neuen - Dateibaum; im Wesentlichen ist das Repository eine Liste aus + Dateibaum; im Wesentlichen ist das Projektarchiv eine Liste aus B?umen. Jeder dieser B?ume wird mit einer einzelnen Revisionsnumer gekennzeichnet. Wenn jemand von Revision 54 redet, ist damit ein bestimmter Baum gemeint (und @@ -116,8 +116,8 @@ Subversion eine Kopie des gesamten Baums ist (konventionell in die Verzeichnisse /branches oder /tags, die auf der obersten Ebene des - Repositorys neben /trunk liegen). Im - Repository in seiner Gesamtheit k?nnen viele Versionen einer + Projektarchivs neben /trunk liegen). Im + Projektarchiv in seiner Gesamtheit k?nnen viele Versionen einer Datei sichtbar sein: die letzte Version jedes Zweigs, jede mit einem Tag versehene Version und nat?rlich die letzte Version auf dem Stamm. Um den Ausdruck also noch weiter zu pr?zisieren, @@ -170,10 +170,10 @@ delete arbeiten nun auf Verzeichnissen wie auf Dateien; ebenso svn copy und svn move. Jedoch bewirken diese Befehle - keine sofortige ?nderung im Repository. + keine sofortige ?nderung im Projektarchiv. Stattdessen werden die Objekte einfach zum Hinzuf?gen oder L?schen vorgemerkt. Es findet keine ?nderung - im Repository statt, bevor Sie svn + im Projektarchiv statt, bevor Sie svn commit aufrufen. @@ -241,7 +241,7 @@ stillschweigend ?bergebene Hinzuf?gungen sowie L?schungen im .svn-Bereich mitverfolgt. Wenn Sie schlie?lich svn update aufrufen, wird - alles in Bezug auf das Repository glattgezogen und die neue + alles in Bezug auf das Projektarchiv glattgezogen und die neue Revisionsnummer des Verzeichnisses korrekt vergeben. Daher kann erst nach einer Aktualisierung gesagt werden, dass es eine vollst?ndige @@ -424,7 +424,7 @@ update oder cvs -n update aufzurufen, um schnell ihre ?nderungen zu sehen. Falls Benutzer die Option vergessen, hat das den - Nebeneffekt, dass Repository-?nderungen hineingebracht werden + Nebeneffekt, dass Projektarchiv-?nderungen hineingebracht werden k?nnten, um die sie sich momentan noch nicht k?mmern k?nnen. @@ -453,7 +453,7 @@ --> svn status gibt alle Dateien aus, an denen lokale ?nderungen vorgenommen wurden. Standardm??ig wird - kein Kontakt zum Repository hergestellt. Obwohl dieser + kein Kontakt zum Projektarchiv hergestellt. Obwohl dieser Unterbefehl eine stattliche Anzahl an Optionen versteht, sind die folgenden die meistbenutzten: @@ -465,7 +465,7 @@ Contact the repository to determine, and then display, out-of-dateness information. --> - Verbindung zum Repository aufnehmen, um + Verbindung zum Projektarchiv aufnehmen, um Informationen ?ber nicht mehr Aktuelles zu ermitteln und dann anzuzeigen. @@ -557,7 +557,7 @@ vorangegangenen Beispiel zeigt das Sternchen an, dass das Objekt faces.html beim Aktualisieren ver?ndert w?rde, und dass bloo.png eine - dem Repository hinzugef?gte neue Datei ist. (Die Abwesenheit + dem Projektarchiv hinzugef?gte neue Datei ist. (Die Abwesenheit einer Revisionsnummer neben bloo.png bedeutet, dass die Datei noch nicht in der Arbeitskopie vorhanden ist.) @@ -840,7 +840,7 @@ Bin?rdatei abspeichern. Subversion jedoch stellt Unterschiede zwischen Dateien mithilfe eines bin?ren Differenzalgorithmus dar. Das bedeutet, dass alle Dateien als (komprimierte) - Differenzen im Repository abgespeichert werden. + Differenzen im Projektarchiv abgespeichert werden. - Ein Repository von CVS nach Subversion ?berf?hren + Ein Projektarchiv von CVS nach Subversion ?berf?hren Falls Sie ein Post-Commit-Hook-Programm verwenden, das E-Mail verschickt, empfiehlt es sich, die Erstellung der Mail zu - unterbinden oder auf bestimmte Abschnitte des Repositorys zu + unterbinden oder auf bestimmte Abschnitte des Projektarchivs zu beschr?nken; es h?ngt davon ab, ob Sie das Hereinprasseln der Mails immer noch als wertvolle Benachrichtigungen erachten oder nicht. Desweiteren kann ein kluges Post-Commit-Hook-Programm @@ -413,7 +413,7 @@ Ein weiteres Merkmal, das eine sinnvolle Erg?nzung zur Autoversionierung von Subversion sein kann, kommt aus dem Modul mod_mime von Apache. Falls ein WebDAV-Client - dem Repository eine neue Datei hinzuf?gt, hat der Benutzer keine + dem Projektarchiv eine neue Datei hinzuf?gt, hat der Benutzer keine Gelegenheit, das Property svn:mime-type zu setzen. Das k?nnte dazu f?hren, dass die Datei als allgemeines Icon angezeigt wird, wenn sie innerhalb eines Ordners ?ber @@ -877,7 +877,7 @@ nicht sehr n?tzlich, da sie keine MKACTIVITY-Anfragen erlauben. Es ist jedenfalls belanglos; wir nehmen an, dass all diese Clients - mit einem autoversionierenden Repository zusammenarbeiten. + mit einem autoversionierenden Projektarchiv zusammenarbeiten. @@ -1038,7 +1038,7 @@ originalen Webordner aus der Zeit vor XP in Ihrem System zu verbergen. Sie k?nnen sie ans Licht holen, indem Sie in Netzwerkumgebung gehen und eine neue Umgebung anlegen. Wenn - Sie danach gefragt werden, tragen Sie den URL des Repositorys + Sie danach gefragt werden, tragen Sie den URL des Projektarchivs ein, aber verwenden Sie dabei eine Portnummer im URL. Beispielsweise sollten Sie statt http://host/repos @@ -1070,7 +1070,7 @@ betrachtet, und deshalb alle Authentifizierungsanforderungen seitens Apache scheitern l?sst, sofern sie nicht ?ber https:// erfolgen. Sollten Sie nicht in - der Lage sein, sich ?ber SSL mit dem Subversion-Repository + der Lage sein, sich ?ber SSL mit dem Subversion-Projektarchiv zu verbinden, k?nnen Sie die System-Registratur anpassen, um dieses Verhalten zu unterbinden. Dazu ?ndern Sie einfach den Wert des Schl?ssels @@ -1078,10 +1078,10 @@ von 1 auf 2. Eine letzte Warnung: Stellen Sie sicher, den Webordner so einzurichten, dass er auf das Wurzelverzeichnis des - Repositorys (/) zeigt, statt auf ein + Projektarchivs (/) zeigt, statt auf ein Unterverzeichnis wie etwa /trunk. Die Webordner von Vista scheinen nur mit - Repository-Wurzelverzeichnissen zu funktionieren. + Projektarchiv-Wurzelverzeichnissen zu funktionieren. In GNOMEs Nautilus w?hlen Sie den Men?eintrag File→Open location und - tragen den URL in den angebotenen Dialog ein. Das Repository + tragen den URL in den angebotenen Dialog ein. Das Projektarchiv sollte dann wie ein anderes Dateisystem angezeigt werden. @@ -1149,7 +1149,7 @@ sehen. Falls Sie statt http://host/repos jedoch webdav://host/repos eingeben, wird - Konqueror zum WebDAV-Client und zeigt das Repository als + Konqueror zum WebDAV-Client und zeigt das Projektarchiv als Dateisystem an. @@ -1267,7 +1267,7 @@ --> Desweiteren kann der WebDAV-Client von OS X manchmal ?berempfindlich auf HTTP-Weiterleitungen reagieren. Falls OS - X das Repository ?berhaupt nicht einh?ngen kann, k?nnte es + X das Projektarchiv ?berhaupt nicht einh?ngen kann, k?nnte es notwendig sein, die Direktive BrowserMatch in der Datei httpd.conf des Apache Servers zu aktivieren: ======================================= --- /trunk/src/de/book/ch00-preface.xml Sat May 2 05:05:03 2009 +++ /trunk/src/de/book/ch00-preface.xml Sun May 30 23:37:40 2010 @@ -291,7 +291,7 @@ m?glichst schnell einen Subversion-Server zum Laufen zu bekommen. und zeigen, wie Sie Ihr erstes - Repository erzeugen und es ?ber das Netz verf?gbar machen + Projektarchiv erzeugen und es ?ber das Netz verf?gbar machen k?nnen. Danach sind und die schnellsten Wege zum Lernen des Subversion-Clients. @@ -538,7 +538,7 @@ --> Erkl?rt die Grundlagen von Versionskontrolle und unterschiedliche Versionierungsmodelle sowie das - Repository von Subversion, Arbeitskopien und + Projektarchiv von Subversion, Arbeitskopien und Revisionen.
@@ -601,7 +601,7 @@ the tools you can use to do all of this. --> Beschreibt die Grundlagen des - Subversion-Repositorys, wie man ein Repository anlegt, konfiguriert + Subversion-Projektarchivs, wie man ein Projektarchiv anlegt, konfiguriert und wartet sowie die Tools, die man hierf?r benutzen kann @@ -620,7 +620,7 @@ --> Erkl?rt, wie man einen Subversion-Server konfiguriert und unterschiedliche Arten auf ein - Repository zuzugreifen: HTTP, das + Projektarchiv zuzugreifen: HTTP, das svn-Protokoll und ?ber die lokale Festplatte. Behandelt werden hier auch die Authentifizierung, die Autorisierung und der anonyme @@ -726,7 +726,7 @@ mounted read/write as a DAV share. --> Beschreibt die Details zu WebDAV und DeltaV und wie - man sein Subversion-Repository konfiguriert, damit es + man sein Subversion-Projektarchiv konfiguriert, damit es als freigegebenes DAV-Laufwerk schreibbar in das Dateisystem eingeh?ngt werden kann. @@ -781,7 +781,7 @@ the book's own Subversion repository. --> Sie werden stets die neueste Version dieses Buchs im - eigenen Subversion-Repository finden. + eigenen Subversion-Projektarchiv finden. @@ -821,7 +821,7 @@ . Dort finden Sie Links auf die neuesten Releases und mit Tags versehene Versionen des Buchs in verschiedenen Formaten ebenso wie eine Anleitung, auf das - Subversion-Repository des Buchs zuzugreifen (dort lebt sein + Subversion-Projektarchiv des Buchs zuzugreifen (dort lebt sein Quellcode im DocBook-XML-Format). R?ckmeldungen sind willkommen – ja sogar erw?nscht. Bitte senden Sie alle Kommentare, Beschwerden und Patches f?r die Sourcen des Buchs an @@ -1547,7 +1547,7 @@ T?tigkeit und Subversion vereinfacht die Zusammenarbeit mit anderen Programmierern. Nat?rlich ist die Benutzung von Subversion nicht umsonst zu bekommen: es kostet - administrativen Aufwand. Sie m?ssen ein Daten-Repository + administrativen Aufwand. Sie m?ssen ein Daten-Projektarchiv verwalten, das die Informationen und ihre gesamte Geschichte speichert, und Sie m?ssen sich gewissenhaft um Sicherheitskopien k?mmern. Wenn Sie t?glich mit den Daten @@ -1797,16 +1797,16 @@ repository. Others bypass the network altogether and access the repository directly. --> - An einem Ende ist das Repository von Subversion, das die + An einem Ende ist das Projektarchiv von Subversion, das die gesamten versionierten Daten enth?lt. Am anderen Ende ist das Subversion-Client-Programm, das die lokale Spiegelung von Teilen dieser versionierten Daten verwaltet (Arbeitskopien genannt). Zwischen den entgegengesetzten Enden befinden sich mehrere Wege ?ber - verschiedene Repository-Zugriffsschichten. Einige dieser Pfade + verschiedene Projektarchiv-Zugriffsschichten. Einige dieser Pfade gehen ?ber Computernetzwerke und ?ber Netzwerkserver, die dann - auf das Repository zugreifen. Andere lassen das Netz links - liegen und greifen direkt auf das Repository zu. + auf das Projektarchiv zugreifen. Andere lassen das Netz links + liegen und greifen direkt auf das Projektarchiv zu. @@ -1864,7 +1864,7 @@ A tool for directly inspecting a Subversion repository --> Ein Werkzeug zur direkten Untersuchung eines - Subversion-Repositorys + Subversion-Projektarchivs @@ -1876,7 +1876,7 @@ repository --> Ein Werkzeug zum Erstellen, Ver?ndern oder - Reparieren eines Repositorys + Reparieren eines Projektarchivs @@ -1889,7 +1889,7 @@ network --> Ein Plug-In-Modul f?r den Apache-HTTP-Server, wird - ben?tigt, um das Repository ?ber ein Netzwerk verf?gbar + ben?tigt, um das Projektarchiv ?ber ein Netzwerk verf?gbar zu machen @@ -1904,7 +1904,7 @@ --> Ein spezielles Server-Programm, dass als Hintergrundprozess laufen oder von SSH aufgerufen werden - kann; eine weitere M?glichkeit, das Repository ?ber ein + kann; eine weitere M?glichkeit, das Projektarchiv ?ber ein Netzwerk verf?gbar zu machen. @@ -1917,7 +1917,7 @@ streams --> Ein Programm zum Filtern von - Subversion-Repository-Dump-Streams + Subversion-Projektarchiv-Dump-Streams @@ -1929,7 +1929,7 @@ repository to another over a network --> Ein Programm zum inkrementellen Spiegeln eines - Repositorys ?ber ein Netzwerk + Projektarchivs ?ber ein Netzwerk @@ -1988,13 +1988,13 @@ under version control, auto-escaping of URLs, and a localized user interface. --> - Release 1.1 f?hrte FSFS ein, eine Repository-Speicheroption, + Release 1.1 f?hrte FSFS ein, eine Projektarchiv-Speicheroption, die auf Dateien basiert. Obwohl das Berkeley-DB-Backend immer noch weitverbreitet ist und unterst?tzt wird, ist FSFS mittlerweile wegen der niedrigen Einstiegsh?rde und des minimalen Wartungsbedarfs die Standard-Auswahl f?r - neu erzeugte Repositorys. Ebenfalls kam mit diesem + neu erzeugte Projektarchivs. Ebenfalls kam mit diesem Release die M?glichkeit, symbolische Links unter Versionskontrolle zu stellen, das automatische Maskieren von URLs und eine sprachabh?ngige @@ -2032,7 +2032,7 @@ Bedarf, solche Ressourcen zu versionieren und zu sch?tzen. Zusammen mit dem Sperren kam auch eine vollst?ndige WebDAV-Auto-Versionierungs-Implementierung, - die es erlaubt, Subversion-Repositorys als + die es erlaubt, Subversion-Projektarchivs als Netzwerkverzeichnisse einzuh?ngen. Schlie?lich begann Subversion 1.2 einen neuen, schnelleren bin?ren Differenzalgorithmus zu verwenden, um alte Versionen von @@ -2081,12 +2081,12 @@ --> Release 1.4 f?hrte ein v?llig neues Werkzeug – svnsync – ein, um - eine Einbahn-Replizierung von Repositorys ?ber das Netz + eine Einbahn-Replizierung von Projektarchivs ?ber das Netz vornehmen zu k?nnen. Gr??ere Teile der Arbeitskopie-Metadaten wurden ?berarbeitet, so dass nicht mehr XML benutzt wurde (was sich in erh?hter Geschwindigkeit auf Client-Seite niederschlug), w?hrend - das Berkeley-DB-Repository-Backend die F?higkeit erhielt, + das Berkeley-DB-Projektarchiv-Backend die F?higkeit erhielt, sich nach einem Server-Crash automatisch wiederherzustellen. ======================================= --- /trunk/src/de/book/ch01-fundamental-concepts.xml Sun Feb 7 11:04:26 2010 +++ /trunk/src/de/book/ch01-fundamental-concepts.xml Sun May 30 23:37:40 2010 @@ -31,7 +31,7 @@ - Das Repository + Das Projektarchiv Subversion ist ein zentralisiertes System zur gemeinsamen - Nutzung von Informationen. In seinem Kern ist ein Repository ein - zentraler Speicher von Daten. Das Repository speichert Informationen + Nutzung von Informationen. In seinem Kern ist ein Projektarchiv ein + zentraler Speicher von Daten. Das Projektarchiv speichert Informationen in Form eines Dateisystembaumes, typischerweise eine Hierarchie von Dateien und Verzeichnissen. Eine beliebige Anzahl - von Clients verbinden sich mit dem Repository + von Clients verbinden sich mit dem Projektarchiv und lesen oder schreiben diese Dateien. Durch den Schreibvorgang, macht ein Client Informationen f?r andere verf?gbar. Durch den Lesevorgang bekommt der Client Informationen von anderen zur Verf?gung @@ -70,9 +70,9 @@ rearrangement of files and directories. --> So, warum ist das interessant? Bis zu diesem Punkt h?rt sich das wie die Definition eines typischen File-Servers an. Und - tats?chlich, das Repository ist eine Art von + tats?chlich, das Projektarchiv ist eine Art von File-Server, aber nicht von der Art, die Sie kennen. Was das - Subversion-Repository so speziell macht ist, dass es sich + Subversion-Projektarchiv so speziell macht ist, dass es sich jede ?nderung merkt, die jemals hineingeschrieben wurde. Jede ?nderung an jeder Datei und auch ?nderungen am Verzeichnisbaum selbst, wie z.B. das Hinzuf?gen, L?schen und @@ -90,7 +90,7 @@ any version control system: systems that are designed to track changes to data over time. --> - Wenn ein Client Daten vom Repository liest, bekommt der Client + Wenn ein Client Daten vom Projektarchiv liest, bekommt der Client ?blicherweise nur die letzte Version des Dateisystem-Baumes zu sehen. Der Client hat aber auch die M?glichkeit, vorherige Zust?nde des Dateibaumes anzuschauen. @@ -221,7 +221,7 @@ Viele Versionskontrollsysteme verwenden ein Sperren - ?ndern - Entsperren-Modell um zu verhindern, dass verschiedene Autoren sich gegenseitig die - ?nderungen l?schen. Bei diesem Modell erlaubt das Repository nur + ?nderungen l?schen. Bei diesem Modell erlaubt das Projektarchiv nur jeweils einem Programmierer den Zugriff auf eine Datei. Harry m?sste also die Datei sperren, ehe er anf?ngt, seine ?nderungen einzugeben. Wenn Harry die Datei gesperrt hat, @@ -361,7 +361,7 @@ Subversion, CVS und viele andere Versionskontrollsysteme benutzen eine ?Kopieren ? ?ndern ? Zusammenfassen? — Version als Alternative zum Sperren. In diesem Modell erschafft - jeder User sich eine eigene Arbeitskopie der im Repository + jeder User sich eine eigene Arbeitskopie der im Projektarchiv vorhandenen Dateien und Verzeichnisse. Dann k?nnen die User gleichzeitig und unabh?ngig voneinander ihre jeweiligen ?nderungen eingeben und speichern. Am Ende werden dann alle @@ -389,11 +389,11 @@ process. --> Hier ist ein Beispiel: Harry und Sally haben sich - jeweils eine eigene Arbeitskopie des im Repository vorhandenen + jeweils eine eigene Arbeitskopie des im Projektarchiv vorhandenen Projektes geschaffen. Beide arbeiten nun am selben File A innerhalb ihrer jeweiligen Kopien. Sally speichert ihre Version - zuerst im Repository ab. Wenn Harry sp?ter ebenfalls versucht, - seine ?nderungen zu speichern, informiert ihn das Repository, + zuerst im Projektarchiv ab. Wenn Harry sp?ter ebenfalls versucht, + seine ?nderungen zu speichern, informiert ihn das Projektarchiv, das sein File A nicht mehr aktuell ist. Das bedeutet, dass seitdem er sich seine Kopie erschaffen hat, sind irgendwelche ?nderungen aufgetreten. Also bittet Harry seinen Client darum, @@ -401,7 +401,7 @@ einzuarbeiten. Die M?glichkeit besteht, dass Sallys ?nderungen mit seinen nicht ?berlappen, wenn er also alle ?nderungen eingearbeitet hat, kann er seine Arbeitskopie zur?ck in das - Repository speichern. Die Abbildungen + Projektarchiv speichern. Die Abbildungen und zeigen diesen Proczess. @@ -450,7 +450,7 @@ erkennnen und die n?tigen intelligenten ?nderungen durchzuf?hren. Wenn Harry die Konfliktsituationen — vielleicht nach einer kurzen Diskussion mit Sally — gel?st hat, - kann er seine Datei problemlos ins Repository speichern. + kann er seine Datei problemlos ins Projektarchiv speichern. Das Kopieren-?ndern-Zusammenf?hren-Modell beruht auf der Annahme dass Dateien kontextbezogen zusammenf?hrbar sind – d.h. die - Mehrzahl der Dateien im Repository sind zeilenorientierte Textdateien + Mehrzahl der Dateien im Projektarchiv sind zeilenorientierte Textdateien (wie z.B. Programm-Quelltext). Aber f?r Dateien in Bin?rformaten, wie Grafiken und Kl?nge, ist es oftmals nicht m?glich, konfligierende ?nderungen zusammenzuf?hren. In diesen @@ -571,7 +571,7 @@ - Subversion-Repository-URLs + Subversion-Projektarchiv-URLs Das ganze Buch hindurch verwendet Subversion URLs, um - Dateien und Verzeichnisse in Subversion-Repositorys zu + Dateien und Verzeichnisse in Subversion-Projektarchivs zu identifizieren. Meistens benutzen diese URLs die Standardsyntax, die es erlaubt, Servernamen und Portnummern als Teil des URL zu spezifizieren: @@ -602,7 +602,7 @@ Allerdings gibt es einige bemerkenswerte Feinheiten, wie Subversion mit URLs umgeht. Beispielsweise d?rfen URLs, die die file://-Zugriffsmethode enthalten (f?r - lokale Repositorys verwendet), gem?? Konvention entweder + lokale Projektarchive verwendet), gem?? Konvention entweder den Servernamen localhost oder gar keinen Servernamen enthalten: @@ -626,10 +626,10 @@ Dar?ber hinaus m?ssen Benutzer des file:// Schemas auf Windows-Plattformen eine inoffizielle Standard-Syntax verwenden - falls auf Repositorys auf derselben Maschine aber auf einem + falls auf Projektarchive auf derselben Maschine aber auf einem anderen Laufwerk zugegriffen werden soll. Beide der folgenden URL-Pfad-Syntaxen funktionieren, wobei - X das Laufwerk ist, wo das Repository + X das Laufwerk ist, wo das Projektarchiv liegt: C:\> svn checkout file:///X:/var/svn/repos @@ -716,7 +716,7 @@ svn Programm behandelt. - Repository URLs + Projektarchiv-URLs - Sie k?nnen auf Subversion-Repositorys ?ber viele + Sie k?nnen auf Subversion-Projektarchive ?ber viele unterschiedliche Methoden zugreifen – auf der lokalen Festplatte oder ?ber verschiedene Protokolle, je nachdem, wie Ihr Administrator es eingerichtet hat. Ein Ort - im Repository ist jedenfalls immer ein URL. + im Projektarchiv ist jedenfalls immer ein URL. beschreibt, wie unterschiedliche URL Schemata auf die verf?gbaren Zugriffsmethoden abgebildet werden. @@ -741,7 +741,7 @@ - Repository-Zugriffs-URLs + Projektarchiv-Zugriffs-URLs @@ -758,7 +758,7 @@ - Direkter Repository-Zugriff (auf lokaler + Direkter Projektarchiv-Zugriff (auf lokaler Festplatte) @@ -871,10 +871,10 @@ funktionieren, stellt Ihnen Subversion Befehle zur Verf?gung, um Ihre ?nderungen den anderen, die an Ihrem Projekt mitarbeiten, publik zu machen (indem es ins - Repository schreibt). Wenn die anderen ihre ?nderungen + Projektarchiv schreibt). Wenn die anderen ihre ?nderungen ver?ffentlichen, stellt Ihnen Subversion Befehle zur Verf?gung, um diese ?nderungen in Ihr Arbeitsverzeichnis - einzupflegen (indem es aus dem Repository liest). + einzupflegen (indem es aus dem Projektarchiv liest). - Oft enth?lt ein typisches Subversion-Repository die + Oft enth?lt ein typisches Subversion-Projektarchiv die Dateien (oder den Quelltext) f?r verschiedene Projekte; f?r gew?hnlich ist jedes Projekt ein Unterverzeichnis im - Dateisystembaum des Repositorys. Bei dieser Anordnung + Dateisystembaum des Projektarchivs. Bei dieser Anordnung entspricht die Arbeitskopie eines Benutzers gew?hnlich einem - bestimmten Unterverzeichnis des Repositorys. + bestimmten Unterverzeichnis des Projektarchivs. - Nehmen wir zum Beispiel an, Sie haben ein Repository, das + Nehmen wir zum Beispiel an, Sie haben ein Projektarchiv, das zwei Software-Projekte beinhaltet, paint und calc. Jedes Projekt ist in einem eigenen Hauptverzeichnis abgelegt, wie in The repository's filesystem --> - Das Dateisystem des Repositorys + Das Dateisystem des Projektarchivs @@ -943,7 +943,7 @@ working copy like this: --> Um eine Arbeitskopie zu erhalten, muss zun?chst irgendein - Teilbaum des Repositorys ausgecheckt + Teilbaum des Projektarchivs ausgecheckt werden(check out). (Der Begriff check out h?rt sich an, als habe es etwas mit dem Sperren oder Reservieren von Ressourcen zu tun, hat es aber @@ -987,7 +987,7 @@ an, dass Subversion Ihrer Arbeitskopie eine Anzahl von Objekten hinzuf?gt (Add). Sie haben nun eine pers?nliche Kopie des Verzeichnisses /calc im - Repository, mit einem zus?tzlichen + Projektarchiv, mit einem zus?tzlichen Eintrag – .svn – das, wie bereits erw?hnt, die besonderen Informationen enth?lt, die Subversion ben?tigt. @@ -1009,7 +1009,7 @@ Subversion erkennen, dass Sie die Datei ver?ndert haben. Trotzdem ver?ffentlicht Subversion Ihre ?nderungen solange nicht, bis Sie es ausdr?cklich hierzu auffordern. Der Vorgang - des Ver?ffentlichens von ?nderungen ?ber das Repository ist + des Ver?ffentlichens von ?nderungen ?ber das Projektarchiv ist gemeinhin bekannter als commit (oder check in). @@ -1045,7 +1045,7 @@ file. --> Nun sind Ihre ?nderungen an button.c dem - Repository ?berstellt, mitsamt einer Notiz, die Ihre ?nderung + Projektarchiv ?berstellt, mitsamt einer Notiz, die Ihre ?nderung beschreibt (n?mlich, dass Sie einen Tippfehler beseitigt haben). Wenn eine andere Benutzerin eine Arbeitskopie von /calc auscheckt, wird sie Ihre @@ -1121,7 +1121,7 @@ Beachten Sie, dass Sally nicht angeben musste, welche Dateien zu aktualisieren sind; Subversion benutzt die Informationen aus dem .svn Verzeichnis und - dar?ber hinaus weitere Informationen im Repository, um zu + dar?ber hinaus weitere Informationen im Projektarchiv, um zu entscheiden, welche Dateien auf den neuesten Stand gebracht werden m?ssen. @@ -1150,7 +1150,7 @@ Verzeichnisse erzeugen, l?schen, umbenennen und kopieren und dann den gesamten Umfang der ?nderungen als atomare Transaktion durch ein svn commit in das - Repository einbringen. + Projektarchiv einbringen. Eine atomare Transaktion bedeutet: entweder es gehen alle - ?nderungen in das Repository oder keine. Angesichts von + ?nderungen in das Projektarchiv oder keine. Angesichts von Programmabst?rzen, Systemabst?rzen, Netzproblemen oder anderer Benutzeraktionen h?lt Subversion an dieser Atomizit?t fest. @@ -1174,12 +1174,12 @@ repository is numbered 0 and consists of nothing but an empty root directory. --> - Jedes Mal wenn das Repository ein Commit annimmt, wird ein + Jedes Mal wenn das Projektarchiv ein Commit annimmt, wird ein neuer Zustand des Dateisystem-Baums erzeugt, der Revision genannt wird. Jeder Revision wird eine einmalige nat?rliche Zahl zugewiesen, die um eins gr??er ist als die Vorg?nger-Revision. Die anf?ngliche - Revision eines frisch erzeugten Repositorys bekommt die Nummer + Revision eines frisch erzeugten Projektarchivs bekommt die Nummer 0 und besteht lediglich aus einem leeren Wurzelverzeichnis. @@ -1192,18 +1192,18 @@ repository looked after a commit. --> zeigt, - wie man sich das Repository vorstellen kann. Stellen Sie sich + wie man sich das Projektarchiv vorstellen kann. Stellen Sie sich eine Reihe von Revisionsnummern vor, die bei 0 startet und von links nach rechts w?chst. Jede Revisionsnummer hat einen Dateisystem-Baum unter sich h?ngen, der ein - Schnappschuss des Repositorys nach einem Commit + Schnappschuss des Projektarchivs nach einem Commit ist.
- Das Repository + Das Projektarchiv
@@ -1237,7 +1237,7 @@ Dateien angewendet. Jede Revisionsnummer w?hlt einen kompletten Baum aus; ein besonderer Zustand nach dem Commit einer ?nderung. Man kann sich auch vorstellen, dass Revision - N den Zustand des Repository-Dateisystems nach dem N-ten + N den Zustand des Projektarchiv-Dateisystems nach dem N-ten Commit repr?sentiert. Wenn Subversion-Benutzer von Revision 5 von foo.c sprechen, meinen sie tats?chlich @@ -1260,10 +1260,10 @@ most recent revision is 4: --> Es ist wichtig zu beachten, dass eine Arbeitskopie nicht - immer genau einer Revision im Repository zugeordnet werden + immer genau einer Revision im Projektarchiv zugeordnet werden kann; sie kann Dateien aus verschiedenen Revisionen beinhalten. Nehmen wir z.B. an, Sie checken sich eine - Arbeitskopie einer Datei aus einem Repository aus, deren + Arbeitskopie einer Datei aus einem Projektarchiv aus, deren neueste Revision 4 ist: @@ -1281,11 +1281,11 @@ working copy will now look like this: --> In diesem Augenblick entspricht Ihre Arbeitskopie exakt - der Revision im Repository. Sie machen jetzt allerdings eine + der Revision im Projektarchiv. Sie machen jetzt allerdings eine ?nderung an button.c und bringen diese - ?nderung mit einem Commit ins Repository. Angenommen, dass + ?nderung mit einem Commit ins Projektarchiv. Angenommen, dass keine weiteren Commits vorgenommen wurden, wird Ihr Commit die - Revision 5 im Repository erzeugen, und Ihre Arbeitskopie sieht + Revision 5 im Projektarchiv erzeugen, und Ihre Arbeitskopie sieht so aus: @@ -1331,7 +1331,7 @@ Arbeitskopie von Makefile mit Revision 6, um zu zeigen, dass es noch aktuell ist. Wenn Sie also ein sauberes Update von der Wurzel Ihrer Arbeitskopie her machen, - sollte sie im Allgemeinen genau einer Revision im Repository + sollte sie im Allgemeinen genau einer Revision im Projektarchiv entsprechen. @@ -1342,7 +1342,7 @@ - Wie Arbeitskopien das Repository verfolgen + Wie Arbeitskopien das Projektarchiv verfolgen Ein Zeitstempel, der festh?lt, wann die lokale Kopie - das letzte Mal vom Repository aktualisiert wurde. + das letzte Mal vom Projektarchiv aktualisiert wurde. @@ -1382,7 +1382,7 @@ working file is in: --> Mit diesen Informationen kann Subversion durch - Kommunikation mit dem Repository feststellen, in + Kommunikation mit dem Projektarchiv feststellen, in welchem der folgenden Zust?nde sich eine Arbeitsdatei befindet: @@ -1404,7 +1404,7 @@ --> Die Datei im Arbeitsverzeichnis ist unver?ndert, und keinerlei ?nderungen an der Datei sind seit der - Arbeitsrevision an das Repository ?bergeben worden. Ein + Arbeitsrevision an das Projektarchiv ?bergeben worden. Ein svn commit der Datei w?rde nichts machen, und ein svn update der Datei auch nicht. @@ -1429,8 +1429,8 @@ --> Die Datei wurde im Arbeitsverzeichnis ge?ndert, und keinerlei ?nderungen an der Datei sind seit der letzten - Aktualisierung an das Repository ?bergeben worden. Es - gibt lokale ?nderungen, die noch nicht an das Repository + Aktualisierung an das Projektarchiv ?bergeben worden. Es + gibt lokale ?nderungen, die noch nicht an das Projektarchiv ?bergeben worden sind, so dass ein svn commit der Datei Ihre ?nderungen erfolgreich ver?ffentlichen w?rde, und ein svn @@ -1456,7 +1456,7 @@ latest changes into your working copy. --> Die Datei wurde im Arbeitsverzeichnis nicht - ge?ndert, jedoch im Repository. Die Datei sollte + ge?ndert, jedoch im Projektarchiv. Die Datei sollte aktualisiert werden, damit sie bez?glich der letzten ?ffentlichen Revision aktuell ist. Ein svn commit der Datei w?rde nichts machen, und @@ -1485,7 +1485,7 @@ resolve the conflict. --> Die Datei wurde sowohl im Arbeitsverzeichnis als - auch im Repository ge?ndert. Ein svn + auch im Projektarchiv ge?ndert. Ein svn commit der Datei w?rde mit einem out-of-date Fehler abbrechen. Die Datei sollte erst aktualisiert werden; ein svn @@ -1561,13 +1561,13 @@ publish them. --> Eine der grundlegenden Regeln von Subversion ist, dass - eine Aktion, die in das Repository schreibt keine Aktion zur - Folge hat, die aus dem Repository liest und umgekehrt. Wenn - Sie bereit sind, neue ?nderungen an das Repository zu + eine Aktion, die in das Projektarchiv schreibt keine Aktion zur + Folge hat, die aus dem Projektarchiv liest und umgekehrt. Wenn + Sie bereit sind, neue ?nderungen an das Projektarchiv zu ?bergeben, hei?t das noch lange nicht, dass Sie auch die ?nderungen anderer haben m?chten. Und wenn Sie noch an ?nderungen arbeiten, sollte svn update - elegant die ?nderungen aus dem Repository mit Ihren + elegant die ?nderungen aus dem Projektarchiv mit Ihren ?nderungen zusammenf?hren anstatt Sie dazu zu zwingen, Ihre ?nderungen zu ver?ffentlichen. @@ -1614,13 +1614,13 @@ Nehmen wir zum Beispiel an, Ihre Arbeitskopie besteht komplett aus Revision 10. Sie bearbeiten die Datei foo.html und f?hren ein svn - commit aus, das die Revision 15 im Repository + commit aus, das die Revision 15 im Projektarchiv erzeugt. Nach dem erfolgreichen Commit w?rden viele neue Benutzer erwarten, dass die gesamte Arbeitskopie auf Revision 15 stehe, was aber nicht der Fall ist! Alle m?glichen ?nderungen k?nnen sich zwischen Revision 10 und 15 - im Repository zugetragen haben. Der Client wei? nichts ?ber - diese ?nderungen im Repository, da Sie noch nicht + im Projektarchiv zugetragen haben. Der Client wei? nichts ?ber + diese ?nderungen im Projektarchiv, da Sie noch nicht svn update aufgerufen haben, und svn commit zieht keine ?nderungen herein. Wenn andererseits svn commit automatisch @@ -1662,12 +1662,12 @@ Tatsache ist, dass jedes Mal wenn Sie svn commit aufgerufen haben, die Arbeitskopie aus irgendeiner Mischung von Revisionen - besteht. Die Sachen, die Sie eben ins Repository gebracht + besteht. Die Sachen, die Sie eben ins Projektarchiv gebracht haben, werden mit h?heren Revisionsnummern gekennzeichnet als alles andere. Nach einigen Commits (ohne zwischenzeitliche Updates) ist Ihre Arbeitskopie eine Riesenmischung von Revisionen. Selbst wenn Sie die einzige - Person sind, die das Repository benutzt, werden sie dieses + Person sind, die das Projektarchiv benutzt, werden sie dieses Ph?nomen bemerken. Um Ihre Mischung aus Arbeitsrevisionen untersuchen zu k?nnen, verwenden Sie den Befehl svn status mit der -Option @@ -1768,9 +1768,9 @@ destroying changes you've not yet seen. --> Erstens kann die L?schung einer Datei oder eines - Verzeichnisses nicht an das Repository ?bergeben werden, + Verzeichnisses nicht an das Projektarchiv ?bergeben werden, wenn die Datei oder das Verzeichnis nicht ganz aktuell ist. - Falls eine neuere Version im Repository existiert, wird Ihr + Falls eine neuere Version im Projektarchiv existiert, wird Ihr L?schversuch abgelehnt, um zu vermeiden, dass Sie versehentlich ?nderungen l?schen, die Sie noch nicht gesehen haben. @@ -1785,7 +1785,7 @@ destroy properties you've not yet seen. --> Zweitens k?nnen Sie keine ?nderungen an Metadaten eines - Verzeichnisses an das Repository ?bergeben, wenn das + Verzeichnisses an das Projektarchiv ?bergeben, wenn das Verzeichnis nicht ganz aktuell ist. In werden Sie lernen, wie man Propertys an Objekte h?ngt. Die Arbeitskopie @@ -1823,8 +1823,8 @@ the client working copy, and the array of repository revision trees. --> - Wir haben die Begriffe zentrales Repository, - Arbeitskopie und Reihe von Revisionsb?umen des Repositorys + Wir haben die Begriffe zentrales Projektarchiv, + Arbeitskopie und Reihe von Revisionsb?umen des Projektarchivs eingef?hrt. ======================================= --- /trunk/src/de/book/ch02-basic-usage.xml Sat May 2 06:24:47 2009 +++ /trunk/src/de/book/ch02-basic-usage.xml Sun May 30 23:37:40 2010 @@ -169,7 +169,7 @@ - Wie Sie Daten in Ihr Repository bekommen + Wie Sie Daten in Ihr Projektarchiv bekommen Sie k?nnen neue Dateien auf zweierlei Weisen in das - Subversion-Repository bekommen: svn import und + Subversion-Projektarchiv bekommen: svn import und svn add. Wir werden svn import jetzt und svn add sp?ter in diesem Kapitel besprechen, wenn wir einen typischen Tag mit @@ -202,13 +202,13 @@ begin tracking in your Subversion repository. For example: --> Mit dem svn import-Befehl kann ein - unversionierter Verzeichnisbaum schnell in ein Repository + unversionierter Verzeichnisbaum schnell in ein Projektarchiv kopiert werden, wobei ben?tigte Zwischenverzeichnisse nach Bedarf angelegt werden. svn import erfordert keine Arbeitskopie und pflegt Ihre Dateien sofort in - das Repository ein. Typischerweise verwenden Sie diesen Befehl, + das Projektarchiv ein. Typischerweise verwenden Sie diesen Befehl, wenn bereits ein Verzeichnisbaum besteht, den Sie - aber in einem Subversion-Repository pflegen m?chten. Zum + aber in einem Subversion-Projektarchiv pflegen m?chten. Zum Beispiel: Im vorstehenden Beispiel wurde der Inhalt des Verzeichnisses mytree unter dem - Verzeichnis some/project im Repository + Verzeichnis some/project im Projektarchiv abgelegt: @@ -272,7 +272,7 @@ - Empfohlene Repository Aufteilung + Empfohlene Projektarchiv Aufteilung Obwohl die Flexibilit?t von Subversion es Ihnen erlaubt, - Ihr Repository nach Belieben aufzuteilen, empfehlen wir, ein + Ihr Projektarchiv nach Belieben aufzuteilen, empfehlen wir, ein Verzeichnis trunk f?r die Hauptlinie der Entwicklung, ein Verzeichnis branches f?r Branch-Kopien und @@ -334,14 +334,14 @@ the HEAD (latest revision) of the Subversion repository that you specify on the command line: --> - In den meisten F?llen werden Sie ein Subversion-Repository + In den meisten F?llen werden Sie ein Subversion-Projektarchiv zu nutzen beginnen, indem Sie einen Checkout Ihres Projektes vornehmen. Das - Auschecken eines Repositorys erzeugt eine + Auschecken eines Projektarchivs erzeugt eine Arbeitskopie desselben auf Ihrem lokalen Rechner. Diese Arbeitskopie umfasst die Revision HEAD (die letzte Revision) des auf der Kommandozeile angegebenen - Subversion-Repositorys: + Subversion-Projektarchivs: Obwohl im vorangehenden Beispiel das Verzeichnis trunk ausgecheckt wird, k?nnen Sie genauso leicht irgendein tiefliegendes - Unterverzeichnis aus einem Repository auschecken, indem Sie das + Unterverzeichnis aus einem Projektarchiv auschecken, indem Sie das Unterverzeichnis im URL beim Checkout angeben: Sofern Sie nicht bereit sind, das Hinzuf?gen einer neuen Datei oder eines neuen Verzeichnisses oder ?nderungen an - bestehenden Objekten an das Repository zu ?bergeben, besteht + bestehenden Objekten an das Projektarchiv zu ?bergeben, besteht keine Notwendigkeit, dem Subversion-Server mitzuteilen, dass Sie irgendetwas gemacht haben. @@ -608,9 +608,9 @@ copy in the new directory that you name. For example: --> Obwohl Sie sicherlich eine Arbeitskopie mit dem - Repository-URL als einziges Argument auschecken k?nnen, haben + Projektarchiv-URL als einziges Argument auschecken k?nnen, haben sie auch die M?glichkeit, ein Verzeichnis hinter dem - Repository-URL anzugeben. Das erstellt Ihre Arbeitskopie in dem + Projektarchiv-URL anzugeben. Das erstellt Ihre Arbeitskopie in dem angegebenen Verzeichnis. Zum Beispiel: - Bringen Sie Ihre ?nderungen ins Repository. + Bringen Sie Ihre ?nderungen ins Projektarchiv. svn commit @@ -883,7 +883,7 @@ die die anderen Entwickler im Projekt seit Ihrer letzten Aktualisierung vorgenommen haben. Benutzen Sie svn update um Ihre Arbeitskopie synchron mit der - letzten Revision im Repository zu bekommen: + letzten Revision im Projektarchiv zu bekommen: Die Datei, das Verzeichnis oder den symbolischen Link foo zum Hinzuf?gen in das - Repository vormerken. Wenn Sie das n?chste Mal ?bergeben, + Projektarchiv vormerken. Wenn Sie das n?chste Mal ?bergeben, wird foo ein Kind seines Elternverzeichnisses. Beachten Sie, dass alles unterhalb von foo zum Hinzuf?gen vorgemerkt @@ -1115,18 +1115,18 @@ --> Die Datei, das Verzeichnis oder den symbolischen Link foo zum L?schen aus dem - Repository vormerken. foo wird + Projektarchiv vormerken. foo wird sofort aus der Arbeitskopie entfernt, falls es eine Datei oder ein Link ist. Falls foo ein Verzeichnis ist, wird es nicht gel?scht, sondern zum L?schen vorgemerkt. Wenn Sie Ihre ?nderungen ?bergeben, wird das gesamte Verzeichnis foo - aus der Arbeitskopie und dem Repository entfernt. + aus der Arbeitskopie und dem Projektarchiv entfernt. Selbstverst?ndlich wird nichts jemals - vollst?ndig aus dem Repository + vollst?ndig aus dem Projektarchiv gel?scht – lediglich aus der - HEAD-Revision des Repositorys. + HEAD-Revision des Projektarchivs. Sie k?nnen alles was Sie gel?scht haben zur?ckholen, indem Sie eine Revision auschecken (oder hierauf aktualisieren), die ?lter ist, als die @@ -1156,7 +1156,7 @@ als Duplikat von foo und merke bar automatisch zum Hinzuf?gen vor. Wird bei der n?chsten ?bergabe bar dem - Repository hinzugef?gt, wird die Historie der Kopie + Projektarchiv hinzugef?gt, wird die Historie der Kopie mitaufgezeichnet (so wie sie urspr?nglich in foo war). svn copy erzeugt keine Zwischenverzeichnisse, @@ -1211,7 +1211,7 @@ - ?ndern des Repositorys ohne Arbeitskopie + ?ndern des Projektarchivs ohne Arbeitskopie Es gibt einige Anwendungsf?lle, die - ?nderungen am Verzeichnisbaum unmittelbar in das Repository + ?nderungen am Verzeichnisbaum unmittelbar in das Projektarchiv ?bertragen. Das passiert nur, wenn ein Unterbefehl direkt auf einen URL statt auf einen Pfad in der Arbeitskopie angewendet wird. Im Einzelnen k?nnen spezielle Anwendungen @@ -1248,7 +1248,7 @@ Befehle, die auf einer Arbeitskopie arbeiten, diese als eine Art Bereitstellungsraum verwenden, in denen Ihre ?nderungen vorbereitet werden k?nnen, bevor sie in das - Repository ?bergeben werden. Befehle, die auf URLs arbeiten, + Projektarchiv ?bergeben werden. Befehle, die auf URLs arbeiten, haben diesen Luxus nicht, so dass die Arbeit direkt mit einem URL bei den oben genannten Aktionen eine sofortige ?bergabe repr?sentiert. @@ -1279,7 +1279,7 @@ diff. --> Sobald Sie mit Ihren ?nderungen fertig sind, m?ssen Sie - sie ins Repository bringen; bevor Sie das jedoch machen, ist + sie ins Projektarchiv bringen; bevor Sie das jedoch machen, ist es normalerweise eine gute Idee, sich die ?nderungen noch einmal anzusehen. Dadurch, dass Sie die ?nderungen noch einmal begutachten, k?nnen Sie eine genauere Log-Nachricht @@ -1317,7 +1317,7 @@ Sie k?nnen die Befehle svn status, svn diff und svn revert ohne Netzzugriff verwenden, - selbst wenn das Repository im Netz ist. + selbst wenn das Projektarchiv im Netz ist. Das macht es leicht, Ihre momentanen ?nderungen zu verwalten, wenn Sie irgendwo ohne Netzverbindung sind, etwa im Flugzeug, im Pendlerzug oder am Strand. @@ -1373,14 +1373,14 @@ --> Subversion ist optimiert worden, um Ihnen bei dieser Aufgabe zu helfen, und es ist in der Lage, viele Dinge zu tun, - ohne mit dem Repository kommunizieren zu m?ssen. Im Besonderen + ohne mit dem Projektarchiv kommunizieren zu m?ssen. Im Besonderen enth?lt Ihre Arbeitskopie eine versteckte unver?nderte Kopie jeder versionskontrollierten Datei innerhalb des .svn-Bereichs. Deswegen kann Ihnen Subversion schnell zeigen, wie sich Ihre bearbeiteten Dateien ge?ndert haben, und es erlaubt Ihnen sogar, Ihre ?nderungen zur?ckzunehmen, ohne Verbindung mit dem - Repository aufnehmen zu m?ssen. + Projektarchiv aufnehmen zu m?ssen. @@ -1422,7 +1422,7 @@ ?nderungen Sie an Ihrer Arbeitskopie vorgenommen haben. svn status stellt Ihnen alle Informationen zur Verf?gung, die Sie ?ber ?nderungen an - der Arbeitskopie ben?tigen – ohne mit dem Repository + der Arbeitskopie ben?tigen – ohne mit dem Projektarchiv in Verbindung zu treten oder m?glicherweise neue ?nderungen von anderen Benutzern einzupflegen. @@ -1437,7 +1437,7 @@ In Subversion, macht svn update genau das – es aktualisiert Ihre Arbeitskopie mit jeglichen ?nderungen, die seit Ihrer letzten Aktualisierung in das - Repository eingebracht worden sind. Sie sollten sich + Projektarchiv eingebracht worden sind. Sie sollten sich abgew?hnen, update zu verwenden, um nachzusehen, welche lokalen ?nderungen Sie gemacht haben. @@ -1495,7 +1495,7 @@ --> Die Datei, das Verzeichnis oder der symbolische Link item ist zum Hinzuf?gen in - das Repository vorgemerkt. + das Projektarchiv vorgemerkt. @@ -1519,7 +1519,7 @@ Ihrer Arbeitskopie haben (und konnten beim Aktualisieren nicht automatisch aufgel?st werden). Sie m?ssen den Konflikt aufl?sen, bevor Sie Ihre - ?nderungen in das Repository ?bergeben k?nnen. + ?nderungen in das Projektarchiv ?bergeben k?nnen. @@ -1534,7 +1534,7 @@ --> Die Datei, das Verzeichnis oder der symbolische Link item ist zum L?schen im - Repository vorgemerkt. + Projektarchiv vorgemerkt. @@ -1617,12 +1617,12 @@ about things that are out of date: --> Keiner der vorangegangenen Aufrufe von svn - status stellt eine Verbindung zum Repository + status stellt eine Verbindung zum Projektarchiv her – stattdessen werden die Metadaten im Verzeichnis .svn mit der Arbeitskopie verglichen. Schlie?lich gibt es die -Option (), - die eine Verbindung zum Repository herstellt, und + die eine Verbindung zum Projektarchiv herstellt, und Informationen dar?ber bereitstellt, was nicht mehr aktuell ist: @@ -1663,7 +1663,7 @@ trout.c. Das gibt Ihnen einige sehr wichtige Informationen – Sie m?ssen aktualisieren, um die ?nderungen auf dem Server an README - mitzubekommen, bevor Sie ?bergeben, oder das Repository wird + mitzubekommen, bevor Sie ?bergeben, oder das Projektarchiv wird Ihre ?bergabe ablehnen, da sie nicht aktuell ist (mehr dazu sp?ter). @@ -1935,7 +1935,7 @@ svn revert beim R?ckg?ngigmachen einer Datei einen merklichen Unterschied – es muss beim Wiederherstellen der Datei nicht Verbindung mit dem - Repository aufnehmen. + Projektarchiv aufnehmen. Beispielsweise ?ndert Sally die Datei - sandwich.txt aus dem Repository. Harry + sandwich.txt aus dem Projektarchiv. Harry hat gerade diese Datei in seiner Arbeitskopie ge?ndert und ?bergeben. Sally aktualisiert Ihre Arbeitskopie vor dem ?bergeben und bekommt einen Konflikt, den sie @@ -2623,7 +2623,7 @@ --> An dieser Stelle erlaubt Subversion Sally nicht, die Datei - sandwich.txt an das Repository zu + sandwich.txt an das Projektarchiv zu ?bergeben, solange die drei tempor?ren Dateien nicht entfernt werden: @@ -2649,7 +2649,7 @@ --> Falls Sie eine Konfliktaufl?sung aufgeschoben haben, m?ssen Sie den Konflikt aufl?sen, bevor Ihnen Subversion - erlaubt, Ihre ?nderungen in das Repository einzustellen. Sie + erlaubt, Ihre ?nderungen in das Projektarchiv einzustellen. Sie werden daf?r den svn resolve-Befehl mit einem von mehreren Argumenten f?r die -Option aufrufen. @@ -2753,7 +2753,7 @@ Hier ist ein Beispiel. Aufgrund einer schlechten Absprache bearbeiten Sie und Ihre Mitarbeiterin Sally gleichzeitig die Datei sandwich.txt. Sally ?bergibt - ihre ?nderungen an das Repository, und sobald Sie versuchen, + ihre ?nderungen an das Projektarchiv, und sobald Sie versuchen, Ihre Arbeitskopie zu aktualisieren, erhalten Sie einen Konflikt und m?ssen sandwich.txt bearbeiten, um den Konflikt aufzul?sen. Zun?chst wollen wir @@ -2866,7 +2866,7 @@ ready to commit your changes: --> Verwenden Sie jetzt svn resolve, und - Sie sind bereit, Ihre ?nderungen an das Repository zu + Sie sind bereit, Ihre ?nderungen an das Projektarchiv zu ?bergeben: - Verwerfen Ihrer ?nderungen zugunsten einer aktualisierten Revision aus dem Repository + Verwerfen Ihrer ?nderungen zugunsten einer aktualisierten Revision aus dem Projektarchiv Endlich! Sie haben die Bearbeitung abgeschlossen, Sie haben alle ?nderungen vom Server eingearbeitet, und Sie sind - bereit, Ihre ?nderungen an das Repository zu ?bergeben. + bereit, Ihre ?nderungen an das Projektarchiv zu ?bergeben. Der Befehl svn commit schickt all Ihre - ?nderungen zum Repository. Wenn Sie eine ?nderung ?bergeben, + ?nderungen zum Projektarchiv. Wenn Sie eine ?nderung ?bergeben, m?ssen Sie einen Protokolleintrag erstellen, der die ?nderung beschreibt. Dieser Eintrag wird mit der von Ihnen erzeugten neuen Revision verkn?pft. Wenn Ihr @@ -3151,7 +3151,7 @@ that, the entire commit will fail with a message informing you that one or more of your files are out of date: --> - Das Repository wei? nicht, ob Ihre ?nderung im Ganzen + Das Projektarchiv wei? nicht, ob Ihre ?nderung im Ganzen einen Sinn ergeben, es ist ihm auch egal; es ?berpr?ft lediglich, ob nicht irgendjemand anderes irgendeine derselben Dateien ge?ndert hat wie Sie, als Sie mal weggeschaut haben. Falls @@ -3206,7 +3206,7 @@ --> Das deckt den grundlegenden Arbeitszyklus f?r die Verwendung von Subversion ab. Subversion bietet viele andere - M?glichkeiten, die Sie benutzen k?nnen, um Ihr Repository und + M?glichkeiten, die Sie benutzen k?nnen, um Ihr Projektarchiv und Ihre Arbeitskopie zu verwalten, doch der gr??te Teil Ihrer t?glichen Arbeit mit Subversion wird lediglich die in diesem Kapitel behandelten Befehle ber?hren. Wir werden jedoch noch @@ -3237,12 +3237,12 @@ just want to peer into the past instead of going into it. --> - Ihr Subversion-Repository ist wie eine Zeitmaschine. Es legt + Ihr Subversion-Projektarchiv ist wie eine Zeitmaschine. Es legt einen Eintrag f?r jede jemals ?bergebene ?nderung an und erlaubt Ihnen, diese Geschichte durch die Untersuchung sowohl ehemaliger Datei- und Verzeichnisversionen als auch der begleitenden Metadaten zu erforschen. Mit einem einzigen Subversion-Befehl - k?nnen Sie das Repository genauso auschecken (oder eine + k?nnen Sie das Projektarchiv genauso auschecken (oder eine bestehende Arbeitskopie wiederherstellen), wie es zu einem beliebigen Zeitpunkt oder einer Revisionsnummer in der Vergangenheit war. Allerdings m?chten Sie manchmal nur in die @@ -3254,7 +3254,7 @@ historical data from the repository: --> Es gibt mehrere Befehle, die Sie mit historischen Daten aus dem - Repository versorgen k?nnen: + Projektarchiv versorgen k?nnen: @@ -3457,14 +3457,14 @@ log by using the () option. --> - Wenn Sie Ihre ?nderungen an das Repository ?bergeben und + Wenn Sie Ihre ?nderungen an das Projektarchiv ?bergeben und sofort svn log ohne Argumente eingeben, wird Ihnen vielleicht auffallen, dass Ihre letzte ?nderung nicht in der Liste der Protokolleintr?ge auftaucht. Das liegt an der Kombination des Verhaltens von svn commit und dem Standardverhalten von svn log. Wenn Sie ?nderungen an das - Repository ?bergeben, erh?ht svn zun?chst + Projektarchiv ?bergeben, erh?ht svn zun?chst nur die Revision der Dateien (und Verzeichnisse) die es ?bernimmt, so dass das Elternverzeichnis normalerweise auf der ?lteren Revision verbleibt (siehe Auf den ersten Blick sieht es aus wie ein Fehler. Aber seien Sie daran erinnert, dass, w?hrend Revisionen ?ber das - gesamte Repository z?hlen, svn log auf - einem Pfad im Repository arbeitet. Wenn Sie keinen Pfad + gesamte Projektarchiv z?hlen, svn log auf + einem Pfad im Projektarchiv arbeitet. Wenn Sie keinen Pfad angeben, verwendet Subversion das aktuelle Arbeitsverzeichnis als Standardargument. Deshalb zeigt Subversion Ihnen einen leeren Protokolleintrag, falls Sie in einem @@ -3589,7 +3589,7 @@ sich weder dieses Verzeichnis noch irgendein Unterverzeichnis darin ge?ndert hat. Falls Sie sehen wollen, was sich in der Revision ge?ndert hat, versuchen Sie svn - log direkt auf den obersten URL Ihres Repositorys + log direkt auf den obersten URL Ihres Projektarchivs zeigen zu lassen, wie in svn log -r 2 http://svn.collab.net/repos/svn. @@ -3613,7 +3613,7 @@ svn diff ist uns bereits begegnet – es zeigt Dateiunterschiede im unified-diff-Format; wir verwendeten es, um die lokalen ?nderungen an unserer - Arbeitskopie anzuzeigen, bevor wir sie dem Repository + Arbeitskopie anzuzeigen, bevor wir sie dem Projektarchiv ?bergaben. zum Vergleichen Ihrer Arbeitskopie mit dem - Repository + Projektarchiv - zum Vergleichen von Revisionen im Repository + zum Vergleichen von Revisionen im Projektarchiv @@ -3694,7 +3694,7 @@ - Vergleichen der Arbeitskopie mit dem Repository + Vergleichen der Arbeitskopie mit dem Projektarchiv Wird eine einzelne Nummer mit () ?bergeben, wird die Arbeitskopie mit - der angegebenen Revision im Repository verglichen: + der angegebenen Revision im Projektarchiv verglichen: $ svn diff -r 3 rules.txt @@ -3729,7 +3729,7 @@ - Vergleichen von Repository mit Repository + Vergleichen von Projektarchiv mit Projektarchiv - Zu guter Letzt k?nnen Sie Revisionen im Repository auch + Zu guter Letzt k?nnen Sie Revisionen im Projektarchiv auch dann vergleichen, falls Sie gar keine Arbeitskopie auf Ihrem lokalen Rechner haben, indem Sie einfach den entsprechenden URL auf der Kommandozeile angeben: @@ -3807,7 +3807,7 @@ - St?bern im Repository + St?bern im Projektarchiv Der Befehl svn list zeigt Ihnen, - welche Dateien sich in einem Repository-Verzeichnis + welche Dateien sich in einem Projektarchiv-Verzeichnis befinden, ohne die Dateien auf Ihren lokalen Rechner herunterladen zu m?ssen: @@ -3924,7 +3924,7 @@ --> Der Befehl svn list ohne Argumente verwendet standardm??ig den - Repository-URL des aktuellen + Projektarchiv-URL des aktuellen Arbeitsverzeichnisses und nicht das Verzeichnis der lokalen Arbeitskopie. Schlie?lich k?nnen Sie, falls Sie eine Auflistung des lokalen Verzeichnisses @@ -3942,7 +3942,7 @@ - Bereitstellung ?lterer Repository-Schnappsch?sse + Bereitstellung ?lterer Projektarchiv-Schnappsch?sse An dieser Stelle sollten Sie verstehen, wie jede ?bergabe an - das Repository dort einen v?llig neuen Dateibaum + das Projektarchiv dort einen v?llig neuen Dateibaum (Revision genannt) erzeugt. Wenn nicht, bl?ttern Sie zur?ck und lesen Sie in ?ber Revisionen @@ -179,7 +179,7 @@ --> F?r dieses Kapitel verwenden wir das Beispiel aus . Erinnern Sie sich, dass Sie und Ihre - Mitarbeiterin Sally sich ein Repository teilen, das zwei + Mitarbeiterin Sally sich ein Projektarchiv teilen, das zwei Projekte beinhaltet: paint und calc. Beachten Sie, dass in dieses Mal jedoch jedes @@ -191,7 +191,7 @@ - Repository-Struktur zu Beginn + Projektarchiv-Struktur zu Beginn @@ -271,7 +271,7 @@ zu ?bergeben oder die Arbeitskopie zu aktualisieren, bevor Sie mit Ihrer Arbeit vollst?ndig fertig sind. Das wirft allerdings einige Probleme auf. Erstens ist das nicht sehr sicher. Viele - Leute m?chten Ihre Arbeit regelm??ig ins Repository sichern, f?r + Leute m?chten Ihre Arbeit regelm??ig ins Projektarchiv sichern, f?r den Fall, dass etwas Schlimmes mit der Arbeitskopie passieren k?nnte. Zweitens ist das nicht sehr flexibel. Falls Sie Ihre Arbeit an mehreren Rechnern verrichten (vielleicht haben Sie @@ -290,7 +290,7 @@ ?nderungen fertig sind, sehr schwierig sein, Ihr Arbeitsergebnis wieder mit dem Hauptteil der Quelltexte Ihrer Firma zusammenzuf?hren. Sally (und andere) h?tten viele andere - ?nderungen ins Repository ?bergeben haben k?nnen, die sich + ?nderungen ins Projektarchiv ?bergeben haben k?nnen, die sich schwer in Ihre Arbeitskopie einarbeiten lie?en – besonders, falls Sie svn update nach Wochen der Isolierung ausf?hren. @@ -304,7 +304,7 @@ --> Die bessere L?sung ist, Ihren eigenen Zweig oder Ihre eigene - Entwicklungslinie im Repository zu erzeugen. Dies erlaubt Ihnen, + Entwicklungslinie im Projektarchiv zu erzeugen. Dies erlaubt Ihnen, Ihre halbfertigen Arbeitsergebnisse regelm??ig zu sichern, ohne andere zu st?ren; dennoch k?nnen Sie selektiv Informationen mit Ihren Kollegen teilen. Im Weiteren werden Sie sehen, wie das @@ -336,14 +336,14 @@ --> Es ist sehr einfach, einen Zweig zu erzeugen – Sie erstellen mit dem Befehl svn copy eine - Kopie des Projektes im Repository. Subversion kann nicht nur + Kopie des Projektes im Projektarchiv. Subversion kann nicht nur Dateien, sondern auch komplette Verzeichnisse kopieren. In diesem Fall m?chten Sie eine Kopie des Verzeichnisses /calc/trunk machen. Wo soll die neue Kopie angelegt werden? Wo Sie w?nschen – es ist eine Frage der Projektkonventionen. Sagen wir mal, dass Ihr Team die Konvention vereinbart hat, Zweige im Bereich - /calc/branches des Repositorys anzulegen, + /calc/branches des Projektarchivs anzulegen, und Sie Ihren Zweig my-calc-branch nennen m?chten. Sie werden ein neues Verzeichnis /calc/branches/my-calc-branch anlegen, @@ -360,7 +360,7 @@ copy in einer Arbeitskopie eine Datei auf eine andere kopiert wird. Es kann allerdings auch verwendet werden, um eine entfernte Kopie innerhalb des - Repositorys durchzuf?hren. Kopieren Sie einfach einen URL auf + Projektarchivs durchzuf?hren. Kopieren Sie einfach einen URL auf einen anderen: Dieser Befehl bewirkt eine fast sofortige ?bergabe im - Repository, wobei in Revision 341 ein neues Verzeichnis + Projektarchiv, wobei in Revision 341 ein neues Verzeichnis erzeugt wird. Das neue Verzeichnis ist eine Kopie von /calc/trunk. Dies wird in gezeigt. Subversion unterst?tzt nicht das Kopieren zwischen - verschiedenen Repositorys. Wenn Sie mit svn + verschiedenen Projektarchiven. Wenn Sie mit svn copy oder svn move URLs verwenden, k?nnen Sie nur Objekte innerhalb desselben - Repositorys kopieren oder verschieben. + Projektarchivs kopieren oder verschieben. Obwohl es auch m?glich ist, einen Zweig zu erzeugen, indem @@ -431,7 +431,7 @@ - Repository mit neuer Kopie + Projektarchiv mit neuer Kopie @@ -454,10 +454,10 @@ it can. It duplicates data only when it is necessary to disambiguate different versions of objects. --> - Das Repository von Subversion ist auf eine besondere + Das Projektarchiv von Subversion ist auf eine besondere Weise konstruiert. Wenn Sie ein Verzeichnis kopieren, brauchen Sie sich keine Gedanken dar?ber zu machen, dass das - Repository riesengro? wird – Subversion dupliziert + Projektarchiv riesengro? wird – Subversion dupliziert tats?chlich ?berhaupt keine Daten. Stattdessen erzeugt es einen neuen Verzeichniseintrag, der auf einen bestehenden Baum verweist. Falls Sie @@ -508,7 +508,7 @@ und Teilens vor dem Benutzer verborgen, der lediglich Kopien von B?umen sieht. Die Hauptsache hierbei ist, das Kopien billig sind, sowohl was die Zeit als auch den Speicherplatz - angeht. Wenn Sie einen Zweig komplett im Repository anlegen + angeht. Wenn Sie einen Zweig komplett im Projektarchiv anlegen (durch den Aufruf von svn copy URL1 URL2), handelt es @@ -561,7 +561,7 @@ creating a working copy of a branch.) --> An dieser Arbeitskopie ist nichts besonders; sie spiegelt - blo? ein anderes Verzeichnis im Repository wieder. Wenn Sie + blo? ein anderes Verzeichnis im Projektarchiv wieder. Wenn Sie ?nderungen ?bergeben, wird sie Sally jedoch nicht sehen, wenn sie aktualisiert, da sie eine Arbeitskopie von /calc/trunk hat. (Stellen Sie sicher, @@ -776,7 +776,7 @@ nicht die ?nderung, die Sie in Revision 343 gemacht haben. Was Subversion angeht, hatten diese beiden ?bergaben Auswirkungen auf unterschiedliche Dateien an unterschiedlichen - Repository-Orten. Dennoch zeigt Subversion + Projektarchiv-Orten. Dennoch zeigt Subversion doch, dass die beiden Dateien einen Teil der Geschichte gemeinsam haben. Bevor die Kopie des Zweiges in Revision 341 gemacht wurde, waren die Dateien dieselbe @@ -828,7 +828,7 @@ --> Zweitens bestehen die Zweige von Subversion, bedingt durch den Kopiermechanismus, als normale - Dateisystemverzeichnisse im Repository. Das ist ein + Dateisystemverzeichnisse im Projektarchiv. Das ist ein Unterschied zu anderen Versionskontrollsystemen, bei denen Zweige typischerweise definiert werden, indem auf einer eigenen Ebene den Dateisammlungen Etiketten @@ -1022,8 +1022,8 @@ changeset r9238 into your working copy. --> In Subversion bezeichnet eine globale Revisionsnummer N - einen Baum im Repository: Sie beschreibt das Aussehen des - Repositorys nach der N-ten ?bergabe. Sie ist auch der Name + einen Baum im Projektarchiv: Sie beschreibt das Aussehen des + Projektarchivs nach der N-ten ?bergabe. Sie ist auch der Name einer impliziten ?nderungsmenge: Wenn Sie den Baum N mit dem Baum N−1 vergleichen, k?nnen Sie genau den Patch ableiten, der ?bergeben wurde. Daher ist es einfach, sich @@ -1202,7 +1202,7 @@ . -R wieder r?ckg?ngig machen und eine lange was geht hier eigentlich vor-Unterredung mit Ihren Mitarbeitern f?hren. Falls jedoch alles gut aussieht, - k?nnen Sie die ?nderungen an das Repository ?bergeben: + k?nnen Sie die ?nderungen an das Projektarchiv ?bergeben: Nachdem nun Ihr privater Zweig mit dem Stamm - zusammengef?hrt wurde, k?nnen Sie ihn aus dem Repository + zusammengef?hrt wurde, k?nnen Sie ihn aus dem Projektarchiv l?schen: @@ -1616,7 +1616,7 @@ Ihr Zweig nicht mehr im Verzeichnis /branches sichtbar ist, seine Existenz gleichwohl ein unver?nderbarer Teil der Geschichte des - Repositorys ist. Ein einfacher Befehl svn + Projektarchivs ist. Ein einfacher Befehl svn log auf dem /branches URL wird die gesamte Geschichte des Zweiges anzeigen. Ihr Zweig kann eines Tages sogar wiederbelebt werden, sollten Sie dieses @@ -1683,7 +1683,7 @@ Der letzte Befehl des vorangegangenen Beispiels – svn switch – ist eine Art, ein bestehendes Arbeitsverzeichnis auf ein unterschiedliches - Repository-Verzeichnis zu aktualisieren. Wir werden das + Projektarchiv-Verzeichnis zu aktualisieren. Wir werden das genauer in besprechen. @@ -1959,7 +1959,7 @@ --> Sehr h?ufig wird svn merge verwendet, um eine ?nderung r?ckg?ngig zu machen, die bereits an das - Repository ?bergeben worden war. Nehmen wir einmal an, Sie + Projektarchiv ?bergeben worden war. Nehmen wir einmal an, Sie arbeiten fr?hlich in einer Arbeitskopie von /calc/trunk und entdecken, dass die damalige ?nderung an integer.c in @@ -1967,7 +1967,7 @@ sollen. Sie k?nnen svn merge verwenden, um die ?nderung in Ihrer Arbeitskopie zur?ckzunehmen, und dann die lokale ?nderung an - das Repository ?bergeben. Alles, was Sie hierf?r tun m?ssen, + das Projektarchiv ?bergeben. Alles, was Sie hierf?r tun m?ssen, ist, eine umgekehrte Differenz anzugeben. (Sie machen das durch die Angabe von oder durch das ?quivalente --> Wie wir fr?her bereits erw?hnten, kann man eine - Repository-Version als eine bestimmte ?nderungsmenge + Projektarchiv-Version als eine bestimmte ?nderungsmenge betrachten. Bei Verwendung der Option wird svn merge aufgefordert, eine ?nderungsmenge oder ein ganzes Intervall von ?nderungsmengen auf Ihre @@ -2053,7 +2053,7 @@ diff benutzen sollten, um sicherzustellen, dass Ihre Arbeit in dem Zustand ist, den Sie haben m?chten, und verwenden Sie anschlie?end svn commit, um - die endg?ltige Version in das Repository zu bringen. Nach der + die endg?ltige Version in das Projektarchiv zu bringen. Nach der ?bergabe wird sich diese bestimmte ?nderungsmenge nicht mehr in der HEAD-Revision wiederfinden. @@ -2100,12 +2100,12 @@ entfernen, sprechen wir eigentlich dar?ber, sie aus der HEAD-Revision zu entfernen. Die urspr?ngliche ?nderung besteht immer noch in der Geschichte - des Repositorys. F?r die meisten Situationen ist das + des Projektarchivs. F?r die meisten Situationen ist das ausreichend. Die meisten Leute sind sowieso nur am HEAD eines Projektes interessiert. Es gibt jedoch Spezialf?lle, in denen Sie wirklich alle Beweise der ?bergabe vernichten m?chten. (Vielleicht hat jemand ein - vertrauliches Dokument in das Repository ?bergeben.) Das ist + vertrauliches Dokument in das Projektarchiv ?bergeben.) Das ist leider nicht so einfach, da Subversion absichtlich so konstruiert wurde, dass es niemals Informationen verliert. Revisionen sind unver?nderliche B?ume, die @@ -2164,7 +2164,7 @@ Der erste Schritt ist es, genau zu definieren welches Objekt Sie zur?ckholen m?chten. Hier ist eine n?tzliche Metapher: Sie k?nnen sich - vorstellen, dass jedes Objekt im Repository in einem + vorstellen, dass jedes Objekt im Projektarchiv in einem zweidimensionalen Koordinatensystem befindet. Die erste Koordinate ist ein bestimmter Revisionsbaum und die zweite Koordinate ist ein Pfad innerhalb dieses Baumes. So kann jede @@ -2277,7 +2277,7 @@ besprochen, wie ?nderungen r?ckg?ngig gemacht werden.) Das h?tte den Effekt, real.c als lokale ?nderung erneut hinzuzuf?gen. Die Datei w?rde zum Hinzuf?gen - ins Repository markiert, und nach der ?bergabe w?re die Datei + ins Projektarchiv markiert, und nach der ?bergabe w?re die Datei wieder in HEAD vorhanden. - Einen Anfangsbaum im Repository (h?ufig + Einen Anfangsbaum im Projektarchiv (h?ufig linke Seite des Vergleichs genannt) - Einen Endbaum im Repository (h?ufig + Einen Endbaum im Projektarchiv (h?ufig rechte Seite des Vergleichs genannt) @@ -3025,7 +3025,7 @@ - Zusammenf?hren aus fremden Repositorys + Zusammenf?hren aus fremden Projektarchiven Wenn Sie svn copy zum Duplizieren einer - Datei verwenden, merkt sich das Repository, woher die neue + Datei verwenden, merkt sich das Projektarchiv, woher die neue Datei kam, vers?umt aber, diese Information an den Client zu senden, der svn update oder svn merge ausf?hrt. Statt dem Client mitzuteilen: @@ -3993,7 +3993,7 @@ another. --> Es ist kein echter Datenverlust. Sallys ?nderungen - befinden sich noch immer in der Geschichte des Repositorys, + befinden sich noch immer in der Geschichte des Projektarchivs, allerdings mag es nicht sofort ersichtlich sein, dass es passiert ist. Die Lehre, die es aus dieser Geschichte zu ziehen gilt, lautet, dass Sie sehr vorsichtig mit dem @@ -4033,7 +4033,7 @@ merge ausf?hrt, modifiziert er nicht den Wert des Propertys svn:mergeinfo. Obwohl die anschlie?ende ?bergabe das Ergebnis einer Zusammenf?hrung ist, - wird dem Repository nichts ?ber die duplizierten ?nderungen + wird dem Projektarchiv nichts ?ber die duplizierten ?nderungen mitgeteilt – diese Information ist verloren. Wenn sp?ter Clients, die Zusammenf?hrungsinformationen auswerten, automatische Zusammenf?hrungen versuchen, werden Sie @@ -4057,7 +4057,7 @@ details. --> Wenn Sie und Ihr Team auf die Zusammenf?hrungs-Verfolgung - von Subversion angewiesen sind, sollten Sie Ihr Repository + von Subversion angewiesen sind, sollten Sie Ihr Projektarchiv dergestalt konfigurieren, dass ?ltere Clients daran gehindert werden, ?nderungen zu ?bergeben. Die einfache Methode hierf?r ist es, den F?higkeiten-Parameter im @@ -4203,7 +4203,7 @@ N?chstes in beschrieben). Das Ziel einer Zusammenf?hrung sollte eine Arbeitskopie sein, die einen einzigen - Ort zu einem einzelnen Zeitpunkt im Repository + Ort zu einem einzelnen Zeitpunkt im Projektarchiv repr?sentiert. @@ -4265,7 +4265,7 @@ Arbeit mit Zweigen nicht notwendig ist, stellt er eine nette Abk?rzung dar. In unserem fr?heren Beispiel haben Sie nach dem Anlegen Ihres eigenen privaten Zweigs eine frische Arbeitskopie - des neuen Repository-Verzeichnisses ausgecheckt. Stattdessen + des neuen Projektarchiv-Verzeichnisses ausgecheckt. Stattdessen k?nnen Sie Subversion einfach mitteilen, dass es Ihre Arbeitskopie von /calc/trunk ?ndern soll, um den neuen Ort des Zweigs widerzuspiegeln: @@ -4391,7 +4391,7 @@ gemischten Arbeitskopie eine v?llig neue Dimension hinzu – Arbeitskopien k?nnen nicht nur eine Mischung unterschiedlicher Revisionen enthalten, sondern auch - eine Mischung unterschiedlicher Repository-Orte. + eine Mischung unterschiedlicher Projektarchiv-Orte. Falls Ihre Arbeitskopie eine Anzahl umgeschalteter - Unterverzeichnisse aus unterschiedlichen Repository-Orten + Unterverzeichnisse aus unterschiedlichen Projektarchiv-Orten enth?lt, funktioniert sie immer noch normal. Wenn Sie aktualisieren, erhalten Sie entsprechende Patches f?r jeden Unterbaum. Wenn Sie ?bergeben, werden Ihre lokalen ?nderungen nach wie vor als eine einzelne atomare ?nderung auf das - Repository angewendet. + Projektarchiv angewendet. W?hrend es normal ist, das eine Arbeitskopie eine Mischung - unterschiedlicher Repository-Orte repr?sentiert, ist darauf zu + unterschiedlicher Projektarchiv-Orte repr?sentiert, ist darauf zu achten, dass all diese Orte sich innerhalb - desselben Repositorys befinden. - Subversion-Repositorys k?nnen noch nicht miteinander + desselben Projektarchivs befinden. + Subversion-Projektarchive k?nnen noch nicht miteinander kommunizieren; diese M?glichkeit ist f?r die Zukunft geplant. Sie k?nnen jedoch svn @@ -4467,12 +4467,12 @@ paths. --> Wenn Sie svn update aufrufen, fordern - Sie das Repository auf, zwei B?ume zu vergleichen. Das - Repository macht es und schickt eine Beschreibung der + Sie das Projektarchiv auf, zwei B?ume zu vergleichen. Das + Projektarchiv macht es und schickt eine Beschreibung der Unterschiede zur?ck an den Client. Der einzige Unterschied zwischen svn switch und svn update ist, dass letzterer Befehl stets zwei - identische Repository-Pfade miteinander vergleicht. + identische Projektarchiv-Pfade miteinander vergleicht. - Wenn Sie ein Repository verwalten, gibt es zwei Ans?tze + Wenn Sie ein Projektarchiv verwalten, gibt es zwei Ans?tze f?r den Umgang mit Tags. Der erste Ansatz ist H?nde weg: Als Vereinbarung im Projekt entscheiden Sie, wohin Sie Ihre Tags kopieren m?chten; stellen Sie sicher, dass alle @@ -4787,7 +4787,7 @@ bestimmte Zweige umschalten (mit svn switch) oder sogar, indem Sie ein paar lokale ?nderungen vornehmen. Wenn Sie fertig sind, ist Ihre - Arbeitskopie ein Mischmasch aus Repository-Quellen + Arbeitskopie ein Mischmasch aus Projektarchiv-Quellen verschiedener Revisionen. Nach dem Testen wissen Sie jedoch, dass das genau die Kombination ist, die Sie mit einem Tag versehen m?chten. @@ -4805,10 +4805,10 @@ Einen URL auf einen anderen zu kopieren hilft hier nicht weiter. In diesem Fall m?chten Sie eine Momentaufnahme der exakten Anordnung Ihrer Arbeitskopie machen und sie im - Repository speichern. Gl?cklicherweise besitzt svn + Projektarchiv speichern. Gl?cklicherweise besitzt svn copy vier verschiedene Anwendungsf?lle (?ber die Sie in nachlesen k?nnen), zu denen auch - die F?higkeit geh?rt, einen Arbeitskopie-Baum ins Repository + die F?higkeit geh?rt, einen Arbeitskopie-Baum ins Projektarchiv zu kopieren: - Nun gibt es ein neues Verzeichnis im Repository, + Nun gibt es ein neues Verzeichnis im Projektarchiv, /calc/tags/mytag, das eine exakte Momentaufnahme Ihrer Arbeitskopie ist – gemischte Revisionen, URLs, lokale ?nderungen, usw. @@ -4866,7 +4866,7 @@ Patch-Datei zu versenden (die allerdings weder ?nderungen an Verzeichnissen, symbolischen Links oder Propertys beinhaltet), k?nnen Sie svn copy verwenden, um Ihre - Arbeitskopie in einen privaten Bereich des Repositorys + Arbeitskopie in einen privaten Bereich des Projektarchivs abzulegen. Ihr Mitarbeiter kann dann entweder eine exakte Kopie Ihrer Arbeitskopie auschecken oder svn merge verwenden, um genau Ihre @@ -4928,7 +4928,7 @@ - Aufbau des Repositorys + Aufbau des Projektarchivs - Es gibt einige empfohlene Standards, ein Repository zu + Es gibt einige empfohlene Standards, ein Projektarchiv zu organisieren. Die meisten Leute erzeugen ein trunk-Verzeichnis, um die Hauptlinie der Entwicklung aufzunehmen, ein branches-Verzeichnis f?r Zweig-Kopien und ein tags-Verzeichnis f?r Tag-Kopien. - Falls ein Repository nur ein Projekt beinhaltet, werden oft + Falls ein Projektarchiv nur ein Projekt beinhaltet, werden oft diese Verzeichnisse auf der obersten Ebene angelegt: @@ -4960,8 +4960,8 @@ linkend="svn.reposadmin.projects.chooselayout"/> to read more about project roots): --> - Falls ein Repository mehrere Projekte enth?lt, teilen - Administratoren das Repository ?blicherweise nach den + Falls ein Projektarchiv mehrere Projekte enth?lt, teilen + Administratoren das Projektarchiv ?blicherweise nach den Projekten ein (lesen Sie in mehr ?ber Projekt-Wurzelverzeichnisse): @@ -4992,11 +4992,11 @@ Variationen erzeugen, die am besten f?r Sie oder Ihr Team funktionieren. Denken Sie daran, dass es, wie auch immer Sie sich entscheiden, nicht f?r die Ewigkeit sein muss. Sie k?nnen - jederzeit Ihr Repository umorganisieren. Da Zweige und Tags + jederzeit Ihr Projektarchiv umorganisieren. Da Zweige und Tags gew?hnliche Verzeichnisse sind, kann der Befehl svn move sie nach Belieben verschieben oder umbenennen. Die Umstrukturierung ist einfach eine Sache von serverseitigen - Verschiebebefehlen. Wenn Ihnen der Aufbau des Repositorys + Verschiebebefehlen. Wenn Ihnen der Aufbau des Projektarchivs nicht zusagt, jonglieren Sie einfach mit den Verzeichnissen herum. @@ -5017,7 +5017,7 @@ sollten Sie R?cksicht auf Ihre Benutzer nehmen. Ihr Jonglieren kann verwirrend f?r Benutzer mit bestehenden Arbeitskopien sein. Falls ein Benutzer eine Arbeitskopie eines bestimmten - Repository-Verzeichnisses hat, k?nnte Ihre svn + Projektarchiv-Verzeichnisses hat, k?nnte Ihre svn move-Operation den Pfad von der letzten Revision entfernen. Wenn der Benutzer beim n?chsten Mal svn update aufruft, wird ihm mitgeteilt, dass die @@ -5393,7 +5393,7 @@ Der gesamte Prozess wiederholt sich w?hrend die Software reift: Wenn die Arbeit an 2.0 fertig ist, wird ein neuer 2.0 Release-Zweig erstellt, getestet, markiert und schlie?lich - freigegeben. Nach einigen Jahren f?llt sich das Repository mit + freigegeben. Nach einigen Jahren f?llt sich das Projektarchiv mit einer Anzahl von Release-Zweigen, die weiterhin gepflegt werden, und einer Zahl von Tags, die den endg?ltigen, ausgelieferten Versionen entsprechen. @@ -5676,7 +5676,7 @@ Projektmitarbeiter ausgeben, dass sie sicherzustellen haben, stets ?ber die f?r Ihr Projekt ben?tigten Versionen der Drittanbieter zu verf?gen. Falls die Daten des Drittanbieters - sich in einem Subversion-Repository befinden, k?nnen Sie auch + sich in einem Subversion-Projektarchiv befinden, k?nnen Sie auch mithilfe der Subversion-Externals-Definition bestimmte Versionen dieser Daten mit Ihrer eigenen Arbeitskopie verbinden (siehe ). @@ -5760,7 +5760,7 @@ Projektmitarbeiter stets die richtige Version der Lieferantendaten verf?gbar ist. Sie erhalten die richtige Version automatisch beim Aktualisieren ihrer Arbeitskopien. - Zweitens, da die Daten in Ihrem eigenen Subversion-Repository + Zweitens, da die Daten in Ihrem eigenen Subversion-Projektarchiv vorgehalten werden, k?nnen Sie dort auch Ihren Anpassungen speichern – es besteht keine Notwendigkeit mehr, Ihre ?nderungen automatisch (oder schlimmer noch, manuell) in die @@ -6146,7 +6146,7 @@ and optionally performing moves, too. --> Es kann jederzeit aufgerufen werden, um ein - bestehendes Verzeichnis im Repository exakt mit einem + bestehendes Verzeichnis im Projektarchiv exakt mit einem externen Verzeichnis abzugleichen, wobei alle notwendigen Hinzuf?gungen und L?schungen ausgef?hrt werden und dar?berhinaus noch optionale Verschiebungen. @@ -6279,7 +6279,7 @@ Das Skript akzeptiert auch eine gesonderte Konfigurationsdatei, in der Propertys auf Dateien und Verzeichnisse gesetzt werden k?nnen, deren Name einem - regul?ren Ausdruck entspricht und dem Repository + regul?ren Ausdruck entspricht und dem Projektarchiv hinzugef?gt werden. Diese Konfigurationsdatei wird svn_load_dirs.pl mit der Option bekanntgegeben. Jede Zeile @@ -6371,9 +6371,9 @@ ?nderungen von einem Zweig in einen anderen ?berf?hrt werden k?nnen oder fehlerhafte ?nderungen r?ckg?ngig gemacht werden. Wir besprachen, wie mit svn switch - Arbeitskopien aus verschiedenen Repository-Quellen erstellt + Arbeitskopien aus verschiedenen Projektarchiv-Quellen erstellt werden k?nnen. Und wir sprachen dar?ber, wie Zweige in einem - Repository verwaltet werden k?nnen. + Projektarchiv verwaltet werden k?nnen. - Verwaltung des Repositorys + Verwaltung des Projektarchivs - Das Subversion-Repository ist die zentrale Lagerhalle f?r + Das Subversion-Projektarchiv ist die zentrale Lagerhalle f?r Ihre versionierten Daten. In dieser Rolle kann es sich aller Liebe und Zuneigung des Administrators gewiss sein. Obwohl das - Repository an sich im Allgemeinen wenig Pflege erfordert, ist es + Projektarchiv an sich im Allgemeinen wenig Pflege erfordert, ist es wichtig, zu wissen, wie es angemessen konfiguriert und gepflegt wird, um etwaige Probleme zu vermeiden und bestehende Probleme sicher aufzul?sen. @@ -31,13 +31,13 @@ the repository. --> In diesem Kapitel werden wir er?rtern, wie ein - Subversion-Repository aufgesetzt und konfiguriert wird. Wir werden - auch ?ber die Repository-Pflege reden und Beispiele daf?r geben, + Subversion-Projektarchiv aufgesetzt und konfiguriert wird. Wir werden + auch ?ber die Projektarchiv-Pflege reden und Beispiele daf?r geben, wann und wie die mit Subversion mitgelieferten Werkzeuge svnlook und svnadmin verwendet werden. Wir werden einige verbreitete Fragen und Fehler besprechen und Vorschl?ge unterbreiten, wie die Daten im - Repository organisiert werden k?nnen. + Projektarchiv organisiert werden k?nnen. - Falls Sie vorhaben, das Repository lediglich in der Rolle + Falls Sie vorhaben, das Projektarchiv lediglich in der Rolle eines Benutzers zu verwenden, der seine Daten unter Versionskontrolle stellen m?chte (d.h. ?ber einen Subversion-Client), k?nnen Sie dieses Kapitel vollst?ndig ?berspringen. Wenn Sie jedoch ein - Subversion-Repository-Administrator sind oder werden wollen, + Subversion-Projektarchiv-Administrator sind oder werden wollen, Das h?rt sich vielleicht prestigetr?chtig und hochm?tig an, doch wir meinen lediglich jeden, der an diesem mysteri?sen @@ -75,7 +75,7 @@ - Das Subversion Repository, Definition + Das Subversion Projektarchiv, Definition - Bevor wir uns in das weite Feld der Repository-Verwaltung - begeben, wollen wir definieren, was ein Repository ist. Wie + Bevor wir uns in das weite Feld der Projektarchiv-Verwaltung + begeben, wollen wir definieren, was ein Projektarchiv ist. Wie sieht es aus? Wie f?hlt es sich an? Trinkt es seinen Tee hei? oder mit Eis, ges??t oder mit Zitrone? Als Administrator wird - von Ihnen erwartet, dass Sie den Aufbau eines Repositorys sowohl + von Ihnen erwartet, dass Sie den Aufbau eines Projektarchivs sowohl auf der physischen Betriebssystemebene verstehen – wie sich - ein Subversion-Repository aussieht und wie es sich gegen?ber + ein Subversion-Projektarchiv aussieht und wie es sich gegen?ber Nicht-Subversion-Werkzeugen verh?lt – als auch aus einer logischen Perspektive – wie Daten - innerhalb des Repositorys repr?sentiert + innerhalb des Projektarchivs repr?sentiert werden. Mit den Augen eines typischen Dateibrowsers (wie Windows Explorer) oder von kommandozeilenorientierten - Dateisystem-Navigationswerkzeugen ist das Subversion-Repository + Dateisystem-Navigationswerkzeugen ist das Subversion-Projektarchiv blo? ein weiteres gew?hnliches Verzeichnis voller Zeugs. Es gibt einige Unterverzeichnisse mit Konfigurationsdateien, die f?r Menschen lesbar sind, einige Unterverzeichnisse mit weniger lesbaren Datendateien usw. Wie in anderen Bereichen des Subversion-Designs, wird auch hier viel Wert auf Modularit?t gesetzt, und hierarchische Organisation wird vollgepfropftem - Chaos vorgezogen. Ein flacher Blick in ein typisches Repository + Chaos vorgezogen. Ein flacher Blick in ein typisches Projektarchiv aus praxisbezogener Sicht reicht aus, um die grundlegenden - Komponenten des Repositorys zu offenbaren. + Komponenten des Projektarchivs zu offenbaren. $ ls repos @@ -183,7 +183,7 @@ indicates the version number of the repository layout --> Eine Datei, die eine einzelne Ganzzahl beinhaltet, die - die Version der Repository-Struktur angibt + die Version der Projektarchiv-Struktur angibt @@ -206,8 +206,8 @@ files, used for tracking accessors to the repository --> Ein Verzeichnis f?r die Sperrdateien des - Subversion-Repositorys, die benutzt werden, um die - Zugreifenden auf das Repository zu verfolgen + Subversion-Projektarchivs, die benutzt werden, um die + Zugreifenden auf das Projektarchiv zu verfolgen @@ -218,7 +218,7 @@ they are looking at a Subversion repository --> Eine Datei, deren Inhalt die Leser dar?ber informiert, - dass sie in ein Subversion-Repository schauen + dass sie in ein Subversion-Projektarchiv schauen @@ -258,7 +258,7 @@ - Strategien f?r die Verwendung eines Repositorys + Strategien f?r die Verwendung eines Projektarchivs Gr??tenteils wegen der Einfachheit des Gesamtentwurfs des - Subversion-Repositorys und der ihm zugrundeliegenden Technik, - ist die Erstellung und Konfiguration eines Repositorys eine + Subversion-Projektarchivs und der ihm zugrundeliegenden Technik, + ist die Erstellung und Konfiguration eines Projektarchivs eine ziemlich unkomplizierte Aufgabe. Es gibt einige Entscheidungen, die Sie im Vorfeld treffen sollten, jedoch sind die eigentlichen - Arbeitsschritte f?r die Einrichtung eines Subversion-Repositorys + Arbeitsschritte f?r die Einrichtung eines Subversion-Projektarchivs recht einfach und neigen zur stupiden Flei?arbeit, falls Sie mehrere davon aufzusetzen haben. @@ -291,8 +291,8 @@ What data do you expect to live in your repository (or repositories), and how will that data be organized? --> - Welche Art von Daten sollen in Ihrem Repository (oder - Repositorys) abgelegt werden, und wie sind diese Daten + Welche Art von Daten sollen in Ihrem Projektarchiv (oder + Projektarchiven) abgelegt werden, und wie sind diese Daten organisiert? @@ -300,7 +300,7 @@ Where will your repository live, and how will it be accessed? --> - Wo soll Ihr Repository untergebracht werden, und wie + Wo soll Ihr Projektarchiv untergebracht werden, und wie soll darauf zugegriffen werden? @@ -333,7 +333,7 @@ - Planung der Organisation Ihres Repositorys + Planung der Organisation Ihres Projektarchivs - Nehmen wir an, Sie seien als Repository-Administrator f?r + Nehmen wir an, Sie seien als Projektarchiv-Administrator f?r die Versionskontrollsysteme mehrerer Projekte zust?ndig. Ihre - erste Entscheidung ist, ob Sie ein einzelnes Repository f?r + erste Entscheidung ist, ob Sie ein einzelnes Projektarchiv f?r mehrere Projekte verwenden, jedem Projekt sein eigenes - Repository geben oder einen Kompromiss aus diesen beiden + Projektarchiv geben oder einen Kompromiss aus diesen beiden L?sungen haben wollen. - Ein einzelnes Repository f?r mehrere Projekte zu + Ein einzelnes Projektarchiv f?r mehrere Projekte zu verwenden, hat einige Vorteile, am offensichtlichsten ist der vermiedene doppelte Verwaltungsaufwand. Ein einzelnes - Repository bedeutet, dass es nur einen Satz Hook-Programme, + Projektarchiv bedeutet, dass es nur einen Satz Hook-Programme, ein Ding zum routinem??igen Sichern, ein Ding f?r einen Auszug und zum anschlie?enden Laden nach einer inkompatiblen neuen Version von Subversion gibt usw. Sie k?nnen Daten auch einfach @@ -425,22 +425,22 @@ --> Der Nachteil bei der Verwendung eines einzelnen - Repositorys ist, dass unterschiedliche Projekte auch + Projektarchivs ist, dass unterschiedliche Projekte auch unterschiedliche Anforderungen hinsichtlich der - Repository-Ereignis-Trigger haben, wie etwa + Projektarchiv-Ereignis-Trigger haben, wie etwa Benachrichtigungs-E-Mails bei Commits an unterschiedliche Verteiler, oder unterschiedliche Definitionen dazu, was eine berechtigte ?bergabe ist und was nicht. Das sind nat?rlich keine un?berwindbaren Probleme – es bedeutet nur, dass - all Ihre Hook-Skripte die Struktur Ihres Repositorys beachten - m?ssen, anstatt davon auszugehen, dass das gesamte Repository + all Ihre Hook-Skripte die Struktur Ihres Projektarchivs beachten + m?ssen, anstatt davon auszugehen, dass das gesamte Projektarchiv von einer einzelnen Gruppe zugeordnet ist. Beachten Sie auch, dass Subversion Versionsnummern verwendet, die global f?r das - gesamte Repository gelten. Obwohl diese Nummern keine + gesamte Projektarchiv gelten. Obwohl diese Nummern keine Zauberkr?fte haben, m?gen manche Zeitgenossen es trotzdem nicht, dass, obwohl in letzter Zeit keine ?nderungen in ihrem Projekt durchgef?hrt worden sind, die j?ngste Versionsnummer - im Repository st?ndig h?her wird, weil andere Projekte flei?ig + im Projektarchiv st?ndig h?her wird, weil andere Projekte flei?ig neue Revisionen hinzuf?gen. Ob es an Ignoranz oder an schlecht ?berlegten @@ -449,7 +449,7 @@ globalen Revisionsnummern zu haben, und es ist deshalb kein Kriterium, das Sie heranziehen sollten, wenn Sie abw?gen, wie Sie Ihre Projekte und - Repositorys anlegen wollen. + Projektarchive anlegen wollen. @@ -466,13 +466,13 @@ Es kann auch eine L?sung in der Mitte gew?hlt werden. Beispielsweise k?nnen Projekte danach geordnet werden, wie stark sie miteinander verbunden sind. Sie k?nnten ein paar - Repositorys haben, die jeweils eine handvoll Projekte + Projektarchive haben, die jeweils eine handvoll Projekte beherbergen. Auf diese Art k?nnen Projekte, die wahrscheinlich gemeinsame Daten verwenden wollen, dies auch einfach - bewerkstelligen, und wenn dem Repository neue Versionen + bewerkstelligen, und wenn dem Projektarchiv neue Versionen hinzugef?gt werden, wissen die Entwickler wenigstens, dass diese neuen Revisionen zumindest entfernt eine Beziehung zu - jedem Benutzer dieses Repositorys haben. + jedem Benutzer dieses Projektarchivs haben. Nachdem Sie entschieden haben, wie Sie Ihre Projekte in - Repositorys aufteilen, m?chten Sie sich nun vielleicht + Projektarchive aufteilen, m?chten Sie sich nun vielleicht Gedanken dar?ber machen, welche Verzeichnishierarchien Sie im - Repository anlegen wollen. Da Subversion zum Verzweigen und + Projektarchiv anlegen wollen. Da Subversion zum Verzweigen und Etikettieren regul?re Verzeichniskopien verwendet (siehe ), empfiehlt die - Subversion-Gemeinschaft, dass Sie einen Ort im Repository f?r + Subversion-Gemeinschaft, dass Sie einen Ort im Projektarchiv f?r jedes Projekt-Wurzelverzeichnis w?hlen – das oberste Verzeichnis, das Daten f?r Ihr Projekt enth?lt – und hierunter dann drei Unterverzeichnisse @@ -527,7 +527,7 @@ - Ihr Repository k?nnte z.B. so aussehen: + Ihr Projektarchiv k?nnte z.B. so aussehen: / @@ -558,12 +558,12 @@ like this: --> Beachten Sie, dass es unerheblich ist, wo in Ihrem - Repository sich das Wurzelverzeichnis Ihres Projektes - befindet. Falls Sie nur ein Projekt pro Repository haben, ist + Projektarchiv sich das Wurzelverzeichnis Ihres Projektes + befindet. Falls Sie nur ein Projekt pro Projektarchiv haben, ist der logische Ort f?r das Wurzelverzeichnis des Projektes das - Wurzelverzeichnis des zum Projekt geh?renden Repositorys. + Wurzelverzeichnis des zum Projekt geh?renden Projektarchivs. Falls Sie mehrere Projekte haben, m?chten Sie diese vielleicht - innerhalb des Repositorys gruppieren, indem Sie Projekte + innerhalb des Projektarchivs gruppieren, indem Sie Projekte ?hnlichen Zwecks in demselben Unterverzeichnis unterbringen oder sie vielleicht nur alphabetisch gruppieren. Eine solche Anordnung k?nnte so aussehen: @@ -596,11 +596,11 @@ meets the needs of the people who work on the projects that live there. --> - Legen Sie Ihr Repository so an, wie es Ihnen am besten + Legen Sie Ihr Projektarchiv so an, wie es Ihnen am besten passt. Subversion erwartet oder erzwingt keine bestimmte Anordnung – f?r Subversion ist und bleibt ein Verzeichnis ein Verzeichnis. Letztendlich sollten Sie f?r ein - Repository eine Struktur w?hlen, die den Bed?rfnissen der + Projektarchiv eine Struktur w?hlen, die den Bed?rfnissen der Leute gerecht wird, die an den Projekten arbeiten, die dort untergebracht sind. @@ -616,7 +616,7 @@ verbreitete Anordnung. Bei dieser Anordnung befinden sich die Verzeichnisse trunk, tags und branches im - Wurzelverzeichnis des Repositorys und die Projekte in + Wurzelverzeichnis des Projektarchivs und die Projekte in Unterverzeichnissen davon: @@ -667,7 +667,7 @@ praktischen Erw?gungen – es ist einfacher, in der kompletten Historie eines einzelnen Projektes zu forschen (oder sie zu ver?ndern oder woandershin zu migrieren), wenn es - einen einzelnen Pfad im Repository gibt, der die gesamte + einen einzelnen Pfad im Projektarchiv gibt, der die gesamte Historie f?r dieses eine Projekt, und nur dieses, beinhaltet – die Vergangenheit, Tags und Zweige. @@ -678,7 +678,7 @@ - Entscheiden Sie, wo und wie Ihr Repository untergebracht + <title>Entscheiden Sie, wo und wie Ihr Projektarchiv untergebracht werden soll - Bevor Sie Ihr Subversion-Repository anlegen, bleibt die + Bevor Sie Ihr Subversion-Projektarchiv anlegen, bleibt die offensichtliche Frage zu beantworten, wo das Ding hin soll. Das h?ngt eng mit etlichen weiteren Fragen zusammen, etwa wie - auf das Repository zugegriffen werden soll (?ber einen + auf das Projektarchiv zugegriffen werden soll (?ber einen Subversion-Server oder direkt), wer darauf zugreifen soll (Benutzer hinter Ihrer Firmen-Firewall oder die weite Welt im offenen Netz), welche zus?tzlichen Dienste Sie im Zusammenhang mit Subversion anbieten wollen (Schnittstellen zum St?bern im - Repository, ?bergabebenachrichtigungen per E-Mail usw.), Ihre + Projektarchiv, ?bergabebenachrichtigungen per E-Mail usw.), Ihre Sicherungsstrategie und vieles mehr. liefert einen Vergleich zwischen Berkeley-DB- und - FSFS-Repositorys. + FSFS-Projektarchive.
- Vergleich der Repository-Datenspeicherung + Vergleich der Projektarchiv-Datenspeicherung @@ -913,7 +913,7 @@ Smaller --> Skalierbarkeit - Plattenplatzbedarf des Repositorys + Plattenplatzbedarf des Projektarchivs Gr??er (besonders, wenn Protokolldateien nicht gek?rzt werden) Kleiner @@ -1001,7 +1001,7 @@ hinzu kommt, dass beim Verzicht auf Berkeley DB sich eine Komponente weniger im System befindet – warum heutzutage beinahe jeder das FSFS-Verfahren verwendet, wenn neue - Repositorys angelegt werden. + Projektarchive angelegt werden. Gl?cklicherweise interessiert es die meisten Programme - die auf Subversion-Repositorys zugreifen nicht, welches + die auf Subversion-Projektarchive zugreifen nicht, welches Speicherverfahren verwendet wird. Au?erdem sind Sie mit Ihrer ersten Entscheidung f?r das Speicherverfahren nicht notwendigerweise festgelegt – falls Sie es sich sp?ter anders ?berlegen sollten, bietet Subversion Methoden zur - Migration der Daten im Repository in ein anderes Repository, + Migration der Daten im Projektarchiv in ein anderes Projektarchiv, das ein unterschiedliches Speicherverfahren verwendet. Wir werden das sp?ter in diesem Kapitel er?rtern. @@ -1067,11 +1067,11 @@ --> Berkeley DB bietet echte Transaktionsunterst?tzung – vielleicht seine st?rkste Funktion. Mehrere - Prozesse, die auf Ihre Subversion-Repositorys zugreifen, + Prozesse, die auf Ihre Subversion-Projektarchive zugreifen, brauchen sich keine Sorgen machen, dass sie sich versehentlich gegenseitig die Daten zerschie?en. Die durch das Transaktiossystem gebotene Isolation bedeutet, dass der - Subversion-Repository-Programmcode f?r jede gegebene + Subversion-Projektarchiv-Programmcode f?r jede gegebene Operation eine statische Sicht auf die Datenbank hat – keine sich durch die Einfl?sse anderer Prozesse st?ndig ?ndernde Datenbank – und basierend auf dieser Sicht @@ -1096,10 +1096,10 @@ Hot Backups – die F?higkeit, die Datenbankumgebung zu sichern, ohne sie vom Netz zu nehmen. Wir besprechen sp?ter in diesem - Kapitel, wie Sie Ihr Repository sichern (in ), doch sollten die Vorteile offensichtlich sein, die dadurch entstehen, dass - Sie vollst?ndige Sicherheitskopien Ihrer Repositorys ohne + Sie vollst?ndige Sicherheitskopien Ihrer Projektarchive ohne Wartungszeitr?ume machen k?nnen. - W?hrend ein Berkeley-DB-Repository ziemlich schnell und + W?hrend ein Berkeley-DB-Projektarchiv ziemlich schnell und skalierbar ist, wird es am besten von einem einzelnen Server-Prozess unter einer Benutzerkennung verwendet – so wie Apaches httpd oder @@ -1310,7 +1310,7 @@ linkend="svn.serverconfig"/>) – statt darauf mit mehreren Benutzern ?ber file:// oder svn+ssh:// URLs zuzugreifen. Falls Sie - mit mehreren Benutzern direkt auf ein Berkeley-DB-Repository + mit mehreren Benutzern direkt auf ein Berkeley-DB-Projektarchiv zugreifen wollen, sollten Sie unbedingt weiter unten in diesem Kapitel lesen. @@ -1337,19 +1337,19 @@ repository. --> Mitte 2004 entstand ein zweiter Typ eines - Repository-Speichersystems – eins, das ?berhaupt keine - Datenbank verwendet. Ein FSFS-Repository speichert die zu + Projektarchiv-Speichersystems – eins, das ?berhaupt keine + Datenbank verwendet. Ein FSFS-Projektarchiv speichert die zu einer Revision geh?renden ?nderungen in einer einzelnen - Datei, so dass sich alle Revisionen eines Repositorys in + Datei, so dass sich alle Revisionen eines Projektarchivs in einem Verzeichnis voller nummerierter Dateien befinden. Transaktionen werden als individuelle Dateien in getrennten Verzeichnissen erzeugt. Sobald sie vollst?ndig ist, wird die Transaktionsdatei umbenannt und in das Revisionsverzeichnis verschoben, so dass die Atomizit?t von ?bergaben gew?hrleistet ist. Und da eine Revisionsdatei dauerhaft und - unver?nderlich ist, kann das Repository auch im laufenden + unver?nderlich ist, kann das Projektarchiv auch im laufenden Betrieb gesichert werden, genauso wie ein BDB-basiertes - Repository. + Projektarchiv. - Anlegen und konfigurieren Ihres Repositorys + Anlegen und konfigurieren Ihres Projektarchivs @@ -1495,7 +1495,7 @@ - Anlegen des Repositorys + Anlegen des Projektarchivs - Das Anlegen eines Subversion-Repositorys ist eine + Das Anlegen eines Subversion-Projektarchivs ist eine unglaublich einfache Aufgabe. Das mit Subversion gelieferte Dienstprogramm svnadmin stellt ein Unterbefehl (svnadmin create) zur @@ -1517,7 +1517,7 @@ --> -$ # Ein Repository anlegen +$ # Ein Projektarchiv anlegen $ svnadmin create /var/svn/repos $ @@ -1532,7 +1532,7 @@ parameter either fsfs or bdb. --> - Damit wird ein neues Repository im Verzeichnis + Damit wird ein neues Projektarchiv im Verzeichnis /var/svn/repos mit dem Standard-Speicherverfahren angelegt. Vor Subversion 1.2 war es Berkeley DB, nun ist es FSFS. Sie k?nnen den Dateisystemtypen @@ -1549,7 +1549,7 @@ --> -$ # Ein FSFS-basiertes Repository anlegen +$ # Ein FSFS-basiertes Projektarchiv anlegen $ svnadmin create --fs-type fsfs /var/svn/repos $ @@ -1562,7 +1562,7 @@ --> -# Ein Berkeley-DB-basiertes Repository anlegen +# Ein Berkeley-DB-basiertes Projektarchiv anlegen $ svnadmin create --fs-type bdb /var/svn/repos $ @@ -1572,7 +1572,7 @@ repository. --> Nach dem Ausf?hren dieses einfachen Befehls haben Sie ein - Subversion-Repository. + Subversion-Projektarchiv. Im Unterverzeichnis db/ Ihres - Repositorys befindet sich die Implementierung des + Projektarchivs befindet sich die Implementierung des versionierten Dateisystems. Das Leben des versionierten - Dateisystems Ihres Repositorys beginnt mit Revision 0, die aus + Dateisystems Ihres Projektarchivs beginnt mit Revision 0, die aus nichts anderem als dem Wurzelverzeichnis (/) besteht. Zu Beginn hat die Revision 0 ein einziges Revisions-Property, svn:date, das als Wert die Angabe des Zeitpunktes besitzt, zu dem das - Repository angelegt wurde. + Projektarchiv angelegt wurde. - Da Sie nun ein Repository haben, ist es an der Zeit, es + Da Sie nun ein Projektarchiv haben, ist es an der Zeit, es anzupassen. @@ -1646,20 +1646,20 @@ version control history by poking and prodding around in your repository's data store files! --> - W?hrend einige Teile des Repositorys – wie die + W?hrend einige Teile des Projektarchivs – wie die Konfigurationsdateien und Hook-Scripts – f?r eine manuelle Untersuchung und Bearbeitung gedacht sind, sollten Sie nicht (und sie sollten es auch nicht n?tig haben) an den - anderen Teilen des Repositorys h?ndisch + anderen Teilen des Projektarchivs h?ndisch herumdoktern. Das Dienstprogramm svnadmin - sollte f?r alle notwendigen ?nderungen an Ihrem Repository + sollte f?r alle notwendigen ?nderungen an Ihrem Projektarchiv ausreichen; sie k?nnen auch Dienstprogramme von Drittanbietern (wie das Werkzeugpaket von Berkeley DB) verwenden, um in entsprechenden Unterabschnitten des - Repositorys ?nderungen vorzunehmen. Versuchen Sie + Projektarchivs ?nderungen vorzunehmen. Versuchen Sie nicht, die Historie Ihrer Versionskontrolle manuell zu ver?ndern, indem Sie in den - Speicherdateien des Repositorys herumstochern! + Speicherdateien des Projektarchivs herumstochern! @@ -1669,7 +1669,7 @@ - Erstellen von Repository-Hooks + Erstellen von Projektarchiv-Hooks Ein Hook (Haken) ist ein Programm, - das durch einige Repository-Ereignisse gestartet wird, wie + das durch einige Projektarchiv-Ereignisse gestartet wird, wie etwa die Erzeugung einer neuen Revision oder die Ver?nderung eines unversionierten Propertys. Einige Hooks (die sogenannten Pre-Hooks) starten vor einer - Repository-Operation und bieten eine M?glichkeit sowohl zu + Projektarchiv-Operation und bieten eine M?glichkeit sowohl zu berichten, was passieren wird, als auch zu verhindern, dass es ?berhaupt passiert. Andere Hooks (die Post-Hooks) starten nach Abschluss eines - Repository-Ereignisses und sind n?tzlich f?r Aufgaben, die das - Repository inspizieren – aber nicht ver?ndern. Jedem + Projektarchiv-Ereignisses und sind n?tzlich f?r Aufgaben, die das + Projektarchiv inspizieren – aber nicht ver?ndern. Jedem Hook wird ausreichend Information ?bergeben, damit er feststellen kann, um welches Ereignis es sich handelt (oder - handelte), welche genauen ?nderungen am Repository + handelte), welche genauen ?nderungen am Projektarchiv beabsichtigt sind (oder durchgef?hrt wurden) und wie der Name des Benutzers lautet, der das Ereignis ausgel?st hat. @@ -1709,7 +1709,7 @@ hooks: --> Das Verzeichnis f?r die Hooks ist - standardm??ig mit Vorlagen f?r verschiedene Repository-Hooks + standardm??ig mit Vorlagen f?r verschiedene Projektarchiv-Hooks gef?llt: @@ -1825,15 +1825,15 @@ it is designed to perform. --> Subversion f?hrt die Hooks unter der Benutzerkennung aus, - die auch der Prozess besitzt, der auf das Repository zugreift. - Meistens wird auf das Repository ?ber einen Subversion-Server + die auch der Prozess besitzt, der auf das Projektarchiv zugreift. + Meistens wird auf das Projektarchiv ?ber einen Subversion-Server zugegriffen, so dass die Benutzerkennung der des Serverprozesses entspricht. Die Hooks m?ssen deshalb mit den entsprechenden Berechtigungen des Betriebssystems versehen werden, damit diese Benutzerkennung sie ausf?hren kann. Das bedeutet auch, dass der direkte oder indirekte Zugriff auf irgendwelche Programme oder Dateien (einschlie?lich des - Subversion-Repositorys) durch den Hook auch unter derselben + Subversion-Projektarchivs) durch den Hook auch unter derselben Kennung erfolgt. Mit anderen Worten: Achten Sie auf m?gliche Probleme im Zusammenhang mit Zugriffsrechten, die den Hook daran hindern k?nnten, die Ihm zugeteilten Aufgaben @@ -1853,17 +1853,17 @@ changes to your repository, you don't need to do this sort of access control via the hook system. --> - Es gibt mehrere im Subversion-Repository implementierte + Es gibt mehrere im Subversion-Projektarchiv implementierte Hooks; Details zu jedem k?nnen Sie in nachlesen. Als - Repository-Administrator m?ssen Sie entscheiden, welche Hooks + Projektarchiv-Administrator m?ssen Sie entscheiden, welche Hooks sie einrichten wollen (indem Sie ein entsprechend benanntes und mit den n?tigen Zugriffsrechten versehenes Hook-Programm bereitstellen) und wie Sie sie einsetzen wollen. Wenn Sie diese Entscheidung treffen, dann behalten Sie das Gesamtbild des - Repository-Einsatzes im Auge. Wenn Sie beispielsweise die + Projektarchiv-Einsatzes im Auge. Wenn Sie beispielsweise die Konfiguration des Servers verwenden, um festzustellen, welche - Benutzer ?nderungen an Ihr Repository ?bergeben d?rfen, + Benutzer ?nderungen an Ihr Projektarchiv ?bergeben d?rfen, ben?tigen Sie f?r diese Zugriffskontrolle nicht das Hook-System. @@ -1916,7 +1916,7 @@ Fehlern, Unzul?nglichkeiten oder Prozessverletzungen innerhalb der zu ?bergebenden Dateien einzusetzen, kann das zu Problemen f?hren. Subversion h?lt bestimmte - Repository-Daten in clientseitigen Caches vor, und wenn Sie + Projektarchiv-Daten in clientseitigen Caches vor, und wenn Sie auf diese Art eine ?bergabe-Transaktion ver?ndern, werden die im Cache befindlichen Informationen ung?ltig, ohne dass jemand etwas merkt. Diese Inkonsistenz kann zu @@ -1960,7 +1960,7 @@ die Obergrenze f?r die Gr??e der Protokolldateien usw. Dar?berhinaus w?hlt Subversions Dateisystemlogik Standardwerte f?r einige der Berkeley-DB-Konfigurationsoptionen. Manchmal - jedoch ben?tigt Ihr besonderes Repository, welches eine + jedoch ben?tigt Ihr besonderes Projektarchiv, welches eine einzigartige Sammlung von Daten und Zugriffsmustern darstellt, eine unterschiedliche Menge von Konfigurationswerten. @@ -1996,9 +1996,9 @@ die Berkeley-DB-Umgebung zu ?berschreiben. BDB pr?ft, ob es eine Datei namens DB_CONFIG im Umgebungsverzeichnis (das Verzeichnis db - des Repositorys) gibt und liest die in dieser Datei + des Projektarchivs) gibt und liest die in dieser Datei vorhandenen Optionen. Subversion erzeugt diese Datei selbst, - wenn der Rest eines Repositorys erstellt wird. Anfangs + wenn der Rest eines Projektarchivs erstellt wird. Anfangs beinhaltet diese Datei einige Standardoptionen sowie Verweise zur Berkeley-DB-Dokumentation im Netz, so dass Sie nachschlagen k?nnen, was diese Optionen bewirken. @@ -2025,7 +2025,7 @@ - Repository-Wartung + Projektarchiv-Wartung - Die Wartung eines Subversion-Repositorys kann abschreckend + Die Wartung eines Subversion-Projektarchivs kann abschreckend sein, was an der Komplexit?t liegt, die Systemen innewohnt, die auf Datenbanken aufbauen. Die Arbeit gut zu machen, bedeutet, die Werkzeuge zu kennen – was sie sind, wann sie zu verwenden sind und wie. Dieser Abschnitt stellt Ihnen die - Repository-Verwaltungswerkzeuge vor, die Subversion mitbringt + Projektarchiv-Verwaltungswerkzeuge vor, die Subversion mitbringt und er?rtert, wie sie gehandhabt werden, um Aufgaben zu - erledigen, wie etwa Repository-Datenmigration, Aktualisierungen, + erledigen, wie etwa Projektarchiv-Datenmigration, Aktualisierungen, Sicherungen und Aufr?umarbeiten. @@ -2065,7 +2065,7 @@ --> Subversion stellt eine Handvoll Dienstprogramme zur Verf?gung, die n?tzlich zum Erstellen, Untersuchen, Ver?ndern - und Reparieren Ihres Repositorys sind. Wir wollen uns diese + und Reparieren Ihres Projektarchivs sind. Wir wollen uns diese Werkzeuge einmal genauer ansehen. Anschlie?end werden wir kurz einige der zum Berkeley-DB-Paket geh?renden Dienstprogramme untersuchen, die auf die Besonderheiten der von Subversion @@ -2087,10 +2087,10 @@ Subversion command-line programs: --> Das Programm svnadmin ist der beste - Freund des Repository-Administrators. Neben der F?higkeit, - Subversion-Repositorys zu erzeugen, erlaubt Ihnen dieses + Freund des Projektarchiv-Administrators. Neben der F?higkeit, + Subversion-Projektarchive zu erzeugen, erlaubt Ihnen dieses Programm verschiedene Wartungsarbeiten auf diesen - Repositorys auszuf?hren. Die Syntax von + Projektarchive auszuf?hren. Die Syntax von svnadmin ist ?hnlich wie bei anderen Kommandozeilenprogrammen von Subversion: @@ -2164,14 +2164,14 @@ mitgeliefertes Dienstprogramm zum Untersuchen der mannigfaltigen Revisionen und Transaktionen (bei denen es sich um - Revisionen in Entstehung handelt) in einem Repository. Kein - Teil dieses Programms versucht, das Repository zu ver?ndern. + Revisionen in Entstehung handelt) in einem Projektarchiv. Kein + Teil dieses Programms versucht, das Projektarchiv zu ver?ndern. svnlook wird ?blicherweise von - Repository-Hooks verwendet, um die abzuliefernden ?nderungen + Projektarchiv-Hooks verwendet, um die abzuliefernden ?nderungen zu melden (im Fall des pre-commit-Hooks) - oder die gerade an das Repository ?bergeben wurden (im Fall + oder die gerade an das Projektarchiv ?bergeben wurden (im Fall des post-commit-hooks). Ein - Repository-Administrator kann dieses Programm zur Diagnose + Projektarchiv-Administrator kann dieses Programm zur Diagnose benutzen. Beachten Sie, dass Sie nur Transaktionen untersuchen k?nnen, die noch nicht ?bergeben sind. Die meisten - Repositorys haben keine derartigen Transaktionen, da + Projektarchive haben keine derartigen Transaktionen, da Transaktionen entweder ?bergeben (in diesem Fall sollten Sie darauf mit der Option () zugreifen) oder abgebrochen und ***The diff for this file has been truncated for email.*** ======================================= --- /trunk/src/de/book/ch06-server-configuration.xml Fri Jan 16 08:29:57 2009 +++ /trunk/src/de/book/ch06-server-configuration.xml Sun May 30 23:37:40 2010 @@ -13,7 +13,7 @@ perhaps, all over the world. --> - Der Zugriff auf ein Subversion-Repository kann problemlos + Der Zugriff auf ein Subversion-Projektarchiv kann problemlos von mehreren Clients, welche auf demselben Rechner wie Subversion laufen, gleichzeitig erfolgen – unter Verwendung der file://-Methode. Aber typischerweise l?uft @@ -31,7 +31,7 @@ setup on your host computer. --> - In diesem Kapitel erkl?ren wir, wie Sie ihr Subversion-Repository + In diesem Kapitel erkl?ren wir, wie Sie ihr Subversion-Projektarchiv f?r den Fernzugriff von Clients fit machen. Wir werden ausf?hrlich auf alle aktuell verf?gbaren Servermechanismen von Subversion eingehen und ?ber ihre Konfiguration und Verwendung reden. @@ -59,8 +59,8 @@ --> Subversion wurde mit einer abstrakten Netzwerkschicht entworfen. Dies bedeutet, dass auf ein - Repository automatisiert von beliebigen Server-Prozessen zugegriffen - werden kann, und die f?r Clients vorhandene Repository-Access-API + Projektarchiv automatisiert von beliebigen Server-Prozessen zugegriffen + werden kann, und die f?r Clients vorhandene Projektarchiv-Access-API (Programmierschnittstelle) erlaubt es Programmierern, Plugins zu entwickeln, die relevante Netzwerkprotokolle verstehen. Theoretisch erm?glicht dies Subversion, eine unbegrenzte Zahl an Netzwerkprotokollen zu verwenden. @@ -78,14 +78,14 @@ repositories. --> Apache ist ein sehr beliebter Webserver, welcher mittels des - mod_dav_svn-Moduls auf Repositorys zugreifen und + mod_dav_svn-Moduls auf Projektarchive zugreifen und diese f?r Clients verf?gbar machen kann. Verwendet wird dabei das WebDAV/DeltaV-Protokoll, welches eine Erweiterung von HTTP ist. Da Apache ein stark erweiterbarer Webserver ist, bietet er eine Menge an frei verf?gbaren Funktionen/Modulen, wie SSL-verschl?sselte Verbindungen, Logging, sowie die Integration diverser Authentifikationssysteme von Drittanbietern und einen eingeschr?nkten - Web-Browser-gest?tzten Repository-Lesezugriff. + Web-Browser-gest?tzten Projektarchiv-Lesezugriff. - Lese-/Schreibzugriff auf das komplette Repository + Lese-/Schreibzugriff auf das komplette Projektarchiv oder pfadbasierte Rechtevergabe - Lese-/Schreibzugriff auf das komplette Repository + Lese-/Schreibzugriff auf das komplette Projektarchiv oder pfadbasierte Rechtevergabe - Lese-/Schreibzugriff nur auf ganzes Repository einstellbar + Lese-/Schreibzugriff nur auf ganzes Projektarchiv einstellbar @@ -250,7 +250,7 @@ - web-basierte Anzeige des Repositorys + web-basierte Anzeige des Projektarchivs eingeschr?nkte Unterst?tzung, alternativ mittels Programmen von Drittanbietern, @@ -428,7 +428,7 @@ Es wird nichts geloggt, auch keine Fehler. Keinen eingebauten Webbrowser-gest?tzten Lesezugriff. (Wenn Sie dies - w?nschen, m?ssen Sie einen eigenst?ndigen Webserver sowie Repository-Browser-Software + w?nschen, m?ssen Sie einen eigenst?ndigen Webserver sowie Projektarchiv-Browser-Software installieren.) @@ -611,9 +611,9 @@ In der Regel l?sst sich das HTTP(S)-Protokoll problemlos durch Firewalls routen. - Auf das Repository kann lesend auch via Webbrowser zugegriffen werden. - - Das Repository l?sst sich als Netzlaufwerk einh?ngen (mounten). ?nderungen + Auf das Projektarchiv kann lesend auch via Webbrowser zugegriffen werden. + + Das Projektarchiv l?sst sich als Netzlaufwerk einh?ngen (mounten). ?nderungen an den Dateien unterliegen trotzdem der Versionskontrolle. (siehe .) @@ -746,13 +746,13 @@ Falls Sie f?r ihr Team die einfachste Servervariante suchen, dann kommen Sie mit einer Standard-svnserve-Installation - am schnellsten ans Ziel. Beachten Sie aber, dass der Inhalt ihres Repositorys + am schnellsten ans Ziel. Beachten Sie aber, dass der Inhalt ihres Projektarchivs im Klartext ?ber das Netzwerk ?bertragen wird. Wenn Sie nur innerhalb ihres Firmennetzwerks oder eines VPNs arbeiten, so ist dies kein Beinbruch. - Ist ihr Repository allerdings vom Internet aus erreichbar, so sollten Sie + Ist ihr Projektarchiv allerdings vom Internet aus erreichbar, so sollten Sie eventuell sicherstellen, dass darin keine sensiblen Daten vorhanden sind (z.B. nur Open-Source Code o.?.), oder Sie legen noch einmal Hand an und - verschl?sseln mittels SASL die Netzwerkverbindung zur ihrem Repository. + verschl?sseln mittels SASL die Netzwerkverbindung zur ihrem Projektarchiv. @@ -773,9 +773,9 @@ Standard-svnserve entschieden haben, dann legen Sie auf ihrem System einen einfachen svn-Nutzer an und lassen den Serverprozess unter diesem Nutzer laufen. - Stellen Sie zudem sicher, dass das gesamte Verzeichnis mit dem Repository nur + Stellen Sie zudem sicher, dass das gesamte Verzeichnis mit dem Projektarchiv nur diesem svn-Nutzer geh?rt. Damit wird der Zugriff auf ihr - Repository durch das Dateisystem des Serverbetriebssystems verwaltet, und + Projektarchiv durch das Dateisystem des Serverbetriebssystems verwaltet, und nur der Serverprozess kann noch ?nderungen daran vornehmen. @@ -788,7 +788,7 @@ Wir empfehlen diese Variante allerdings nur sehr ungern. Es ist im Allgemeinen sicherer, Ihren Nutzern nur durch svnserve oder Apache verwaltete Zug?nge - den Zugriff auf Ihr Repository zu erm?glichen und eben nicht + den Zugriff auf Ihr Projektarchiv zu erm?glichen und eben nicht mittels vollwertiger Nutzerzug?nge auf dem Serversystem. Falls der Wunsch nach einer starken Netzwerkverschl?sselung Sie auf die Verwendung des SSH gebracht hat, dann empfehlen wir Ihnen @@ -799,19 +799,19 @@ Lassen Sie sich bitte nicht von der Idee verf?hren, - allen Ihren Nutzern direkten Zugriff auf das Repository mittels der + allen Ihren Nutzern direkten Zugriff auf das Projektarchiv mittels der file://-Methode zu geben. Auch wenn der Zugriff - auf das Repository durch eine Netzwerkfreigabe erfolgt, bleibt es immmer + auf das Projektarchiv durch eine Netzwerkfreigabe erfolgt, bleibt es immmer noch eine schlechte Idee. - Dadurch wird jeglicher Sicherheitspuffer zwischen dem Nutzer und dem Repository - entfernt: Ein Anwender kann ohne (oder auch mit) Absicht die Datenbank des Repositorys + Dadurch wird jeglicher Sicherheitspuffer zwischen dem Nutzer und dem Projektarchiv + entfernt: Ein Anwender kann ohne (oder auch mit) Absicht die Datenbank des Projektarchivs besch?digen. - Es wird zudem schwierig, das Repository offline zu nehmen um eine Inspektion + Es wird zudem schwierig, das Projektarchiv offline zu nehmen um eine Inspektion oder ein Upgrade durchzuf?hren. Zudem kann es Ihnen eine Menge Probleme mit den Dateirechten einbringen (siehe ). Beachten Sie bitte auch, dass dies einer der Gr?nde ist, warum wir vor der - Verwendung der svn+ssh://-Methode f?r den Repository-Zugriff + Verwendung der svn+ssh://-Methode f?r den Projektarchiv-Zugriff warnen. Vom Standpunkt der Sicherheit ist dies effektiv dasselbe wie die Verwendung von file:// f?r den Zugriff durch lokale Benutzer und kann zu denselben Problemen f?hren, wenn der Administrator nicht @@ -853,7 +853,7 @@ oder das svn+ssh://-Schema. In diesem Abschnitt behandeln wir die unterschiedlichen M?glichkeiten, svnserve einzusetzen, wie sich die Clients am Server authentifizieren und wie - die passenden Zugangsrechte zum Repository korrekt eingerichtet werden. + die passenden Zugangsrechte zum Projektarchiv korrekt eingerichtet werden. @@ -969,14 +969,14 @@ welchem Hostnamen er lauschen soll. Wurde svnserve auf diese Weise erfolgreich gestartet, - stehen nun alle Repositorys auf dem Server f?r Nutzer im Netzwerk zur Verf?gung. + stehen nun alle Projektarchive auf dem Server f?r Nutzer im Netzwerk zur Verf?gung. F?r einen Zugriff muss ein Client den absoluten Pfad zum - Repository im URL angeben. Ist das Repository beispielsweise im Verzeichnis + Projektarchiv im URL angeben. Ist das Projektarchiv beispielsweise im Verzeichnis /var/svn/project1 gespeichert, so sieht ein entsprechender URL f?r den Zugriff folgenderma?en aus: svn://host.example.com/var/svn/project1. Um die Sicherheit zu erh?hen, kann svnserve beim Start mit der Option auf ein bestimmtes Verzeichnis beschr?nkt werden, so dass nur noch - die darin liegenden Repositorys im Netz verf?gbar sind. Ein Beispiel: + die darin liegenden Projektarchive im Netz verf?gbar sind. Ein Beispiel: $ svnserve -d -r /var/svn @@ -1095,12 +1095,12 @@ Stellen Sie sicher, dass svnowner der Nutzer ist, - welcher alle notwendigen Zugriffsrechte auf ihre Repositorys hat. + welcher alle notwendigen Zugriffsrechte auf ihre Projektarchive hat. Kommt nun eine Anfrage eines Subversion-Clients auf Port 3690 herein, so wird inetd einen svnserve-Prozess starten, um die Anfrage zu bedienen. Wahrscheinlich m?chten Sie noch die -Option zur oben genannten Zeile hinzuf?gen, - um einzuschr?nken, welche Repositorys exportiert werden d?rfen. + um einzuschr?nken, welche Projektarchive exportiert werden d?rfen. @@ -1157,9 +1157,9 @@ und stdout) und davon ausgehen, dass alle Daten mit Hilfe des Tunnels zum Client weitergeleitet werden. Wird svnserve wie in diesem Fall durch ein Tunnel-Programm aufgerufen, ist es notwendig, dass der aufrufende Nutzer volle Lese- - und Schreibrechte auf die Dateien der Repository-Datenbank hat. + und Schreibrechte auf die Dateien der Projektarchiv-Datenbank hat. Es verh?lt sich dabei im Grunde genommen so, als wenn der Nutzer mit einem - file://-URL auf ein Repository zugreifen w?rde. + file://-URL auf ein Projektarchiv zugreifen w?rde. Wir werden diese Option noch genauer in diesem Kapitel behandeln, und zwar in . @@ -1430,9 +1430,9 @@ verbindet, geschieht folgendes: - Der Client w?hlt ein bestimmtes Repository. - - Der Server liest die zum Repository geh?rende Datei conf/svnserve.conf + Der Client w?hlt ein bestimmtes Projektarchiv. + + Der Server liest die zum Projektarchiv geh?rende Datei conf/svnserve.conf und f?hrt die darin enthaltenen Regeln f?r die Authentifikation (Legitimation, Identit?tspr?fung) und die Autorisation (Berechtigungen, Befugnisse) aus. @@ -1481,7 +1481,7 @@ Mehr dazu im Kapitel . Wie Sie sicher bereits bemerkt haben, ist die Datei svnserve.conf - in jedem Repository die zentrale Anlaufstelle f?r alle Regeln im Rahmen der + in jedem Projektarchiv die zentrale Anlaufstelle f?r alle Regeln im Rahmen der Nutzeranmeldung und Rechtevergabe. Die Datei hat dasselbe Format wie die anderen Konfigurationsdateien (siehe ): Die Abschnittsbezeichnungen sind von eckigen Klammern umschlossen @@ -1580,12 +1580,12 @@ Der Wert von password-db kann den absoluten oder relativen Pfad zur Benutzerdatei enthalten. In der Regel, ist es am einfachsten diese Datei ebenfalls - im conf/-Verzeichnis des Repositorys + im conf/-Verzeichnis des Projektarchivs zu speichern – also dort, wo auch svnserve.conf liegt. Andererseits m?chten Sie vielleicht eine Passwortdatei f?r mehrere Repositories verwenden; in diesem Fall sollten Sie die Datei an einem zentraleren Ort ablegen. - Die Repositorys, die sich die Benutzerdatei teilen, sollten so + Die Projektarchive, die sich die Benutzerdatei teilen, sollten so konfiguriert sein, dass sie derselben Authentifizierungsumgebung angeh?ren, da die Benutzerliste im Wesentlichen einen Authentifizierungs-Bereich definiert. @@ -1627,7 +1627,7 @@ oder write gesetzt werden. Wenn Sie den Wert auf none setzen, so unterbinden Sie sowohl den Lese- als auch den Schreibzugriff – read erlaubt den Nur-Lese-Zugriff - auf das Repository und write gibt auf das gesamte Repository + auf das Projektarchiv und write gibt auf das gesamte Projektarchiv Lese- und Schreibzugriff. @@ -1706,7 +1706,7 @@ --> Der Serverprozess versteht nicht nur diese pauschalen - Zugriffseinstellungen f?r ein Repository, sondern auch feiner + Zugriffseinstellungen f?r ein Projektarchiv, sondern auch feiner granulierte Zugriffsrechte auf einzelne Dateien und Verzeichnisse innerhalb des Repositories. Um diese Funktion nutzen zu k?nnen, m?ssen Sie eine Datei anlegen, welche die umfangreicheren Regeln enth?lt und anschlie?end die ======================================= --- /trunk/src/de/book/ch07-customizing-svn.xml Sat May 2 06:24:47 2009 +++ /trunk/src/de/book/ch07-customizing-svn.xml Sun May 30 23:37:40 2010 @@ -561,10 +561,10 @@ any of these patterns will not be proxied. --> Eine durch Komma getrennte Liste aus Namensmustern - f?r Repository-Server, die, ohne einen Proxy-Rechner + f?r Projektarchiv-Server, die, ohne einen Proxy-Rechner zu benutzen, direkt angesprochen werden sollen. Die Syntax f?r die Muster ist die gleiche wie bei - Dateinamen in der Unix-Shell. Ein Repository-Server + Dateinamen in der Unix-Shell. Ein Projektarchiv-Server mit einem zu irgendeinem dieser Muster passenden Namen wird nicht ?ber einen Proxy angesprochen. @@ -684,7 +684,7 @@ --> Subversion stellt ein Paar aus Modulen f?r den - Repository-Zugriff zur Verf?gung, die das + Projektarchiv-Zugriff zur Verf?gung, die das WebDAV-Netzprotokoll verstehen. Das mit Subversion 1.0 ausgelieferte Original ist libsvn_ra_neon (obwohl es damals @@ -732,7 +732,7 @@ --> Eine durch Semikolon getrennte Liste von Authentifizierungsmethoden, die von den Neon-basierten - WebDAV-Repository-Zugriffsmodulen unterst?tzt werden. + WebDAV-Projektarchiv-Zugriffsmodulen unterst?tzt werden. G?ltige Elemente dieser Liste sind basic, digest und negotiate. @@ -864,7 +864,7 @@ --> Der Abschnitt auth enth?lt Einstellungen zur Authentifizierung und Autorisierung - gegen?ber Subversion-Repositorys. Er enth?lt das + gegen?ber Subversion-Projektarchiven. Er enth?lt das Folgende: @@ -995,7 +995,7 @@ Der absolute Pfad zu einem Dreiwege-Vergleichsprogramm. Subversion verwendet dieses Programm, um ?nderungen des Benutzers mit - denjenigen aus dem Repository zusammenzuf?hren. + denjenigen aus dem Projektarchiv zusammenzuf?hren. Standardm??ig benutzt Subversion eine interne Vergleichsbibliothek – wenn diese Option gesetzt wird, benutzt es f?r diese Aufgabe ein externes @@ -1172,7 +1172,7 @@ f?r Protokollnachrichten. Sie ist eine dauerhafte Form der Option (siehe ). Das - Subversion-Repository speichert Protokollnachrichten + Subversion-Projektarchiv speichert Protokollnachrichten in UTF-8 und geht davon aus, dass Ihre Protokollnachricht unter Verwendung der nat?rlichen Locale Ihres Betriebssystems verfasst wird. Sie @@ -1220,7 +1220,7 @@ In anderen Situationen w?re es manchmal sch?n, wenn die Dateien der Arbeitskopie Zeitstempel h?tten, die dem Zeitpunkt entspr?chen, zu dem sie das letzte - Mal im Repository ge?ndert wurden. Der Befehl + Mal im Projektarchiv ge?ndert wurden. Der Befehl svn export versieht die von ihm erzeugten B?ume stets mit diesen Zeitstempeln der letzten ?bergabe. Wenn diese Variable auf @@ -1695,14 +1695,14 @@ --> Die zweite Art, auf der die Locale ber?cksichtigt wird, bezieht sich darauf, wie svn Ihre Eingaben - interpretiert. Das Repository speichert alle Pfade, + interpretiert. Das Projektarchiv speichert alle Pfade, Dateinamen und Protokollnachrichten in UTF-8-kodiertem - Unicode. In diesem Sinne ist das Repository + Unicode. In diesem Sinne ist das Projektarchiv internationalisiert – d.h., das - Repository kann Eingaben in jeder menschlichen Sprache + Projektarchiv kann Eingaben in jeder menschlichen Sprache entgegennehmen. Das hei?t aber auch, dass der Subversion-Client daf?r verantwortlich ist, nur Dateinamen - und Protokollnachrichten in UTF-8 an das Repository zu + und Protokollnachrichten in UTF-8 an das Projektarchiv zu schicken. Um das zu bewerkstelligen, muss er die Daten aus der aktuellen Locale in UTF-8 umwandeln. @@ -1725,7 +1725,7 @@ Locale auf it_IT gesetzt ist, wei? der Subversion-Client, dass er sie als italienisch interpretieren muss. Er verwendet einen italienischen Zeichensatz, um die - Daten in UTF-8 umzuwandeln, bevor sie an das Repository + Daten in UTF-8 umzuwandeln, bevor sie an das Projektarchiv gesendet werden. - Beachten Sie, dass das Repository sich + Beachten Sie, dass das Projektarchiv sich nicht um den Inhalt von Dateien k?mmert, obwohl es Dateinamen und Protokollnachrichten in UTF-8 verlangt. Subversion betrachtet Dateiinhalte als @@ -1784,7 +1784,7 @@ update. --> Fehler wie diese treten typischerweise dann auf, wenn - der Client eine Zeichenkette in UTF-8 aus dem Repository + der Client eine Zeichenkette in UTF-8 aus dem Projektarchiv empfangen hat, aber nicht alle Zeichen dieser Zeichenkette in der Kodierung der aktuellen Locale wiedergegeben werden k?nnen. Wenn zum Beispiel Ihre aktuelle Locale @@ -1806,7 +1806,7 @@ Die L?sung besteht entweder darin, Ihre Locale auf irgendetwas zu setzen, das die empfangenen Daten in UTF-8 repr?sentieren kann oder den Dateinamen - oder die Protokollnachricht im Repository zu ?ndern. (Und + oder die Protokollnachricht im Projektarchiv zu ?ndern. (Und vergessen Sie nicht, Ihrem Kollegen auf die Finger zu klopfen – Projekte sollten sich fr?hzeitig auf gemeinsame Sprachen einigen, so dass alle Mitarbeiter @@ -1844,7 +1844,7 @@ bekommen, ist es, Dateien unter Versionskontrolle zu stellen, ?nderungen an diesen Dateien zu ?bergeben usw. Aber neben versionierten Dateidaten leben auch andere Informationen in - Ihrem Subversion-Repository. Einige dieser Informationen – + Ihrem Subversion-Projektarchiv. Einige dieser Informationen – Protokollnachrichten, Kommentare zu Sperren und einige Property-Werte – sind textueller Natur und werden ausdr?cklich von Benutzern geliefert. Die meisten dieser @@ -2165,7 +2165,7 @@ sauberer – Ihr konfiguriertes Zusammenf?hrungsprogramm braucht nur vier Pfadangaben als Kommandozeilenparameter zu akzeptieren: die Basisdatei, die fremde Datei - (die die ?nderungen aus dem Repository enth?lt), die + (die die ?nderungen aus dem Projektarchiv enth?lt), die eigene Datei (die lokale ?nderungen enth?lt) und den Pfad der Datei, in der der endg?ltige Inhalt nach Konfliktaufl?sung gespeichert werden soll. ======================================= --- /trunk/src/de/book/ch08-embedding-svn.xml Mon May 25 13:28:01 2009 +++ /trunk/src/de/book/ch08-embedding-svn.xml Sun May 30 23:37:40 2010 @@ -71,8 +71,8 @@ mod_dav_svn, etc.). --> Jede der Kernbibliotheken von Subversion geh?rt zu einer von - drei Schichten – der Repository-Schicht, der - Repository-Zugriffs-Schicht oder der Client-Schicht (siehe im Vorwort). Wir werden diese Schichten gleich untersuchen, doch zun?chst wollen wir eine kurze Zusammenfassung der verschiedenen Bibliotheken @@ -141,7 +141,7 @@ loader --> Gemeinsame Prozeduren f?r den - Repository-Zugriff und Modullader + Projektarchiv-Zugriff und Modullader libsvn_ra_local @@ -150,7 +150,7 @@ module --> Modul f?r den lokalen - Repository-Zugriff + Projektarchiv-Zugriff libsvn_ra_neon @@ -159,7 +159,7 @@ module --> Modul f?r den - WebDAV-Repository-Zugriff + WebDAV-Projektarchiv-Zugriff libsvn_ra_serf @@ -168,7 +168,7 @@ Access module --> Ein weiteres (experimentelles) Modul f?r den - WebDAV-Repository-Zugriff + WebDAV-Projektarchiv-Zugriff libsvn_ra_svn @@ -176,7 +176,7 @@ The custom protocol Repository Access module --> - Repository-Zugriff ?ber das spezielle + Projektarchiv-Zugriff ?ber das spezielle Protokoll @@ -184,7 +184,7 @@ - Repository-Schnittstelle + Projektarchiv-Schnittstelle libsvn_subr @@ -277,8 +277,8 @@ libsvn_ra_svn implementieren alle die gleiche Schnittstelle und funktionieren als Plug-In f?r libsvn_ra. Alle vier kommunizieren mir der - Repository-Schicht – libsvn_ra_local - verbindet sich direkt mit dem Repository; die drei anderen + Projektarchiv-Schicht – libsvn_ra_local + verbindet sich direkt mit dem Projektarchiv; die drei anderen machen das ?ber das Netz. Die Bibliotheken libsvn_fs_base und libsvn_fs_fs sind noch ein Paar, das die @@ -323,7 +323,7 @@ - Repository-Schicht + Projektarchiv-Schicht - Wenn wir uns auf die Repository-Schicht von Subversion + Wenn wir uns auf die Projektarchiv-Schicht von Subversion beziehen, reden wir ?blicherweise ?ber zwei grundlegende Konzepte – die Implementierung des versionierten Dateisystems (auf das mittels libsvn_fs zugegriffen wird, unterst?tzt durch dessen Plug-Ins libsvn_fs_base und libsvn_fs_fs) und die Logik des - Repositorys, die es umgibt (implementiert in + Projektarchivs, die es umgibt (implementiert in libsvn_repos). Diese Bibliotheken liefern die Speicher- und Auswertungsmechanismen f?r die verschiedenen Revisionen Ihrer versionskontrollierten Daten. Diese Schicht ist mit der Client-Schicht ?ber die - Repository-Zugriffs-Schicht verbunden und stellt, aus der + Projektarchiv-Zugriffs-Schicht verbunden und stellt, aus der Sicht des Benutzers von Subversion, das andere Ende der Leitung dar. @@ -716,7 +716,7 @@ implementing a versioning filesystem, so it lives in the repository wrapper library. --> - Die Subversion-Repository-Bibliothek + Die Subversion-Projektarchiv-Bibliothek (libsvn_repos) sitzt (logisch) oberhalb der libsvn_fs-API und stellt zus?tzliche Funktionen zur Verf?gung, die ?ber die grundlegende Logik @@ -726,11 +726,11 @@ Dateisystemaktivit?t. Einige dieser Schritte umfassen die Erzeugung und den Abschluss von Subversion-Transaktionen und die ?nderung von Revision-Propertys. Diese besonderen - Ereignisse werden durch die Repository-Schicht gekapselt, da + Ereignisse werden durch die Projektarchiv-Schicht gekapselt, da mit ihnen Hooks verkn?pft sind. Ein System mit - Repository-Hooks hat strenggenommen nichts mit der + Projektarchiv-Hooks hat strenggenommen nichts mit der Implementierung eines versionierten Dateisystems zu tun, so - dass es in der Repository-Bibliothek untergebracht ist. + dass es in der Projektarchiv-Bibliothek untergebracht ist. Der Hook-Mechanismus ist aber nur ein Grund f?r die - Abstraktion einer eigenst?ndigen Repository-Bibliothek vom + Abstraktion einer eigenst?ndigen Projektarchiv-Bibliothek vom Rest des Dateisystemcodes. Die API libsvn_repos stellt mehrere andere wichtige Werkzeuge f?r Subversion zur Verf?gung. Darunter @@ -753,7 +753,7 @@ Subversion repository and the filesystem included in that repository. --> - ein Subversion-Repository und das darin enthaltene + ein Subversion-Projektarchiv und das darin enthaltene Dateisystem zu erzeugen, zu ?ffnen, zu zerst?ren und hierauf Schritte zur Wiederherstellung auszuf?hren. @@ -791,7 +791,7 @@ into a different Subversion repository. --> dieses Auszugsformat zu lesen und die Revisionen in - ein anderes Subversion-Repository zu laden. + ein anderes Subversion-Projektarchiv zu laden. @@ -801,7 +801,7 @@ functionality and configurable option support. --> W?hrend sich Subversion weiterentwickelt, wird die - Repository-Bibliothek gemeinsam mit der Dateisystem-Bibliothek + Projektarchiv-Bibliothek gemeinsam mit der Dateisystem-Bibliothek wachsen und erweiterte Funktionen und konfigurierbare Optionen unterst?tzen. @@ -812,7 +812,7 @@ - Repository-Zugriffs-Schicht + Projektarchiv-Zugriffs-Schicht - Wenn die Subversion-Repository-Schicht das andere + Wenn die Subversion-Projektarchiv-Schicht das andere Ende der Leitung repr?sentiert, stellt die - Repository-Zugriffs-Schicht (RA) die Leitung selbst dar. Ihre + Projektarchiv-Zugriffs-Schicht (RA) die Leitung selbst dar. Ihre Aufgabe ist das Umherschaufeln von Daten zwischen den - Client-Bibliotheken und dem Repository. Diese Schicht umfasst + Client-Bibliotheken und dem Projektarchiv. Diese Schicht umfasst die Bibliothek libsvn_ra zum Laden von Modulen, die eigentlichen RA-Module (momentan libsvn_ra_neon, @@ -862,7 +862,7 @@ svn - -version: --> Da Subversion URLs zum Identifizieren seiner - Repository-Quellen benutzt, wird der Protokollteil des + Projektarchiv-Quellen benutzt, wird der Protokollteil des URL-Schemas (normalerweise file://, http://, https://, svn:// oder svn+ssh://) @@ -942,7 +942,7 @@ --> Die von der RA-Schicht exportierte API beinhaltet Funktionen, die zum Senden und Empfangen versionierter Daten - zum und vom Repository notwendig sind. Jedes der verf?gbaren + zum und vom Projektarchiv notwendig sind. Jedes der verf?gbaren RA-Plug-Ins kann diese Aufgabe mithilfe eines besonderen Protokolls erledigen – libsvn_ra_dav kommuniziert ?ber @@ -966,12 +966,12 @@ supplies the APIs; you supply the creativity. --> F?r diejenigen, die ?ber ein v?llig anderes Protokoll auf - das Repository zugreifen m?chten, sei gesagt, dass genau das + das Projektarchiv zugreifen m?chten, sei gesagt, dass genau das der Grund f?r die Modularisierung der - Repository-Zugriffsschicht ist. Entwickler k?nnen einfach eine + Projektarchiv-Zugriffsschicht ist. Entwickler k?nnen einfach eine neue Bibliothek schreiben, die auf der einen Seite die RA-Schnittstelle implementiert und auf der anderen Seite mit - dem Repository kommuniziert. Ihre neue Bibliothek kann + dem Projektarchiv kommuniziert. Ihre neue Bibliothek kann bestehende Netzprotokolle verwenden, oder Sie k?nnen Ihr eigenes erfinden. Sie k?nnten Aufrufe ?ber Interprozess-Kommunikation (IPC) machen oder – mal etwas @@ -1005,7 +1005,7 @@ Verzeichnisse voller Dateien und anderer Unterverzeichnisse, die als eine Art lokaler, editierbarer Spiegelung einer oder mehrere Orte im - Repository dienen – und ?nderungen an die RA-Schicht + Projektarchiv dienen – und ?nderungen an die RA-Schicht weiterzugeben oder von ihr zu empfangen. - welche Orte des Repositorys durch die Dateien und + welche Orte des Projektarchivs durch die Dateien und Unterverzeichnisse der Arbeitskopie repr?sentiert werden @@ -1314,7 +1314,7 @@ entries. Sie enth?lt den gr??ten Teil der Verwaltungsinformationen zu den versionierten Elementen in einem Verzeichnis der Arbeitskopie. Diese eine Datei verfolgt - die Repository-URLs, die urspr?ngliche Revision, Pr?fsummen + die Projektarchiv-URLs, die urspr?ngliche Revision, Pr?fsummen von Dateien, urspr?nglichen Text und Zeitstempel von Propertys, Informationen zur Ablaufkoordination und zu Konfliktzust?nden, Informationen zur letzten ?bergabe (Autor, @@ -2018,7 +2018,7 @@ Anschluss an die Versionen von Subversion verlieren w?rde. Das ist bereits enmal passiert – SVNKit kann nicht ?ber das Protokoll file:// auf - BDB-basierte Subversion-Repositorys zugreifen, da es keine + BDB-basierte Subversion-Projektarchive zugreifen, da es keine reine Java-Implementierung von Berkeley DB gibt, deren Dateiformat kompatibel zur urspr?nglichen Implementierung dieser Bibliothek ist. @@ -2071,7 +2071,7 @@ --> enth?lt einen Codeabschnitt (in C), der einige der er?rterten - Konzepte veranschaulicht. Er verwendet sowohl die Repository- + Konzepte veranschaulicht. Er verwendet sowohl die Projektarchiv- als auch die Dateisystemschnittstelle (was anhand der Pr?fixe svn_repos_ bzw. svn_fs_ der Funktionsnamen erkennbar ist), @@ -2088,7 +2088,7 @@ - Verwendung der Repository-Schicht + Verwendung der Projektarchiv-Schicht - Verwendung der Repository-Schicht mit Python + Verwendung der Projektarchiv-Schicht mit Python Simuliert alle Stufen einer Befehlsausf?hrung, nimmt jedoch keine ?nderungen vor – weder auf der Platte - noch im Repository. + noch im Projektarchiv. @@ -796,7 +796,7 @@ --> Erzeugt und f?gt im Rahmen einer Operation nicht existierende oder unversionierte Elternverzeichnisse - der Arbeitskopie oder dem Repository hinzu. Das ist + der Arbeitskopie oder dem Projektarchiv hinzu. Das ist n?tzlich, um automatisch mehrere Unterverzeichnisse zu erzeugen, wo aktuell keine existieren. Wenn es auf einen URL angewendet wird, werden alle Verzeichnisse bei einer @@ -874,9 +874,9 @@ example. --> Bei Verwendung mit dem Unterbefehl svn - switch wird der Ort des Repositorys ge?ndert, + switch wird der Ort des Projektarchivs ge?ndert, auf den sich Ihre Arbeitskopie bezieht. Das ist dann - n?tzlich, wenn sich der Ort Ihres Repositorys ?ndert und + n?tzlich, wenn sich der Ort Ihres Projektarchivs ?ndert und Sie eine bestehende Arbeitskopie haben, die Sie weiterverwenden m?chten. F?r ein Beispiel siehe svn switch. @@ -1023,7 +1023,7 @@ Geschichte einer versionierten Ressource durchl?uft, mit der Sammlung der Daten aufzuh?ren, sobald eine Kopie – dass hei?t, ein Ort in der Versionsgeschichte, - der von einem anderen Ort des Repositorys kopiert wurde + der von einem anderen Ort des Projektarchivs kopiert wurde – angetroffen wird. @@ -1106,7 +1106,7 @@ Information umfasst nicht nur die Versionsnummer des Clients sondern auch eine Auflistung aller vom Client unterst?tzten Module f?r den Zugriff auf ein - Subversion-Repository. Mit + Subversion-Projektarchiv. Mit () wird nur die Versionsnummer in Kurzform ausgegeben. @@ -1141,7 +1141,7 @@ ARG in the log output. --> In Verbindung mit einem Befehl, der in das - Repository schreibt, wird das Revisions-Property, bei + Projektarchiv schreibt, wird das Revisions-Property, bei Verwendung des Formats NAME=VALUE, NAME auf den Wert @@ -1225,9 +1225,9 @@ svn revert. --> Dateien, Verzeichnisse oder symbolische Links in Ihrer - Arbeitskopie werden zum Hinzuf?gen ins Repository + Arbeitskopie werden zum Hinzuf?gen ins Projektarchiv vorgemerkt. Bei Ihrer n?chsten ?bergabe werden sie in das - Repository geladen. Wenn Sie etwas hinzuf?gen m?chten, es + Projektarchiv geladen. Wenn Sie etwas hinzuf?gen m?chten, es sich vor der ?bergabe aber anders ?berlegen sollten, k?nnen Sie die Vormerkung mit svn revert r?ckg?ngig machen. @@ -1257,7 +1257,7 @@ Accesses repository No --> - Repository-Zugriff + Projektarchiv-Zugriff Nein @@ -1420,7 +1420,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -1484,7 +1484,7 @@ repository: --> Wenn Sie den Quelltext von - readme.txt in Ihrem Test-Repository + readme.txt in Ihrem Test-Projektarchiv mit Anmerkungen sehen wollen: $ svn blame http://svn.red-bean.com/repos/test/readme.txt @@ -1613,7 +1613,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -1642,7 +1642,7 @@ your repository without checking it out: --> Wenn Sie die Datei readme.txt in - Ihrem Repository ansehen m?chten, ohne sie auszuchecken: + Ihrem Projektarchiv ansehen m?chten, ohne sie auszuchecken: $ svn cat http://svn.red-bean.com/repos/test/readme.txt @@ -1748,7 +1748,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -1866,7 +1866,7 @@ Check out a working copy from a repository. --> Auschecken einer Arbeitskopie aus einem - Repository. + Projektarchiv. - Checkt eine Arbeitskopie aus einem Repository aus. + Checkt eine Arbeitskopie aus einem Projektarchiv aus. Wird PATH ausgelassen, wird der Basisname des URL als Ziel verwendet. Werden mehrere URLs angegeben, wird jeder in ein Unterverzeichnis von @@ -1923,7 +1923,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -2228,7 +2228,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -2288,7 +2288,7 @@ Send changes from your working copy to the repository. --> ?nderungen aus der Arbeitskopie an das - Repository ?bergeben. + Projektarchiv ?bergeben. - ?nderungen aus der Arbeitskopie an das Repository + ?nderungen aus der Arbeitskopie an das Projektarchiv ?bergeben. Falls Sie keine Protokollnachricht, mit einer der Optionen oder , angeben, startet @@ -2383,14 +2383,14 @@ - Arbeitskopie; Repository + Arbeitskopie; Projektarchiv - Repository-Zugriff + Projektarchiv-Zugriff @@ -2541,7 +2541,7 @@ in the repository. --> Kopieren einer Datei oder eines Verzeichnisses - in einer Arbeitskopie oder im Repository. + in einer Arbeitskopie oder im Projektarchiv. @@ -2650,8 +2650,8 @@ Subversion does not support cross-repository copying. --> Sie k?nnen Dateien nur innerhalb eines einzelnen - Repositorys kopieren. Subversion unterst?tzt nicht das - Kopieren zwischen Repositorys. + Projektarchivs kopieren. Subversion unterst?tzt nicht das + Kopieren zwischen Projektarchiven. @@ -2672,7 +2672,7 @@ - Repository, falls Ziel ein URL ist; Arbeitskopie, + Projektarchiv, falls Ziel ein URL ist; Arbeitskopie, falls Ziel ein AK-Pfad ist. @@ -2680,12 +2680,12 @@ - Repository-Zugriff + Projektarchiv-Zugriff - Ja, falls Quelle und Ziel im Repository liegen oder + Ja, falls Quelle und Ziel im Projektarchiv liegen oder falls die Revisionsnummer der Quelle ermittelt werden muss. @@ -2722,7 +2722,7 @@ --> Kopie eines Objektes innerhalb Ihrer Arbeitskopie (dies merkt die Kopie vor – bis zur ?bergabe wird - nichts ins Repository ?bertragen): + nichts ins Projektarchiv ?bertragen): $ svn copy foo.txt bar.txt @@ -2763,7 +2763,7 @@ commit message): --> Kopie eines Objektes in Ihrer Arbeitskopie zu einem - URL im Repository (dies ist eine sofortige ?bergabe, so + URL im Projektarchiv (dies ist eine sofortige ?bergabe, so dass Sie eine Protokollnachricht angeben m?ssen): - Kopie eines Objektes aus dem Repository in Ihre + Kopie eines Objektes aus dem Projektarchiv in Ihre Arbeitskopie (dies merkt die Kopie nur vor – vor der - ?bergabe gelangt nichts ins Repository): + ?bergabe gelangt nichts ins Projektarchiv): $ svn copy file:///var/svn/repos/test/far-away -r 6 near-here @@ -2799,7 +2799,7 @@ file in your repository! --> Dies ist die empfohlene Methode, eine gel?schte - Datei im Repository wiederherzustellen! + Datei im Projektarchiv wiederherzustellen! Dies ist die einfachste Methode, um eine Revision in - Ihrem Repository mit einem Tag zu + Ihrem Projektarchiv mit einem Tag zu etikettieren – kopieren Sie diese Revision (normalerweise HEAD lediglich mit svn copy ) in Ihr @@ -2895,7 +2895,7 @@ or the repository. --> Ein Objekt aus einer Arbeitskopie oder dem - Repository l?schen. + Projektarchiv l?schen. Werden Objekte durch einen URL bestimmt, werden sie - durch eine sofortige ?bergabe aus dem Repository + durch eine sofortige ?bergabe aus dem Projektarchiv entfernt. Mehrere URLs werden atomar ?bergeben (alle oder keine). @@ -2959,14 +2959,14 @@ Working copy if operating on files; repository if operating on URLs --> - Arbeitskopie bei Dateien; Repository bei URLs + Arbeitskopie bei Dateien; Projektarchiv bei URLs - Repository-Zugriff + Projektarchiv-Zugriff @@ -3009,8 +3009,8 @@ Die Verwendung von svn delete zum L?schen einer Datei aus der Arbeitskopie l?scht die lokale Kopie der Datei, merkt die Datei jedoch nur zum L?schen - aus dem Repository vor. Bei der ?bergabe wird die Datei im - Repository gel?scht. + aus dem Projektarchiv vor. Bei der ?bergabe wird die Datei im + Projektarchiv gel?scht. - Repository-Zugriff + Projektarchiv-Zugriff Die erste Form exportiert einen sauberen Verzeichnisbaum aus dem mit URL - bezeichneten Repository – falls angegeben, in + bezeichneten Projektarchiv – falls angegeben, in Revision REV, sonst von HEAD – nach PATH. Wird @@ -3758,7 +3758,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -3809,7 +3809,7 @@ Export directly from the repository (prints every file and directory): --> - Export direkt aus dem Repository (zeigt jede Datei und + Export direkt aus dem Projektarchiv (zeigt jede Datei und jedes Verzeichnis an): - Repository-Zugriff + Projektarchiv-Zugriff @@ -3983,7 +3983,7 @@ repository. --> Eine unversionierte Datei oder einen - unversionierten Baum in das Repository ?bertragen. + unversionierten Baum in das Projektarchiv ?bertragen. @@ -4014,7 +4014,7 @@ rekursiv nach URL ?bertragen. Wird PATH nicht angegeben, wird . angenommen. - Elternverzeichnisse werden im Repository bei Bedarf + Elternverzeichnisse werden im Projektarchiv bei Bedarf angelegt. Unversionierbare Objekte, wie Ger?tedateien oder Pipes, werden ignoriert, auch wenn die Option verwendet wird. @@ -4036,14 +4036,14 @@ Changes --> ?nderungen - Repository + Projektarchiv - Repository-Zugriff + Projektarchiv-Zugriff @@ -4089,7 +4089,7 @@ --> Dieser Aufruf importiert das lokale Verzeichnis myproj nach - trunk/misc in Ihrem Repository. Das + trunk/misc in Ihrem Projektarchiv. Das Verzeichnis trunk/misc braucht vor dem Import nicht vorhanden zu sein – svn import erzeugt rekursiv die Verzeichnisse f?r @@ -4122,7 +4122,7 @@ --> Denken Sie daran, dass das Verzeichnis myproj nicht im - Repository angelegt wird. Falls Sie das m?chten, f?gen Sie + Projektarchiv angelegt wird. Falls Sie das m?chten, f?gen Sie einfach myproj an das Ende des URL an: @@ -4296,7 +4296,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -4513,7 +4513,7 @@ - Verzeichniseintr?ge im Repository auflisten. + Verzeichniseintr?ge im Projektarchiv auflisten. Standard f?r TARGET ist ., d.h. der - Repository-URL des aktuellen Verzeichnisses in der + Projektarchiv-URL des aktuellen Verzeichnisses in der Arbeitskopie. - Repository-Zugriff + Projektarchiv-Zugriff @@ -4671,7 +4671,7 @@ downloading a working copy: --> Am n?tzlichsten ist svn list, falls - Sie sehen m?chten, welche Dateien in einem Repository + Sie sehen m?chten, welche Dateien in einem Projektarchiv vorhanden sind, ohne eine Arbeitskopie herunterzuladen: @@ -4755,7 +4755,7 @@ repository so that no other user can commit changes to them. --> - Arbeitskopiepfade oder URLs im Repository + Arbeitskopiepfade oder URLs im Projektarchiv sperren, damit kein anderer Benutzer ?nderungen daran ?bergeben kann. @@ -4809,14 +4809,14 @@ - Arbeitskopie, Repository + Arbeitskopie, Projektarchiv - Repository-Zugriff + Projektarchiv-Zugriff @@ -4950,7 +4950,7 @@ any combination of the two. The default revision range for a local path is BASE:1. --> - Zeigt Protokollnachrichten aus dem Repository an. + Zeigt Protokollnachrichten aus dem Projektarchiv an. Falls keine Argumente angegeben werden, zeigt svn log die Protokollnachrichten aller Dateien und Verzeichnisse innerhalb (und inklusive) des aktuellen @@ -5031,7 +5031,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -5371,7 +5371,7 @@ Das bedeutet nur, dass der Pfad in dieser Revision nicht ge?ndert wurde. Um Protokollinformationen f?r diese Revision zu erhalten, sollten Sie den Befehl - entweder f?r die Wurzel des Repositorys aufrufen oder + entweder f?r die Wurzel des Projektarchivs aufrufen oder einen Pfad angeben, von dem Sie wissen, dass er in dieser Revision ge?ndert wurde: @@ -5565,7 +5565,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -5749,7 +5749,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -5876,7 +5876,7 @@ bezeichnetes Verzeichnis wird zum Hinzuf?gen in der Arbeitskopie vorgemerkt. Ein durch einen URL bezeichnetes Verzeichnis wird durch eine unmittelbare ?bergabe im - Repository erzeugt. Mehrere Verzeichnis-URLs werden atomar + Projektarchiv erzeugt. Mehrere Verzeichnis-URLs werden atomar ?bergeben. In beiden F?llen m?ssen Zwischenverzeichnisse bereits existieren, falls die Option nicht angegeben wird. @@ -5901,7 +5901,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -5909,7 +5909,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -5954,7 +5954,7 @@ Create one in the repository (this is an instant commit, so a log message is required): --> - Ein Verzeichnis im Repository erzeugen (dies ist eine + Ein Verzeichnis im Projektarchiv erzeugen (dies ist eine sofortige ?bergabe, so dass eine Protokollnachricht erforderlich ist): @@ -6008,7 +6008,7 @@ working copy or in the repository. --> Dieser Befehl verschiebt Dateien oder Verzeichnisse in - Ihrer Arbeitskopie oder im Repository. + Ihrer Arbeitskopie oder im Projektarchiv. Subversion unterst?tzt nicht das Verschieben zwischen Arbeitskopien und URLs. Sie k?nnen auch Dateien - innerhalb eines einzelnen Repositorys verschieben + innerhalb eines einzelnen Projektarchivs verschieben – Subversion unterst?tzt nicht das Verschieben - zwischen Repositorys. Subversion unterst?tzt die + zwischen Projektarchiven. Subversion unterst?tzt die folgenden Arten von Verschiebungen innerhalb eines - einzelnen Repositorys: + einzelnen Projektarchivs: @@ -6097,7 +6097,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6105,7 +6105,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -6170,7 +6170,7 @@ Move a file in the repository (this is an immediate commit, so it requires a commit message): --> - Eine Datei im Repository verschieben (dies ist eine + Eine Datei im Projektarchiv verschieben (dies ist eine unmittelbare ?bergabe, so dass eine Protokollnachricht erforderlich ist): @@ -6234,8 +6234,8 @@ Revisionen. Die erste Form entfernt versionierte Propertys in Ihrer Arbeitskopie und die zweite beseitigt unversionierte entfernte Propertys einer - Repository-Revision (TARGET - bestimmt nur, auf welches Repository zugegriffen werden + Projektarchiv-Revision (TARGET + bestimmt nur, auf welches Projektarchiv zugegriffen werden soll). @@ -6255,7 +6255,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6263,7 +6263,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -6376,8 +6376,8 @@ bearbeiten. Die erste Form bearbeitet versionierte Propertys in Ihrer Arbeitskopie und die zweite unversionierte entfernte Propertys einer - Repository-Revision (TARGET - bestimmt nur, auf welches Repository zugegriffen werden + Projektarchiv-Revision (TARGET + bestimmt nur, auf welches Projektarchiv zugegriffen werden soll). @@ -6397,7 +6397,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6405,7 +6405,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -6508,7 +6508,7 @@ oder Revisionen ausgeben. Die erste Form gibt das versionierte Property eines oder mehrerer Objekte Ihrer Arbeitskopie aus und die zweite unversionierte entfernte - Propertys einer Repository-Revision. Siehe f?r weitere Informationen ?ber Propertys. @@ -6529,7 +6529,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6537,7 +6537,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -6657,8 +6657,8 @@ Revisionen auflisten. Die erste Form listet versionierte Propertys in Ihrer Arbeitskopie auf und die zweite unversionierte entfernte Propertys einer - Repository-Revision (TARGET - bestimmt nur, auf welches Repository zugegriffen werden + Projektarchiv-Revision (TARGET + bestimmt nur, auf welches Projektarchiv zugegriffen werden soll). @@ -6678,7 +6678,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6686,7 +6686,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -6830,9 +6830,9 @@ PROPVAL. Das erste Beispiel erzeugt eine versionierte Property-?nderung in der Arbeitskopie und das zweite eine unversionierte, entfernte - Property-?nderung auf einer Repository-Revision + Property-?nderung auf einer Projektarchiv-Revision (TARGET bestimmt nur, auf - welches Repository zugegriffen werden soll). + welches Projektarchiv zugegriffen werden soll). - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6873,7 +6873,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -7015,8 +7015,8 @@ hook scripts. --> Standardm??ig k?nnen Sie Revisions-Propertys in - einem Subversion-Repository nicht ?ndern. Der - Administrator des Repositorys muss die ?nderung von + einem Subversion-Projektarchiv nicht ?ndern. Der + Administrator des Projektarchivs muss die ?nderung von Revisions-Propertys ausdr?cklich erlauben, indem er einen Hook namens pre-revprop-change erstellt. Siehe Accesses repository --> - Repository-Zugriff + Projektarchiv-Zugriff @@ -7346,7 +7346,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -7512,7 +7512,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -7671,7 +7671,7 @@ Gibt den Zustand von Dateien und Verzeichnissen der Arbeitskopie aus. Ohne Argumente werden nur lokal ge?nderte Objekte ausgegeben (ohne Zugriff auf das - Repository). Mit werden + Projektarchiv). Mit werden Informationen ?ber die Arbeitsrevision und in Bezug auf den Server nicht mehr aktuelle Revisionen angezeigt. Mit werden vollst?ndige @@ -7761,7 +7761,7 @@ --> Der Inhalt (im Gegensatz zu den Propertys) des Objektes steht in Konflikt mit dem aktualisierten - Inhalt aus dem Repository. + Inhalt aus dem Projektarchiv. @@ -7872,7 +7872,7 @@ repository. --> Propertys dieses Objektes stehen in Konflikt mit - Property-Aktualisierungen aus dem Repository. + Property-Aktualisierungen aus dem Projektarchiv. @@ -8041,7 +8041,7 @@ Die Datei war in dieser Arbeitskopie gesperrt worden, die Sperre wurde jedoch gestohlen und ist ung?ltig. Die Datei - ist momentan im Repository gesperrt. Das erscheint + ist momentan im Projektarchiv gesperrt. Das erscheint nur, falls verwendet wird. @@ -8159,7 +8159,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -8221,7 +8221,7 @@ keine ?nderungen an der Arbeitskopie vorgenommen). Hier k?nnen Sie sehen, dass sich wc/foo.c seit unserer letzten - Aktualisierung im Repository ge?ndert hat: + Aktualisierung im Projektarchiv ge?ndert hat: - Repository-Zugriff + Projektarchiv-Zugriff @@ -8562,7 +8562,7 @@ checked out your working copy: --> Um zur?ckzuschalten, brauchen Sie nur den URL des - Ortes im Repository anzugeben, von dem Sie urspr?nglich + Ortes im Projektarchiv anzugeben, von dem Sie urspr?nglich Ihre Arbeitskopie ausgecheckt haben: Manchmal kann es vorkommen, dass ein Administrator den - Ort (oder den scheinbaren Ort) Ihres Repositorys ?ndert - – mit anderen Worten: der Inhalt des Repositorys + Ort (oder den scheinbaren Ort) Ihres Projektarchivs ?ndert + – mit anderen Worten: der Inhalt des Projektarchivs ?ndert sich nicht, wohl aber der Wurzel-URL des - Repositorys. So kann sich beispielsweise der Name des + Projektarchivs. So kann sich beispielsweise der Name des Wirtsrechners, das URL-Schema oder irgend ein Teil des - URL, der auf das Repository zeigt, ?ndern. Statt eine neue + URL, der auf das Projektarchiv zeigt, ?ndern. Statt eine neue Arbeitskopie auszuchecken, k?nnen Sie den Befehl svn switch dazu verwenden, die Metadaten im Verwaltungsbereich Ihrer Arbeitskopie ?berschreiben zu lassen, damit diese auf - den neuen Ort des Repositorys verweisen. Falls Sie + den neuen Ort des Projektarchivs verweisen. Falls Sie svn switch die Option mitgeben, nimmt Subversion - Verbindung mit dem Repository auf, um die G?ltigkeit der - Anfrage zu best?tigen (indem es im Repository nat?rlich + Verbindung mit dem Projektarchiv auf, um die G?ltigkeit der + Anfrage zu best?tigen (indem es im Projektarchiv nat?rlich unter dem neuen URL nachfragt) und anschlie?end die Metadaten zu ?berschreiben. Durch diese Operation werden keinerlei Dateiinhalte ver?ndert – es werden @@ -8701,7 +8701,7 @@ --> Falls die Arbeitskopie ein neues Verzeichnis innerhalb des - Repositorys repr?sentieren soll, verwenden Sie nur + Projektarchivs repr?sentieren soll, verwenden Sie nur svn switch. Falls die Arbeitskopie das gleiche - Verzeichnis im Repository repr?sentiert, sich jedoch - der Ort des Repositorys selbst ge?ndert hat, verwenden ***The diff for this file has been truncated for email.*** From jmfelderhoff at gmx.eu Thu May 20 11:37:02 2010 From: jmfelderhoff at gmx.eu (Jens M. Felderhoff) Date: Thu, 20 May 2010 16:37:02 -0000 Subject: [de] Deutsche =?UTF-8?B?w5xiZXJzZXR6dW5nOg==?= Wie geht es weiter? Message-ID: <20100520181010.5acea0a2@neuromancer> So, gerade habe ich den letzten Rest von Anhang C ins Repository geschoben. Leider sind noch einige Punkte bez?glich der deutschen ?bersetzung offen. Die deutsche Seite zur Koordinierung der ?bersetzung (www.svnbook.de) scheint nicht mehr richtig gepflegt zu werden (ich habe die Anh?nge alle ohne Tickets ?bersetzt, sonst w?rde ich heute noch warten). Laut www.svnbook.de befindet sich das dritte Kapitel seit dem 10. September 2008 in ?bersetzung; im Repository ist allerdings davon noch nichts aufgetaucht. Das sechste Kapitel ist bis "Using svnserve with SASL" ?bersetzt und ins Repository ?bergeben worden. Tickets gibt es aber nur f?r die bereits ?bersetzten Teile. Es w?re sch?n, wenn sich die Beteiligten oder Interessierte mal melden w?rden. Tsch?ss Jens From jmfelderhoff at gmx.eu Fri May 21 13:40:22 2010 From: jmfelderhoff at gmx.eu (Jens M. Felderhoff) Date: Fri, 21 May 2010 18:40:22 -0000 Subject: [de] Deutsche =?UTF-8?B?w5xiZXJzZXR6dW5nOg==?= Wie geht es weiter? Message-ID: <20100521204012.2f5f0322@neuromancer> So, gestern habe ich den letzten Rest von Anhang C ins Repository geschoben. Leider sind noch einige Punkte bez?glich der deutschen ?bersetzung offen. Die deutsche Seite zur Koordinierung der ?bersetzung (www.svnbook.de) scheint nicht mehr richtig gepflegt zu werden (ich habe die Anh?nge alle ohne Tickets ?bersetzt, sonst w?rde ich heute noch warten). Laut www.svnbook.de befindet sich das dritte Kapitel seit dem 10. September 2008 in ?bersetzung; im Repository ist allerdings davon noch nichts aufgetaucht. Das sechste Kapitel ist bis "Using svnserve with SASL" ?bersetzt und ins Repository ?bergeben worden. Tickets gibt es aber nur f?r die bereits ?bersetzten Teile. Es w?re sch?n, wenn sich Beteiligte oder Interessierte mal melden w?rden. Tsch?ss Jens From svnbook at googlecode.com Sat May 1 17:06:39 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sat, 01 May 2010 22:06:39 +0000 Subject: [svnbook] r3727 committed - * fr/book/ch04-branching-and-merging.xml... Message-ID: <0016e6d27b88fcc02304858f9256@google.com> Revision: 3727 Author: christophe.nanteuil Date: Sat May 1 15:05:34 2010 Log: * fr/book/ch04-branching-and-merging.xml - cross-reading http://code.google.com/p/svnbook/source/detail?r=3727 Modified: /trunk/src/fr/book/ch04-branching-and-merging.xml ======================================= --- /trunk/src/fr/book/ch04-branching-and-merging.xml Fri Apr 23 13:21:19 2010 +++ /trunk/src/fr/book/ch04-branching-and-merging.xml Sat May 1 15:05:34 2010 @@ -17,8 +17,8 @@ La gestion des branches est un élément fondamental de la gestion de versions. Si vous comptez utiliser Subversion pour - gérer vos données, c'est une fonctionnalité qui finira par - devenir indispensable pour vous. Ce chapitre suppose que vous êtes + gérer vos données, c'est une fonctionnalité dont vous ne pourrez + plus vous passer. Ce chapitre suppose que vous êtes déjà familier avec les notions de bases de Subversion (). @@ -27,7 +27,7 @@ - Qu'est-ce qu'une branche? + Qu'est-ce qu'une branche ? Supposons que votre travail soit de maintenir un document pour une division de votre entreprise, un manuel par exemple. @@ -36,7 +36,7 @@ pour elle, puisqu'elle fait les choses légèrement différemment. - Que faites-vous dans cette situation? Tout naturellement, + Que faites-vous dans cette situation ? Tout naturellement, vous créez une seconde copie du document et commencez à maintenir les deux copies séparément. Puis, quand chaque division vous demande de faire des petites modifications, vous les incorporez @@ -120,7 +120,7 @@ corriger des bogues mineurs ici et là. Elle a besoin que la dernière version du projet (dans /calc/trunk) demeure en permanence - utilisable. Si vous commencez à livrer des changements petit + utilisable. Si vous commencez à propager des changements petit à petit, vous allez sûrement rendre les choses difficiles pour Sally (ainsi que pour d'autres membres de l'équipe). @@ -129,8 +129,8 @@ semaine ou deux. C'est-à-dire commencer à modifier et à réorganiser les fichiers dans votre copie de travail, mais sans effectuer de propagation ni de mise à jour avant que vous - n'ayez complètement terminé la tâche. Il y a cependant un - certain nombre de problèmes avec cette stratégie. Premièrement, + n'ayez complètement terminé la tâche. Cette stratégie comporte + certains risques. Premièrement, ce n'est pas sans danger. La plupart des gens aiment propager leurs modifications fréquemment, au cas où leur copie de travail aurait un accident. Deuxièmement, ce n'est pas très flexible. Si @@ -143,7 +143,7 @@ d'autre. Une des bonnes pratiques du monde du développement logiciel est de permettre à vos pairs de passer votre travail en revue au fur et à mesure. Si personne n'a accès - à vos livraisons intermédiaires, vous vous coupez d'éventuelles + à vos propagations intermédiaires, vous vous coupez d'éventuelles critiques et risquez de partir dans une mauvaise direction pendant des semaines avant que quelqu'un ne s'en aperçoive. Enfin, quand vous en aurez fini avec tous vos changements, @@ -202,15 +202,14 @@ dans le dépôt, créant un nouveau dossier à la révision 341. Ce nouveau dossier est une copie de /calc/trunk, comme l'illustre la - . - + Subversion n'accepte pas les copies entre des dépôts distincts. Quand vous utilisez des URLs avec svn copy et svn move, vous ne pouvez copier que des éléments faisant partie du même dépôt. - + . Bien qu'il soit aussi possible de créer une branche en utilisant svn copy pour dupliquer un dossier @@ -220,7 +219,7 @@ terme de durée, puisque chaque fichier et chaque dossier doit être dupliqué sur le disque local. Copier un dossier sur le serveur, par contre, est une opération dont la durée est - constante et c'est la façon dont la plupart des gens créent + constante et c'est ainsi que la plupart des gens créent des branches.
@@ -300,7 +299,7 @@ svn switch est une méthode alternative pour créer une copie de travail d'une branche). - Imaginons qu'une semaine passe et que les livraisons + Imaginons qu'une semaine passe et que les propagations suivantes ont lieu : @@ -430,7 +429,7 @@ Premièrement, Subversion n'a pas de notion interne de branche — il sait seulement faire des copies. Quand vous copiez un dossier, le dossier qui en résulte n'est une - branche que parce vous + branche que parce que vous le considérez comme tel. Vous aurez beau envisager ce dossier différemment ou le traiter différemment, pour Subversion c'est juste un dossier ordinaire auquel sont @@ -465,11 +464,11 @@ la branche de développement principale. Pour les projets qui ont un grand nombre de contributeurs, - il est d'usage courant que la plupart des gens aient des copies + il est d'usage que la plupart des gens aient des copies de travail du tronc. Dès que quelqu'un doit faire des modifications de longue haleine, susceptibles de perturber - le tronc, une procédure standard est de créer une branche - privée et d'y propager les modifications jusqu'à ce que tout + le tronc, une procédure standard est qu'il crée une branche + privée et qu'il y propage les modifications jusqu'à ce que tout le travail soit terminé. Bref, la bonne nouvelle est que Sally et vous n'empiétez @@ -487,7 +486,7 @@ partagées ; Subversion vous offre la possibilité de copier sélectivement des modifications entre les branches. Et quand vous aurez tout fini dans votre branche, - votre groupe de modifications pourra être recopié en entier + l'ensemble de vos modifications pourra être recopié en entier vers le tronc. Dans la terminologie Subversion, l'action générale de réplication des modifications d'une branche vers une autre s'appelle la fusion et elle @@ -497,8 +496,8 @@ Dans les exemples qui suivent, nous supposerons que le client et le serveur Subversion sont tous deux en version 1.5 (ou plus récente). Si l'un ou l'autre sont en version plus - ancienne, les choses seront plus compliquées : le système - ne gérera pas les changements de façon automatique et vous + ancienne, les choses sont plus compliquées : le système + ne gére pas les changements de façon automatique et vous devrez utiliser des méthodes manuelles pénibles pour obtenir des résultats similaires. Vous devrez en effet toujours utiliser la syntaxe détaillée de la fusion spécifiant l'éventail des @@ -507,7 +506,7 @@ plus loin dans ce chapitre) et penser à garder trace de ce qui a déjà été fusionné et de ce qui ne l'a pas encore été. Pour cette raison, nous recommandons fortement - que vous vous assuriez que client et serveur sont au moins + de vous assurer que client et serveur sont au moins en version 1.5. @@ -515,7 +514,7 @@ Ensembles de modifications Avant que nous n'allions plus loin, nous devons vous - avertir que les pages suivantes contiendront de nombreuses + avertir que les pages suivantes contiennent de nombreuses discussions portant sur les modifications. Beaucoup de gens ayant de l'expérience dans les systèmes de gestion de versions utilisent le terme @@ -524,10 +523,10 @@ donc clarifier ce que Subversion entend par ensemble de modifications. - Tout le monde semble avoir sa propre définition, variant + Chacun semble avoir sa propre définition, variant légèrement, d'un ensemble de modifications, ou tout du moins - une attente différente de ce qu'un système de gestion de - versions peut entendre par là. En ce qui nous concerne, disons + a une attente différente quant à leur traitement par le système + de gestion de versions. En ce qui nous concerne, disons qu'un ensemble de modifications n'est qu'un simple regroupement de modifications identifié par un nom unique. Les modifications peuvent inclure des changements textuels du contenu des @@ -538,7 +537,7 @@ Dans Subversion, un numéro de révision globale N désigne une arborescence dans le dépôt : c'est ce à quoi le dépôt - ressemblait après la N-ème propagation. C'est aussi le nom d'un + ressemblait après la N-ième propagation. C'est aussi le nom d'un ensemble de modifications implicite : si vous comparez l'arborescence N avec l'arborescence N−1, vous pouvez en déduire exactement le correctif qui a été propagé. Pour cette @@ -553,7 +552,7 @@ svn log -r 9238 pour obtenir le détail des modifications qui ont corrigé le bogue et lancer svn diff -c 9238 pour voir le - correctif lui-même. De plus (comme vous le verrez bientôt), + correctif lui-même. De plus (comme nous le verrons bientôt), la commande svn merge de Subversion est capable d'utiliser les numéros de révision. Vous pouvez fusionner des listes de modifications spécifiques d'une @@ -577,7 +576,7 @@ à faire des modifications importantes sur le /trunk du projet. Vous avez intérêt à recopier ces modifications dans votre propre branche, juste - pour vous assurer qu'elles se combinent bien avec vos + pour vous assurer qu'elles se combinent bien avec vos propres modifications. En fait, c'est là une bonne pratique : synchroniser fréquemment votre branche avec la ligne de développement principale permet d'éviter les conflits @@ -625,7 +624,7 @@ svn diff et ensuite de compiler et de tester votre branche. Notez que le répertoire de travail actuel (.) a aussi été - modifié ; svn diff indiquera que sa + modifié ; svn diff indique que sa propriété svn:mergeinfo a été créée ou modifiée. Ceci est une méta-information importante liée à la fusion, à laquelle vous ne devriez pas @@ -642,7 +641,7 @@ pas de conflits sémantiques !). Si vous rencontrez de graves difficultés, vous pouvez toujours annuler les modifications locales en lançant - svn revert . -R (qui annulera toutes + svn revert . -R (qui annule toutes les modifications locales) et entamer avec vos collègues une longue discussion sur le thème Qu'est-ce qui se passe ?. Par contre, si les @@ -720,8 +719,8 @@ Supposons qu'une autre semaine s'est écoulée. Vous avez - propagé des modifications supplémentaires dans votre branche, - et que vos camarades ont également continué à améliorer le + propagé des modifications supplémentaires dans votre branche + et vos camarades ont également continué à améliorer le tronc. Une fois encore, vous aimeriez répercuter les dernières modifications du tronc vers votre branche et ainsi être synchro. Lancez juste la même commande svn merge @@ -765,9 +764,9 @@ Révision 390 propagée. - À présent, vous allez utiliser svn merge + À présent, utilisez svn merge pour répercuter les modifications de votre branche sur le tronc. - Vous aurez besoin d'une copie de travail de + Vous avez alors besoin d'une copie de travail de /trunk qui soit à jour. Vous pouvez vous la procurer soit en effectuant un svn checkout, soit en reprenant une vieille @@ -834,8 +833,8 @@ synchronisation finale, il fusionne le groupe 380:385. Cependant, lors de la réintégration d'une branche dans - le tronc, les mathématiques sous-jacentes sont assez - différentes. Votre branche dédiée est à présent un + le tronc, la logique sous-jacente est assez + différente. Votre branche dédiée est à présent un amoncellement de modifications provenant à la fois du tronc et de votre branche privée et il n'y a donc pas de groupe de révisions contigu à recopier. En spécifiant l'option @@ -941,7 +940,7 @@ Il existe également une sous-commande, svn mergeinfo, qui peut être utile pour voir non seulement quels ensembles de modifications un - dossier a absorbé, mais aussi quels ensembles de modifications + dossier a absorbés, mais aussi quels ensembles de modifications il est encore susceptible de recevoir. Ceci donne une sorte d'aperçu du prochain ensemble de modifications que svn merge recopiera vers @@ -960,7 +959,7 @@ r389 r390 -# Quelles modifications sont encore susceptibles d'être fusionnées du tronc vers la branche? +# Quelles modifications sont encore susceptibles d'être fusionnées du tronc vers la branche ? $ svn mergeinfo http://svn.exemple.com/depot/calc/trunk --show-revs eligible r391 r392 @@ -972,7 +971,7 @@ La commande svn mergeinfo prend en paramètres une URL source (d'où les modifications viennent) et une URL cible - optionnelle (vers laquelle les modifications seraient + optionnelle (vers laquelle les modifications sont fusionnées). Si aucune URL cible n'est fournie, elle suppose que le dossier actuel est la cible. Dans l'exemple précédent, puisque nous interrogeons la copie de travail de notre @@ -1036,16 +1035,16 @@ de rencontrer quelques obstacles (facilement surmontables). Par exemple, si l'opération de fusion ajoute un nouveau fichier (ou plus exactement programme son ajout), - svn revert ne supprimera pas + svn revert ne supprime pas le fichier ; il va juste déprogrammer l'ajout. Vous vous retrouvez avec un fichier non suivi en versions. Si ensuite vous tentez à nouveau de lancer la fusion, il risque d'y avoir des conflits dus au fichier non suivi - en versions resté en travers du chemin. - Solution ? Après avoir effectué un retour arrière à l'aide - de svn revert, pensez à nettoyer la + en versions resté en travers du chemin. La + Solution ? Après avoir effectué un retour en arrière à + l'aide de svn revert, pensez à nettoyer la copie de travail et supprimer les fichiers et dossiers - non suivis en version. Il faut que le résultat de + non suivis en versions. Il faut que le résultat de svn status soit le plus propre possible, et dans l'idéal vide. @@ -1143,7 +1142,7 @@ permanente. En attendant, en guise de palliatif, voir . - + . @@ -1216,7 +1215,7 @@ Voilà, c'était la partie difficile : la recherche. Maintenant que vous savez ce que vous voulez récupérer, - deux choix s'offrent à vous. + deux options s'offrent à vous. Une possibilité serait d'utiliser svn merge pour appliquer la révision 808 @@ -1348,7 +1347,7 @@ privée dans le tronc. À la machine à café, vous apprenez par hasard que Sally a apporté une modification intéressante à entier.c dans le tronc. Vous reportant à - l'historique des livraisons du tronc, vous vous apercevez + l'historique des propagations du tronc, vous vous apercevez qu'elle a corrigé un bogue crucial en révision 355, qui impacte directement la fonctionnalité sur laquelle vous êtes en train de travailler. Vous n'êtes peut-être pas encore prêt @@ -1388,7 +1387,7 @@ Vous pouvez à présent lancer les procédures habituelles - de tests, avant de livrer cette modification à votre branche. + de tests, avant de propager cette modification à votre branche. Après la propagation, Subversion marque r355 comme ayant été fusionnée dans la branche, afin qu'une future fusion magique synchronisant votre branche avec le @@ -1433,7 +1432,7 @@ modifications ; le cas se présente très souvent, par exemple lorsqu'une équipe gère une branche de production du logiciel - (nous développerons ce thème dans + (ce thème est développé dans ). @@ -1463,8 +1462,8 @@ Avertissement : bien que svn diff - et svn merge soient très similaires au - niveau conceptuel, leur syntaxe est différente dans de + et svn merge soient conceptuellement très + similaires, leur syntaxe est différente dans de nombreux cas. Pour plus de détails, reportez-vous au ou consultez svn help. Par exemple, @@ -1488,12 +1487,12 @@ Si vous fusionnez un dossier et que vous n'avez pas encore spécifié de cible, svn merge - supposera qu'il est dans la première situation et essaiera + suppose qu'il est dans la première situation et essaie d'appliquer les modifications dans votre dossier en cours. Si vous fusionnez un fichier et que ce fichier (ou un fichier du même nom) existe dans votre dossier de - travail en cours, svn merge supposera - qu'il est dans la seconde situation et essaiera d'appliquer + travail en cours, svn merge suppose + qu'il est dans la seconde situation et essaie d'appliquer les modifications au fichier local du même nom. @@ -1502,15 +1501,15 @@ Syntaxe de la fusion : pour tout vous dire - Vous venez de voir des exemples d'utilisation de la - commande svn merge et vous allez bientôt - en voir plusieurs autres. Si la confusion règne dans votre - esprit concernant le fonctionnement des fusions, vous n'êtes - pas tout seul. De nombreux utilisateurs (en particulier ceux - qui découvrent la gestion de versions) sont initialement - perplexes au sujet de la syntaxe de la commande, ainsi que - quand et comment utiliser cette fonctionnalité. Mais n'ayez - pas peur, cette commande est en fait bien plus simple que + Nous venons de voir des exemples d'utilisation de la + commande svn merge et nous allons bientôt + en voir plusieurs autres. Si vous n'avez pas bien assimilé le + le fonctionnement des fusions, rassurez-vous, vous n'êtes pas un + cas isolé. De nombreux utilisateurs (en particulier ceux + qui découvrent la gestion de versions) commencent par une phase + de perplexité au sujet de la syntaxe de la commande, ainsi que + quand et comment utiliser cette fonctionnalité. Mais, en fait, + cette commande est bien plus simple que vous ne le pensez ! Il y a une technique très simple pour comprendre comment svn merge agit. @@ -1524,7 +1523,7 @@ les différences sont appliquées à une copie de travail. Si vous utilisez svn merge pour effectuer de simples - copies de modifications entre branches, il fera généralement + copies de modifications entre branches, elle fait généralement ce qu'il faut automatiquement. Par exemple, une commande telle que : @@ -1532,14 +1531,14 @@ $ svn merge http://svn.exemple.com/depot/calc/une-branche - tentera de dupliquer toutes les modifications faites + tente de dupliquer toutes les modifications faites dans une-branche vers votre répertoire de travail actuel, qui est sans doute une copie de travail partageant des liens historiques avec la branche. La commande est suffisamment intelligente pour ne copier que les modifications que votre copie de travail ne possède pas encore. Si vous répétez cette commande une fois par semaine, - elle ne copiera que les modifications + elle ne copie que les modifications les plus récentes qui ont eu lieu depuis la dernière fusion. @@ -1552,16 +1551,16 @@ une arborescence initiale (souvent appelée côté gauche - de la comparaison) + de la comparaison) ; une arborescence finale (souvent appelée côté droit - de la comparaison) - - une copie de travail qui recevra les + de la comparaison) ; + + une copie de travail qui reçoit les différences en tant que modifications locales (souvent appelée cible - de la fusion) + de la fusion). @@ -1577,9 +1576,9 @@ svn revert pour revenir en arrière sur toutes les modifications. - La syntaxe de svn merge vous offre - la possibilité de spécifier les trois paramètres de façon - assez flexible. Voici quelques exemples : + La syntaxe de svn merge est assez + flexible quant à la façon de spécifier les trois paramètres. + Voici quelques exemples : $ svn merge http://svn.exemple.com/depot/branche1 at 150 \ @@ -1597,7 +1596,7 @@ cible. La deuxième syntaxe peut être utilisée comme raccourci pour les cas où vous comparez des révisions différentes de la même URL. La dernière syntaxe indique que le paramètre copie - de travail est optionnel ; s'il est omis, elle utilisera + de travail est optionnel ; s'il est omis, elle utilise par défaut le répertoire en cours. Si le premier exemple donne la syntaxe @@ -1628,9 +1627,9 @@ Si vous demandez à svn merge de comparer deux URLs qui n'ont pas de lien entre elles, - un correctif sera quand même généré et appliqué à votre - copie de travail, mais aucune métadonnée de fusion ne - sera créée. Il n'y a pas d'historique commun aux deux + un correctif est quand même généré et appliqué à votre + copie de travail, mais aucune métadonnée de fusion n'est + créée. Il n'y a pas d'historique commun aux deux sources et les futures fusions intelligentes dépendent de cet historique commun. @@ -1643,7 +1642,7 @@ Bien qu'il soit possible de lancer une commande telle que svn merge -r 100:200 http://svn.projetexterieur.com/depot/trunk, - le correctif résultant ne comportera aucune métadonnée + le correctif résultant ne comporte aucune métadonnée historique de fusion. À la date d'aujourd'hui, Subversion n'est pas capable de représenter des URL de dépôts différents au sein de la propriété @@ -1711,10 +1710,10 @@ paragraphe va expliquer ces différences. Pour commencer, supposons que votre copie de travail n'a - pas de modification locale en cours. Quand vous lancerez + pas de modification locale en cours. Quand vous lancez svn update pour la mettre à jour à une révision particulière, les modifications envoyées par le - serveur s'appliqueront toujours proprement + serveur s'appliquent toujours proprement à votre copie de travail. Le serveur génère le delta en comparant deux arborescences : d'une part un instantané virtuel de votre copie de travail, d'autre part @@ -1729,7 +1728,7 @@ l'utilisateur avancé peut demander au serveur de comparer n'importe quelle paire d'arborescences, même des arborescences n'ayant aucun rapport avec la copie - de travail ! Ce qui laisse potentiellement beaucoup de + de travail ! Cela laisse potentiellement beaucoup de place à l'erreur humaine. Les utilisateurs vont parfois comparer deux arborescences qui ne sont pas les bonnes, créant ainsi un delta qui ne s'appliquera pas proprement. @@ -1739,7 +1738,7 @@ façon que la commande Unix patch se plaint parfois de morceaux ratés (failed hunks), - svn merge se plaindra de + svn merge se plaint de cibles manquantes omises (skipped targets) : @@ -1757,7 +1756,7 @@ Dans l'exemple précédent, il est possible que baz.c existe dans les deux instantanés - de la branche en question ; et que le delta résultant + de la branche en question et que le delta résultant tente de modifier le contenu du fichier, mais que le fichier n'existe pas dans la copie de travail. Quoi qu'il en soit, le message Cible manquante omise signifie que @@ -1767,7 +1766,7 @@ en arrière de manière récursive sur toutes les modifications créées par la fusion (svn revert . --recursive), d'effacer - tout fichier ou dossier non suivi en version restant après le + tout fichier ou dossier non suivi en versions restant après le retour en arrière et de relancer svn merge avec des paramètres différents. @@ -2983,7 +2982,7 @@ moment /trunk puisse être compilé et passe avec succès les tests de régression. Une branche fonctionnelle n'est nécessaire que quand une modification - nécessite un grand nombre de livraisons susceptibles de + nécessite un grand nombre de propagations susceptibles de déstabiliser le tronc. Une bonne méthode empirique est de se poser la question suivante : si le développeur travaillait pendant plusieurs jours en isolation et ensuite @@ -3131,7 +3130,7 @@ fournisseur est une arborescence au sein de votre propre système de gestion de versions qui contient des informations fournies par une entité tierce, ou fournisseur. Chaque version des données - du fournisseur que vous déciderez d'incorporer dans votre projet + du fournisseur que vous décidez d'incorporer dans votre projet est appelée une livraison fournisseur. @@ -3194,10 +3193,10 @@ Nous avons désormais la version actuelle du code source de libcomplex dans /fournisseur/libcomplex/actuel. À présent, - nous allons étiqueter cette version (voir - ) et ensuite la copier - dans la branche de développement principale. Cette opération - de copie créera un nouveau dossier appelé + nous étiquetons cette version (voir + ) et ensuite nous la + copions dans la branche de développement principale. Cette + opération de copie crée un nouveau dossier appelé libcomplex au sein du répertoire de notre projet existant calc. C'est dans cette copie des données du fournisseur que nous ferons nos @@ -3236,7 +3235,7 @@ libcomplex, la 1.0, par une copie de libcomplex 1.1 et ensuite ré-appliquer les modifications que nous avions effectuées précédemment sur cette bibliothèque à la nouvelle - version. Mais en fait nous allons aborder le problème sous un + version. Mais, en fait, nous allons aborder le problème sous un autre angle, en appliquant les changements apportés à libcomplex entre les versions 1.0 et 1.1 à notre copie modifiée de celle-ci. @@ -3256,12 +3255,12 @@ de la gestion de versions. Après avoir remplacé le code de la 1.0 par le code de la - 1.1, svn status listera les fichiers ayant + 1.1, svn status liste les fichiers ayant des modifications locales et peut-être aussi des fichiers non suivis en versions. Si nous avons fait ce que nous étions - censés faire, les fichiers non suivis en version sont + censés faire, les fichiers non suivis en versions sont uniquement de nouveaux fichiers introduits par la version 1.1 - de libcomplex ; nous allons donc lancer + de libcomplex ; nous lançons donc svn add sur ces fichiers pour les inclure dans la gestion de versions. Si le code de la 1.1 ne contient plus certains fichiers qui étaient dans l'arborescence de la @@ -3277,10 +3276,10 @@ nous avons faites pour lui donner cet aspect. Notre branche actuel contient - désormais la nouvelle livraison fournisseur. Nous allons donc - étiqueter la nouvelle version en 1.1 (de la même façon que + désormais la nouvelle livraison fournisseur. Nous étiquetons + donc la nouvelle version en 1.1 (de la même façon que nous avions précédemment étiqueté la livraison fournisseur de - la version 1.0) et ensuite fusionner les différences entre + la version 1.0) et ensuite nous fusionnons les différences entre les étiquettes de la version précédente et de la nouvelle version vers notre branche de développement principale : @@ -3305,10 +3304,10 @@ version de la bibliothèque, sans la moindre complication ou conflit. - Mais les choses ne sont pas toujours aussi simples et en - fait il arrive assez fréquemment que des fichiers sources + Mais les choses ne sont pas toujours aussi simples et, en + fait, il arrive assez fréquemment que des fichiers sources changent d'emplacement d'une version à l'autre d'un logiciel. - Ceci rend plus compliquée la tâche de s'assurer que nos + Ceci complique la tâche de s'assurer que nos modifications sont toujours valides pour la nouvelle version du code, et les choses peuvent rapidement dégénérer, jusqu'au point où nous pouvons être forcés de reporter manuellement nos @@ -3340,7 +3339,7 @@ processus. Ce script automatise les étapes importantes que nous avons mentionnées dans la procédure générale de gestion des branches fournisseurs afin de minimiser les erreurs. Vous - serez toujours responsable de l'utilisation des commandes + êtes toujours responsable de l'utilisation des commandes svn merge pour fusionner les nouvelles versions des données tierces vers votre branche de développement principale, mais @@ -3361,7 +3360,7 @@ Il prend soin de séries compliquées d'opérations entre - lesquelles Subversion a besoin d'une livraison + lesquelles Subversion a besoin d'une propagation intermédiaire, telles qu'avant de renommer un fichier ou un dossier pour la deuxième fois. @@ -3411,12 +3410,12 @@ il examine le contenu de votre livraison fournisseur existante, actuel, et le compare à la nouvelle livraison fournisseur. Dans le cas le plus trivial, - aucun fichier ne sera présent dans une version sans l'être - dans l'autre et le script effectuera le nouvel import sans + aucun fichier n'est présent dans une version sans l'être + dans l'autre et le script effectue le nouvel import sans incident. Cependant, s'il y a des divergences dans l'agencement des fichiers entre les versions, - svn_load_dirs.pl vous demandera comment - résoudre ces différences. Par exemple, vous aurez + svn_load_dirs.pl vous demande comment + résoudre ces différences. Par exemple, vous avez l'opportunité d'indiquer au script que vous savez que le fichier math.c de la version 1.0 de libcomplex a été renommé en arithmetique.c @@ -3428,14 +3427,14 @@ configuration séparé, permettant de spécifier des propriétés sur des fichiers et dossiers, correspondants à une expression régulière, qui vont être ajoutés au - dépôt. Ce fichier de configuration sera indiqué à + dépôt. Ce fichier de configuration est indiqué à svn_load_dirs.pl en utilisant l'option en ligne de commande. Chaque ligne du fichier de configuration est un ensemble de deux ou quatre valeurs délimitées par des espaces : une expression régulière du style Perl à laquelle comparer le chemin ajouté, un mot clé de contrôle (soit break soit - cont) et ensuite en option un nom de + cont) et ensuite, en option, un nom de propriété et une valeur. @@ -3452,18 +3451,18 @@ break (ce qui signifie qu'aucune autre modification de propriété ne doit être appliquée à ce chemin). Si le terme de contrôle est cont - (abréviation de continuer), la comparaison continuera avec la + (abréviation de continuer), la comparaison continue avec la ligne suivante du fichier de configuration. - Tout espace faisant partie de l'expression régulière, du + Toute espace faisant partie de l'expression régulière, du nom de la propriété ou de la valeur de la propriété doit être - entouré d'apostrophes ou de guillemets. Vous pouvez banaliser + entourée d'apostrophes ou de guillemets. Vous pouvez banaliser les guillemets et apostrophes qui ne sont pas utilisés pour - entourer un espace en les faisant précéder d'une barre oblique + entourer une espace en les faisant précéder d'une barre oblique inversée (ou antislash : \). L'antislash ne banalise que les guillemets et apostrophes pendant le traitement du fichier de - configuration, donc pas la peine de protéger d'autres + configuration, ce n'est donc pas la peine de protéger d'autres caractères au-delà de ce qui est nécessaire pour l'expression régulière. @@ -3480,7 +3479,7 @@ avons présenté les concepts d'étiquettes et de branches et montré comment Subversion implémente ces concepts en copiant des répertoires avec la commande svn copy. Nous - ~avons expliqué comment utiliser svn merge + avons expliqué comment utiliser svn merge pour copier des modifications d'une branche à l'autre ou pour revenir en arrière sur des modifications non-satisfaisantes. Nous avons étudié l'utilisation de svn switch From svnbook at googlecode.com Sun May 2 06:37:50 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sun, 02 May 2010 11:37:50 +0000 Subject: [svnbook] r3729 committed - * src/en/book/ch06-server-configuration.xml... Message-ID: <0016e68e8cb5fba73b04859ae7dc@google.com> Revision: 3729 Author: stsp at elego.de Date: Sun May 2 04:35:02 2010 Log: * src/en/book/ch06-server-configuration.xml (svn.serverconfig.pathbasedauthz): No need to list sally twice in the @everyone group. http://code.google.com/p/svnbook/source/detail?r=3729 Modified: /trunk/src/en/book/ch06-server-configuration.xml ======================================= --- /trunk/src/en/book/ch06-server-configuration.xml Sun May 2 04:33:06 2010 +++ /trunk/src/en/book/ch06-server-configuration.xml Sun May 2 04:35:02 2010 @@ -3095,7 +3095,7 @@ [groups] calc-developers = harry, sally, joe paint-developers = frank, sally, jane -everyone = harry, sally, joe, frank, sally, jane +everyone = harry, sally, joe, frank, jane Groups can be granted access control just like users. From svnbook at googlecode.com Sun May 2 06:33:49 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sun, 02 May 2010 11:33:49 +0000 Subject: [svnbook] r3728 committed - Fix the long-standing authz documentation bug regarding group permissi... Message-ID: <0016e68deb2b9f332d04859ad93d@google.com> Revision: 3728 Author: stsp at elego.de Date: Sun May 2 04:33:06 2010 Log: Fix the long-standing authz documentation bug regarding group permissions. This was tracked in the book's issue tracker as issue #71. This commit is based on the patch attached to that issue. See this post and follow-ups for related discussion: Date: Thu, 14 Jan 2010 22:16:35 +0000 From: Philip Martin To: dev at subversion.apache.org Subject: Multiple matching lines in authz file Message-ID: <877hrkmiws.fsf at stat.home.lan> http://svn.haxx.se/dev/archive-2010-01/0340.shtml I also discussed this with striker (who wrote a lot of the initial authz code) at the Apache Retreat. He confirmed that this was a documentation bug, rather than a bug in the implementation. * src/en/book/ch06-server-configuration.xml: (svn.serverconfig.pathbasedauthz): Group permissions can only be extended, not restricted, for individual group members. Document this correctly, rather than claiming the opposite was true. Patch by: Mark Cammidge (tweaked by me) http://code.google.com/p/svnbook/source/detail?r=3728 Modified: /trunk/src/en/book/ch06-server-configuration.xml ======================================= --- /trunk/src/en/book/ch06-server-configuration.xml Thu Feb 18 09:57:58 2010 +++ /trunk/src/en/book/ch06-server-configuration.xml Sun May 2 04:33:06 2010 @@ -3111,13 +3111,15 @@ @paint-developers = rw - Another important fact is that - the first matching rule is the one which gets - applied to a user. In the prior example, even though Jane is a - member of the paint-developers group (which has - read/write access), the jane = r rule will be - discovered and matched before the group rule, thus denying Jane - write access. + Another important fact is that group permissions are not + overridden by individual user permissions. Rather, the + combination of all matching permissions is + granted. In the prior example, Jane is a member of the + paint-developers group, which has read/write access. + Combined with the jane = r rule, this still gives + Jane read/write access. Permissions for group members can only be extended + beyond the permissions the group already has. Restricting users who are + part of a group to less than their group's permissions is impossible. Groups can also be defined to contain other groups: From svnbook at googlecode.com Sun May 2 06:41:52 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sun, 02 May 2010 11:41:52 +0000 Subject: Issue 71 in svnbook: Description of permissions in authz incorrect for multiple matching lines In-Reply-To: <0-7155889305988986295-7441570024220402911-svnbook=googlecode.com@googlecode.com> References: <0-7155889305988986295-7441570024220402911-svnbook=googlecode.com@googlecode.com> Message-ID: <1-7155889305988986295-7441570024220402911-svnbook=googlecode.com@googlecode.com> Updates: Status: Fixed Comment #1 on issue 71 by s... at elego.de: Description of permissions in authz incorrect for multiple matching lines http://code.google.com/p/svnbook/issues/detail?id=71 Committed with tweaks in r3728. Thanks! From svnbook at googlecode.com Sun May 2 06:45:53 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Sun, 02 May 2010 11:45:53 +0000 Subject: Issue 20 in svnbook: Document tree conflicts In-Reply-To: <2-7155889305988986295-14944795752420902646-svnbook=googlecode.com@googlecode.com> References: <2-7155889305988986295-14944795752420902646-svnbook=googlecode.com@googlecode.com> <0-7155889305988986295-14944795752420902646-svnbook=googlecode.com@googlecode.com> Message-ID: <3-7155889305988986295-14944795752420902646-svnbook=googlecode.com@googlecode.com> Updates: Status: Fixed Comment #3 on issue 20 by s... at elego.de: Document tree conflicts http://code.google.com/p/svnbook/issues/detail?id=20 A section about tree conflicts was added to the book some time ago. http://svnbook.red-bean.com/nightly/en/svn.tour.treeconflicts.html From svnbook at googlecode.com Mon May 3 04:50:03 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 03 May 2010 09:50:03 +0000 Subject: [svnbook] r3730 committed - * src/fr/book/ch06-server-configuration.xml... Message-ID: <0016361e7e4e5f73100485ad843e@google.com> Revision: 3730 Author: subversif999 at gmail.com Date: Mon May 3 02:49:46 2010 Log: * src/fr/book/ch06-server-configuration.xml - Fix typos http://code.google.com/p/svnbook/source/detail?r=3730 Modified: /trunk/src/fr/book/ch06-server-configuration.xml ======================================= --- /trunk/src/fr/book/ch06-server-configuration.xml Sat Mar 13 06:04:01 2010 +++ /trunk/src/fr/book/ch06-server-configuration.xml Mon May 3 02:49:46 2010 @@ -1,4 +1,4 @@ - + Configuration du serveur Un dépôt Subversion hébergé sur une machine donnée est @@ -10,13 +10,13 @@ monde. Ce chapitre décrit comment rendre visible votre dépôt Subversion - en dehors de la machine hôte afin d'être utilisé par des clients + en dehors de la machine hôte pour qu'il soit utilisable par des clients distants. Nous couvrons les mécanismes serveurs disponibles actuellement pour Subversion, leur configuration et leur utilisation. À la fin de ce chapitre, vous devriez être apte à décider quelle configuration réseau convient à vos besoins et - comprendre comment activer cette configuration sur votre machine - hôte. + comprendre comment mettre en place cette configuration sur votre + machine hôte. @@ -37,7 +37,7 @@ Apache est un serveur web extrêmement populaire ; en utilisant le module mod_dav_svn, Apache a accès - au dépôt et peut le rendre accessible aux clients via le protocle + au dépôt et peut le rendre accessible aux clients via le protocole WebDAV/DeltaV, qui est une extension d'HTTP. Comme Apache est un serveur très complet, il inclut un grand nombre de fonctionnalités gratuites, telles que : communications @@ -73,15 +73,15 @@ d'utilisateurs locaux d'accéder au dépôt via des URL file://. Les autorisations d'accès basées sur des chemins n'ont donc aucun sens, puisque chaque utilisateur - accède aux fichiers de la base de données du dépôt - directement. + accède directement aux fichiers de la base de données du + dépôt. Le présente un résumé rapide des trois types courants de déploiements de serveurs.
- Comparaison des options des serveurs Subversion + Comparaison des fonctionnalités des serveurs Subversion @@ -99,15 +99,15 @@ Apache. CRAM-MD5 par défaut ; LDAP, NTLM, ou tout autre mécanisme compatible avec SASL. - SSH + SSH. Comptes utilisateurs Fichiers privés ou tout autre mécanisme compatible - avec Apache (LDAP, SQL, etc.). + avec Apache (LDAP, SQL, etc.). Fichiers privés ou tout autre mécanisme compatible - avec SASL (LDAP, SQL, etc.). + avec SASL (LDAP, SQL, etc.). Comptes utilisateurs systèmes. @@ -126,7 +126,7 @@ Chiffrement Disponible via SSL (option). - Disponible via les fonctionnalités optionnelles de + Disponible via les fonctionnalités optionnelles de SASL. Inhérent à toute connexion SSH. @@ -299,7 +299,7 @@ ce soit, n'est disponible, ni même celle des erreurs ; - les utilisateurs doivent etre membres du + les utilisateurs doivent être membres du même groupe système ou utiliser une clé SSH partagée ; @@ -410,8 +410,8 @@ si vous devez vous insérer au sein de systèmes d'authentification déjà en place (LDAP, Active Directory, - NTLM, X.509, etc.), il vous faudra utiliser soit le serveur - basé sur Apache soit svnserve configuré + NTLM, X.509, etc.), il vous faudra utiliser soit le serveur + basé sur Apache, soit svnserve configuré avec SASL. Si vous avez un besoin absolu de journaux des erreurs côté serveur ou de journaux des activités côté client, le serveur basé sur Apache est le seul choix @@ -517,9 +517,9 @@ svnserve en serveur autonome Le plus facile est de démarrer svnserve - en tant que serveur autonome. Pour le faire, utilisez l'option + en tant que serveur autonome. Pour ce faire, utilisez l'option (d pour daemon qui est - l'appelation consacrée pour les serveurs Unix) : + l'appellation consacrée pour les serveurs Unix) : $ svnserve -d @@ -539,7 +539,7 @@ est situé sous /var/svn/projet-1, un client l'atteindra par svn://hote.exemple.com/var/svn/projet-1. Pour - améliorer la sécurité, vous pouvez passer l'option + renforcer la sécurité, vous pouvez passer l'option à svnserve afin de restreindre l'export aux dépôts situés sous le chemin indiqué. Par exemple : @@ -551,9 +551,9 @@ L'utilisation de l'option modifie le chemin que le serveur considère comme la racine du système de - fichiers à exporter. Les clients utiliseront alors des URL avec - cette portion du chemin supprimée (ce qui rend les URL plus - courtes et plus discrètes) : + fichiers à exporter. Les clients utiliseront alors des URL ne + comportant pas cette portion du chemin (ce qui rend les URL + plus courtes et plus discrètes) : $ svn checkout svn://hote.exemple.com/projet-1 @@ -599,7 +599,7 @@ Si votre système utilise un serveur inetd classique de type Unix, vous pouvez ajouter la ligne suivante à - /etc/inetd.conf: + /etc/inetd.conf : svn stream tcp nowait proprio-svn /usr/bin/svnserve svnserve -i @@ -633,11 +633,11 @@ serveur SSH qui le fait à votre place). Le programme svnserve se comporte alors normalement (utilisation des entrées/sorties stdin et - stdout)et suppose que le trafic est + stdout) et suppose que le trafic est redirigé automatiquement vers le client par un tunnel. Quand svnserve est lancé par un gestionnaire de tunnel comme ici, soyez sans crainte : l'utilisateur - authentifié possèdera les droits de lecture et d'écriture sur + authentifié possédera les droits de lecture et d'écriture sur les fichiers de la base de données. C'est essentiellement la même chose que quand un utilisateur local accède au dépôt via des URL file://. @@ -716,8 +716,8 @@ start= auto - Notez aussi que le terme binpathprête à - confusion : sa valeur est une ligne de + Notez aussi que le terme binpath prête + à confusion : sa valeur est une ligne de commande, pas le chemin d'accès à un exécutable. C'est pourquoi vous devez l'entourer de guillemets s'il contient des espaces. @@ -725,7 +725,7 @@ Une fois que le service a été crée, il peut être arrêté, démarré ou interrogé à l'aide des outils standards de l'interface graphique (le programme Services - des outils d'administration) ou en ligne de + des outils d'administration) ou de la ligne de commande : @@ -818,7 +818,7 @@ ([ et ]), les lignes de commentaires commencent par des dièses (#) et chaque paragraphe contient des variables spécifiques qui peuvent - être définies (variable = valeur). Examinons + être définies (variable = valeur). Examinons ces fichiers et apprenons à les utiliser. @@ -826,7 +826,7 @@ Création d'un fichier utilisateurs et d'un domaine d'authentification - Pour ce qui suit, le section [general] + Pour ce qui suit, la section [general] de svnserve.conf contient toutes les variables dont vous avez besoin. Commencez par modifier les valeurs de toutes les variables : choisissez un nom pour @@ -890,7 +890,7 @@ faire. Les variables anon-access et auth-access peuvent contenir les valeurs none, read, ou - write. Choisir la valeur + write. Choisir la valeur none empêche à la fois lecture et écriture ; read autorise l'accès en lecture seule au dépôt et write autorise @@ -961,8 +961,8 @@ Utilisation de svnserve avec SASL - Pour de nombreuses équipes, l'authentification par CRAM-MD5 - suffit à leurs besoins. Cependant, si votre serveur (et vos + L'authentification par CRAM-MD5 suffit aux besoins + de bon nombre d'équipes. Cependant, si votre serveur (et vos clients Subversion) ont été compilés avec la bibliothèque Cyrus Simple Authentication and Security Layer (SASL), vous avez à votre disposition un certain nombre @@ -1011,8 +1011,8 @@ CRAM-MD5 et ANONYMOUS (voir ). Si le serveur et le client ont été compilés pour inclure SASL, un certain nombre - d'autres mécanismes d'authentification seront éventuellement - disponibles. Néanmoins, vous devrez configurer explicitement + d'autres mécanismes d'authentification sont éventuellement + disponibles. Néanmoins, vous devez configurer explicitement SASL sur le serveur pour qu'ils soient proposés. @@ -1032,7 +1032,7 @@ Ensuite, créez le fichier principal de configuration de SASL, appelé svn.conf, à un endroit où la bibliothèque SASL saura le trouver — généralement dans - un répertoire où sont situés les greffons SASL. Vous devrez + un répertoire où sont situés les greffons SASL. Vous devez localiser le répertoire des greffons de votre système, tel que /usr/lib/sasl2/ ou /etc/sasl2/ (notez qu'il ne @@ -1045,11 +1045,11 @@ pour indiquer à SASL les emplacements où chercher. Créez une clé nommée [HKEY_LOCAL_MACHINE\SOFTWARE\Carnegie Mellon\Project Cyrus\SASL Library] et placez-y deux - clés : l'une appelée SearchPath + clés : l'une appelée SearchPath (dont la valeur est le chemin du répertoire contenant les bibliothèques de greffons SASL sasl*.dll) et l'autre appelée - ConfFile(dont la valeur est le chemin du + ConfFile (dont la valeur est le chemin du répertoire parent contenant le fichier svn.conf que vous avez créé). @@ -1078,7 +1078,7 @@ vous demandez à SASL de proposer le mécanisme DIGEST-MD5 aux clients et de comparer les mots de passe des utilisateurs à une base de mots de passe privée située à l'emplacement - /etc/ma_bdd_sasl. Un administrateur + /etc/ma_bdd_sasl. Un administrateur système pourra ensuite utiliser le programme saslpasswd2 pour ajouter ou modifier les noms d'utilisateurs et les mots de passe contenus dans cette @@ -1091,7 +1091,7 @@ Quelques consignes de prudence : tout d'abord, l'argument domaine qui est passé à saslpasswd2 doit correspondre au même - domaine celui que vous avez défini dans le fichier + domaine que celui que vous avez défini dans le fichier svnserve.conf ; s'ils ne correspondent pas, l'authentification échouera. En outre, à cause d'une limitation de SASL, ce domaine commun doit être @@ -1110,10 +1110,10 @@ Souvenez-vous que si vous configurez votre serveur pour qu'il n'autorise que certains mécanismes d'authentification - SASL, tous les clients qui se connecteront auront l'obligation + SASL, tous les clients qui se connectent ont l'obligation de supporter SASL. Tout client Subversion compilé sans SASL (ce qui inclut tous les clients antérieurs à la version 1.5) - sera incapable de se connecter. D'un autre côté, ce type de + est incapable de se connecter. D'un autre côté, ce type de restriction est peut-être exactement ce que vous recherchez (Mes clients doivent tous utiliser Kerberos !). Néanmoins, si vous voulez permettre à des clients non-SASL de @@ -1133,7 +1133,7 @@ requièrent l'utilisation de la bibliothèque OpenSSL. Pour activer ou désactiver différents niveaux de chiffrement, vous pouvez définir deux variables dans le fichier - svnserve.confde votre dépôt : + svnserve.conf de votre dépôt : [sasl] @@ -1197,7 +1197,7 @@ des utilisateurs) puis un processus svnserve privé est généré automatiquement sur la machine distante, processus dont le propriétaire est l'utilisateur - harryssh. La commande + harryssh. La commande svnserve est lancée en mode tunnel () et son protocole réseau est encapsulé dans la connexion chiffrée par ssh, le @@ -1281,12 +1281,12 @@ svn+rsh://nomdutilisateur at hote/chemin), le client va l'inclure dans sa commande (rsh nomdutilisateur at hote svnserve -t). Mais vous pouvez - définir des schémas d'encapsulation bien plus évolués que - ça : + définir des schémas d'encapsulation bien plus + évolués : [tunnels] -paulssh = $PAULSSH /opt/alternate/ssh -p 29934 +joessh = $JOESSH /opt/alternate/ssh -p 29934 Cet exemple illustre plusieurs choses. D'abord, il indique @@ -1308,9 +1308,9 @@ chacun se connectant par exemple à un port différent ou passant des options différentes à SSH, vous pouvez utiliser le mécanisme illustré dans cet exemple. Concrètement, si nous donnons une - valeur à la variable d'environnement PAULSSH, + valeur à la variable d'environnement JOESSH, cette valeur remplacera la totalité de la valeur de la variable - d'encapsulation — $PAULSSH serait + d'encapsulation — $JOESSH serait exécuté au lieu de /opt/alternate/ssh -p 29934. @@ -1330,7 +1330,7 @@ - Mise en oeuvre initiale + Mise en œuvre initiale Pour commencer, localisez le répertoire home du compte utilisateur que vous utilisez pour lancer @@ -1362,12 +1362,12 @@ command="programme" ssh-dsa AAAABtce9euch… utilisateur at exemple.com - Quand le champ command, le serveur SSH - va lancer le programme indiqué en lieu et place de l'habituel - svnserve en mode tunnel que le client - Subversion a demandé. En découlent un certain nombre d'astuces - côté serveur. Dans les exemples suivants, nous abrègeons les - lignes du fichier par : + Quand le champ command est présent, le + serveur SSH va lancer le programme indiqué en lieu et place de + l'habituel svnserve en mode tunnel que le + client Subversion a demandé. En découlent un certain nombre + d'astuces côté serveur. Dans les exemples suivants, nous + abrégeons les lignes du fichier par : command="programme" TYPE CLÉ COMMENTAIRE @@ -1392,7 +1392,7 @@ peut être un script personnalisé construit autour de svnserve qui spécifie le umask à utiliser (voir ). Il - indique aussi comment comment ancrer + indique aussi comment ancrer svnserve dans un répertoire racine virtuel, ce qui est aussi très souvent utilisé quand svnserve fonctionne en tant que démon. Le @@ -1435,7 +1435,7 @@ d'un port quelconque de votre serveur. Pour accorder le moins de droits possibles à l'utilisateur, vous pouvez spécifier des options de restriction immédiatement après la commande - du champ command: + du champ command : command="svnserve -t --tunnel-user=harry",no-port-forwarding,no-agent-for @@ -1471,11 +1471,11 @@ de HTTP 1.1 (voir pour plus d'informations). Ce protocole se base sur HTTP, le protocole omniprésent à la base du World Wide Web, lui ajoute des - fonctionnalités d'écriture et, en particulier, d'écriture - versionnée. Le résultat est un système robuste et standardisé qui - est inclus dans le logiciel Apache 2.0, supporté par de nombreux - systèmes d'exploitation et outils tiers, et qui ne demande pas - aux administrateurs réseaux d'ouvrir un port réseau + fonctionnalités d'écriture et, en particulier, d'écriture avec + gestion de versions. Le résultat est un système robuste et standardisé + qui est inclus dans le logiciel Apache 2.0, supporté par de + nombreux systèmes d'exploitation et outils tiers, et qui ne demande + pas aux administrateurs réseaux d'ouvrir un port réseau supplémentaire C'est une chose qu'ils détestent faire. . @@ -1499,7 +1499,7 @@ apporterez à votre configuration d'Apache, il est probable que vous commettrez des erreurs. Si vous n'êtes pas déjà familier avec le sous-système de journalisation d'Apache, vous devrez apprendre - à le connaître. Dans votre fichier httpd.conf + à le connaître. Dans votre fichier httpd.conf, des directives spécifient l'emplacement sur le disque des journaux d'accès et d'erreurs générés par Apache (les directives CustomLog et ErrorLog @@ -1513,7 +1513,7 @@ À propos d'Apache 2 Si vous êtes un administrateur système, il est très probable - que vous utilisiez déjà le serveur web Apache et qui vous en + que vous utilisiez déjà le serveur web Apache et que vous en ayez une expérience préalable. À l'heure où ces lignes sont écrites, Apache 1.3 est la version la plus populaire d'Apache. Le passage de la communauté à Apache 2 est assez lent, pour @@ -1526,7 +1526,7 @@ ils découvrent que le module Apache de Subversion a été écrit spécifiquement pour l'API d'Apache 2. - Mais, ne vous inquiétez pas ! Il est facile de faire + Mais ne vous inquiétez pas ! Il est facile de faire fonctionner Apache 1.3 et Apache 2 côte à côte ; il suffit de les installer dans des endroits séparés et d'utiliser Apache 2 en tant que serveur dédié fonctionnant @@ -1572,14 +1572,14 @@ Vous pouvez accomplir les deux premières tâches ci-dessus soit en compilant httpd et Subversion à - partir du code source soit en installant les paquets binaires + partir du code source, soit en installant les paquets binaires précompilés correspondants sur votre système. Les informations les plus récentes sur la façon de compiler Subversion dans le cadre d'une utilisation en conjonction avec le serveur - HTTP Apache, sur la compilation et la configuration d'Apache - lui-même dans cet objectif, sont consultables dans le fichier - INSTALL situé à la racine de l'arborescence - du code source de Subversion. + HTTP Apache, sur la compilation et sur la configuration + d'Apache lui-même dans cet objectif, sont consultables dans le + fichier INSTALL situé à la racine de + l'arborescence du code source de Subversion. @@ -1606,12 +1606,13 @@ LoadModule dav_svn_module modules/mod_dav_svn.so - Notez que si mod_dav a aussi été compilé sous forme de - bibliothèque partagée (et non par une édition de liens statiques - qui le place alors directement dans l'exécutable + Notez que si mod_dav a aussi été compilé + sous forme de bibliothèque partagée (et non par une édition de + liens statiques qui le place alors directement dans l'exécutable httpd), il vous faudra une directive - LoadModule pour celui-ci. Assurez-vous qu'il - est placé avant la ligne mod_dav_svn : + LoadModule pour celui-ci. Assurez-vous + qu'elle est placée avant la ligne + mod_dav_svn : LoadModule dav_module modules/mod_dav.so @@ -1619,18 +1620,18 @@ - Plus loin au sein de votre fichier de configuration, vous + Plus loin dans votre fichier de configuration, vous devez indiquer à Apache l'endroit où réside votre dépôt (ou vos dépôts) Subversion. La directive Location possède une syntaxe de type XML, qui commence par une balise de - début et se termine par une balise de fin et diverses autres + début, se termine par une balise de fin et contient diverses autres directives de configuration au milieu. Le sens de la directive Location est de faire faire à Apache quelque chose de spécial quand il traite les requêtes adressées à une URL donnée ou à une de ses filles. Dans le cas de Subversion, il faut qu'Apache fasse traiter par la couche DAV les URL pointant vers les ressources suivies en versions. Vous pouvez indiquer à - Apache de déléguer le traitement de toutes les URLs dont la + Apache de déléguer le traitement de toutes les URL dont la partie chemin d'accès (la partie de l'URL qui suit le nom du serveur et le numéro de port optionnel) commence par /depot/ à un gestionnaire de DAV dont le @@ -1652,9 +1653,9 @@ répertoire parent commun. Par exemple, si vous savez que vous allez créer plusieurs dépôts Subversion dans le répertoire /var/svn, auxquels on accédera par des URL - telles que http:///mon.serveur.com/svn/depot1, - http:///mon.serveur.com/svn/depot2, etc., vous pouvez - utiliser la syntaxe de configuration de + telles que http://mon.serveur.com/svn/depot1, + http://mon.serveur.com/svn/depot2, etc., vous + pouvez utiliser la syntaxe de configuration de httpd.conf de l'exemple suivant : @@ -1683,7 +1684,7 @@ DocumentRoot (c'est-à-dire le répertoire racine des fichiers qu'Apache expose sur le web) principal est exporté vers /www, n'exportez pas de dépôt - Subversion vers <Location /www/depot>. + Subversion vers <Location /www/depot>. Si une requête arrivait pour l'URI /www/depot/machin.c, Apache ne saurait pas s'il doit chercher un fichier depot/machin.c @@ -1701,8 +1702,8 @@ serveur. Les modules Apache vérifient que la source de la copie est bien située sur la même machine que la destination. Pour satisfaire cette exigence, vous aurez peut-être besoin de - déclarer à mod_dav que vous utilisez en - tant que nom d'hôte de votre serveur. En général la directive + déclarer à mod_dav le nom d'hôte de votre + serveur. En général, la directive ServerName du fichier httpd.conf peut être utilisée à cette fin. @@ -1719,11 +1720,11 @@ plus de détails. - Maintenant, il nous faut examiner sérieusement la question + À présent, il nous faut examiner sérieusement la question des droits d'accès. Si vous utilisez Apache depuis un certain temps en tant que serveur web principal, vous hébergez certainement pas mal de contenu : des pages web, des - scripts, etc. Ces éléments ont déjà été configurés avec un + scripts, etc. Ces éléments ont déjà été configurés avec un ensemble de droits qui leur permet de fonctionner avec Apache, ou plus exactement qui permet à Apache de travailler avec ces fichiers. Apache, quand on l'utilise en tant que serveur @@ -1763,11 +1764,11 @@ </Location> - Votre dépôt est à présent accessible + votre dépôt est à présent accessible anonymement au reste du monde. Jusqu'à ce que configuriez des politiques d'authentification et de contrôle - d'accès, les dépôts Subversion que vous rendez disponible via la - directive Location sont généralement + d'accès, les dépôts Subversion que vous rendez disponibles via + la directive Location sont généralement accessibles à tous. En d'autres termes : @@ -1789,7 +1790,7 @@ Bien sûr, vous avez peut-être déjà mis en place une procédure automatique pre-commit pour empêcher les - propagations (voir ). + propagations (voir ). Mais en progressant dans la lecture de ce chapitre, vous verrez qu'il est également possible d'utiliser les méthodes intégrées dans Apache pour restreindre les accès de façon @@ -1823,7 +1824,7 @@ $ - Puis, vous devez ajouter des directives dans le bloc + Ensuite, vous devez ajouter des directives dans le bloc Location du fichier httpd.conf pour indiquer à Apache comment se servir du nouveau fichier des mots de passe. La directive @@ -1832,7 +1833,7 @@ le mode Basic. La directive AuthName permet de donner un nom arbitraire au domaine d'authentification. La plupart des navigateurs - affichent ce nom dans la boite de dialogue surgissante (pop-up) + affichent ce nom dans la boîte de dialogue (pop-up) qui demande le nom d'utilisateur et le mot de passe. Enfin, utilisez la directive AuthUserFile pour spécifier le chemin du fichier des mots de passe que vous venez @@ -1879,7 +1880,7 @@ Prenez bien soin de lire qui suit pour plus de détails sur la directive Require et sur les - autres manières de mettre en oeuvre des politiques de contrôle + autres manières de mettre en œuvre des politiques de contrôle d'accès. Un petit avertissement : les mots de passe de la @@ -1898,7 +1899,8 @@ une fonction de hachage à une donnée créée pour l'occasion. Le serveur envoie au client une chaîne plus ou moins aléatoire de petite taille ; le client se sert du mot de passe de - l'utilisateur pour créer un condensat (hash en anglais) de + l'utilisateur pour créer un condensat + (hash en anglais) de cette chaîne ; le serveur examine ensuite si le condensat correspond à ses attentes. @@ -1910,7 +1912,7 @@ <Location /svn> - DAV svn + DAV svn SVNParentPath /var/svn AuthType Digest AuthName "Depot Subversion" @@ -1929,10 +1931,11 @@ certificat serveur auto-signé Bien que les certificats serveurs auto-signés soient vulnérables aux attaques du type - man-in-the-middle (attaque de - l'homme du milieu en français), une telle attaque - est bien plus difficile à exécuter pour un observateur - occasionnel que de juste espionner les mots de passe + man-in-the-middle + (attaque de l'homme du milieu en français), + une telle attaque est bien plus difficile + à exécuter pour un observateur occasionnel + que de juste espionner les mots de passe qui passent en clair sur le réseau. . Consultez la documentation Apache (et la documentation @@ -1954,13 +1957,13 @@ Si un client Subversion est compilé pour utiliser OpenSSL, il obtient la possibilité de communiquer avec le serveur - Apache via des URLs https://. La + Apache via des URL https://. La bibliothèque Neon utilisée par le client Subversion est non seulement capable de vérifier les certificats du serveur, mais aussi de renvoyer des certificats clients quand on le lui demande. Une fois que le client et le serveur ont échangé des certificats SSL et se sont authentifiés mutuellement avec - succès, toute la communication qui s'ensuit est chiffrée par + succès, tous les échanges qui s'ensuivent sont chiffrés par une clé de session. Expliquer comment générer des certificats clients et @@ -1987,8 +1990,9 @@ bibliothèque OpenSSL effectue cette vérification en examinant le signataire du certificat serveur, aussi nommé autorité de certification (AC, ou - CA en anglais). Si OpenSSL n'est pas capable de - faire confiance automatiquement à l'autorité de certification, + CA en anglais). Si OpenSSL + n'est pas capable de faire confiance + automatiquement à l'autorité de certification, ou si un autre problème apparaît (tel que l'expiration du certificat ou des noms d'hôtes divergents), le client en ligne de commande de Subversion vous demande si vous voulez faire @@ -1997,9 +2001,7 @@ $ svn list https://hote.exemple.com/depot/projet -(de 'https://hote.exemple.com:443') - Le certificat conduit à une erreur inconnue : - - Le certificat a expiré. - - Le nom d'hôte du certificat ne correspond pas. +Erreur de validation du certificat du serveur pour 'https://hote.exemple.com:443' : - Le certificat n'est pas signé pas une autorité de confiance. Valider le certificat manuellement ! Informations du certificat : @@ -2024,8 +2026,8 @@ certificat dans les échanges futurs. Votre fichier servers dans la zone de - configuration vous permet également d'indiquer à votre client - Subversion qu'il doit faire confiance automatiquement à + configuration vous permet également d'indiquer au client + Subversion qu'il doit automatiquement faire confiance à certaines autorités de certification spécifiques, soit globalement, soit en tenant compte de la machine hôte. Il suffit d'attribuer à la variable @@ -2055,8 +2057,8 @@ confiance ainsi qu'une preuve que le client possède bien la clé privée associée au certificat (la réponse au défi). La clé privée, ainsi que le certificat public, sont habituellement - enregistrés dans un conteneur (un fichier .p12 - qui indique un fichier au format PKCS#12) sur le + enregistrés dans un conteneur (un fichier .p12, + fichier au format PKCS#12) sur le disque, la clé privée étant chiffrée à l'aide d'un mot de passe. Quand Subversion reçoit ce défi, il vous demande le chemin d'accès au conteneur ainsi que le mot de passe qui @@ -2100,7 +2102,8 @@ Subversion peut répondre automatiquement à une demande de certificat client sans la moindre interaction de votre part - Ceux qui sont parmi les plus soucieux de sécurité + Les administrateurs qui attachent le plus + d'importance à la sécurité peuvent ne pas vouloir stocker le mot de passe du certificat client dans le fichier servers de la zone de @@ -2137,7 +2140,7 @@ <Location>. Pour poursuivre dans la veine de notre exemple précédent, cela signifie que seuls les clients disant être harry ou - Sally et qui ont fourni le bon mot de passe + sally et qui ont fourni le bon mot de passe pour leur nom d'utilisateur respectif ont l'autorisation d'effectuer des actions sur le dépôt Subversion : @@ -2205,8 +2208,8 @@ Ce ne sont là que quelques exemples simples. Pour des informations plus poussées sur le contrôle d'accès d'Apache et - la directive Require, jetez un oeil à la - section Security du recueil des tutoriaux + la directive Require, jetez un œil à la + section Security du recueil des didacticiels de la documentation Apache à l'adresse (site en anglais). @@ -2259,7 +2262,7 @@ Le bloc le plus simple consiste à donner l'accès à tout le monde. Dans ce scénario, Apache n'envoie jamais de défi d'authentification, tous les utilisateurs sont donc traités en - tant qu'anonymes. (voir l'anonymes (voir l'). @@ -2282,7 +2285,7 @@ l'authentification inconditionnelle via la directive Require valid-user et définit le moyen de s'authentifier (voir l'.) + linkend="svn.serverconfig.httpd.authz.perdir.ex-2"/>). Exemple-type de configuration : accès authentifié @@ -2321,8 +2324,8 @@ l'). - Exemple-type de configuration : accès mixte - authentifié/anonyme + Exemple-type de configuration : accès mixte + authentifié/anonyme <Location /depot> DAV svn @@ -2348,8 +2351,9 @@ Une fois l'un de ces modèles mis en place dans votre fichier httpd.conf, vous devez créer un fichier contenant les règles d'accès particulières pour chaque - chemin de votre dépot. Nous en reparlons plus dans ce chapitre, - à . + chemin de votre dépôt. Nous en parlons plus en détails + plus loin dans ce chapitre, à . @@ -2396,7 +2400,7 @@ D'un autre côté, il existe une sorte d'échappatoire qui vous permet de faire un compromis entre les fonctions de - sécurité et la vitesse. Si vous ne mettez pas en oeuvre de + sécurité et la vitesse. Si vous ne mettez pas en œuvre de contrôle d'accès sur les chemins (c'est-à-dire, si vous n'utilisez ni mod_authz_svn ni un module similaire), vous pouvez désactiver tous ces contrôles sur les @@ -2445,19 +2449,19 @@ Un des avantages les plus frappants d'avoir une configuration Apache/WebDAV pour votre dépôt Subversion est que les révisions les plus récentes de vos fichiers et - répertoires versionnés sont immédiatement consultables à - l'aide d'un navigateur web classique. Puisque Subversion - utilise des URL pour identifier les ressources versionnées, - ces URL utilisées pour accéder aux dépôts via HTTP peuvent - être tapées directement dans un navigateur web. Votre + répertoires suivis en versions sont immédiatement consultables + à l'aide d'un navigateur web classique. Puisque Subversion + utilise des URL pour identifier les ressources suivies en + versions, ces URL utilisées pour accéder aux dépôts via HTTP + peuvent être tapées directement dans un navigateur web. Votre navigateur enverra une requête HTTP GET pour cette URL ; selon que cette URL représente ou non - un fichier ou un répertoire versionné, + un fichier ou un répertoire suivi en versions, mod_dav_svn renverra soit la liste des - éléments du répertoire soit le contenu du fichier. + éléments du répertoire, soit le contenu du fichier. Comme les URL ne contiennent pas d'informations concernant - la version de la ressource vous voulez voir, + la version de la ressource qui vous intéresse, mod_dav_svn renverra toujours la version la plus récente. Cette fonctionnalité a un merveilleux effet secondaire : vous pouvez partager avec vos pairs des @@ -2484,7 +2488,7 @@ une ancienne version d'un fichier, un client doit suivre une procédure spécifique pour découvrir l'URL appropriée ; cette procédure nécessite d'envoyer - une série de requêtes WebDAB PROPFIND et + une série de requêtes WebDAV PROPFIND et de comprendre les concepts DeltaV. C'est quelque chose que votre navigateur web n'est pas capable de faire. @@ -2517,15 +2521,15 @@ quelque sorte un type MIME. Par défaut, Apache va indiquer aux navigateurs web que tous les fichiers du dépôt sont du type MIME par défaut, en général - text/plain. Cela peut être frustrant, - cependant, si un utilisateur désire visualiser les fichiers + text/plain. Cela peut s'avérer assez + frustrant, si un utilisateur désire visualiser les fichiers du dépôt de manière plus appropriée — par exemple, - cela pourrait être une bonne chose d'afficher un fichier - truc.html du dépôt sous forme d'une - vraie page HTML. + un fichier truc.html du dépôt sera bien + plus lisible s'il est rendu dans le navigateur en tant que + fichier HTML. Pour rendre ceci possible, il suffit de vous assurer que - vos fichiers ont bien défini la propriété + vos fichiers portent bien la propriété svn:mime-type. Plus de détails sur ce sujet sont disponibles dans et vous @@ -2553,9 +2557,9 @@ Personnalisation de l'aspect - En général vous utiliserez plus souvent les URL de - fichiers suivis en versions, après tout c'est là que le - contenu intéressant réside. Mais vous aurez peut-être + En général, vous utiliserez principalement des URL de + fichiers suivis en versions ; après tout c'est là que + le contenu intéressant réside. Mais vous aurez peut-être l'occasion de naviguer dans le contenu d'un répertoire Subversion et vous remarquerez rapidement que le code HTML généré pour afficher la liste des éléments du répertoire @@ -2590,7 +2594,7 @@ répertoire tools/xslt/ du code source de Subversion. Gardez à l'esprit que le chemin d'accès fourni au répertoire SVNIndexXSLT est en fait une - URL — les navigateurs de chemins doivent déjà être + URL — les navigateurs de chemins doivent être capables de lire vos feuilles de style pour les utiliser ! @@ -2618,8 +2622,8 @@ http://hote.exemple.com/svn/, il verra une liste de tous les dépôts Subversion situés dans /var/svn. Évidemment, ceci peut poser - des problèmes de sécurité, cette fonctionnalité est donc - désactivée par défaut. + des problèmes de sécurité ; cette fonctionnalité est + donc désactivée par défaut. @@ -2641,7 +2645,7 @@ apparaître à différents endroits, mais sont en général créés dans la zone de journalisation de votre installation Apache (sur Unix, ils résident souvent dans - /usr/local/apache2/logs/.) + /usr/local/apache2/logs/). Le fichier error_log décrit toutes les erreurs internes qu'Apache rencontre au cours de son @@ -2659,7 +2663,7 @@ difficile d'examiner le fichier access_log et d'en déduire ce que le client faisait — la plupart des opérations se présentent sous la forme de séries de - requêtes PROPPATCH, GET, + requêtes PROPPATCH, GET, PUT et REPORT énigmatiques. Pour couronner le tout, de nombreuses opérations du client envoient des séries de requêtes quasi-identiques, il @@ -2688,8 +2692,8 @@ Dans cet exemple, nous demandons à Apache de créer un - fichier journal spécial, journal-svn dans - le répertoire classique de journaux d'Apache + fichier journal spécial, journal-svn, + dans le répertoire habituel de journaux d'Apache (logs). Les variables %t et %u sont remplacées par l'horodatage et le nom d'utilisateur de la requête, @@ -2800,7 +2804,7 @@ les esclaves. Assurez-vous que vos serveurs maître et esclaves ont tous des configurations identiques d'authentification et de contrôle d'accès ; s'ils ne - peuvent plus se synchroniser, cela peut vous conduire à + peuvent plus se synchroniser, cela peut engendrer beaucoup d'ennuis. Ensuite nous devons nous occuper du problème de la @@ -2814,7 +2818,7 @@ simple client en train d'effectuer une propagation, l'esclave va immédiatement tenter d'envoyer vers le maître la requête d'écriture qui vient d'arriver ! Et là, - patatras !. + patatras ! La solution consiste à s'arranger pour que le maître pousse les révisions vers un emplacement @@ -2846,7 +2850,7 @@ Location du maître et des esclaves, vous devez configurer le maître pour que la réplication vers les esclaves fonctionne. Ceci se fait de la manière habituelle, - en utilisant svnsync. Si vous n'êtes pas + en utilisant svnsync. Si vous n'êtes pas familier avec cet outil, reportez-vous à pour plus de détails. @@ -2917,8 +2921,8 @@ pas nécessaires, mais constituent un moyen astucieux d'autoriser svnsync à lancer des commandes qui fonctionneront à l'arrière-plan, de telle - sorte que le client subversion ne se retrouvera pas à - attendre indéfiniment que la propagation se termine. en + sorte que le client Subversion ne se retrouvera pas à + attendre indéfiniment que la propagation se termine. En plus de cette procédure post-propagation (post-commit), vous aurez également besoin d'une procédure post-revprop-change @@ -2928,7 +2932,8 @@ #!/bin/sh -# Procédure post-revprop-change pour répliquer les modifications revprop-changes vers les esclaves +# Procédure post-revprop-change pour répliquer les modifications +# des propriétés de révisions vers les esclaves REV=${2} svnsync copy-revprops http://esclave1.exemple.com/svn-proxy-sync ${REV} > /dev/null 2>&1 @@ -2954,15 +2959,15 @@ svn lock et svn unlock sur les serveurs esclaves, vraisemblablement à l'aide d'une méthode de connexion à - distance telle que SSH. Nous laissons ceci en guise - d'exercice au lecteur ! + distance telle que SSH. Nous laissons ceci au lecteur + en guise d'exercice ! Pièges à éviter - Votre système de réplication maître/esclave doiit à + Votre système de réplication maître/esclave doit à présent être prêt à l'emploi. Cependant, quelques consignes de prudence sont de mise. Souvenez-vous que la réplication n'est pas totalement robuste en ce qui concerne les @@ -3017,7 +3022,7 @@ Apache, en tant que serveur web robuste, dont on peut tirer profit pour améliorer les fonctionnalités ou la sécurité de Subversion. Le client Subversion est capable d'utiliser SSL - (Secure Socket Layer — le protocole de sécurisation des + (Secure Socket Layer, le protocole de sécurisation des échanges sur internet, présenté auparavant). Si votre client Subversion a été compilé en incluant le support de SSL, il peut accéder à votre serveur Apache en utilisant des URL @@ -3027,7 +3032,7 @@ D'autres fonctionnalités de la relation Apache/Subversion sont également tout aussi utiles, comme par exemple la possibilité de spécifier un port personnalisé (au lieu du port - HTTP par défaut :80) ou un nom de domaine virtuel par lequel + HTTP par défaut, 80) ou un nom de domaine virtuel par lequel accéder au dépôt Subversion ou la possibilité d'accéder au dépôt via un serveur mandataire HTTP. @@ -3094,10 +3099,10 @@ pour la première fois ont tendance à se lancer dans le contrôle d'accès basé sur les chemins sans trop y réfléchir. L'administrateur sait en général quelles équipes travaillent sur - quel projet, il est dès lors facile de démarrer et d'accorder + quel projet, il est dès lors facile de démarrer en accordant l'accès pour certains répertoires à certaines équipes et pas à - d'autres. Ça peut sembler assez naturel, et apaiser le désir de - l'administrateur de contrôler le dépôt de très près. + d'autres. Ceci peut sembler assez naturel, et assouvir le désir + de l'administrateur de contrôler le dépôt de très près. Notez cependant qu'il y a souvent des coûts invisibles (et visibles !) associés à cette fonctionnalité. Dans la @@ -3117,7 +3122,7 @@ en place une barrière à la collaboration. Vous créez aussi tout un tas de règles qui doivent être gérées au fur et à mesure que les projets se développent, que de nouveaux utilisateurs sont - ajoutés, etc. C'est un quantité de travail supplémentaire à + ajoutés, etc. C'est une quantité de travail supplémentaire à fournir. Souvenez-vous que c'est un système de gestion de @@ -3159,20 +3164,22 @@ La syntaxe du fichier est la même syntaxe que celle utilisée dans svnserve.conf et dans les fichiers de - configuration. Les lignes commançant par un dièse - (#). Dans la forme la plus simple, chaque - section désigne un dépôt et un chemin à l'intérieur de celui-ci et - les noms d'utilisateurs authentifiés sont les noms des options à + configuration. Les lignes commençant par un dièse + (#) sont ignorées. Dans la forme la plus + simple, chaque section désigne un dépôt et un chemin + à l'intérieur de celui-ci et les noms d'utilisateurs + authentifiés sont les noms des options à l'intérieur de chaque section. La valeur de chaque option décrit - le niveau d'accès au chemin du dépôt de l'utilsateur : soit - r (lecture seule) soit rw - (lecture/écriture). Si l'utilisateur ne figure pas dans la + le niveau d'accès de l'utilisateur au chemin du dépôt : + soit r (lecture seule), + soit rw (lecture/écriture). ***The diff for this file has been truncated for email.*** From svnbook at googlecode.com Thu May 6 06:03:01 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 06 May 2010 11:03:01 +0000 Subject: [svnbook] r3731 committed - * src/fr/book/ch07-customizing-svn.xml... Message-ID: <0016e64d9a13de25950485eae21c@google.com> Revision: 3731 Author: subversif999 at gmail.com Date: Thu May 6 04:02:41 2010 Log: * src/fr/book/ch07-customizing-svn.xml - Translate Chapter 7 http://code.google.com/p/svnbook/source/detail?r=3731 Modified: /trunk/src/fr/book/ch07-customizing-svn.xml ======================================= --- /trunk/src/fr/book/ch07-customizing-svn.xml Fri Sep 12 07:39:35 2008 +++ /trunk/src/fr/book/ch07-customizing-svn.xml Thu May 6 04:02:41 2010 @@ -1,15 +1,16 @@ - Customizing Your Subversion Experience - - Version control can be a complex subject, as much art as - science, that offers myriad ways of getting stuff done. - Throughout this book, you've read of the various Subversion - command-line client subcommands and the options that modify their - behavior. In this chapter, we'll look into still more ways to - customize the way Subversion works for you—setting up the - Subversion runtime configuration, using external helper - applications, Subversion's interaction with the operating system's - configured locale, and so on. + Personnalisation de Subversion + + La gestion de versions est un sujet complexe, au moins autant + un art qu'une science, qui offre une myriade de façons d'accomplir + chaque tâche. En lisant ce livre, vous avez expérimenté les + sous-commandes Subversion en ligne de commande et les options pour + modifier leur comportement. Dans ce chapitre, nous passons + en revue les moyens de personnaliser le fonctionnement + de Subversion : la configuration des options d'exécution, + l'utilisation d'applications externes pour faciliter certains + traitements, les interactions de Subversion avec la configuration + des paramètres régionaux du système d'exploitation, etc. - Runtime Configuration Area - - Subversion provides many optional behaviors that the user can - control. Many of these options are of the kind - that a user would wish to apply to all Subversion operations. - So, rather than forcing users to remember command-line arguments - for specifying these options and to use them for every - operation they perform, Subversion uses configuration files, - segregated into a Subversion configuration area. - - The Subversion configuration area is - a two-tiered hierarchy of option names and their values. - Usually, this boils down to a special directory that contains - configuration files (the first tier), - which are just text files in standard INI format (with - sections providing the second tier). You can - easily edit these files using your favorite text editor (such as - Emacs or vi), and they contain directives read by the client to - determine which of several optional behaviors the user - prefers. + Zone de configuration des exécutables + + Subversion permet à l'utilisateur de contrôler finement son + comportement. Beaucoup d'options ont vocation à s'appliquer à + l'ensemble des opérations de Subversion. Ainsi, plutôt que de + forcer les utilisateurs à se souvenir d'arguments en ligne de + commande pour spécifier ces options et de les utiliser à chaque + invocation, Subversion utilise des fichiers de configuration, + tenus à l'écart dans une zone de configuration spécifique à + Subversion. + + La zone de configuration Subversion + consiste en une hiérarchie à deux niveaux constituée de noms + d'options et de leurs valeurs. Habituellement, cela se traduit + par un répertoire dédié qui contient les + fichiers de configuration (le premier + niveau) : des fichiers texte au format standard INI + (dont les sections constituent le deuxième + niveau). Vous pouvez facilement éditer ces fichiers à l'aide de + votre éditeur de texte favori (tel qu'Emacs ou vi). Ils + contiennent des directives lues par le client Subversion afin de + déterminer le comportement par défaut choisi par + l'utilisateur. - Configuration Area Layout - - The first time the svn - command-line client is executed, it creates a per-user - configuration area. On Unix-like systems, this area appears - as a directory named .subversion in the - user's home directory. On Win32 systems, Subversion creates a - folder named Subversion, typically inside - the Application Data area of the user's - profile directory (which, by the way, is usually a hidden - directory). However, on this platform, the exact location - differs from system to system and is dictated by the Windows - Registry. + Agencement de la zone de configuration + + La première fois que le client svn en + ligne de commande est exécuté, il crée une zone de + configuration propre à l'utilisateur. Sur les systèmes de type + Unix, cette zone est un répertoire nommé + .subversion dans le répertoire personnel + de l'utilisateur. Sur les systèmes Windows, Subversion crée un + dossier nommé Subversion, généralement + dans la zone Application Data du + répertoire qui contient le profil de l'utilisateur (qui est + habituellement, au passage, un répertoire caché). Cependant, + sur cette plate-forme, l'emplacement exact du profil + utilisateur varie d'un système à l'autre et est dicté par la + base de registre Windows - The APPDATA environment variable - points to the Application Data area, - so you can always refer to this folder as - %APPDATA%\Subversion. - - We will refer to the per-user configuration area using its Unix - name, .subversion. - - In addition to the per-user configuration area, Subversion - also recognizes the existence of a system-wide configuration - area. This gives system administrators the ability to - establish defaults for all users on a given machine. Note - that the system-wide configuration area alone does not dictate - mandatory policy—the settings in the per-user - configuration area override those in the system-wide one, and - command-line arguments supplied to the svn - program have the final word on behavior. On Unix-like - platforms, the system-wide configuration area is - expected to be the /etc/subversion - directory; on Windows machines, it looks for a - Subversion directory inside the common - Application Data location (again, as - specified by the Windows Registry). Unlike the per-user - case, the svn program does not attempt - to create the system-wide configuration area. - - The per-user configuration area currently contains three - files—two configuration files (config and - servers), and a README.txt - file, which describes the INI format. At the time of their - creation, the files contain default values for each of the - supported Subversion options, mostly commented out and grouped - with textual descriptions about how the values for the key - affect Subversion's behavior. To change a certain behavior, - you need only to load the appropriate configuration file into - a text editor, and to modify the desired option's value. If at - any time you wish to have the default configuration settings - restored, you can simply remove (or rename) your configuration - directory and then run some innocuous svn - command, such as svn --version. A new - configuration directory with the default contents will be - created. - - The per-user configuration area also contains a cache of - authentication data. The auth directory - holds a set of subdirectories that contain pieces of cached - information used by Subversion's various supported - authentication methods. This directory is created in such a - way that only the user herself has permission to read its - contents. + La variable d'environnement APPDATA + pointe vers la zone Application Data, + vous pouvez donc toujours faire référence à ce dossier en + utilisant %APPDATA%\Subversion. + . + Nous nous référerons à cette zone de configuration propre à + l'utilisateur en utilisant son nom Unix : + .subversion. + + En plus de la zone de configuration propre à l'utilisateur, + Subversion reconnaît l'existence d'une zone de configuration + globale pour le système. Cela permet aux administrateurs du + système d'établir une configuration par défaut pour l'ensemble + des utilisateurs d'une machine donnée. Notez que la zone de + configuration globale seule ne fixe pas de politique + définitive : les réglages de l'utilisateur sont + prioritaires par rapport aux réglages globaux et les options + de la ligne de commande ont toujours le dernier mot. Sur les + plate-formes de type Unix, la zone de configuration globale + doit se trouver dans le répertoire + /etc/subversion ; sur les machines + Windows, Subversion cherche un répertoire + Subversion dans le dossier commun + Application Data (là encore, l'endroit + exact dépend de la base de registre Windows). Au contraire de + la zone propre à l'utilisateur, le programme + svn ne tente pas de créer la zone de + configuration globale. + + La zone de configuration propre à l'utilisateur contient + actuellement trois fichiers : deux fichiers de + configuration (config et + servers) et un fichier + README.txt qui décrit le format INI. Lors + de leur création, ces fichiers contiennent les valeurs par + défaut de toutes les options supportées par Subversion, + généralement mises en commentaire et groupées avec une + description textuelle de l'effet de la clé sur le + fonctionnement de Subversion. Pour modifier un comportement + précis, il suffit de charger le fichier de configuration dans + un éditeur de texte et de changer la valeur de l'option + correspondante. Si, par la suite, vous voulez rétablir les + valeurs par défaut, vous n'avez qu'à supprimer ou renommer + votre répertoire de configuration puis lancer une commande + svn inoffensive, telle que + svn --version. Un nouveau répertoire + de configuration sera créé, qui contiendra les valeurs par + défaut. + + La zone de configuration propre à l'utilisateur contient + également un cache pour les données d'authentification. Le + répertoire auth héberge un ensemble de + sous-répertoires qui contiennent des informations mises en + cache, relatives aux différentes méthodes d'authentification + utilisées par Subversion. Ce répertoire est créé de telle + manière que seul l'utilisateur ait accès à son contenu. - Configuration and the Windows Registry - - In addition to the usual INI-based configuration area, - Subversion clients running on Windows platforms may also use - the Windows Registry to hold the configuration data. The - option names and their values are the same as in the INI - files. The file/section hierarchy is - preserved as well, though addressed in a slightly different - fashion—in this schema, files and sections are just - levels in the Registry key tree. - - Subversion looks for system-wide configuration values - under the - HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion - key. For example, the global-ignores option, - which is in the miscellany section of the - config file, would be found at + Configuration via la base de registre Windows + + En plus de la zone de configuration classique contenant + les fichiers INI, les clients Subversion qui tournent sur une + plate-forme Windows peuvent aussi utiliser la base de registre + Windows pour stocker leurs données de configuration. Les noms + des options et leurs valeurs sont les mêmes que dans les + fichiers INI. La hiérarchie fichier/section est + également présente, bien que traitée de manière légèrement + différente : dans ce cas, les fichiers et les sections + sont juste des niveaux dans l'arborescence des clés de + registres. + + Subversion cherche les valeurs de configuration + applicables à tout le système sous la clé + HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion. + Par exemple, l'option global-ignores, qui + se trouve dans la section miscellany du + fichier de configuration, est située dans HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores. - Per-user configuration values should be stored under + Les valeurs propres à un utilisateur doivent être stockées sous HKEY_CURRENT_USER\Software\Tigris.org\Subversion. - - - Registry-based configuration options are parsed - before their file-based counterparts, so - they are overridden by values found in the configuration files. In - other words, Subversion looks for configuration information in - the following locations on a Windows system; lower-numbered - locations take precedence over higher-numbered locations: - + + + Les options de configuration de la base de registre sont + analysées avant les options des fichiers + INI ; elles sont donc supplantées par les valeurs trouvées + dans les fichiers de configuration. En d'autres termes, + Subversion cherche les options de configuration dans l'ordre + suivant sur un système Windows (les plus prioritaires sont + citées en premier) : + - Command-line options + les options en ligne de commande ; - The per-user INI files + les fichiers INI propres à l'utilisateur ; - The per-user Registry values + les valeurs de la base de registre propres + à l'utilisateur ; - The system-wide INI files + les fichiers INI applicables à l'ensemble + du système ; - The system-wide Registry values + les valeurs de la base de registre applicables + à l'ensemble du système. - Also, the Windows Registry doesn't really support the - notion of something being commented out. - However, Subversion will ignore any option key whose name - begins with a hash (#) character. This - allows you to effectively comment out a Subversion option - without deleting the entire key from the Registry, obviously - simplifying the process of restoring that option. - - The svn command-line client never - attempts to write to the Windows Registry and will not attempt - to create a default configuration area there. You can create - the keys you need using the REGEDIT - program. Alternatively, you can create a - .reg file (such as the one in ), and - then double-click on that file's icon in the Explorer shell, - which will cause the data to be merged into your - Registry. + Par ailleurs, la base de registre Windows ne supporte pas + vraiment la notion de mise en commentaire. + Cependant, Subversion ignorera toute clé dont le nom commence + par le caractère dièse (#). Cela vous + permet de mettre en commentaire efficacement une option + Subversion sans avoir à effacer entièrement la clé de la base + de registre, ce qui simplifie manifestement la procédure de + restauration de l'option. + + Le client en ligne de commande svn + n'écrit jamais dans la base de registre et ne tentera pas d'y + créer une zone de configuration par défaut. Vous pouvez créer + les clés dont vous avez besoin en utilisant le programme + REGEDIT. Une autre alternative consiste à + créer un fichier .reg (tel que celui + donné dans l') + puis à double-cliquer sur l'icône de ce fichier dans + l'explorateur Windows afin d'appliquer les modifications + à votre base de registre. - Sample registration entries (.reg) file + Exemple de fichier de modification de la base + de registre (.reg) REGEDIT4 @@ -224,230 +245,250 @@ - The previous example shows the contents of a - .reg file, which contains some of the most - commonly used configuration options and their default values. - Note the presence of both system-wide (for network - proxy-related options) and per-user settings (editor programs - and password storage, among others). Also note that all the - options are effectively commented out. You need only to - remove the hash (#) character from the - beginning of the option names and set the values as you - desire. + L'exemple précédent présente le contenu d'un fichier + .reg qui contient quelques unes des + options les plus communément utilisées et leurs valeurs + par défaut. Notez la présence de réglages propres à + l'utilisateur (notamment l'éditeur de texte et le stockage + des mots de passe) ainsi que de réglages applicables à + l'ensemble du système (comme les options relatives au + mandataire réseau). Notez également que toutes les options + sont mises en commentaire. Il ne vous reste qu'à supprimer + le caractère dièse (#) initial des noms + d'options et à leur affecter la valeur que vous + souhaitez. - Configuration Options + Options de configuration - In this section, we will discuss the specific - runtime configuration options that Subversion currently - supports. + Dans cette section, nous allons nous intéresser aux + options de configuration des programmes supportées par la + version actuelle de Subversion. - Servers - - The servers file contains - Subversion configuration options related to the network - layers. There are two special section names in this - file—groups and - global. The groups - section is essentially a cross-reference table. The keys in - this section are the names of other sections in the file; - their values are globs—textual - tokens that possibly contain wildcard - characters—that are compared against the hostnames of - the machine to which Subversion requests are sent. + Fichier <filename>servers</filename> + + Le fichier servers contient les + options de configuration relatives aux couches réseau. Il + y a deux sections spéciales dans ce fichier : + groups et global. + La section groups n'est rien d'autre + qu'un tableau de références croisées. Les clés de cette + section sont les noms des autres sections du fichier ; + ses valeurs sont des globs (des + représentations textuelles qui peuvent contenir des + caractères joker) qui sont comparés aux noms des machines + auxquelles des requêtes Subversion sont envoyées. [groups] -beanie-babies = *.red-bean.com +serveurs-red-beans = *.red-bean.com collabnet = svn.collab.net -[beanie-babies] +[serveurs-red-beans] … [collabnet] … - When Subversion is used over a network, it attempts to - match the name of the server it is trying to reach with a - group name under the groups section. If - a match is made, Subversion then looks for a section in the - servers file whose name is the matched - group's name. From that section, it reads the actual network - configuration settings. - - The global section contains the - settings that are meant for all of the servers not matched - by one of the globs under the groups - section. The options available in this section are - exactly the same as those that are valid for the other server - sections in the file (except, of course, the special - groups section), and are as - follows: + Quand vous utilisez Subversion en réseau, il essaie de + faire correspondre le nom du serveur auquel il tente de se + connecter avec un nom de groupe de la section + groups. Si une correspondance existe, + Subversion vérifie alors s'il existe dans le fichier + servers une section dont le nom est + le nom du groupe correspondant. Le cas échéant, il tire + de cette section la configuration réseau à appliquer. + + La section global contient la + configuration à appliquer à tous les serveurs qui ne + correspondent à aucun glob de la section + groups. Les options disponibles dans + cette section sont exactement les mêmes que pour les autres + sections du fichier (exceptée bien sûr la section spéciale + groups) et sont : http-proxy-exceptions - This specifies a comma-separated list of patterns - for repository hostnames that should be accessed - directly, without using the proxy machine. The - pattern syntax is the same as is used in the Unix - shell for filenames. A repository hostname matching - any of these patterns will not be proxied. + Cette option contient une liste de motifs + (séparés par des virgules) de noms de machines + qui doivent être contactées directement, sans passer + par le mandataire. La syntaxe des motifs est la même + que celle utilisée par le shell Unix pour les noms de + fichiers. L'accès aux dépôts d'une machine dont le nom + correspond à l'un de ces motifs se fera sans passer + par un mandataire. http-proxy-host - This specifies the hostname of the proxy computer - through which your HTTP-based Subversion requests must - pass. It defaults to an empty value, which means that - Subversion will not attempt to route HTTP requests - through a proxy computer, and will instead attempt to - contact the destination machine directly. + Cette option contient le nom de la machine + mandataire pour les requêtes HTTP de Subversion. La + valeur par défaut est vide, ce qui signifie que + Subversion ne tentera pas de faire passer ses requêtes + par un mandataire mais essaiera de contacter la machine + de destination directement. http-proxy-port - This specifies the port number on the proxy host - to use. It defaults to an empty value. + Cette option contient le numéro du port à + utiliser sur la machine mandataire. Par défaut, + la valeur est vide. http-proxy-username - This specifies the username to supply to the proxy - machine. It defaults to an empty value. + Cette option contient le nom d'utilisateur à + fournir à la machine mandataire. Par défaut, la valeur + est vide. http-proxy-password - This specifies the password to supply to the proxy - machine. It defaults to an empty value. + cette option contient le mot de passe à fournir à + la machine mandataire. Par défaut, la valeur est + vide. http-timeout - This specifies the amount of time, in seconds, to - wait for a server response. If you experience - problems with a slow network connection causing - Subversion operations to time out, you should increase - the value of this option. The default value is - 0, which instructs the underlying - HTTP library, Neon, to use its default timeout - setting. + Cette option contient la durée maximum, en + secondes, pendant laquelle Subversion attend la + réponse du serveur. Si vous rencontrez des problèmes + d'opérations Subversion qui expirent à cause d'une + connexion réseau trop lente, vous devez augmenter + cette valeur. Par défaut, la valeur est + 0, ce qui conduit la bibliothèque + HTTP sous-jacente (Neon) à utiliser sa propre valeur + par défaut. http-compression - This specifies whether Subversion should - attempt to compress network requests made to DAV-ready - servers. The default value is yes - (though compression will occur only if that capability - is compiled into the network layer). Set this to - no to disable compression, such as - when debugging network transmissions. + Cette option indique si oui ou non Subversion + doit essayer de compresser les requêtes réseaux à + destination de serveurs DAV. La valeur par défaut est + yes. Notez que la compression ne + sera effective que si la couche réseau a été compilée + avec le support de la compression. Mettez + no pour ne pas activer la + compression, par exemple lorsque vous analysez les + transmissions réseaux. http-library - Subversion provides a pair of repository access - modules that understand its WebDAV network protocol. - The original one, which shipped with Subversion 1.0, is - libsvn_ra_neon (though back then it - was called libsvn_ra_dav). Newer - Subversion versions also provide - libsvn_ra_serf, which uses a - different underlying implementation and aims to - support some of the newer HTTP concepts. - - At this point, libsvn_ra_serf - is still considered experimental, though it appears to - work in the common cases quite well. To encourage - experimentation, Subversion provides the - http-library runtime configuration - option to allow users to specify (generally, or in a - per-server-group fashion) which WebDAV access module - they'd prefer to use—neon or + Subversion est fourni avec deux modules d'accès + aux dépôts qui utilisent le protocole réseau WebDAV. + Le module originel, fourni avec Subversion 1.0, est + libsvn_ra_neon + (bien qu'en ce temps-là, il s'appelait + libsvn_ra_dav). Les nouvelles + versions de Subversion fournissent également + libsvn_ra_serf, qui utilise une + implémentation sous-jacente différente et qui vise à + supporter certains des concepts HTTP les plus + récents. + + Actuellement, libsvn_ra_serf + est toujours considérée en version expérimentale, + bien qu'elle semble fonctionner correctement dans les + cas usuels. Afin d'inciter les gens à l'essayer, + Subversion fournit l'option de configuration + http-library pour permettre aux + utilisateurs de définir (globalement ou par groupe de + serveurs) quel module d'accès WebDAV ils veulent + utiliser : neon ou serf. http-auth-types - This option is a semicolon-delimited list of - authentication types supported by the Neon-based - WebDAV repository access modules. Valid members of - this list are basic, - digest, and + Cette option liste les méthodes + d'authentification (séparées par des points-virgules) + supportées par les module d'accès aux dépôts WebDAV + basés sur Neon. Les valeurs valides sont : + basic, + digest et negotiate. neon-debug-mask - This is an integer mask that the underlying HTTP - library, Neon, uses for choosing what type of - debugging output to yield. The default value is - 0, which will silence all debugging - output. For more information about how Subversion - makes use of Neon, see . + Cette option contient un entier qui représente un + masque que la bibliothèque HTTP sous-jacente (Neon) + utilise pour choisir quel type d'affichage de débogage + autoriser. La valeur par défaut est 0, + ce qui interdit tout affichage de débogage. Pour plus + d'informations sur l'utilisation de Neon par + Subversion, reportez-vous au . ssl-authority-files - This is a semicolon-delimited list of paths to files - containing certificates of the certificate authorities - (or CAs) that - are accepted by the Subversion client when accessing the - repository over HTTPS. + Cette option contient une liste de chemins + (séparés par des points-virgules) vers les fichiers + contenant les certificats des autorités de + certifications (AC) qui doivent être reconnues comme + de confiance par le client Subversion lors des accès + aux dépôts en HTTPS. ssl-trust-default-ca - Set this variable to yes if you - want Subversion to automatically trust the set of - default CAs that ship with OpenSSL. + Mettez cette variable à yes + si vous voulez que Subversion fasse automatiquement + confiance à l'ensemble des autorités de certification + livrées par défaut avec OpenSSL. ssl-client-cert-file - If a host (or set of hosts) requires an SSL client - certificate, you'll normally be prompted for a path to - your certificate. By setting this variable to that - same path, Subversion will be able to find your client - certificate automatically without prompting you. - There's no standard place to store your certificate on - disk; Subversion will grab it from any path you - specify. + Si un hôte (ou un ensemble d'hôtes) demande un + certificat SSL au client, vous serez sollicité pour + fournir le chemin de votre certificat. Dès que cette + variable contient ce chemin, Subversion sera capable + de trouver automatiquement votre certificat et ne + vous sollicitera pas. Il n'existe pas d'emplacement + standard pour stocker un certificat utilisateur sur + le disque ; Subversion va le chercher à l'endroit + que vous lui spécifiez. ssl-client-cert-password - If your SSL client certificate file is encrypted - by a passphrase, Subversion will prompt you for the - passphrase whenever the certificate is used. If you - find this annoying (and don't mind storing the - password in the servers file), - you can set this variable to the certificate's - passphrase. You won't be prompted anymore. + Si votre certificat client SSL est protégé par + une phrase de passe, Subversion vous la demandera + à chaque fois que le certificat est utilisé. Si vous + trouvez cela pénible (et que cela ne vous dérange pas + que cette phrase de passe soit stockée dans le fichier + servers), vous pouvez placer + dans cette variable la phrase de passe de votre + certificat. Vous ne serez plus sollicité. @@ -456,334 +497,367 @@ - Config - - The config file contains the rest - of the currently available Subversion runtime - options—those not related to networking. There are - only a few options in use as of this writing, but they are - again grouped into sections in expectation of future - additions. - - The auth section contains settings - related to Subversion's authentication and authorization - against the repository. It contains the following: + Fichier <filename>config</filename> + + Le fichier config contient le reste + des options du programme Subversion disponibles actuellement, + c'est-à-dire celles qui ne se rapportent pas au réseau. Au + moment où ces lignes sont écrites, seules quelques options + sont utilisées, mais elles sont quand même regroupées en + sections en prévision d'ajouts futurs. + + La section auth contient les + paramètres relatifs à l'authentification et au contrôle + d'accès de Subversion pour les dépôts. Elle comprend les + options suivantes : store-passwords - This instructs Subversion to cache, or not to - cache, passwords that are supplied by the user in - response to server authentication challenges. The - default value is yes. Set this to - no to disable this on-disk password - caching. You can override this option for a single - instance of the svn command using - the command-line - parameter (for those subcommands that support it). - For more information, see Cette option demande à Subversion de garder en + cache (ou non) les mots de passe qui sont tapés par + l'utilisateur en réponse aux demandes + d'authentification des serveurs. La valeur par défaut + est yes. Remplacez cette valeur par + no pour désactiver la mise en cache + sur le disque. Vous pouvez outrepasser cette option + pour un appel donné d'une commande + svn en utilisant l'option de ligne + de commande (pour les + sous-commandes qui acceptent cette option). Pour plus + d'informations, consultez . store-auth-creds - This setting is the same as - store-passwords, except that it - enables or disables on-disk caching of - all authentication information: - usernames, passwords, server certificates, and any - other types of cacheable credentials. + cette option est équivalente à + store-passwords sauf qu'elle + applique la mise en cache sur le disque (ou non) à + l'ensemble des informations + d'authentification : identifiants, mots de passe, + certificats serveur et tout autre type d'élément + pouvant être mis en cache. - The helpers section controls which - external applications Subversion uses to accomplish its - tasks. Valid options in this section are: + La section helpers définit quelles + sont les applications externes utilisées par Subversion pour + accomplir ses tâches. Les options valides dans cette section + sont : editor-cmd - This specifies the program Subversion will use to - query the user for certain types of textual metadata - or when interactively resolving conflicts. See - for - more details on using external text editors with - Subversion. + Cette option indique le programme utilisé par + l'utilisateur auquel Subversion demande d'entrer des + méta-données textuelles ou de résoudre les conflits de + manière interactive. Consultez + pour plus de détails sur l'utilisation d'un éditeur de + texte externe avec Subversion. diff-cmd - This specifies the absolute path of a differencing - program, used when Subversion generates - diff output (such as when using the - svn diff command). By default, - Subversion uses an internal differencing - library—setting this option will cause it to - perform this task using an external program. See - for - more details on using such programs. + Cette option contient le chemin absolu du + programme de comparaison qui est utilisé lorsque + Subversion doit afficher à l'utilisateur plusieurs + fichiers à comparer (par exemple lors de l'utilisation + de la commande svn diff). Par + défaut, Subversion utilise une bibliothèque interne de + comparaison. Définir cette option le forcera à utiliser + un programme externe pour effectuer cette tâche. + Consultez + pour plus de détails sur l'utilisation de tels + programmes. diff3-cmd - This specifies the absolute path of a three-way - differencing program. Subversion uses this program to - merge changes made by the user with those received - from the repository. By default, Subversion uses an - internal differencing library—setting this - option will cause it to perform this task using an - external program. See for more - details on using such programs. + Cette option contient le chemin absolu d'un + programme de comparaison à trois entrées. Subversion + utilise ce programme pour fusionner les changements + effectués par l'utilisateur avec ceux en provenance + du dépôt. Par défaut, Subversion utilise une + bibliothèque interne de comparaison. Définir cette + option le forcera à utiliser un programme externe pour + effectuer cette tâche. Consultez + pour plus de détails sur l'utilisation de tels + programmes. diff3-has-program-arg - This flag should be set to true - if the program specified by the - diff3-cmd option accepts a - command-line - parameter. + Ce drapeau doit être mis à true + si le programme spécifié par l'option + diff3-cmd accepte l'option + en ligne de + commande. merge-tool-cmd - This specifies the program that Subversion will - use to perform three-way merge operations on your - versioned files. See for more - details on using such programs. + Cette option contient le programme que Subversion + utilise pour effectuer les opérations de fusion à + trois sources sur vos fichiers suivis en versions. + Consultez pour plus + de détails sur l'utilisation de tels + programmes. - The tunnels section allows you to - define new tunnel schemes for use with - svnserve and svn:// - client connections. For more details, see . - - The miscellany section is where - everything that doesn't belong elsewhere winds up. + La section tunnels vous permet de + définir de nouveaux tunnels à utiliser avec les connexions + clientes svnserve et + svn://. Pour plus de détails, consultez + . + + La section miscellany récolte tout + ce qui n'a pas sa place ailleurs - Anyone for potluck dinner? + En clair, c'est un joyeux fourre-tout. - In this section, you can find: + Dans cette section, vous trouvez : global-ignores - When running the svn status - command, Subversion lists unversioned files and - directories along with the versioned ones, annotating - them with a ? character (see ). Sometimes it can - be annoying to see uninteresting, unversioned - items—for example, object files that result from - a program's compilation—in this display. The - global-ignores option is a list of - whitespace-delimited globs that describe the names of - files and directories that Subversion should not - display unless they are versioned. The default value - is *.o *.lo *.la #*# .*.rej *.rej .*~ *~ - .#* .DS_Store. - - As well as svn status, the - svn add and svn import - commands also ignore files that match the list - when they are scanning a directory. You can override this - behavior for a single instance of any of these commands - by explicitly specifying the filename, or by using - the command-line flag. - - For information on finer-grained control of - ignored items, see - . + Quand vous exécutez la commande + svn status, Subversion affiche la + liste des fichiers et répertoires non suivis en versions + avec ceux qui sont suivis en versions, en les marquant + d'un caractère ? (voir + ). + Parfois, ces éléments inutiles et non suivis en version + ne font que rendre l'affichage plus confus, par exemple + dans le cas des fichiers objets générés par les + compilations. L'option + contient une liste de globs séparés par des espaces + qui décrivent les noms de fichiers et de répertoires + que Subversion ne doit pas afficher, sauf s'ils sont + suivis en versions. La valeur par défaut est + *.o *.lo *.la #*# .*.rej + *.rej .*~ *~ .#* .DS_Store. + + Tout comme svn status, les + commandes svn add et svn + import ignorent les fichiers qui entrent en + correspondance avec la liste lors du parcours d'un + répertoire. Vous pouvez bloquer ce comportement pour + une instance donnée de ces commandes en spécifiant + explicitement le nom de fichier ou en utilisant + l'option en ligne de + commande. ***The diff for this file has been truncated for email.*** From svnbook at googlecode.com Thu May 6 11:42:51 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 06 May 2010 16:42:51 +0000 Subject: [svnbook] r3732 committed - * src/en/book/ch05-repository-admin.xml... Message-ID: <00504501770c32ae710485efa287@google.com> Revision: 3732 Author: cmpilato at gmail.com Date: Thu May 6 09:42:34 2010 Log: * src/en/book/ch05-repository-admin.xml Update information about the dav/ repository subdirectory. http://code.google.com/p/svnbook/source/detail?r=3732 Modified: /trunk/src/en/book/ch05-repository-admin.xml ======================================= --- /trunk/src/en/book/ch05-repository-admin.xml Tue May 26 08:17:39 2009 +++ /trunk/src/en/book/ch05-repository-admin.xml Thu May 6 09:42:34 2010 @@ -61,7 +61,7 @@ $ ls repos -conf/ dav/ db/ format hooks/ locks/ README.txt +conf/ db/ format hooks/ locks/ README.txt Here's a quick fly-by overview of what exactly you're seeing @@ -75,14 +75,6 @@ A directory containing configuration files - - - dav - - A directory provided to - mod_dav_svn for its private - housekeeping data - db @@ -120,6 +112,24 @@ + + Prior to Subversion 1.5, the on-disk repository structure + also always contained a dav subdirectory. + mod_dav_svn used this directory to store + information about + WebDAV activities—mappings of + high-level WebDAV protocol concepts to Subversion commit + transactions. Subversion 1.5 changed that behavior, moving + ownership of the activities directory, and the ability to + configure its location, into mod_dav_svn + itself. Now, new repositories will not necessarily have + a dav subdirectory + unless mod_dav_svn is in use and hasn't + been configured to store its activities database elsewhere. + See for + more information. + + Of course, when accessed via the Subversion libraries, this otherwise unremarkable collection of files and directories suddenly becomes an implementation of a virtual, versioned From svnbook at googlecode.com Fri May 7 05:46:01 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Fri, 07 May 2010 10:46:01 +0000 Subject: [svnbook] r3733 committed - * src/fr/book/ch08-embedding-svn.xml... Message-ID: <001485f7d536e9ceb40485fec366@google.com> Revision: 3733 Author: subversif999 at gmail.com Date: Fri May 7 03:45:10 2010 Log: * src/fr/book/ch08-embedding-svn.xml - Fix typos http://code.google.com/p/svnbook/source/detail?r=3733 Modified: /trunk/src/fr/book/ch08-embedding-svn.xml ======================================= --- /trunk/src/fr/book/ch08-embedding-svn.xml Tue Mar 23 15:21:44 2010 +++ /trunk/src/fr/book/ch08-embedding-svn.xml Fri May 7 03:45:10 2010 @@ -4,11 +4,12 @@ Subversion est conçu de manière modulaire : il est constitué d'un ensemble de bibliothèques écrites en langage C. Chaque bibliothèque a un but et une interface de programmation - (API, application programming interface en anglais) bien - définis ; cette interface est disponible non seulement pour le + (API, application programming + interface en anglais) bien définis ; + cette interface est disponible non seulement pour le propre usage de Subversion mais aussi pour n'importe quel programme qui souhaite inclure ou piloter Subversion d'une manière ou d'une - autre. En plus, l'API Subversion est non seulement disponible pour + autre. De plus, l'API Subversion est non seulement disponible pour les programmes écrits en langage C, mais aussi pour les programmes écrits dans des langages de plus haut niveau tels que Python, Perl, Java et Ruby. @@ -33,16 +34,16 @@ Organisation des bibliothèques en couches successives Chaque bibliothèque au sein de Subversion peut être classée - dans une des trois couches principales — la couche dépôt, la - couche d'accès au dépôt (RA pour repository access - en anglais) et la couche client (voir la de la préface). Nous - allons examiner ces trois couches rapidement mais, d'abord, + dans une des trois couches principales : la couche dépôt, la + couche d'accès au dépôt (RA pour Repository + Access en anglais) et la couche client (voir la + de la préface). + Nous allons examiner ces trois couches rapidement mais, d'abord, passons brièvement en revue les différentes bibliothèques de Subversion. Pour des raisons de cohérence, nous nous référons à ces bibliothèques par leurs noms Unix sans extension (libsvn_fs, libsvn_wc, - mod_dav_svn, etc.). + mod_dav_svn, etc.). @@ -111,7 +112,7 @@ libsvn_wc bibliothèque pour la gestion de la copie de - travail local ; + travail locale ; mod_authz_svn @@ -145,7 +146,7 @@ libsvn_ra_serf et libsvn_ra_svn implémentent toutes la même interface et fonctionnent comme des greffons pour - libsvn_ra. Et toutes les quatre communiquent + libsvn_ra. Et toutes les quatre communiquent avec la couche dépôt — libsvn_ra_local se connectant directement au dépôt, les trois autres le faisant à travers le réseau. @@ -166,10 +167,11 @@ fournissent différents types d'IHM. Ces interfaces graphiques utilisent la même API que le client en ligne de commande fourni en standard. Depuis le début, cette modularité joue un rôle majeur - dans la prolifération des différents clients Subversion (sous la + dans la prolifération des différents clients Subversion, sous la forme de clients autonomes ou greffés dans des environnements de - développement intégrés [IDE en anglais]) et, par extension, dans - l'adoption formidablement rapide de Subversion lui-même. + développement intégrés (IDE en + anglais) et, par extension, dans l'adoption formidablement rapide + de Subversion lui-même. @@ -221,7 +223,7 @@ vous pouvez attendre de n'importe quel autre système de fichiers : vous pouvez créer et supprimer des fichiers et des répertoires, les copier et les déplacer, modifier le contenu - d'un fichier, etc. Elle possède également des caractéristiques + d'un fichier, etc. Elle possède également des caractéristiques peu communes comme la capacité d'ajouter, modifier et supprimer des méta-données (propriétés) sur chaque fichier ou répertoire. En outre, le système de fichiers Subversion est @@ -229,7 +231,7 @@ si vous faites des modifications dans votre arborescence, Subversion se souvient de l'état de votre arborescence avant les modifications. Et il se souvient aussi de l'état avant les - modifications précédentes, et l'état encore antérieur, et ainsi + modifications précédentes, et de l'état encore antérieur, et ainsi de suite. Vous pouvez ainsi remonter le temps (c'est-à-dire les versions) jusqu'au moment où vous avez commencé à ajouter des éléments dans le système de fichiers. @@ -241,19 +243,19 @@ - Commencer une transaction de propagation de + commencer une transaction de propagation de Subversion ; - Effectuer les modifications (ajouts, suppressions, - modifications de propriétés, etc.) ; + effectuer les modifications (ajouts, suppressions, + modifications de propriétés, etc.) ; - Clore la transaction. + clore la transaction. - Une fois que la transaction est cloturée, les + Une fois que la transaction est terminée, les modifications du système de fichiers sont stockées de façon permanente en tant qu'éléments de l'historique. Chacun de ces cycles génère une nouvelle révision de l'arborescence et @@ -345,7 +347,7 @@ qui demande un argument de type chemin attend également un argument de type racine (dénommé en fait svn_fs_root_t). Cet argument décrit - soit une révision soit une transaction (qui est en fait la + soit une révision, soit une transaction (qui est en fait la genèse d'une révision) et fournit la troisième dimension, l'élément de contexte indispensable pour différencier /machin/bidule dans la révision 32 et le @@ -355,20 +357,20 @@ l'univers du système de fichiers Subversion.
- Ajouter le temps pour le suivi de versions — la - troisième dimension ! + Prise en compte du temps — la + troisième dimension de la gestion de versions !
Comme nous l'avons déjà mentionné, l'API de libsvn_fs ressemble à s'y méprendre à celle de n'importe quel autre système de fichiers, sauf qu'on y a - ajouté la formidable capacité de suivre les versions. Elle a été + ajouté la formidable capacité de gestion des versions. Elle a été conçue pour être utilisable par n'importe quel programme ayant - besoin d'un système de fichiers suivi en versions. Et, ce n'est - pas un hasard, Subversion lui-même est intéressé par une telle + besoin d'un système de fichiers suivi en versions. Et ce n'est + pas un hasard si Subversion lui-même est intéressé par une telle fonctionnalité. Mais, bien que cette API soit suffisante pour - effectuer un suivi en versions basique des fichiers et des + effectuer une gestion de versions basique des fichiers et des répertoires, Subversion en demande plus, et c'est là que libsvn_repos entre en scène. @@ -409,7 +411,7 @@ obtenir les messages de propagation associés à toutes - (ou certaines) les révisions qui ont modifié un ensemble de + les révisions (ou certaines) qui ont modifié un ensemble de fichiers du système de fichiers ; @@ -425,8 +427,8 @@ Comme Subversion continue à évoluer, la bibliothèque du dépôt - grandit avec la bibliothèque du système de fichiers pour offrir - davantage de fonctionnalités et des options configurables. + grandit avec la bibliothèque du système de fichiers pour offrir + davantage de fonctionnalités et des options configurables.
@@ -436,10 +438,10 @@ Si la couche Dépôt de Subversion est à l'autre bout de la ligne, la couche d'accès au dépôt (RA pour - repository access en anglais) est la ligne en - tant que telle. Chargée d'organiser les données entre les - bibliothèques client et le dépôt, cette couche inclut la - bibliothèque de chargement du module + repository access en anglais) + est la ligne en tant que telle. Chargée d'organiser les données + entre les bibliothèques client et le dépôt, cette couche inclut + la bibliothèque de chargement du module libsvn_ra, les modules RA eux-mêmes (qui incluent à l'heure actuelle libsvn_ra_neon, libsvn_ra_local, @@ -492,10 +494,10 @@ fonctionnalités nécessaires pour envoyer des données suivies en versions vers le dépôt et pour en recevoir. Chacun des greffons RA disponibles est capable d'effectuer ces tâches en utilisant - un protocole particulier :libsvn_ra_dav + un protocole particulier : libsvn_ra_dav utilise le protocole HTTP/WebDAV (avec chiffrement SSL en option) pour communiquer avec un serveur HTTP Apache sur lequel - fonctionne le module serveur Subversion + tourne le module serveur Subversion mod_dav_svn ; libsvn_ra_svn utilise un protocole réseau propre à Subversion pour communiquer avec le programme @@ -507,10 +509,10 @@ tout simplement écrire une nouvelle bibliothèque qui implémente l'interface RA d'un côté et qui communique avec le dépôt de l'autre. Votre nouvelle bibliothèque peut utiliser des - protocoles réseaux existants ou vous pouvez en inventer un - nouveau. Vous pourriez ainsi utiliser les communications - inter-processus (IPC pour interprocess - communication en anglais) ou même, soyons fou, + protocoles réseaux existants ou vous pouvez en inventer de + nouveaux. Vous pouvez ainsi utiliser les communications + inter-processus (IPC pour interprocess + communication en anglais) ou même, soyons fou, implémenter un protocole basé sur l'email. Subversion apporte les API, à vous d'apporter la créativité. @@ -520,8 +522,8 @@ Couche client - Côté client, la copie de travail Subversion est l'endroit où - tout se passe. Le gros des fonctionnalités implémentées par les + Côté client, tout se passe dans la copie de travail + Subversion. Le gros des fonctionnalités implémentées par les bibliothèques client existe dans le seul but de gérer les copies de travail locales — des répertoires pleins de fichiers et d'autres sous-répertoires qui sont une sorte de copie locale et @@ -531,19 +533,20 @@ La bibliothèque de Subversion pour la copie de travail, libsvn_wc, est directement responsable de la gestion des données dans les copies de travail. Pour ce - faire, la bibliothèque stocke des données d'administration à - propos de chaque répertoire suivi en versions dans un - sous-répertoire spécial. Ce sous-répertoire, nommé + faire, la bibliothèque stocke dans un sous-répertoire spécial + des données d'administration concernant chaque répertoire + suivi en versions. Ce sous-répertoire, nommé .svn, est présent dans chaque répertoire d'une copie de travail ; il contient tout un tas de fichiers et de répertoires qui enregistrent l'état du répertoire suivi en versions et fournit un espace privé pour les actions d'administration. Pour les habitués de CVS, ce sous-répertoire .svn a des objectifs similaires aux - répertoires administratifs CVS que l'on trouve dans les copies - de travail CVS. Pour plus d'informations sur la zone - d'administration .svn, reportez-vous à - plus loin dans ce + répertoires administratifs CVS que l'on + trouve dans les copies de travail CVS. + Pour plus d'informations sur la zone d'administration + .svn, reportez-vous à + plus loin dans ce chapitre. La bibliothèque client de Subversion, @@ -552,7 +555,7 @@ fonctionnalités de la bibliothèque de la copie de travail avec celles de la couche d'accès au dépôt (RA) afin de fournir l'API de plus haut niveau, utilisable par n'importe quelle application - qui voudrait effectuer des actions générales de suivi de + qui voudrait effectuer des actions générales de gestion de versions. Par exemple, la fonction svn_client_checkout() prend une URL en argument. Elle passe cette URL à la couche RA et ouvre une @@ -560,17 +563,18 @@ ensuite au dépôt l'arborescence requise, envoie cette arborescence à la bibliothèque de la copie de travail, qui écrit alors une copie de travail complète sur le disque (les - répertoires .svn et tout). + répertoires .svn et tout le reste). La bibliothèque client est conçue pour être utilisée par n'importe quelle application. Alors que le code source de Subversion inclut un client standard en ligne de commande, le - but recherché est qu'il doit être très facile d'écrire un nombre - quelconque de clients utilisant une interface utilisateur - graphique (GUI en anglais) par dessus cette bibliothèque client. - Les nouvelles GUI (ou les nouveaux clients en fait) pour - Subversion n'ont aucune raison de n'être que des sur-couches au - client en ligne de commande : elles ont un accès total, via + but recherché est qu'il soit très facile d'écrire un nombre + quelconque de clients dotés d'un environnement graphique + (GUI en anglais) par-dessus + cette bibliothèque client. Il n'y a pas de raison que les + nouveaux environnements graphiques (ou les nouveaux clients en + fait) pour Subversion ne soient que des sur-couches au client + en ligne de commande : ils ont un accès total, via l'API libsvn_client, aux mêmes fonctionnalités, données et autres mécanismes que le client en ligne de commande utilise. En fait, le code source de Subversion @@ -594,7 +598,7 @@ un affichage lisible par l'utilisateur. Ce type de traduction peut induire des pertes. C'est-à-dire que le programme n'affiche peut-être pas l'ensemble des informations qu'il a - obtenu de l'API ou alors qu'il combine peut-être certaines + obtenues de l'API ou qu'il combine peut-être certaines informations pour obtenir une représentation plus compacte. @@ -611,7 +615,7 @@ Mais l'argument décisif quant à l'utilisation directe des API plutôt que d'encapsuler d'autres programmes est que le projet Subversion assure la compatibilité vis-à-vis de ses - API. Lors des changements de versions mineurs des API (comme + API. Lors des changements de version mineure des API (comme par exemple entre la version 1.3 et 1.4), aucun prototype de fonction ne change. En d'autres termes, vous n'êtes pas forcé de mettre à jour le code source de votre programme simplement @@ -620,8 +624,8 @@ fonctionneront toujours. Ainsi, cela vous laisse de la marge pour éventuellement adopter les nouvelles API. Ce type de promesse de compatibilité n'existe pas pour les sorties du - programme Subversion en ligne de commande, qui est susceptible - de changer à chaque version. + programme Subversion en ligne de commande, qui sont + susceptibles de changer à chaque version. @@ -643,9 +647,9 @@ - à quel emplacement du dépôt font référence les fichiers et - les sous-répertoires dans le répertoire de la copie de - travail ; + à quel emplacement du dépôt les fichiers et les + sous-répertoires du répertoire de la copie de travail + font référence ; quelle révision de chacun de ces fichiers et répertoires @@ -689,7 +693,7 @@ originales et des propriétés, les informations d'état sur les conflits et les actions planifiées, les dernières informations connues sur les propagations (auteur, numéro de révision et - horodatage), l'historique de la copie locale — + horodatage) et l'historique de la copie locale : pratiquement tout ce qui intéresse un client Subversion à propos d'un élément suivi (ou à suivre) en versions ! @@ -729,23 +733,23 @@ Comme mentionné auparavant, le répertoire .svn contient aussi les copies originales (avant modification locale) des fichiers : les - versions de base (text-base - versions en anglais). Vous pouvez les trouver dans - le répertoire .svn/text-base. Ces copies - originales offrent tout un tas d'avantages — + versions de base (text-base + versions en anglais). Vous pouvez les trouver + dans le répertoire .svn/text-base. Ces + copies originales offrent tout un tas d'avantages — identification des différences et des modifications, retour en arrière sur les fichiers modifiés ou supprimés, tout cela sans - faire appel au réseau ; échanges plus performants avec le + faire appel au réseau ; échanges plus performants avec le serveur — mais au prix d'avoir chaque fichier stocké au moins en double sur le disque. De nos jours, c'est pratiquement négligeable pour la majorité des fichiers. Cependant, la situation se détériore à mesure que vos fichiers suivis en - versions grandissent. Nous étudions dorénavant la possibilité de - rendre optionnel la présence de ces fichiers versions de + versions grossissent. Nous étudions dorénavant la possibilité de + rendre optionnelle la présence de ces versions de base. Cependant, c'est justement quand vos fichiers - suivis en versions grandissent que l'existence de fichiers - versions de base devient cruciale — qui - veut transmettre un énorme fichier à travers le réseau juste + suivis en versions grossissent que l'existence des + versions de base devient cruciale : qui a + envie de transmettre un énorme fichier à travers le réseau juste parce qu'il veut propager une petite modification ? Dans le même esprit que les fichiers versions de @@ -771,7 +775,7 @@ Développer des applications utilisant les API des bibliothèques Subversion est plutôt simple. Subversion est d'abord un ensemble de bibliothèques en langage C, avec des fichiers - d'en-têtes (.h) situés dans le répertoire + d'en-têtes (.h) situés dans le répertoire subversion/include de l'arborescence des sources. Ces en-têtes sont copiés dans votre arborescence système (par exemple /usr/local/include) @@ -788,17 +792,17 @@ et les fonctions ont un espace de nommage réservé. Cela veut dire que tous les noms de symboles Subversion publics commencent par svn_, suivi d'un code indiquant la bibliothèque - dans laquelle le symbole est défini (par exemple - wc, client, - fs, etc.), suivi d'un unique caractère souligné - (_) puis du reste du nom du symbole. Les + dans laquelle le symbole est défini (par exemple + wc, client, + fs, etc.), suivi d'un unique caractère + souligné (_) puis du reste du nom du symbole. Les fonctions semi-publiques (utilisées par plusieurs fichiers au sein d'une bibliothèque mais pas par du code extérieur à cette bibliothèque, on peut les trouver au sein des répertoires de la bibliothèque) suivent une règle de nommage légèrement différente dans le sens où, au lieu d'un unique caractère souligné après le code indiquant la bibliothèque, elles utilisent deux - caractères souligné consécutifs (_ _). + caractères souligné consécutifs (_ _). Les fonctions qui sont propres à un fichier source (c'est-à-dire privées) n'ont pas de préfixe particulier et sont déclarées avec le mot-clé static. Bien sûr, un compilateur n'a @@ -814,7 +818,7 @@ en anglais). Ce document contient des informations particulièrement utiles qui, bien que destinées aux développeurs (ou aux personnes désireuses de le devenir) de Subversion - lui-même, peuvent également s'appliquer à tous ceux qui + lui-même, peuvent également servir à tous ceux qui développent des applications utilisant Subversion comme bibliothèque tierce @@ -828,12 +832,13 @@ APR, la bibliothèque Apache de portabilité des exécutables À côté des types de données propres à Subversion, vous - pouvez voir de nombreuses références à des types de données qui - commencent par apr_ — ce sont les + trouverez de nombreuses références à des types de données qui + commencent par apr_ : ce sont les symboles de la bibliothèque pour la portabilité d'Apache - (Apache Portable Runtime en anglais, soit APR). APR est un jeu - de bibliothèques Apache, originellement extraites du code source - du serveur pour essayer de séparer ce qui dépendait du système + (Apache Portable Runtime en + anglais, soit APR). APR est un jeu de bibliothèques Apache, + originellement extraites du code source du serveur + pour essayer de séparer ce qui dépendait du système d'exploitation de ce qui n'en dépendait pas. Au final, on obtient une bibliothèque qui fournit une API permettant d'effectuer des opérations qui changent un peu (ou beaucoup) en @@ -860,10 +865,11 @@ données et le type de données APR le plus utilisé, que l'on retrouve dans presque tous les prototypes de l'API Subversion, est apr_pool_t — le réservoir de - mémoire ("memory pool" en anglais) APR. Subversion utilise les - réservoirs de mémoire en interne pour tous ses besoins - d'allocation mémoire (à moins qu'une bibliothèque externe ne - requiert un autre mécanisme de gestion de la mémoire pour les + mémoire (memory pool en anglais) + APR. Subversion utilise les réservoirs de mémoire + en interne pour tous ses besoins d'allocation mémoire + (à moins qu'une bibliothèque externe ne requière + un autre mécanisme de gestion de la mémoire pour les données transmises via son API) Neon et Berkeley DB par exemple. @@ -898,7 +904,7 @@ particulièrement pointues de votre programme. Des langages tels que Java ou Python utilisent un ramasse-miettes - (garbage collector en anglais) + (garbage collector en anglais) qui alloue de la mémoire aux objets en cas de besoin et la libère automatiquement quand l'objet n'est plus utilisé. @@ -926,25 +932,25 @@ - Pré-requis pour les URL et les chemins + Prérequis pour les URL et les chemins Subversion a été conçu pour effectuer à distance des - opérations de suivi de versions. À ce titre, les possibilités + opérations de gestion de versions. À ce titre, les possibilités d'internationalisation (i18n) ont fait l'objet d'une attention toute particulière. Après tout, à distance peut vouloir dire depuis un ordinateur situé dans le même - bureau mais aussi à l'autre bout de la + bureau, mais aussi à l'autre bout de la planète. Pour faciliter cette prise en compte, toutes les interfaces publiques de Subversion qui acceptent des chemins comme argument s'attendent à ce que ces chemins soient rendus canoniques — la façon la plus facile de le faire étant de les passer en argument à la fonction - svn_path_canonicalize() — et encodés + svn_path_canonicalize() — et codés dans le format UTF-8. Cela signifie, par exemple, que tout nouveau programme client qui pilote l'interface libsvn_client doit d'abord convertir les chemins depuis le codage local vers UTF-8 avant de fournir ces - chemins à la bibliothèque Subversion, puis de reconvertir tout + chemins à la bibliothèque Subversion, puis doit reconvertir tout chemin renvoyé par Subversion vers le codage local avant d'utiliser ce chemin à des fins externes à Subversion. Heureusement, Subversion fournit un ensemble de fonctions (voir @@ -955,12 +961,12 @@ passées en paramètres respectent le format URI. Ainsi, au lieu de désigner par file:///home/utilisateur/Mon fichier.txt l'URL d'un fichier nommé Mon fichier.txt - dans le répertoire home/utilisateur, vous - devez utiliser + situé dans le répertoire home/utilisateur, + vous devez utiliser file:///home/utilisateur/Mon%20fichier.txt. Là encore, Subversion fournit des fonctions utiles à votre application — svn_path_uri_encode() - et svn_path_uri_decode() pour encoder et + et svn_path_uri_decode() pour coder et décoder, respectivement, des URI. @@ -971,9 +977,10 @@ partir d'un autre langage que le C (par exemple un programme Python ou Perl), Subversion offre cette possibilité via le générateur simplifié d'interface et d'encapsulation - (Simplified Wrapper and Interface Generator ou - SWIG en anglais). Les interfaces SWIG de Subversion sont situées - dans le répertoire subversion/bindings/swig. + (Simplified Wrapper and Interface + Generator ou SWIG en anglais). + Les interfaces SWIG de Subversion sont situées + dans le répertoire subversion/bindings/swig. Elles sont toujours en cours d'évolution mais sont utilisables. Elles vous permettent d'appeler les fonctions de l'API Subversion indirectement, en utilisant des interfaces qui @@ -1006,7 +1013,7 @@ Les interfaces Subversion vers les langages de programmation ne sont pas suivies avec le même niveau d'exigence que les - modules du cœur de Subversion mais peuvent généralement être + modules du cœur de Subversion, mais peuvent généralement être utilisées en production. De nombreuses applications, de nombreux scripts, des clients graphiques alternatifs et des outils tiers utilisent aujourd'hui sans problème les interfaces vers @@ -1065,11 +1072,11 @@ compatible avec le format de fichier de l'implémentation native de cette bibliothèque. - Ceci dit, SVNKit est unaninement reconnu pour sa + Ceci dit, SVNKit est unanimement reconnu pour sa fiabilité. Et une solution 100 % Java est beaucoup plus - robuste vis-à-vis des erreurs de programmation — un - bogue dans SVNKit génére une exception Java que vous pouvez - intercepter tandis qu'un bogue dans une bibliothèque du cœur + robuste vis-à-vis des erreurs de programmation : un + bogue dans SVNKit génère une exception Java que vous pouvez + intercepter, tandis qu'un bogue dans une bibliothèque du cœur de Subversion utilisée par javahl peut mettre par terre tout votre environnement d'exécution Java. En conclusion, pesez le pour et le contre avant de choisir une implémentation en Java @@ -1093,7 +1100,7 @@ pouvez y observer l'utilisation du réservoir de mémoire APR qui est utilisé pour les besoins d'allocation mémoire. En outre, le code révèle le côté obscur de la gestion des erreurs de - Subversion — toutes les erreurs Subversion doivent être + Subversion : toutes les erreurs Subversion doivent être explicitement prises en compte pour éviter des fuites de mémoire (et dans certains cas, le plantage de l'application). @@ -1197,7 +1204,7 @@ } else { - /* Une autre erreur s'est produite. Affiche un message d'erreur. + /* Une autre erreur s'est produite. Affiche un message d'erreur. */ printf("Une erreur s'est produite lors de l'ajout du " "répertoire '%s' au dépôt '%s'.\n", @@ -1218,7 +1225,7 @@ votre dépôt Subversion effectue automatiquement certaines tâches externes à Subversion chaque fois qu'une transaction est propagée (par exemple envoyer un mail qui décrit les changements - effectués dans la transaction vers la liste de diffusion des + effectués dans la transaction à la liste de diffusion des développeurs), vous devez utiliser la version de la fonction encapsulée dans libsvn_repos qui ajoute la fonctionnalité d'activation des procédures automatiques : @@ -1270,7 +1277,7 @@ if svn.fs.svn_fs_is_dir(racine, chemin_complet): parcourir_rep_systemedefichiers(racine, chemin_complet) else: - # Sinon, c'est un fichier donc l'afficher maintenant + # Sinon, c'est un fichier donc l'afficher maintenant. print chemin_complet def parcourir_la_plus_recente_revision(chemin_depot): @@ -1299,7 +1306,7 @@ % (os.path.basename(sys.argv[0]))) sys.exit(1) - # transforme la chaine en chemin canonique. + # Transforme la chaîne en chemin canonique. chemin_depot = svn.core.svn_path_canonicalize(sys.argv[1]) # Et c'est parti ! @@ -1336,13 +1343,13 @@ commande svn status. - Une version en Python de status + Une version de status en Python #!/usr/bin/env python """Parcourir un répertoire d'une copie de travail en affichant les -informations d etat.""" +informations d'état.""" import sys import os.path @@ -1378,7 +1385,7 @@ """Une fonction de renvoi ("callback") pour svn_client_status.""" # Affiche le chemin, moins la partie déjà présente - # dans la racine du parcours + # dans la racine du parcours. text_status = generer_code_etat(etat.text_status) prop_status = generer_code_etat(etat.prop_status) print '%s%s %s' % (text_status, prop_status, path) @@ -1398,7 +1405,7 @@ stream.write("""Usage: %s OPTIONS CHEMIN_COPIE_TRAVAIL Options: --help, -h : Affiche ce message d'aide. - --verbose, -v : Affiche les états de tous les objets, sans exception + --verbose, -v : Affiche l'état de tous les objets, sans exception. """ % (os.path.basename(sys.argv[0]))) sys.exit(code_erreur) @@ -1436,11 +1443,11 @@ de svn_client_ctx_t() est un peu trompeur parce que l'API publique de Subversion ne possède pas de telle fonction — la génération automatique de fonctions de SWIG - est à la peine (cette fonction est une sorte d'usine à fonctions - pour transformer des structures C complexes vers un équivalent - en Python). Notez également que le chemin passé au programme - (comme le dernier) est mouliné par - svn_path_canonicalize(), car, + ( une sorte d'usine à fonctions pour transformer des structures + C complexes vers un équivalent en Python) est à la peine. + Notez également que le chemin passé au programme + (tout comme dans le programme précédent) est mouliné par + svn_path_canonicalize() car, dans le cas contraire, on s'expose à un arrêt rapide et brutal du programme par la bibliothèque C Subversion sous-jacente qui effectue des tests de @@ -1461,7 +1468,7 @@ modulaire et fournir une API publique stable de manière à ce que des développeurs tiers — tel que vous, peut-être — puissent écrire des logiciels qui pilotent les fonctionnalités du - coeur de Subversion. + cœur de Subversion. Dans ce chapitre, nous avons approfondi notre vision de l'architecture de Subversion, examiné ses couches logiques et @@ -1469,7 +1476,7 @@ couches de Subversion pour communiquer entre elles. De nombreux développeurs ont imaginé des utilisations intéressantes de l'API Subversion, de la simple procédure automatique jusqu'à des - systèmes de suivi de versions complètement différents, en passant + systèmes de gestion de versions complètement différents, en passant par l'intégration de Subversion dans d'autres applications. Et vous, quelle utilisation originale en tirerez-vous ? From svnbook at googlecode.com Fri May 7 11:05:59 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Fri, 07 May 2010 16:05:59 +0000 Subject: [svnbook] r3734 committed - * trunk/src/de/book/appc-webdav.xml... Message-ID: <0016362841922c44610486033c96@google.com> Revision: 3734 Author: jmfelderhoff at gmx.eu Date: Fri May 7 09:04:46 2010 Log: * trunk/src/de/book/appc-webdav.xml - Microsoft Web Folders. http://code.google.com/p/svnbook/source/detail?r=3734 Modified: /trunk/src/de/book/appc-webdav.xml ======================================= --- /trunk/src/de/book/appc-webdav.xml Fri Apr 30 09:09:43 2010 +++ /trunk/src/de/book/appc-webdav.xml Fri May 7 09:04:46 2010 @@ -915,17 +915,28 @@ Weise umbenennen, kopieren oder löschen. Da es jedoch eine Fähigkeit des Explorers ist, ist die DAV-Freigabe für normale Anwendungen nicht sichtbar. Alle Zugriffe auf DAV müssen über - die Schnittstelle des Explorers erfolgen, + die Schnittstelle des Explorers erfolgen. + + Microsoft Webordner + + + Microsoft war unter den ursprünglichen Unterstützern der + WebDAV-Spezifikation und begann, den ersten Client in + Windows 98 auszuliefern, der als Webordner bekannt wurde. + Dieser Client wurde auch mit Windows NT 4.0 und Windows + 2000 ausgeliefert. + + + Der ursprüngliche Webordner-Client war eine Erweiterung + des Explorers, dem graphischen Hauptprogramm zum + Durchstöbern von Dateisystemen. Er arbeitet gut genug. In + Windows 98 könnte es sein, das dieses Merkmal ausdrücklich + installiert werden muss, falls Webordner noch nicht + innerhalb von Mein Computer sichtbar sind. In Windows 2000 + muss einfach eine neue Netzwerkumgebung + hizugefügt und ein URL eingegeben werden, und die + WebDAV-Freigabe erscheint zum Durchstöbern. + + + Mit der Einführung von Windows XP begann Microsoft, eine + neue Implementierung der Webordner herauszugeben, die unter + dem Namen WebDAV-Mini-Redirector bekannt wurde. Die neue + Implementierung ist ein Client auf Dateisystemebene, die es + ermöglicht, WebDAV-Freigaben unter einem Laufwerksbuchstaben + einzuhängen. Leider ist diese Implementierung unglaublich + fehlerhaft. Für gewöhnlich versucht der Client, HTTP-URLs + (http://host/repos) in + UNC-Freigabe-Darstellung (\\host\repos) + umzuwandeln; er versucht darüberhinaus, + Windows-Domänen-Authentifizierung als Antwort auf + Basic-Authentication HTTP-Anforderungen zu verwenden, wobei + Benutzernamen als RECHNER\benutzername + gesendet werden. Diese Probleme bei der Zusammenarbeit sind + schwerwiegend und an zahlreichen Orten rund um die Welt + dokumentiert, was viele Benutzer frustriert. Sogar Greg + Stein, der ursprüngliche Autor von Apaches WebDAV-Modul, + sagt ohne Umschweife, dass die Webordner von XP nicht mit + einem Apache-Server zusammenarbeiten können. + + + Die erste Implementierung der Webordner in Windows + Vista scheint fast die gleiche wie unter XP zu sein, so + dass dieselben Probleme auftauchen. Mit etwas Glück wird + Microsoft diese Probleme in einem Vista-Service-Pack + beheben. + + Jedoch scheint es provisorische Lösungen sowohl für XP und + Vista zu geben, die es Webordner ermöglichen, mit Apache + zusammenzuarbeiten. Benutzer haben meistens berichtet, dass + diese Techniken erfolgreich waren, also werden wir sie an + dieser Stelle weitergeben. + + + Unter Windows XP haben Sie zwei Optionen. Suchen Sie + zunächst in der Webpräsenz von Microsoft nach dem Update + KB90730, Software Update for Web Folders. Das + könnte all Ihre Probleme lösen. Falls nicht, scheinen sich die + originalen Webordner aus der Zeit vor XP in Ihrem System zu + verbergen. Sie können sie ans Licht holen, indem Sie in + Netzwerkumgebung gehen und eine neue Umgebung anlegen. Wenn + Sie danach gefragt werden, tragen Sie den URL des Repositorys + ein, aber verwenden Sie dabei eine + Portnummer im URL. Beispielsweise sollten Sie statt + http://host/repos + http://host:80/repos eingeben. + Antworten Sie auf irgendwelche Authentifizierungsanfragen mit + Ihren Subversion-Zugangadaten. + + + Unter Windows Vista könnte derselbe Update KB90730 alles + bereinigen. Dort könnte es jedoch noch weitere Probleme + geben. Einige Benutzer haben berichtet, dass Vista alle + http://-Verbindungen als unsicher + betrachtet, und deshalb alle Authentifizierungsanforderungen + seitens Apache scheitern lässt, sofern sie nicht über + https:// erfolgen. Sollten Sie nicht in + der Lage sein, sich über SSL mit dem Subversion-Repository + zu verbinden, können Sie die System-Registratur anpassen, um + dieses Verhalten zu unterbinden. Dazu ändern Sie einfach den + Wert des Schlüssels + HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel + von 1 auf 2. + Eine letzte Warnung: Stellen Sie sicher, den Webordner so + einzurichten, dass er auf das Wurzelverzeichnis des + Repositorys (/) zeigt, statt auf ein + Unterverzeichnis wie etwa /trunk. Die + Webordner von Vista scheinen nur mit + Repository-Wurzelverzeichnissen zu funktionieren. + + + Generell sei gesagt, dass Sie, obwohl diese Zwischenlösungen + für Sie funktionieren könnten, mehr Spass bei der Verwendung + eines WebDAV-Clients von einem Drittanbieter haben werden, + wie etwa WebDrive oder NetDrive. From svnbook at googlecode.com Wed May 12 13:30:53 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Wed, 12 May 2010 18:30:53 +0000 Subject: Issue 79 in svnbook: Update 'svnsync sync' and 'svnsync copy-revprops' syntax and recommendations. Message-ID: <0-7155889305988986295-18294350994331691023-svnbook=googlecode.com@googlecode.com> Status: New Owner: cmpilato Labels: Type-Defect Priority-Medium Milestone-en-1.7 New issue 79 by cmpilato: Update 'svnsync sync' and 'svnsync copy-revprops' syntax and recommendations. http://code.google.com/p/svnbook/issues/detail?id=79 As part of Subversion issue #3637 (http://subversion.tigris.org/issues/show_bug.cgi?id=3637), the syntax for 'svnsync sync' and 'svnsync copy-revprops' has changed, and the new syntax is the recommendation (for security purposes). Need to document this. From svnbook at googlecode.com Mon May 17 00:43:59 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 17 May 2010 05:43:59 +0000 Subject: [svnbook] r3735 committed - * trunk/src/de/book/appc-webdav.xml... Message-ID: <000e0cd32e9028f3500486c3b62d@google.com> Revision: 3735 Author: jmfelderhoff at gmx.eu Date: Sun May 16 22:42:48 2010 Log: * trunk/src/de/book/appc-webdav.xml - Nautilus, Konqueror. http://code.google.com/p/svnbook/source/detail?r=3735 Modified: /trunk/src/de/book/appc-webdav.xml ======================================= --- /trunk/src/de/book/appc-webdav.xml Fri May 7 09:04:46 2010 +++ /trunk/src/de/book/appc-webdav.xml Sun May 16 22:42:48 2010 @@ -1099,18 +1099,35 @@ Nautilus, Konqueror + + Nautilus ist der offizielle Dateimanager/Browser des + GNOME-Desktops (), und + Konqueror ist der Manager/Browser für den KDE-Desktop + (). Beide dieser + Anwendungen besitzen einen eingebauten WebDAV-Client auf + Dateisystem-Browser-Ebene und funktionieren prima mit einem + autoversionierenden Repository. + + + In GNOMEs Nautilus wählen Sie den Menüeintrag + File→Open location und + tragen den URL in den angebotenen Dialog ein. Das Repository + sollte dann wie ein anderes Dateisystem angezeigt werden. + + + + Im Konqueror von KDE müssen Sie beim Eintragen des URL + in den Zielleiste das Schema webdav:// + verwenden. Wenn Sie einen http://-URL + eingeben, verhält sich Konqueror wie ein gewöhnlicher + Web-Browser. Sie werden wahrscheinlich die allgemeine + Verzeichnisauflistung von mod_dav_svn + sehen. Falls Sie statt + http://host/repos jedoch + webdav://host/repos eingeben, wird + Konqueror zum WebDAV-Client und zeigt das Repository als + Dateisystem an. From svnbook at googlecode.com Thu May 20 10:40:25 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 20 May 2010 15:40:25 +0000 Subject: [svnbook] r3736 committed - * trunk/src/de/book/appc-webdav.xml... Message-ID: <001636b14988b1ebef04870864b3@google.com> Revision: 3736 Author: jmfelderhoff at gmx.eu Date: Thu May 20 08:40:05 2010 Log: * trunk/src/de/book/appc-webdav.xml - WebDAV Filesystem Implementation http://code.google.com/p/svnbook/source/detail?r=3736 Modified: /trunk/src/de/book/appc-webdav.xml ======================================= --- /trunk/src/de/book/appc-webdav.xml Sun May 16 22:42:48 2010 +++ /trunk/src/de/book/appc-webdav.xml Thu May 20 08:40:05 2010 @@ -1156,8 +1156,12 @@ + + WebDAV-Dateisystem-Implementation + + + Die WebDAV-Dateisystem-Implementation ist wohl die beste + Art von WebDAV-Client. Sie ist als systemnahes + Dateisystem-Modul implementiert, das sich normalerweise + innerhalb des Betriebssystemkerns befindet. Das bedeutet, dass + eine DAV-Freigabe wie irgendein anderes Dateisystem eingehängt + werden kann, ähnlich dem Einhängen einer NFS-Freigabe unter + Unix oder dem Sichtbarmachen einer SMB-Freigabe über einen + Laufwerksbuchstaben unter Windows. Demzufolge bietet diese Art + von Client für alle Programme einen vollständig transparenten + WebDAV-Schreib- und Lesezugriff. Die Anwendungen merken nicht + einmal, dass WebDAV-Anforderungen stattfinden. WebDrive, NetDrive + + Sowohl WebDrive als auch NetDrive sind ausgezeichnete + kommerzielle Produkte, die es ermöglichen, WebDAV-Freigaben + unter Windows als Laufwerksbuchstaben einzuhängen. Als + Ergebnis können Sie mit den Inhalten dieser Pseudo-Laufwerke + mit WebDAV im Hintergrund ebenso einfach und auf dieselbe + Weise arbeiten wie mit lokalen Festplatten. Sie können + WebDrive von South River Technologies () beziehen. NetDrive + von Novell ist frei online verfügbar, die Benutzung + erfordert jedoch eine NetWare Lizenz. @@ -1189,6 +1217,7 @@ Mac OS X + + Apples Betriebssystem OS X besitzt einen integrierten + WebDAV-Client auf Dateisystemebene. Wählen Sie im Finder den + Menüeintrag Go→Connect to + Server aus. Geben Sie einen WebDAV-URL ein, + und er erscheint als Laufwerk auf der Arbeitsoberfläche so + wie jede andere eingehängte Platte. Sie können auch eine + WebDAV-Freigabe aus dem Darwin-Terminal einhängen, indem Sie + den Dateisystemtypen webdav beim Befehl + mount angeben: $ mount -t webdav http://svn.example.com/repos/project /some/mountpoint $ + + Beachten Sie, dass OS X sich weigert, die Freigabe + les- und schreibbar einzuhängen, sofern die Version Ihres + mod_dav_svn älter ist als 1.2; in diesem + Fall wird sie nur lesbar sein. Das liegt daran, das OS X auf + der Unterstützung von Sperren bei les- und schreibbaren + Freigaben besteht, und die Fähigkeit, Dateien zu sperren + erst mit Subversion 1.2 erschien. + + + Desweiteren kann der WebDAV-Client von OS X manchmal + überempfindlich auf HTTP-Weiterleitungen reagieren. Falls OS + X das Repository überhaupt nicht einhängen kann, könnte es + notwendig sein, die Direktive BrowserMatch + in der Datei httpd.conf des Apache + Servers zu aktivieren: BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully @@ -1226,11 +1282,19 @@ Linux davfs2 + + Linux davfs2 ist ein Dateisystem-Modul für den Linux-Kernel, + dessen Entwicklung bei betrieben wird. Sobald + Sie davfs2 installiert haben, können Sie eine + WebDAV-Netzfreigabe mit dem üblichen Linux mount-Befehl + einhängen: $ mount.davfs http://host/repos /mnt/dav From svnbook at googlecode.com Thu May 20 11:32:48 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Thu, 20 May 2010 16:32:48 +0000 Subject: Issue 80 in svnbook: ch 4 Branching and Merging - incorrect definition of revision Message-ID: <0-7155889305988986295-6274579604092621849-svnbook=googlecode.com@googlecode.com> Status: New Owner: ---- Labels: Type-Defect Priority-Medium New issue 80 by ppitha: ch 4 Branching and Merging - incorrect definition of revision http://code.google.com/p/svnbook/issues/detail?id=80 I'm both a newbie to svn and a nitpicker. Chapter 4 states near the top: "At this point, you should understand how each commit creates an entirely new filesystem tree (called a “revision”) in the repository." Finding it alarming that a commit would create an entirely new filesystem tree, I went and read the chapter on Revisions where it states "Each time the repository accepts a commit, this creates a new state of the filesystem tree, called a revision. " I propose the chapter 4 text say "At this point, you should understand how each commit creates a new state of filesystem tree (called a “revision”) in the repository." Thanks, Phil ppitha at gmail.com From svnbook at googlecode.com Wed May 26 10:26:27 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Wed, 26 May 2010 15:26:27 +0000 Subject: Issue 81 in svnbook: Update feature branches from trunk Message-ID: <0-7155889305988986295-2742235568945268409-svnbook=googlecode.com@googlecode.com> Status: New Owner: ---- Labels: Type-Defect Priority-Medium New issue 81 by bugpwr: Update feature branches from trunk http://code.google.com/p/svnbook/issues/detail?id=81 From svnbook: "Another way of thinking about this pattern is that your weekly sync of trunk to branch is analogous to running svn update in a working copy, while the final merge step is analogous to running svn commit from a working copy. After all, what else is a working copy but a very shallow private branch? It's a branch that's capable of storing only one change at a time." The recommended practice seems to be misleading, or the industry doesn't quite know how to use it. For example, see http://stackoverflow.com/questions/2146426/how-to-properly-update-a-feature-branch-from-trunk The problem is that a developer in a large organization, that would usually require every feature to get to trunk thru one or two feature branches, cannot really update these numerous small feature branches (with just a few changesets) by merging huge amounts of trunk changes to each of them. Even for a smaller development task force, the approach creates a problem during reintegration of the feature branch. Suggesting removal of this section, or, alternative practice, like the one we employ: [proposal] "When you want to synchronize with the changes from trunk, but not yet ready to reintegrate the feature branch, you may open a new feature branch cut from the current trunk. Then, you merge onto the new branch, delete the previous one and continue working on the new branch. This way, the merge is always downward (Feature branches -> trunk -> release branches)." From j.m.f at gmx.li Sun May 30 02:13:00 2010 From: j.m.f at gmx.li (Jens M. Felderhoff) Date: Sun, 30 May 2010 09:13:00 +0200 Subject: [de] Deutsche =?UTF-8?B?w5xiZXJzZXR6dW5nOg==?= Wie geht es weiter? Message-ID: <20100530091300.697e0cc6@neuromancer> So, vor einer Woche habe ich den letzten Rest von Anhang C ins Repository geschoben. Leider sind noch einige Punkte bezüglich der deutschen Übersetzung offen. Die deutsche Seite zur Koordinierung der Übersetzung (www.svnbook.de) scheint nicht mehr richtig gepflegt zu werden (ich habe die Anhänge alle ohne Tickets übersetzt, sonst würde ich heute noch warten). Laut www.svnbook.de befindet sich das dritte Kapitel seit dem 10. September 2008 in Übersetzung; im Repository ist allerdings davon noch nichts aufgetaucht. Das sechste Kapitel ist bis "Using svnserve with SASL" übersetzt und ins Repository übergeben worden. Tickets gibt es aber nur für die bereits übersetzten Teile. Es wäre schön, wenn sich Beteiligte oder Interessierte mal melden würden. Tschüss Jens -- Intentionally left blank. From svnbook at googlecode.com Mon May 31 01:38:50 2010 From: svnbook at googlecode.com (svnbook at googlecode.com) Date: Mon, 31 May 2010 06:38:50 +0000 Subject: [svnbook] r3737 committed - Changed wording Repository -> Projektarchiv. Message-ID: <000e0cd1549e1592950487de1c65@google.com> Revision: 3737 Author: jmfelderhoff at gmx.eu Date: Sun May 30 23:37:40 2010 Log: Changed wording Repository -> Projektarchiv. http://code.google.com/p/svnbook/source/detail?r=3737 Modified: /trunk/src/de/book/appa-quickstart.xml /trunk/src/de/book/appb-svn-for-cvs-users.xml /trunk/src/de/book/appc-webdav.xml /trunk/src/de/book/ch00-preface.xml /trunk/src/de/book/ch01-fundamental-concepts.xml /trunk/src/de/book/ch02-basic-usage.xml /trunk/src/de/book/ch04-branching-and-merging.xml /trunk/src/de/book/ch05-repository-admin.xml /trunk/src/de/book/ch06-server-configuration.xml /trunk/src/de/book/ch07-customizing-svn.xml /trunk/src/de/book/ch08-embedding-svn.xml /trunk/src/de/book/ch09-reference.xml ======================================= --- /trunk/src/de/book/appa-quickstart.xml Wed Dec 23 08:59:14 2009 +++ /trunk/src/de/book/appa-quickstart.xml Sun May 30 23:37:40 2010 @@ -15,7 +15,7 @@ --> Falls Sie Subversion unbedingt zum Laufen bringen wollen (und Sie der Typ sind, der durch Experimentieren lernt), erklärt Ihnen - dieser Anhang, wie ein Repository erstellt, Code importiert und + dieser Anhang, wie ein Projektarchiv erstellt, Code importiert und wieder als Arbeitskopie ausgecheckt wird. Dabei zeigen wir Verbindungen zu den relevanten Kapiteln in diesem Buch auf. @@ -129,7 +129,7 @@ Beachten Sie, dass ein herausgegebenes Quelltextpaket unter Umständen nicht alles enthält, was Sie benötigen, um einen Kommandozeilen-Client zu bauen, der mit einem entfernten - Repository kommunizieren kann. Ab Subversion 1.4 werden die + Projektarchiv kommunizieren kann. Ab Subversion 1.4 werden die Bibliotheken, von denen Subversion abhängt (apr, apr-util und neon) als eigene Quelltextpakete mit dem Suffix -deps verteilt. Diese Bibliotheken sind @@ -162,10 +162,10 @@ --> Falls Sie einer der Zeitgenossen sind, die gerne die allerneueste Software verwenden, können Sie auch den Quelltext - von Subversion aus dem Subversion-Repository bekommen, in dem er + von Subversion aus dem Subversion-Projektarchiv bekommen, in dem er verwaltet wird. Offensichtlich benötigen Sie hierfür bereits einen Subversion-Client. Doch sobald Sie einen haben, können Sie - eine Arbeitskopie des Subversion-Quelltext-Repositorys von + eine Arbeitskopie des Subversion-Quelltext-Projektarchivs von auschecken: Beachten Sie, dass der ausgecheckte URL im Beispiel @@ -276,8 +276,8 @@ repository. To begin, create a new repository: --> Subversion speichert alle versionierten Daten in einem - zentralen Repository. Um anzufangen, erstellen Sie ein neues - Repository: + zentralen Projektarchiv. Um anzufangen, erstellen Sie ein neues + Projektarchiv: $ svnadmin create /var/svn/repos @@ -296,11 +296,11 @@ --> Dieser Befehl erzeugt ein neues Verzeichnis, /var/svn/repos, das ein - Subversion-Repository enthält. Dieses neue Verzeichnis + Subversion-Projektarchiv enthält. Dieses neue Verzeichnis beinhaltet (neben anderen Dingen) eine Sammlung von Datenbankdateien. Wenn Sie hineinschauen, werden Sie Ihre versionierten Dateien nicht sehen. Weitere Informationen zur - Erstellung und Wartung von Repositorys finden Sie in . Subversion fehlt das Konzept Projekt. Das - Repository ist lediglich ein virtuelles, versioniertes + Projektarchiv ist lediglich ein virtuelles, versioniertes Dateisystem, ein großer Baum, der alles aufnehmen kann, was Sie wollen. Manche Administratoren bevorzugen es, nur ein Projekt in - einem Repository zu speichern, wohingegen andere mehrere - Projekte in einem Repository unterbringen, indem sie sie in + einem Projektarchiv zu speichern, wohingegen andere mehrere + Projekte in einem Projektarchiv unterbringen, indem sie sie in getrennten Unterverzeichnissen ablegen. Wir erörtern die Vorteile jedes Ansatzes in . So oder so, - das Repository verwaltet nur Dateien und Verzeichnisse, so dass + das Projektarchiv verwaltet nur Dateien und Verzeichnisse, so dass es ganz allein bei den Menschen liegt, bestimmte Verzeichnisse als Projekte anzusehen. Auch wenn Sie in diesem Buch Bezüge auf Projekte sehen sollten, denken Sie daran, dass wir dabei nur über irgendein Verzeichnis (oder eine Sammlung von - Verzeichnissen) im Repository sprechen. + Verzeichnissen) im Projektarchiv sprechen. Sobald Sie Ihre Daten vorbereitet haben, importieren Sie sie - mit dem Befehl svn import in das Repository + mit dem Befehl svn import in das Projektarchiv (siehe ): - Nun enthält das Repository diesen Datenbaum. Wie bereits + Nun enthält das Projektarchiv diesen Datenbaum. Wie bereits erwähnt, werden Sie Ihre Dateien nicht sehen, wenn Sie direkt - in das Repository schauen; sie werden alle in einer Datenbank - abgelegt. Das imaginäre Dateisystem des Repositorys jedoch + in das Projektarchiv schauen; sie werden alle in einer Datenbank + abgelegt. Das imaginäre Dateisystem des Projektarchivs jedoch enthält nun ein Verzeichnis namens myproject, welches wiederum Ihre Daten enthält. @@ -451,11 +451,11 @@ /tmp/myproject unverändert bleibt; Subversion kennt es nicht. (Sie können das Verzeichnis eigentlich löschen, wenn Sie möchten.) Um damit zu beginnen, - Repository-Daten zu manipulieren, müssen Sie eine neue + Projektarchiv-Daten zu manipulieren, müssen Sie eine neue Arbeitskopie der Daten anlegen, eine Art privater Arbeitsbereich. Fordern Sie Subversion dazu auf, eine Arbeitskopie des Verzeichnisses - myproject/trunk im Repository + myproject/trunk im Projektarchiv auszuchecken: @@ -474,10 +474,10 @@ back into the repository. --> Nun haben Sie eine persönliche Kopie eines Teils des - Repositorys in einem Verzeichnis namens + Projektarchivs in einem Verzeichnis namens myproject. Sie können die Dateien in Ihrer Arbeitskopie bearbeiten und dann diese Änderungen zurück an das - Repository übergeben. + Projektarchiv übergeben. @@ -503,7 +503,7 @@ version of your file to the repository. --> Rufen Sie svn commit auf, um die - neue Version Ihrer Datei an das Repository zu übergeben. + neue Version Ihrer Datei an das Projektarchiv zu übergeben. @@ -512,7 +512,7 @@ copy up to date with the repository. --> Rufen Sie svn update auf, um Ihre - Arbeitskopie bezüglich des Repositorys zu + Arbeitskopie bezüglich des Projektarchivs zu aktualisieren. @@ -531,7 +531,7 @@ linkend="svn.serverconfig"/> to learn about the different sorts of server processes available and how to configure them. --> - An dieser Stelle haben Sie die Möglichkeit, Ihr Repository + An dieser Stelle haben Sie die Möglichkeit, Ihr Projektarchiv für andere über das Netz erreichbar zu machen. Siehe , um mehr über die verschiedenen Arten von verfügbaren Server-Prozessen zu erfahren und wie sie ======================================= --- /trunk/src/de/book/appb-svn-for-cvs-users.xml Sat Feb 6 09:21:42 2010 +++ /trunk/src/de/book/appb-svn-for-cvs-users.xml Sun May 30 23:37:40 2010 @@ -52,8 +52,8 @@ --> In CVS werden Revisionsnummern pro Datei vergeben. Das liegt daran, dass CVS seine Daten in RCS-Dateien speichert; für jede - Datei gibt es eine entsprechende RCS-Datei im Repository, und - die Struktur des Repositorys entspricht grob der Struktur Ihres + Datei gibt es eine entsprechende RCS-Datei im Projektarchiv, und + die Struktur des Projektarchivs entspricht grob der Struktur Ihres Projektbaums. - In Subversion sieht das Repository aus wie ein einzelnes + In Subversion sieht das Projektarchiv aus wie ein einzelnes Dateisystem. Jede Übergabe verursacht einen völlig neuen - Dateibaum; im Wesentlichen ist das Repository eine Liste aus + Dateibaum; im Wesentlichen ist das Projektarchiv eine Liste aus Bäumen. Jeder dieser Bäume wird mit einer einzelnen Revisionsnumer gekennzeichnet. Wenn jemand von Revision 54 redet, ist damit ein bestimmter Baum gemeint (und @@ -116,8 +116,8 @@ Subversion eine Kopie des gesamten Baums ist (konventionell in die Verzeichnisse /branches oder /tags, die auf der obersten Ebene des - Repositorys neben /trunk liegen). Im - Repository in seiner Gesamtheit können viele Versionen einer + Projektarchivs neben /trunk liegen). Im + Projektarchiv in seiner Gesamtheit können viele Versionen einer Datei sichtbar sein: die letzte Version jedes Zweigs, jede mit einem Tag versehene Version und natürlich die letzte Version auf dem Stamm. Um den Ausdruck also noch weiter zu präzisieren, @@ -170,10 +170,10 @@ delete arbeiten nun auf Verzeichnissen wie auf Dateien; ebenso svn copy und svn move. Jedoch bewirken diese Befehle - keine sofortige Änderung im Repository. + keine sofortige Änderung im Projektarchiv. Stattdessen werden die Objekte einfach zum Hinzufügen oder Löschen vorgemerkt. Es findet keine Änderung - im Repository statt, bevor Sie svn + im Projektarchiv statt, bevor Sie svn commit aufrufen. @@ -241,7 +241,7 @@ stillschweigend übergebene Hinzufügungen sowie Löschungen im .svn-Bereich mitverfolgt. Wenn Sie schließlich svn update aufrufen, wird - alles in Bezug auf das Repository glattgezogen und die neue + alles in Bezug auf das Projektarchiv glattgezogen und die neue Revisionsnummer des Verzeichnisses korrekt vergeben. Daher kann erst nach einer Aktualisierung gesagt werden, dass es eine vollständige @@ -424,7 +424,7 @@ update oder cvs -n update aufzurufen, um schnell ihre Änderungen zu sehen. Falls Benutzer die Option vergessen, hat das den - Nebeneffekt, dass Repository-Änderungen hineingebracht werden + Nebeneffekt, dass Projektarchiv-Änderungen hineingebracht werden könnten, um die sie sich momentan noch nicht kümmern können. @@ -453,7 +453,7 @@ --> svn status gibt alle Dateien aus, an denen lokale Änderungen vorgenommen wurden. Standardmäßig wird - kein Kontakt zum Repository hergestellt. Obwohl dieser + kein Kontakt zum Projektarchiv hergestellt. Obwohl dieser Unterbefehl eine stattliche Anzahl an Optionen versteht, sind die folgenden die meistbenutzten: @@ -465,7 +465,7 @@ Contact the repository to determine, and then display, out-of-dateness information. --> - Verbindung zum Repository aufnehmen, um + Verbindung zum Projektarchiv aufnehmen, um Informationen über nicht mehr Aktuelles zu ermitteln und dann anzuzeigen. @@ -557,7 +557,7 @@ vorangegangenen Beispiel zeigt das Sternchen an, dass das Objekt faces.html beim Aktualisieren verändert würde, und dass bloo.png eine - dem Repository hinzugefügte neue Datei ist. (Die Abwesenheit + dem Projektarchiv hinzugefügte neue Datei ist. (Die Abwesenheit einer Revisionsnummer neben bloo.png bedeutet, dass die Datei noch nicht in der Arbeitskopie vorhanden ist.) @@ -840,7 +840,7 @@ Binärdatei abspeichern. Subversion jedoch stellt Unterschiede zwischen Dateien mithilfe eines binären Differenzalgorithmus dar. Das bedeutet, dass alle Dateien als (komprimierte) - Differenzen im Repository abgespeichert werden. + Differenzen im Projektarchiv abgespeichert werden. - Ein Repository von CVS nach Subversion überführen + Ein Projektarchiv von CVS nach Subversion überführen Falls Sie ein Post-Commit-Hook-Programm verwenden, das E-Mail verschickt, empfiehlt es sich, die Erstellung der Mail zu - unterbinden oder auf bestimmte Abschnitte des Repositorys zu + unterbinden oder auf bestimmte Abschnitte des Projektarchivs zu beschränken; es hängt davon ab, ob Sie das Hereinprasseln der Mails immer noch als wertvolle Benachrichtigungen erachten oder nicht. Desweiteren kann ein kluges Post-Commit-Hook-Programm @@ -413,7 +413,7 @@ Ein weiteres Merkmal, das eine sinnvolle Ergänzung zur Autoversionierung von Subversion sein kann, kommt aus dem Modul mod_mime von Apache. Falls ein WebDAV-Client - dem Repository eine neue Datei hinzufügt, hat der Benutzer keine + dem Projektarchiv eine neue Datei hinzufügt, hat der Benutzer keine Gelegenheit, das Property svn:mime-type zu setzen. Das könnte dazu führen, dass die Datei als allgemeines Icon angezeigt wird, wenn sie innerhalb eines Ordners über @@ -877,7 +877,7 @@ nicht sehr nützlich, da sie keine MKACTIVITY-Anfragen erlauben. Es ist jedenfalls belanglos; wir nehmen an, dass all diese Clients - mit einem autoversionierenden Repository zusammenarbeiten. + mit einem autoversionierenden Projektarchiv zusammenarbeiten. @@ -1038,7 +1038,7 @@ originalen Webordner aus der Zeit vor XP in Ihrem System zu verbergen. Sie können sie ans Licht holen, indem Sie in Netzwerkumgebung gehen und eine neue Umgebung anlegen. Wenn - Sie danach gefragt werden, tragen Sie den URL des Repositorys + Sie danach gefragt werden, tragen Sie den URL des Projektarchivs ein, aber verwenden Sie dabei eine Portnummer im URL. Beispielsweise sollten Sie statt http://host/repos @@ -1070,7 +1070,7 @@ betrachtet, und deshalb alle Authentifizierungsanforderungen seitens Apache scheitern lässt, sofern sie nicht über https:// erfolgen. Sollten Sie nicht in - der Lage sein, sich über SSL mit dem Subversion-Repository + der Lage sein, sich über SSL mit dem Subversion-Projektarchiv zu verbinden, können Sie die System-Registratur anpassen, um dieses Verhalten zu unterbinden. Dazu ändern Sie einfach den Wert des Schlüssels @@ -1078,10 +1078,10 @@ von 1 auf 2. Eine letzte Warnung: Stellen Sie sicher, den Webordner so einzurichten, dass er auf das Wurzelverzeichnis des - Repositorys (/) zeigt, statt auf ein + Projektarchivs (/) zeigt, statt auf ein Unterverzeichnis wie etwa /trunk. Die Webordner von Vista scheinen nur mit - Repository-Wurzelverzeichnissen zu funktionieren. + Projektarchiv-Wurzelverzeichnissen zu funktionieren. In GNOMEs Nautilus wählen Sie den Menüeintrag File→Open location und - tragen den URL in den angebotenen Dialog ein. Das Repository + tragen den URL in den angebotenen Dialog ein. Das Projektarchiv sollte dann wie ein anderes Dateisystem angezeigt werden. @@ -1149,7 +1149,7 @@ sehen. Falls Sie statt http://host/repos jedoch webdav://host/repos eingeben, wird - Konqueror zum WebDAV-Client und zeigt das Repository als + Konqueror zum WebDAV-Client und zeigt das Projektarchiv als Dateisystem an. @@ -1267,7 +1267,7 @@ --> Desweiteren kann der WebDAV-Client von OS X manchmal überempfindlich auf HTTP-Weiterleitungen reagieren. Falls OS - X das Repository überhaupt nicht einhängen kann, könnte es + X das Projektarchiv überhaupt nicht einhängen kann, könnte es notwendig sein, die Direktive BrowserMatch in der Datei httpd.conf des Apache Servers zu aktivieren: ======================================= --- /trunk/src/de/book/ch00-preface.xml Sat May 2 05:05:03 2009 +++ /trunk/src/de/book/ch00-preface.xml Sun May 30 23:37:40 2010 @@ -291,7 +291,7 @@ möglichst schnell einen Subversion-Server zum Laufen zu bekommen. und zeigen, wie Sie Ihr erstes - Repository erzeugen und es über das Netz verfügbar machen + Projektarchiv erzeugen und es über das Netz verfügbar machen können. Danach sind und die schnellsten Wege zum Lernen des Subversion-Clients. @@ -538,7 +538,7 @@ --> Erklärt die Grundlagen von Versionskontrolle und unterschiedliche Versionierungsmodelle sowie das - Repository von Subversion, Arbeitskopien und + Projektarchiv von Subversion, Arbeitskopien und Revisionen.
@@ -601,7 +601,7 @@ the tools you can use to do all of this. --> Beschreibt die Grundlagen des - Subversion-Repositorys, wie man ein Repository anlegt, konfiguriert + Subversion-Projektarchivs, wie man ein Projektarchiv anlegt, konfiguriert und wartet sowie die Tools, die man hierfür benutzen kann @@ -620,7 +620,7 @@ --> Erklärt, wie man einen Subversion-Server konfiguriert und unterschiedliche Arten auf ein - Repository zuzugreifen: HTTP, das + Projektarchiv zuzugreifen: HTTP, das svn-Protokoll und über die lokale Festplatte. Behandelt werden hier auch die Authentifizierung, die Autorisierung und der anonyme @@ -726,7 +726,7 @@ mounted read/write as a DAV share. --> Beschreibt die Details zu WebDAV und DeltaV und wie - man sein Subversion-Repository konfiguriert, damit es + man sein Subversion-Projektarchiv konfiguriert, damit es als freigegebenes DAV-Laufwerk schreibbar in das Dateisystem eingehängt werden kann. @@ -781,7 +781,7 @@ the book's own Subversion repository. --> Sie werden stets die neueste Version dieses Buchs im - eigenen Subversion-Repository finden. + eigenen Subversion-Projektarchiv finden. @@ -821,7 +821,7 @@ . Dort finden Sie Links auf die neuesten Releases und mit Tags versehene Versionen des Buchs in verschiedenen Formaten ebenso wie eine Anleitung, auf das - Subversion-Repository des Buchs zuzugreifen (dort lebt sein + Subversion-Projektarchiv des Buchs zuzugreifen (dort lebt sein Quellcode im DocBook-XML-Format). Rückmeldungen sind willkommen – ja sogar erwünscht. Bitte senden Sie alle Kommentare, Beschwerden und Patches für die Sourcen des Buchs an @@ -1547,7 +1547,7 @@ Tätigkeit und Subversion vereinfacht die Zusammenarbeit mit anderen Programmierern. Natürlich ist die Benutzung von Subversion nicht umsonst zu bekommen: es kostet - administrativen Aufwand. Sie müssen ein Daten-Repository + administrativen Aufwand. Sie müssen ein Daten-Projektarchiv verwalten, das die Informationen und ihre gesamte Geschichte speichert, und Sie müssen sich gewissenhaft um Sicherheitskopien kümmern. Wenn Sie täglich mit den Daten @@ -1797,16 +1797,16 @@ repository. Others bypass the network altogether and access the repository directly. --> - An einem Ende ist das Repository von Subversion, das die + An einem Ende ist das Projektarchiv von Subversion, das die gesamten versionierten Daten enthält. Am anderen Ende ist das Subversion-Client-Programm, das die lokale Spiegelung von Teilen dieser versionierten Daten verwaltet (Arbeitskopien genannt). Zwischen den entgegengesetzten Enden befinden sich mehrere Wege über - verschiedene Repository-Zugriffsschichten. Einige dieser Pfade + verschiedene Projektarchiv-Zugriffsschichten. Einige dieser Pfade gehen über Computernetzwerke und über Netzwerkserver, die dann - auf das Repository zugreifen. Andere lassen das Netz links - liegen und greifen direkt auf das Repository zu. + auf das Projektarchiv zugreifen. Andere lassen das Netz links + liegen und greifen direkt auf das Projektarchiv zu. @@ -1864,7 +1864,7 @@ A tool for directly inspecting a Subversion repository --> Ein Werkzeug zur direkten Untersuchung eines - Subversion-Repositorys + Subversion-Projektarchivs @@ -1876,7 +1876,7 @@ repository --> Ein Werkzeug zum Erstellen, Verändern oder - Reparieren eines Repositorys + Reparieren eines Projektarchivs @@ -1889,7 +1889,7 @@ network --> Ein Plug-In-Modul für den Apache-HTTP-Server, wird - benötigt, um das Repository über ein Netzwerk verfügbar + benötigt, um das Projektarchiv über ein Netzwerk verfügbar zu machen @@ -1904,7 +1904,7 @@ --> Ein spezielles Server-Programm, dass als Hintergrundprozess laufen oder von SSH aufgerufen werden - kann; eine weitere Möglichkeit, das Repository über ein + kann; eine weitere Möglichkeit, das Projektarchiv über ein Netzwerk verfügbar zu machen. @@ -1917,7 +1917,7 @@ streams --> Ein Programm zum Filtern von - Subversion-Repository-Dump-Streams + Subversion-Projektarchiv-Dump-Streams @@ -1929,7 +1929,7 @@ repository to another over a network --> Ein Programm zum inkrementellen Spiegeln eines - Repositorys über ein Netzwerk + Projektarchivs über ein Netzwerk @@ -1988,13 +1988,13 @@ under version control, auto-escaping of URLs, and a localized user interface. --> - Release 1.1 führte FSFS ein, eine Repository-Speicheroption, + Release 1.1 führte FSFS ein, eine Projektarchiv-Speicheroption, die auf Dateien basiert. Obwohl das Berkeley-DB-Backend immer noch weitverbreitet ist und unterstützt wird, ist FSFS mittlerweile wegen der niedrigen Einstiegshürde und des minimalen Wartungsbedarfs die Standard-Auswahl für - neu erzeugte Repositorys. Ebenfalls kam mit diesem + neu erzeugte Projektarchivs. Ebenfalls kam mit diesem Release die Möglichkeit, symbolische Links unter Versionskontrolle zu stellen, das automatische Maskieren von URLs und eine sprachabhängige @@ -2032,7 +2032,7 @@ Bedarf, solche Ressourcen zu versionieren und zu schützen. Zusammen mit dem Sperren kam auch eine vollständige WebDAV-Auto-Versionierungs-Implementierung, - die es erlaubt, Subversion-Repositorys als + die es erlaubt, Subversion-Projektarchivs als Netzwerkverzeichnisse einzuhängen. Schließlich begann Subversion 1.2 einen neuen, schnelleren binären Differenzalgorithmus zu verwenden, um alte Versionen von @@ -2081,12 +2081,12 @@ --> Release 1.4 führte ein völlig neues Werkzeug – svnsync – ein, um - eine Einbahn-Replizierung von Repositorys über das Netz + eine Einbahn-Replizierung von Projektarchivs über das Netz vornehmen zu können. Größere Teile der Arbeitskopie-Metadaten wurden überarbeitet, so dass nicht mehr XML benutzt wurde (was sich in erhöhter Geschwindigkeit auf Client-Seite niederschlug), während - das Berkeley-DB-Repository-Backend die Fähigkeit erhielt, + das Berkeley-DB-Projektarchiv-Backend die Fähigkeit erhielt, sich nach einem Server-Crash automatisch wiederherzustellen. ======================================= --- /trunk/src/de/book/ch01-fundamental-concepts.xml Sun Feb 7 11:04:26 2010 +++ /trunk/src/de/book/ch01-fundamental-concepts.xml Sun May 30 23:37:40 2010 @@ -31,7 +31,7 @@ - Das Repository + Das Projektarchiv Subversion ist ein zentralisiertes System zur gemeinsamen - Nutzung von Informationen. In seinem Kern ist ein Repository ein - zentraler Speicher von Daten. Das Repository speichert Informationen + Nutzung von Informationen. In seinem Kern ist ein Projektarchiv ein + zentraler Speicher von Daten. Das Projektarchiv speichert Informationen in Form eines Dateisystembaumes, typischerweise eine Hierarchie von Dateien und Verzeichnissen. Eine beliebige Anzahl - von Clients verbinden sich mit dem Repository + von Clients verbinden sich mit dem Projektarchiv und lesen oder schreiben diese Dateien. Durch den Schreibvorgang, macht ein Client Informationen für andere verfügbar. Durch den Lesevorgang bekommt der Client Informationen von anderen zur Verfügung @@ -70,9 +70,9 @@ rearrangement of files and directories. --> So, warum ist das interessant? Bis zu diesem Punkt hört sich das wie die Definition eines typischen File-Servers an. Und - tatsächlich, das Repository ist eine Art von + tatsächlich, das Projektarchiv ist eine Art von File-Server, aber nicht von der Art, die Sie kennen. Was das - Subversion-Repository so speziell macht ist, dass es sich + Subversion-Projektarchiv so speziell macht ist, dass es sich jede Änderung merkt, die jemals hineingeschrieben wurde. Jede Änderung an jeder Datei und auch Änderungen am Verzeichnisbaum selbst, wie z.B. das Hinzufügen, Löschen und @@ -90,7 +90,7 @@ any version control system: systems that are designed to track changes to data over time. --> - Wenn ein Client Daten vom Repository liest, bekommt der Client + Wenn ein Client Daten vom Projektarchiv liest, bekommt der Client üblicherweise nur die letzte Version des Dateisystem-Baumes zu sehen. Der Client hat aber auch die Möglichkeit, vorherige Zustände des Dateibaumes anzuschauen. @@ -221,7 +221,7 @@ Viele Versionskontrollsysteme verwenden ein Sperren - Ändern - Entsperren-Modell um zu verhindern, dass verschiedene Autoren sich gegenseitig die - Änderungen löschen. Bei diesem Modell erlaubt das Repository nur + Änderungen löschen. Bei diesem Modell erlaubt das Projektarchiv nur jeweils einem Programmierer den Zugriff auf eine Datei. Harry müsste also die Datei sperren, ehe er anfängt, seine Änderungen einzugeben. Wenn Harry die Datei gesperrt hat, @@ -361,7 +361,7 @@ Subversion, CVS und viele andere Versionskontrollsysteme benutzen eine „Kopieren – Ändern – Zusammenfassen“ — Version als Alternative zum Sperren. In diesem Modell erschafft - jeder User sich eine eigene Arbeitskopie der im Repository + jeder User sich eine eigene Arbeitskopie der im Projektarchiv vorhandenen Dateien und Verzeichnisse. Dann können die User gleichzeitig und unabhängig voneinander ihre jeweiligen Änderungen eingeben und speichern. Am Ende werden dann alle @@ -389,11 +389,11 @@ process. --> Hier ist ein Beispiel: Harry und Sally haben sich - jeweils eine eigene Arbeitskopie des im Repository vorhandenen + jeweils eine eigene Arbeitskopie des im Projektarchiv vorhandenen Projektes geschaffen. Beide arbeiten nun am selben File A innerhalb ihrer jeweiligen Kopien. Sally speichert ihre Version - zuerst im Repository ab. Wenn Harry später ebenfalls versucht, - seine Änderungen zu speichern, informiert ihn das Repository, + zuerst im Projektarchiv ab. Wenn Harry später ebenfalls versucht, + seine Änderungen zu speichern, informiert ihn das Projektarchiv, das sein File A nicht mehr aktuell ist. Das bedeutet, dass seitdem er sich seine Kopie erschaffen hat, sind irgendwelche Änderungen aufgetreten. Also bittet Harry seinen Client darum, @@ -401,7 +401,7 @@ einzuarbeiten. Die Möglichkeit besteht, dass Sallys Änderungen mit seinen nicht überlappen, wenn er also alle Änderungen eingearbeitet hat, kann er seine Arbeitskopie zurück in das - Repository speichern. Die Abbildungen + Projektarchiv speichern. Die Abbildungen und zeigen diesen Proczess. @@ -450,7 +450,7 @@ erkennnen und die nötigen intelligenten Änderungen durchzuführen. Wenn Harry die Konfliktsituationen — vielleicht nach einer kurzen Diskussion mit Sally — gelöst hat, - kann er seine Datei problemlos ins Repository speichern. + kann er seine Datei problemlos ins Projektarchiv speichern. Das Kopieren-Ändern-Zusammenführen-Modell beruht auf der Annahme dass Dateien kontextbezogen zusammenführbar sind – d.h. die - Mehrzahl der Dateien im Repository sind zeilenorientierte Textdateien + Mehrzahl der Dateien im Projektarchiv sind zeilenorientierte Textdateien (wie z.B. Programm-Quelltext). Aber für Dateien in Binärformaten, wie Grafiken und Klänge, ist es oftmals nicht möglich, konfligierende Änderungen zusammenzuführen. In diesen @@ -571,7 +571,7 @@ - Subversion-Repository-URLs + Subversion-Projektarchiv-URLs Das ganze Buch hindurch verwendet Subversion URLs, um - Dateien und Verzeichnisse in Subversion-Repositorys zu + Dateien und Verzeichnisse in Subversion-Projektarchivs zu identifizieren. Meistens benutzen diese URLs die Standardsyntax, die es erlaubt, Servernamen und Portnummern als Teil des URL zu spezifizieren: @@ -602,7 +602,7 @@ Allerdings gibt es einige bemerkenswerte Feinheiten, wie Subversion mit URLs umgeht. Beispielsweise dürfen URLs, die die file://-Zugriffsmethode enthalten (für - lokale Repositorys verwendet), gemäß Konvention entweder + lokale Projektarchive verwendet), gemäß Konvention entweder den Servernamen localhost oder gar keinen Servernamen enthalten: @@ -626,10 +626,10 @@ Darüber hinaus müssen Benutzer des file:// Schemas auf Windows-Plattformen eine inoffizielle Standard-Syntax verwenden - falls auf Repositorys auf derselben Maschine aber auf einem + falls auf Projektarchive auf derselben Maschine aber auf einem anderen Laufwerk zugegriffen werden soll. Beide der folgenden URL-Pfad-Syntaxen funktionieren, wobei - X das Laufwerk ist, wo das Repository + X das Laufwerk ist, wo das Projektarchiv liegt: C:\> svn checkout file:///X:/var/svn/repos @@ -716,7 +716,7 @@ svn Programm behandelt. - Repository URLs + Projektarchiv-URLs - Sie können auf Subversion-Repositorys über viele + Sie können auf Subversion-Projektarchive über viele unterschiedliche Methoden zugreifen – auf der lokalen Festplatte oder über verschiedene Protokolle, je nachdem, wie Ihr Administrator es eingerichtet hat. Ein Ort - im Repository ist jedenfalls immer ein URL. + im Projektarchiv ist jedenfalls immer ein URL. beschreibt, wie unterschiedliche URL Schemata auf die verfügbaren Zugriffsmethoden abgebildet werden. @@ -741,7 +741,7 @@ - Repository-Zugriffs-URLs + Projektarchiv-Zugriffs-URLs @@ -758,7 +758,7 @@ - Direkter Repository-Zugriff (auf lokaler + Direkter Projektarchiv-Zugriff (auf lokaler Festplatte) @@ -871,10 +871,10 @@ funktionieren, stellt Ihnen Subversion Befehle zur Verfügung, um Ihre Änderungen den anderen, die an Ihrem Projekt mitarbeiten, publik zu machen (indem es ins - Repository schreibt). Wenn die anderen ihre Änderungen + Projektarchiv schreibt). Wenn die anderen ihre Änderungen veröffentlichen, stellt Ihnen Subversion Befehle zur Verfügung, um diese Änderungen in Ihr Arbeitsverzeichnis - einzupflegen (indem es aus dem Repository liest). + einzupflegen (indem es aus dem Projektarchiv liest). - Oft enthält ein typisches Subversion-Repository die + Oft enthält ein typisches Subversion-Projektarchiv die Dateien (oder den Quelltext) für verschiedene Projekte; für gewöhnlich ist jedes Projekt ein Unterverzeichnis im - Dateisystembaum des Repositorys. Bei dieser Anordnung + Dateisystembaum des Projektarchivs. Bei dieser Anordnung entspricht die Arbeitskopie eines Benutzers gewöhnlich einem - bestimmten Unterverzeichnis des Repositorys. + bestimmten Unterverzeichnis des Projektarchivs. - Nehmen wir zum Beispiel an, Sie haben ein Repository, das + Nehmen wir zum Beispiel an, Sie haben ein Projektarchiv, das zwei Software-Projekte beinhaltet, paint und calc. Jedes Projekt ist in einem eigenen Hauptverzeichnis abgelegt, wie in The repository's filesystem --> - Das Dateisystem des Repositorys + Das Dateisystem des Projektarchivs @@ -943,7 +943,7 @@ working copy like this: --> Um eine Arbeitskopie zu erhalten, muss zunächst irgendein - Teilbaum des Repositorys ausgecheckt + Teilbaum des Projektarchivs ausgecheckt werden(check out). (Der Begriff check out hört sich an, als habe es etwas mit dem Sperren oder Reservieren von Ressourcen zu tun, hat es aber @@ -987,7 +987,7 @@ an, dass Subversion Ihrer Arbeitskopie eine Anzahl von Objekten hinzufügt (Add). Sie haben nun eine persönliche Kopie des Verzeichnisses /calc im - Repository, mit einem zusätzlichen + Projektarchiv, mit einem zusätzlichen Eintrag – .svn – das, wie bereits erwähnt, die besonderen Informationen enthält, die Subversion benötigt. @@ -1009,7 +1009,7 @@ Subversion erkennen, dass Sie die Datei verändert haben. Trotzdem veröffentlicht Subversion Ihre Änderungen solange nicht, bis Sie es ausdrücklich hierzu auffordern. Der Vorgang - des Veröffentlichens von Änderungen über das Repository ist + des Veröffentlichens von Änderungen über das Projektarchiv ist gemeinhin bekannter als commit (oder check in). @@ -1045,7 +1045,7 @@ file. --> Nun sind Ihre Änderungen an button.c dem - Repository überstellt, mitsamt einer Notiz, die Ihre Änderung + Projektarchiv überstellt, mitsamt einer Notiz, die Ihre Änderung beschreibt (nämlich, dass Sie einen Tippfehler beseitigt haben). Wenn eine andere Benutzerin eine Arbeitskopie von /calc auscheckt, wird sie Ihre @@ -1121,7 +1121,7 @@ Beachten Sie, dass Sally nicht angeben musste, welche Dateien zu aktualisieren sind; Subversion benutzt die Informationen aus dem .svn Verzeichnis und - darüber hinaus weitere Informationen im Repository, um zu + darüber hinaus weitere Informationen im Projektarchiv, um zu entscheiden, welche Dateien auf den neuesten Stand gebracht werden müssen. @@ -1150,7 +1150,7 @@ Verzeichnisse erzeugen, löschen, umbenennen und kopieren und dann den gesamten Umfang der Änderungen als atomare Transaktion durch ein svn commit in das - Repository einbringen. + Projektarchiv einbringen. Eine atomare Transaktion bedeutet: entweder es gehen alle - Änderungen in das Repository oder keine. Angesichts von + Änderungen in das Projektarchiv oder keine. Angesichts von Programmabstürzen, Systemabstürzen, Netzproblemen oder anderer Benutzeraktionen hält Subversion an dieser Atomizität fest. @@ -1174,12 +1174,12 @@ repository is numbered 0 and consists of nothing but an empty root directory. --> - Jedes Mal wenn das Repository ein Commit annimmt, wird ein + Jedes Mal wenn das Projektarchiv ein Commit annimmt, wird ein neuer Zustand des Dateisystem-Baums erzeugt, der Revision genannt wird. Jeder Revision wird eine einmalige natürliche Zahl zugewiesen, die um eins größer ist als die Vorgänger-Revision. Die anfängliche - Revision eines frisch erzeugten Repositorys bekommt die Nummer + Revision eines frisch erzeugten Projektarchivs bekommt die Nummer 0 und besteht lediglich aus einem leeren Wurzelverzeichnis. @@ -1192,18 +1192,18 @@ repository looked after a commit. --> zeigt, - wie man sich das Repository vorstellen kann. Stellen Sie sich + wie man sich das Projektarchiv vorstellen kann. Stellen Sie sich eine Reihe von Revisionsnummern vor, die bei 0 startet und von links nach rechts wächst. Jede Revisionsnummer hat einen Dateisystem-Baum unter sich hängen, der ein - Schnappschuss des Repositorys nach einem Commit + Schnappschuss des Projektarchivs nach einem Commit ist.
- Das Repository + Das Projektarchiv
@@ -1237,7 +1237,7 @@ Dateien angewendet. Jede Revisionsnummer wählt einen kompletten Baum aus; ein besonderer Zustand nach dem Commit einer Änderung. Man kann sich auch vorstellen, dass Revision - N den Zustand des Repository-Dateisystems nach dem N-ten + N den Zustand des Projektarchiv-Dateisystems nach dem N-ten Commit repräsentiert. Wenn Subversion-Benutzer von Revision 5 von foo.c sprechen, meinen sie tatsächlich @@ -1260,10 +1260,10 @@ most recent revision is 4: --> Es ist wichtig zu beachten, dass eine Arbeitskopie nicht - immer genau einer Revision im Repository zugeordnet werden + immer genau einer Revision im Projektarchiv zugeordnet werden kann; sie kann Dateien aus verschiedenen Revisionen beinhalten. Nehmen wir z.B. an, Sie checken sich eine - Arbeitskopie einer Datei aus einem Repository aus, deren + Arbeitskopie einer Datei aus einem Projektarchiv aus, deren neueste Revision 4 ist: @@ -1281,11 +1281,11 @@ working copy will now look like this: --> In diesem Augenblick entspricht Ihre Arbeitskopie exakt - der Revision im Repository. Sie machen jetzt allerdings eine + der Revision im Projektarchiv. Sie machen jetzt allerdings eine Änderung an button.c und bringen diese - Änderung mit einem Commit ins Repository. Angenommen, dass + Änderung mit einem Commit ins Projektarchiv. Angenommen, dass keine weiteren Commits vorgenommen wurden, wird Ihr Commit die - Revision 5 im Repository erzeugen, und Ihre Arbeitskopie sieht + Revision 5 im Projektarchiv erzeugen, und Ihre Arbeitskopie sieht so aus: @@ -1331,7 +1331,7 @@ Arbeitskopie von Makefile mit Revision 6, um zu zeigen, dass es noch aktuell ist. Wenn Sie also ein sauberes Update von der Wurzel Ihrer Arbeitskopie her machen, - sollte sie im Allgemeinen genau einer Revision im Repository + sollte sie im Allgemeinen genau einer Revision im Projektarchiv entsprechen. @@ -1342,7 +1342,7 @@ - Wie Arbeitskopien das Repository verfolgen + Wie Arbeitskopien das Projektarchiv verfolgen Ein Zeitstempel, der festhält, wann die lokale Kopie - das letzte Mal vom Repository aktualisiert wurde. + das letzte Mal vom Projektarchiv aktualisiert wurde. @@ -1382,7 +1382,7 @@ working file is in: --> Mit diesen Informationen kann Subversion durch - Kommunikation mit dem Repository feststellen, in + Kommunikation mit dem Projektarchiv feststellen, in welchem der folgenden Zustände sich eine Arbeitsdatei befindet: @@ -1404,7 +1404,7 @@ --> Die Datei im Arbeitsverzeichnis ist unverändert, und keinerlei Änderungen an der Datei sind seit der - Arbeitsrevision an das Repository übergeben worden. Ein + Arbeitsrevision an das Projektarchiv übergeben worden. Ein svn commit der Datei würde nichts machen, und ein svn update der Datei auch nicht. @@ -1429,8 +1429,8 @@ --> Die Datei wurde im Arbeitsverzeichnis geändert, und keinerlei Änderungen an der Datei sind seit der letzten - Aktualisierung an das Repository übergeben worden. Es - gibt lokale Änderungen, die noch nicht an das Repository + Aktualisierung an das Projektarchiv übergeben worden. Es + gibt lokale Änderungen, die noch nicht an das Projektarchiv übergeben worden sind, so dass ein svn commit der Datei Ihre Änderungen erfolgreich veröffentlichen würde, und ein svn @@ -1456,7 +1456,7 @@ latest changes into your working copy. --> Die Datei wurde im Arbeitsverzeichnis nicht - geändert, jedoch im Repository. Die Datei sollte + geändert, jedoch im Projektarchiv. Die Datei sollte aktualisiert werden, damit sie bezüglich der letzten öffentlichen Revision aktuell ist. Ein svn commit der Datei würde nichts machen, und @@ -1485,7 +1485,7 @@ resolve the conflict. --> Die Datei wurde sowohl im Arbeitsverzeichnis als - auch im Repository geändert. Ein svn + auch im Projektarchiv geändert. Ein svn commit der Datei würde mit einem out-of-date Fehler abbrechen. Die Datei sollte erst aktualisiert werden; ein svn @@ -1561,13 +1561,13 @@ publish them. --> Eine der grundlegenden Regeln von Subversion ist, dass - eine Aktion, die in das Repository schreibt keine Aktion zur - Folge hat, die aus dem Repository liest und umgekehrt. Wenn - Sie bereit sind, neue Änderungen an das Repository zu + eine Aktion, die in das Projektarchiv schreibt keine Aktion zur + Folge hat, die aus dem Projektarchiv liest und umgekehrt. Wenn + Sie bereit sind, neue Änderungen an das Projektarchiv zu übergeben, heißt das noch lange nicht, dass Sie auch die Änderungen anderer haben möchten. Und wenn Sie noch an Änderungen arbeiten, sollte svn update - elegant die Änderungen aus dem Repository mit Ihren + elegant die Änderungen aus dem Projektarchiv mit Ihren Änderungen zusammenführen anstatt Sie dazu zu zwingen, Ihre Änderungen zu veröffentlichen. @@ -1614,13 +1614,13 @@ Nehmen wir zum Beispiel an, Ihre Arbeitskopie besteht komplett aus Revision 10. Sie bearbeiten die Datei foo.html und führen ein svn - commit aus, das die Revision 15 im Repository + commit aus, das die Revision 15 im Projektarchiv erzeugt. Nach dem erfolgreichen Commit würden viele neue Benutzer erwarten, dass die gesamte Arbeitskopie auf Revision 15 stehe, was aber nicht der Fall ist! Alle möglichen Änderungen können sich zwischen Revision 10 und 15 - im Repository zugetragen haben. Der Client weiß nichts über - diese Änderungen im Repository, da Sie noch nicht + im Projektarchiv zugetragen haben. Der Client weiß nichts über + diese Änderungen im Projektarchiv, da Sie noch nicht svn update aufgerufen haben, und svn commit zieht keine Änderungen herein. Wenn andererseits svn commit automatisch @@ -1662,12 +1662,12 @@ Tatsache ist, dass jedes Mal wenn Sie svn commit aufgerufen haben, die Arbeitskopie aus irgendeiner Mischung von Revisionen - besteht. Die Sachen, die Sie eben ins Repository gebracht + besteht. Die Sachen, die Sie eben ins Projektarchiv gebracht haben, werden mit höheren Revisionsnummern gekennzeichnet als alles andere. Nach einigen Commits (ohne zwischenzeitliche Updates) ist Ihre Arbeitskopie eine Riesenmischung von Revisionen. Selbst wenn Sie die einzige - Person sind, die das Repository benutzt, werden sie dieses + Person sind, die das Projektarchiv benutzt, werden sie dieses Phänomen bemerken. Um Ihre Mischung aus Arbeitsrevisionen untersuchen zu können, verwenden Sie den Befehl svn status mit der -Option @@ -1768,9 +1768,9 @@ destroying changes you've not yet seen. --> Erstens kann die Löschung einer Datei oder eines - Verzeichnisses nicht an das Repository übergeben werden, + Verzeichnisses nicht an das Projektarchiv übergeben werden, wenn die Datei oder das Verzeichnis nicht ganz aktuell ist. - Falls eine neuere Version im Repository existiert, wird Ihr + Falls eine neuere Version im Projektarchiv existiert, wird Ihr Löschversuch abgelehnt, um zu vermeiden, dass Sie versehentlich Änderungen löschen, die Sie noch nicht gesehen haben. @@ -1785,7 +1785,7 @@ destroy properties you've not yet seen. --> Zweitens können Sie keine Änderungen an Metadaten eines - Verzeichnisses an das Repository übergeben, wenn das + Verzeichnisses an das Projektarchiv übergeben, wenn das Verzeichnis nicht ganz aktuell ist. In werden Sie lernen, wie man Propertys an Objekte hängt. Die Arbeitskopie @@ -1823,8 +1823,8 @@ the client working copy, and the array of repository revision trees. --> - Wir haben die Begriffe zentrales Repository, - Arbeitskopie und Reihe von Revisionsbäumen des Repositorys + Wir haben die Begriffe zentrales Projektarchiv, + Arbeitskopie und Reihe von Revisionsbäumen des Projektarchivs eingeführt. ======================================= --- /trunk/src/de/book/ch02-basic-usage.xml Sat May 2 06:24:47 2009 +++ /trunk/src/de/book/ch02-basic-usage.xml Sun May 30 23:37:40 2010 @@ -169,7 +169,7 @@ - Wie Sie Daten in Ihr Repository bekommen + Wie Sie Daten in Ihr Projektarchiv bekommen Sie können neue Dateien auf zweierlei Weisen in das - Subversion-Repository bekommen: svn import und + Subversion-Projektarchiv bekommen: svn import und svn add. Wir werden svn import jetzt und svn add später in diesem Kapitel besprechen, wenn wir einen typischen Tag mit @@ -202,13 +202,13 @@ begin tracking in your Subversion repository. For example: --> Mit dem svn import-Befehl kann ein - unversionierter Verzeichnisbaum schnell in ein Repository + unversionierter Verzeichnisbaum schnell in ein Projektarchiv kopiert werden, wobei benötigte Zwischenverzeichnisse nach Bedarf angelegt werden. svn import erfordert keine Arbeitskopie und pflegt Ihre Dateien sofort in - das Repository ein. Typischerweise verwenden Sie diesen Befehl, + das Projektarchiv ein. Typischerweise verwenden Sie diesen Befehl, wenn bereits ein Verzeichnisbaum besteht, den Sie - aber in einem Subversion-Repository pflegen möchten. Zum + aber in einem Subversion-Projektarchiv pflegen möchten. Zum Beispiel: Im vorstehenden Beispiel wurde der Inhalt des Verzeichnisses mytree unter dem - Verzeichnis some/project im Repository + Verzeichnis some/project im Projektarchiv abgelegt: @@ -272,7 +272,7 @@ - Empfohlene Repository Aufteilung + Empfohlene Projektarchiv Aufteilung Obwohl die Flexibilität von Subversion es Ihnen erlaubt, - Ihr Repository nach Belieben aufzuteilen, empfehlen wir, ein + Ihr Projektarchiv nach Belieben aufzuteilen, empfehlen wir, ein Verzeichnis trunk für die Hauptlinie der Entwicklung, ein Verzeichnis branches für Branch-Kopien und @@ -334,14 +334,14 @@ the HEAD (latest revision) of the Subversion repository that you specify on the command line: --> - In den meisten Fällen werden Sie ein Subversion-Repository + In den meisten Fällen werden Sie ein Subversion-Projektarchiv zu nutzen beginnen, indem Sie einen Checkout Ihres Projektes vornehmen. Das - Auschecken eines Repositorys erzeugt eine + Auschecken eines Projektarchivs erzeugt eine Arbeitskopie desselben auf Ihrem lokalen Rechner. Diese Arbeitskopie umfasst die Revision HEAD (die letzte Revision) des auf der Kommandozeile angegebenen - Subversion-Repositorys: + Subversion-Projektarchivs: Obwohl im vorangehenden Beispiel das Verzeichnis trunk ausgecheckt wird, können Sie genauso leicht irgendein tiefliegendes - Unterverzeichnis aus einem Repository auschecken, indem Sie das + Unterverzeichnis aus einem Projektarchiv auschecken, indem Sie das Unterverzeichnis im URL beim Checkout angeben: Sofern Sie nicht bereit sind, das Hinzufügen einer neuen Datei oder eines neuen Verzeichnisses oder Änderungen an - bestehenden Objekten an das Repository zu übergeben, besteht + bestehenden Objekten an das Projektarchiv zu übergeben, besteht keine Notwendigkeit, dem Subversion-Server mitzuteilen, dass Sie irgendetwas gemacht haben. @@ -608,9 +608,9 @@ copy in the new directory that you name. For example: --> Obwohl Sie sicherlich eine Arbeitskopie mit dem - Repository-URL als einziges Argument auschecken können, haben + Projektarchiv-URL als einziges Argument auschecken können, haben sie auch die Möglichkeit, ein Verzeichnis hinter dem - Repository-URL anzugeben. Das erstellt Ihre Arbeitskopie in dem + Projektarchiv-URL anzugeben. Das erstellt Ihre Arbeitskopie in dem angegebenen Verzeichnis. Zum Beispiel: - Bringen Sie Ihre Änderungen ins Repository. + Bringen Sie Ihre Änderungen ins Projektarchiv. svn commit @@ -883,7 +883,7 @@ die die anderen Entwickler im Projekt seit Ihrer letzten Aktualisierung vorgenommen haben. Benutzen Sie svn update um Ihre Arbeitskopie synchron mit der - letzten Revision im Repository zu bekommen: + letzten Revision im Projektarchiv zu bekommen: Die Datei, das Verzeichnis oder den symbolischen Link foo zum Hinzufügen in das - Repository vormerken. Wenn Sie das nächste Mal übergeben, + Projektarchiv vormerken. Wenn Sie das nächste Mal übergeben, wird foo ein Kind seines Elternverzeichnisses. Beachten Sie, dass alles unterhalb von foo zum Hinzufügen vorgemerkt @@ -1115,18 +1115,18 @@ --> Die Datei, das Verzeichnis oder den symbolischen Link foo zum Löschen aus dem - Repository vormerken. foo wird + Projektarchiv vormerken. foo wird sofort aus der Arbeitskopie entfernt, falls es eine Datei oder ein Link ist. Falls foo ein Verzeichnis ist, wird es nicht gelöscht, sondern zum Löschen vorgemerkt. Wenn Sie Ihre Änderungen übergeben, wird das gesamte Verzeichnis foo - aus der Arbeitskopie und dem Repository entfernt. + aus der Arbeitskopie und dem Projektarchiv entfernt. Selbstverständlich wird nichts jemals - vollständig aus dem Repository + vollständig aus dem Projektarchiv gelöscht – lediglich aus der - HEAD-Revision des Repositorys. + HEAD-Revision des Projektarchivs. Sie können alles was Sie gelöscht haben zurückholen, indem Sie eine Revision auschecken (oder hierauf aktualisieren), die älter ist, als die @@ -1156,7 +1156,7 @@ als Duplikat von foo und merke bar automatisch zum Hinzufügen vor. Wird bei der nächsten Übergabe bar dem - Repository hinzugefügt, wird die Historie der Kopie + Projektarchiv hinzugefügt, wird die Historie der Kopie mitaufgezeichnet (so wie sie ursprünglich in foo war). svn copy erzeugt keine Zwischenverzeichnisse, @@ -1211,7 +1211,7 @@ - Ändern des Repositorys ohne Arbeitskopie + Ändern des Projektarchivs ohne Arbeitskopie Es gibt einige Anwendungsfälle, die - Änderungen am Verzeichnisbaum unmittelbar in das Repository + Änderungen am Verzeichnisbaum unmittelbar in das Projektarchiv übertragen. Das passiert nur, wenn ein Unterbefehl direkt auf einen URL statt auf einen Pfad in der Arbeitskopie angewendet wird. Im Einzelnen können spezielle Anwendungen @@ -1248,7 +1248,7 @@ Befehle, die auf einer Arbeitskopie arbeiten, diese als eine Art Bereitstellungsraum verwenden, in denen Ihre Änderungen vorbereitet werden können, bevor sie in das - Repository übergeben werden. Befehle, die auf URLs arbeiten, + Projektarchiv übergeben werden. Befehle, die auf URLs arbeiten, haben diesen Luxus nicht, so dass die Arbeit direkt mit einem URL bei den oben genannten Aktionen eine sofortige Übergabe repräsentiert. @@ -1279,7 +1279,7 @@ diff. --> Sobald Sie mit Ihren Änderungen fertig sind, müssen Sie - sie ins Repository bringen; bevor Sie das jedoch machen, ist + sie ins Projektarchiv bringen; bevor Sie das jedoch machen, ist es normalerweise eine gute Idee, sich die Änderungen noch einmal anzusehen. Dadurch, dass Sie die Änderungen noch einmal begutachten, können Sie eine genauere Log-Nachricht @@ -1317,7 +1317,7 @@ Sie können die Befehle svn status, svn diff und svn revert ohne Netzzugriff verwenden, - selbst wenn das Repository im Netz ist. + selbst wenn das Projektarchiv im Netz ist. Das macht es leicht, Ihre momentanen Änderungen zu verwalten, wenn Sie irgendwo ohne Netzverbindung sind, etwa im Flugzeug, im Pendlerzug oder am Strand. @@ -1373,14 +1373,14 @@ --> Subversion ist optimiert worden, um Ihnen bei dieser Aufgabe zu helfen, und es ist in der Lage, viele Dinge zu tun, - ohne mit dem Repository kommunizieren zu müssen. Im Besonderen + ohne mit dem Projektarchiv kommunizieren zu müssen. Im Besonderen enthält Ihre Arbeitskopie eine versteckte unveränderte Kopie jeder versionskontrollierten Datei innerhalb des .svn-Bereichs. Deswegen kann Ihnen Subversion schnell zeigen, wie sich Ihre bearbeiteten Dateien geändert haben, und es erlaubt Ihnen sogar, Ihre Änderungen zurückzunehmen, ohne Verbindung mit dem - Repository aufnehmen zu müssen. + Projektarchiv aufnehmen zu müssen. @@ -1422,7 +1422,7 @@ Änderungen Sie an Ihrer Arbeitskopie vorgenommen haben. svn status stellt Ihnen alle Informationen zur Verfügung, die Sie über Änderungen an - der Arbeitskopie benötigen – ohne mit dem Repository + der Arbeitskopie benötigen – ohne mit dem Projektarchiv in Verbindung zu treten oder möglicherweise neue Änderungen von anderen Benutzern einzupflegen. @@ -1437,7 +1437,7 @@ In Subversion, macht svn update genau das – es aktualisiert Ihre Arbeitskopie mit jeglichen Änderungen, die seit Ihrer letzten Aktualisierung in das - Repository eingebracht worden sind. Sie sollten sich + Projektarchiv eingebracht worden sind. Sie sollten sich abgewöhnen, update zu verwenden, um nachzusehen, welche lokalen Änderungen Sie gemacht haben. @@ -1495,7 +1495,7 @@ --> Die Datei, das Verzeichnis oder der symbolische Link item ist zum Hinzufügen in - das Repository vorgemerkt. + das Projektarchiv vorgemerkt. @@ -1519,7 +1519,7 @@ Ihrer Arbeitskopie haben (und konnten beim Aktualisieren nicht automatisch aufgelöst werden). Sie müssen den Konflikt auflösen, bevor Sie Ihre - Änderungen in das Repository übergeben können. + Änderungen in das Projektarchiv übergeben können. @@ -1534,7 +1534,7 @@ --> Die Datei, das Verzeichnis oder der symbolische Link item ist zum Löschen im - Repository vorgemerkt. + Projektarchiv vorgemerkt. @@ -1617,12 +1617,12 @@ about things that are out of date: --> Keiner der vorangegangenen Aufrufe von svn - status stellt eine Verbindung zum Repository + status stellt eine Verbindung zum Projektarchiv her – stattdessen werden die Metadaten im Verzeichnis .svn mit der Arbeitskopie verglichen. Schließlich gibt es die -Option (), - die eine Verbindung zum Repository herstellt, und + die eine Verbindung zum Projektarchiv herstellt, und Informationen darüber bereitstellt, was nicht mehr aktuell ist: @@ -1663,7 +1663,7 @@ trout.c. Das gibt Ihnen einige sehr wichtige Informationen – Sie müssen aktualisieren, um die Änderungen auf dem Server an README - mitzubekommen, bevor Sie übergeben, oder das Repository wird + mitzubekommen, bevor Sie übergeben, oder das Projektarchiv wird Ihre Übergabe ablehnen, da sie nicht aktuell ist (mehr dazu später). @@ -1935,7 +1935,7 @@ svn revert beim Rückgängigmachen einer Datei einen merklichen Unterschied – es muss beim Wiederherstellen der Datei nicht Verbindung mit dem - Repository aufnehmen. + Projektarchiv aufnehmen. Beispielsweise ändert Sally die Datei - sandwich.txt aus dem Repository. Harry + sandwich.txt aus dem Projektarchiv. Harry hat gerade diese Datei in seiner Arbeitskopie geändert und übergeben. Sally aktualisiert Ihre Arbeitskopie vor dem übergeben und bekommt einen Konflikt, den sie @@ -2623,7 +2623,7 @@ --> An dieser Stelle erlaubt Subversion Sally nicht, die Datei - sandwich.txt an das Repository zu + sandwich.txt an das Projektarchiv zu übergeben, solange die drei temporären Dateien nicht entfernt werden: @@ -2649,7 +2649,7 @@ --> Falls Sie eine Konfliktauflösung aufgeschoben haben, müssen Sie den Konflikt auflösen, bevor Ihnen Subversion - erlaubt, Ihre Änderungen in das Repository einzustellen. Sie + erlaubt, Ihre Änderungen in das Projektarchiv einzustellen. Sie werden dafür den svn resolve-Befehl mit einem von mehreren Argumenten für die -Option aufrufen. @@ -2753,7 +2753,7 @@ Hier ist ein Beispiel. Aufgrund einer schlechten Absprache bearbeiten Sie und Ihre Mitarbeiterin Sally gleichzeitig die Datei sandwich.txt. Sally übergibt - ihre Änderungen an das Repository, und sobald Sie versuchen, + ihre Änderungen an das Projektarchiv, und sobald Sie versuchen, Ihre Arbeitskopie zu aktualisieren, erhalten Sie einen Konflikt und müssen sandwich.txt bearbeiten, um den Konflikt aufzulösen. Zunächst wollen wir @@ -2866,7 +2866,7 @@ ready to commit your changes: --> Verwenden Sie jetzt svn resolve, und - Sie sind bereit, Ihre Änderungen an das Repository zu + Sie sind bereit, Ihre Änderungen an das Projektarchiv zu übergeben: - Verwerfen Ihrer Änderungen zugunsten einer aktualisierten Revision aus dem Repository + Verwerfen Ihrer Änderungen zugunsten einer aktualisierten Revision aus dem Projektarchiv Endlich! Sie haben die Bearbeitung abgeschlossen, Sie haben alle Änderungen vom Server eingearbeitet, und Sie sind - bereit, Ihre Änderungen an das Repository zu übergeben. + bereit, Ihre Änderungen an das Projektarchiv zu übergeben. Der Befehl svn commit schickt all Ihre - Änderungen zum Repository. Wenn Sie eine Änderung übergeben, + Änderungen zum Projektarchiv. Wenn Sie eine Änderung übergeben, müssen Sie einen Protokolleintrag erstellen, der die Änderung beschreibt. Dieser Eintrag wird mit der von Ihnen erzeugten neuen Revision verknüpft. Wenn Ihr @@ -3151,7 +3151,7 @@ that, the entire commit will fail with a message informing you that one or more of your files are out of date: --> - Das Repository weiß nicht, ob Ihre Änderung im Ganzen + Das Projektarchiv weiß nicht, ob Ihre Änderung im Ganzen einen Sinn ergeben, es ist ihm auch egal; es überprüft lediglich, ob nicht irgendjemand anderes irgendeine derselben Dateien geändert hat wie Sie, als Sie mal weggeschaut haben. Falls @@ -3206,7 +3206,7 @@ --> Das deckt den grundlegenden Arbeitszyklus für die Verwendung von Subversion ab. Subversion bietet viele andere - Möglichkeiten, die Sie benutzen können, um Ihr Repository und + Möglichkeiten, die Sie benutzen können, um Ihr Projektarchiv und Ihre Arbeitskopie zu verwalten, doch der größte Teil Ihrer täglichen Arbeit mit Subversion wird lediglich die in diesem Kapitel behandelten Befehle berühren. Wir werden jedoch noch @@ -3237,12 +3237,12 @@ just want to peer into the past instead of going into it. --> - Ihr Subversion-Repository ist wie eine Zeitmaschine. Es legt + Ihr Subversion-Projektarchiv ist wie eine Zeitmaschine. Es legt einen Eintrag für jede jemals übergebene Änderung an und erlaubt Ihnen, diese Geschichte durch die Untersuchung sowohl ehemaliger Datei- und Verzeichnisversionen als auch der begleitenden Metadaten zu erforschen. Mit einem einzigen Subversion-Befehl - können Sie das Repository genauso auschecken (oder eine + können Sie das Projektarchiv genauso auschecken (oder eine bestehende Arbeitskopie wiederherstellen), wie es zu einem beliebigen Zeitpunkt oder einer Revisionsnummer in der Vergangenheit war. Allerdings möchten Sie manchmal nur in die @@ -3254,7 +3254,7 @@ historical data from the repository: --> Es gibt mehrere Befehle, die Sie mit historischen Daten aus dem - Repository versorgen können: + Projektarchiv versorgen können: @@ -3457,14 +3457,14 @@ log by using the () option. --> - Wenn Sie Ihre Änderungen an das Repository übergeben und + Wenn Sie Ihre Änderungen an das Projektarchiv übergeben und sofort svn log ohne Argumente eingeben, wird Ihnen vielleicht auffallen, dass Ihre letzte Änderung nicht in der Liste der Protokolleinträge auftaucht. Das liegt an der Kombination des Verhaltens von svn commit und dem Standardverhalten von svn log. Wenn Sie Änderungen an das - Repository übergeben, erhöht svn zunächst + Projektarchiv übergeben, erhöht svn zunächst nur die Revision der Dateien (und Verzeichnisse) die es übernimmt, so dass das Elternverzeichnis normalerweise auf der älteren Revision verbleibt (siehe Auf den ersten Blick sieht es aus wie ein Fehler. Aber seien Sie daran erinnert, dass, während Revisionen über das - gesamte Repository zählen, svn log auf - einem Pfad im Repository arbeitet. Wenn Sie keinen Pfad + gesamte Projektarchiv zählen, svn log auf + einem Pfad im Projektarchiv arbeitet. Wenn Sie keinen Pfad angeben, verwendet Subversion das aktuelle Arbeitsverzeichnis als Standardargument. Deshalb zeigt Subversion Ihnen einen leeren Protokolleintrag, falls Sie in einem @@ -3589,7 +3589,7 @@ sich weder dieses Verzeichnis noch irgendein Unterverzeichnis darin geändert hat. Falls Sie sehen wollen, was sich in der Revision geändert hat, versuchen Sie svn - log direkt auf den obersten URL Ihres Repositorys + log direkt auf den obersten URL Ihres Projektarchivs zeigen zu lassen, wie in svn log -r 2 http://svn.collab.net/repos/svn. @@ -3613,7 +3613,7 @@ svn diff ist uns bereits begegnet – es zeigt Dateiunterschiede im unified-diff-Format; wir verwendeten es, um die lokalen Änderungen an unserer - Arbeitskopie anzuzeigen, bevor wir sie dem Repository + Arbeitskopie anzuzeigen, bevor wir sie dem Projektarchiv übergaben. zum Vergleichen Ihrer Arbeitskopie mit dem - Repository + Projektarchiv - zum Vergleichen von Revisionen im Repository + zum Vergleichen von Revisionen im Projektarchiv @@ -3694,7 +3694,7 @@ - Vergleichen der Arbeitskopie mit dem Repository + Vergleichen der Arbeitskopie mit dem Projektarchiv Wird eine einzelne Nummer mit () übergeben, wird die Arbeitskopie mit - der angegebenen Revision im Repository verglichen: + der angegebenen Revision im Projektarchiv verglichen: $ svn diff -r 3 rules.txt @@ -3729,7 +3729,7 @@ - Vergleichen von Repository mit Repository + Vergleichen von Projektarchiv mit Projektarchiv - Zu guter Letzt können Sie Revisionen im Repository auch + Zu guter Letzt können Sie Revisionen im Projektarchiv auch dann vergleichen, falls Sie gar keine Arbeitskopie auf Ihrem lokalen Rechner haben, indem Sie einfach den entsprechenden URL auf der Kommandozeile angeben: @@ -3807,7 +3807,7 @@ - Stöbern im Repository + Stöbern im Projektarchiv Der Befehl svn list zeigt Ihnen, - welche Dateien sich in einem Repository-Verzeichnis + welche Dateien sich in einem Projektarchiv-Verzeichnis befinden, ohne die Dateien auf Ihren lokalen Rechner herunterladen zu müssen: @@ -3924,7 +3924,7 @@ --> Der Befehl svn list ohne Argumente verwendet standardmäßig den - Repository-URL des aktuellen + Projektarchiv-URL des aktuellen Arbeitsverzeichnisses und nicht das Verzeichnis der lokalen Arbeitskopie. Schließlich können Sie, falls Sie eine Auflistung des lokalen Verzeichnisses @@ -3942,7 +3942,7 @@ - Bereitstellung älterer Repository-Schnappschüsse + Bereitstellung älterer Projektarchiv-Schnappschüsse An dieser Stelle sollten Sie verstehen, wie jede Übergabe an - das Repository dort einen völlig neuen Dateibaum + das Projektarchiv dort einen völlig neuen Dateibaum (Revision genannt) erzeugt. Wenn nicht, blättern Sie zurück und lesen Sie in über Revisionen @@ -179,7 +179,7 @@ --> Für dieses Kapitel verwenden wir das Beispiel aus . Erinnern Sie sich, dass Sie und Ihre - Mitarbeiterin Sally sich ein Repository teilen, das zwei + Mitarbeiterin Sally sich ein Projektarchiv teilen, das zwei Projekte beinhaltet: paint und calc. Beachten Sie, dass in dieses Mal jedoch jedes @@ -191,7 +191,7 @@ - Repository-Struktur zu Beginn + Projektarchiv-Struktur zu Beginn @@ -271,7 +271,7 @@ zu übergeben oder die Arbeitskopie zu aktualisieren, bevor Sie mit Ihrer Arbeit vollständig fertig sind. Das wirft allerdings einige Probleme auf. Erstens ist das nicht sehr sicher. Viele - Leute möchten Ihre Arbeit regelmäßig ins Repository sichern, für + Leute möchten Ihre Arbeit regelmäßig ins Projektarchiv sichern, für den Fall, dass etwas Schlimmes mit der Arbeitskopie passieren könnte. Zweitens ist das nicht sehr flexibel. Falls Sie Ihre Arbeit an mehreren Rechnern verrichten (vielleicht haben Sie @@ -290,7 +290,7 @@ Änderungen fertig sind, sehr schwierig sein, Ihr Arbeitsergebnis wieder mit dem Hauptteil der Quelltexte Ihrer Firma zusammenzuführen. Sally (und andere) hätten viele andere - Änderungen ins Repository übergeben haben können, die sich + Änderungen ins Projektarchiv übergeben haben können, die sich schwer in Ihre Arbeitskopie einarbeiten ließen – besonders, falls Sie svn update nach Wochen der Isolierung ausführen. @@ -304,7 +304,7 @@ --> Die bessere Lösung ist, Ihren eigenen Zweig oder Ihre eigene - Entwicklungslinie im Repository zu erzeugen. Dies erlaubt Ihnen, + Entwicklungslinie im Projektarchiv zu erzeugen. Dies erlaubt Ihnen, Ihre halbfertigen Arbeitsergebnisse regelmäßig zu sichern, ohne andere zu stören; dennoch können Sie selektiv Informationen mit Ihren Kollegen teilen. Im Weiteren werden Sie sehen, wie das @@ -336,14 +336,14 @@ --> Es ist sehr einfach, einen Zweig zu erzeugen – Sie erstellen mit dem Befehl svn copy eine - Kopie des Projektes im Repository. Subversion kann nicht nur + Kopie des Projektes im Projektarchiv. Subversion kann nicht nur Dateien, sondern auch komplette Verzeichnisse kopieren. In diesem Fall möchten Sie eine Kopie des Verzeichnisses /calc/trunk machen. Wo soll die neue Kopie angelegt werden? Wo Sie wünschen – es ist eine Frage der Projektkonventionen. Sagen wir mal, dass Ihr Team die Konvention vereinbart hat, Zweige im Bereich - /calc/branches des Repositorys anzulegen, + /calc/branches des Projektarchivs anzulegen, und Sie Ihren Zweig my-calc-branch nennen möchten. Sie werden ein neues Verzeichnis /calc/branches/my-calc-branch anlegen, @@ -360,7 +360,7 @@ copy in einer Arbeitskopie eine Datei auf eine andere kopiert wird. Es kann allerdings auch verwendet werden, um eine entfernte Kopie innerhalb des - Repositorys durchzuführen. Kopieren Sie einfach einen URL auf + Projektarchivs durchzuführen. Kopieren Sie einfach einen URL auf einen anderen: Dieser Befehl bewirkt eine fast sofortige Übergabe im - Repository, wobei in Revision 341 ein neues Verzeichnis + Projektarchiv, wobei in Revision 341 ein neues Verzeichnis erzeugt wird. Das neue Verzeichnis ist eine Kopie von /calc/trunk. Dies wird in gezeigt. Subversion unterstützt nicht das Kopieren zwischen - verschiedenen Repositorys. Wenn Sie mit svn + verschiedenen Projektarchiven. Wenn Sie mit svn copy oder svn move URLs verwenden, können Sie nur Objekte innerhalb desselben - Repositorys kopieren oder verschieben. + Projektarchivs kopieren oder verschieben. Obwohl es auch möglich ist, einen Zweig zu erzeugen, indem @@ -431,7 +431,7 @@ - Repository mit neuer Kopie + Projektarchiv mit neuer Kopie @@ -454,10 +454,10 @@ it can. It duplicates data only when it is necessary to disambiguate different versions of objects. --> - Das Repository von Subversion ist auf eine besondere + Das Projektarchiv von Subversion ist auf eine besondere Weise konstruiert. Wenn Sie ein Verzeichnis kopieren, brauchen Sie sich keine Gedanken darüber zu machen, dass das - Repository riesengroß wird – Subversion dupliziert + Projektarchiv riesengroß wird – Subversion dupliziert tatsächlich überhaupt keine Daten. Stattdessen erzeugt es einen neuen Verzeichniseintrag, der auf einen bestehenden Baum verweist. Falls Sie @@ -508,7 +508,7 @@ und Teilens vor dem Benutzer verborgen, der lediglich Kopien von Bäumen sieht. Die Hauptsache hierbei ist, das Kopien billig sind, sowohl was die Zeit als auch den Speicherplatz - angeht. Wenn Sie einen Zweig komplett im Repository anlegen + angeht. Wenn Sie einen Zweig komplett im Projektarchiv anlegen (durch den Aufruf von svn copy URL1 URL2), handelt es @@ -561,7 +561,7 @@ creating a working copy of a branch.) --> An dieser Arbeitskopie ist nichts besonders; sie spiegelt - bloß ein anderes Verzeichnis im Repository wieder. Wenn Sie + bloß ein anderes Verzeichnis im Projektarchiv wieder. Wenn Sie Änderungen übergeben, wird sie Sally jedoch nicht sehen, wenn sie aktualisiert, da sie eine Arbeitskopie von /calc/trunk hat. (Stellen Sie sicher, @@ -776,7 +776,7 @@ nicht die Änderung, die Sie in Revision 343 gemacht haben. Was Subversion angeht, hatten diese beiden Übergaben Auswirkungen auf unterschiedliche Dateien an unterschiedlichen - Repository-Orten. Dennoch zeigt Subversion + Projektarchiv-Orten. Dennoch zeigt Subversion doch, dass die beiden Dateien einen Teil der Geschichte gemeinsam haben. Bevor die Kopie des Zweiges in Revision 341 gemacht wurde, waren die Dateien dieselbe @@ -828,7 +828,7 @@ --> Zweitens bestehen die Zweige von Subversion, bedingt durch den Kopiermechanismus, als normale - Dateisystemverzeichnisse im Repository. Das ist ein + Dateisystemverzeichnisse im Projektarchiv. Das ist ein Unterschied zu anderen Versionskontrollsystemen, bei denen Zweige typischerweise definiert werden, indem auf einer eigenen Ebene den Dateisammlungen Etiketten @@ -1022,8 +1022,8 @@ changeset r9238 into your working copy. --> In Subversion bezeichnet eine globale Revisionsnummer N - einen Baum im Repository: Sie beschreibt das Aussehen des - Repositorys nach der N-ten Übergabe. Sie ist auch der Name + einen Baum im Projektarchiv: Sie beschreibt das Aussehen des + Projektarchivs nach der N-ten Übergabe. Sie ist auch der Name einer impliziten Änderungsmenge: Wenn Sie den Baum N mit dem Baum N−1 vergleichen, können Sie genau den Patch ableiten, der übergeben wurde. Daher ist es einfach, sich @@ -1202,7 +1202,7 @@ . -R wieder rückgängig machen und eine lange was geht hier eigentlich vor-Unterredung mit Ihren Mitarbeitern führen. Falls jedoch alles gut aussieht, - können Sie die Änderungen an das Repository übergeben: + können Sie die Änderungen an das Projektarchiv übergeben: Nachdem nun Ihr privater Zweig mit dem Stamm - zusammengeführt wurde, können Sie ihn aus dem Repository + zusammengeführt wurde, können Sie ihn aus dem Projektarchiv löschen: @@ -1616,7 +1616,7 @@ Ihr Zweig nicht mehr im Verzeichnis /branches sichtbar ist, seine Existenz gleichwohl ein unveränderbarer Teil der Geschichte des - Repositorys ist. Ein einfacher Befehl svn + Projektarchivs ist. Ein einfacher Befehl svn log auf dem /branches URL wird die gesamte Geschichte des Zweiges anzeigen. Ihr Zweig kann eines Tages sogar wiederbelebt werden, sollten Sie dieses @@ -1683,7 +1683,7 @@ Der letzte Befehl des vorangegangenen Beispiels – svn switch – ist eine Art, ein bestehendes Arbeitsverzeichnis auf ein unterschiedliches - Repository-Verzeichnis zu aktualisieren. Wir werden das + Projektarchiv-Verzeichnis zu aktualisieren. Wir werden das genauer in besprechen. @@ -1959,7 +1959,7 @@ --> Sehr häufig wird svn merge verwendet, um eine Änderung rückgängig zu machen, die bereits an das - Repository übergeben worden war. Nehmen wir einmal an, Sie + Projektarchiv übergeben worden war. Nehmen wir einmal an, Sie arbeiten fröhlich in einer Arbeitskopie von /calc/trunk und entdecken, dass die damalige Änderung an integer.c in @@ -1967,7 +1967,7 @@ sollen. Sie können svn merge verwenden, um die Änderung in Ihrer Arbeitskopie zurückzunehmen, und dann die lokale Änderung an - das Repository übergeben. Alles, was Sie hierfür tun müssen, + das Projektarchiv übergeben. Alles, was Sie hierfür tun müssen, ist, eine umgekehrte Differenz anzugeben. (Sie machen das durch die Angabe von oder durch das äquivalente --> Wie wir früher bereits erwähnten, kann man eine - Repository-Version als eine bestimmte Änderungsmenge + Projektarchiv-Version als eine bestimmte Änderungsmenge betrachten. Bei Verwendung der Option wird svn merge aufgefordert, eine Änderungsmenge oder ein ganzes Intervall von Änderungsmengen auf Ihre @@ -2053,7 +2053,7 @@ diff benutzen sollten, um sicherzustellen, dass Ihre Arbeit in dem Zustand ist, den Sie haben möchten, und verwenden Sie anschließend svn commit, um - die endgültige Version in das Repository zu bringen. Nach der + die endgültige Version in das Projektarchiv zu bringen. Nach der Übergabe wird sich diese bestimmte Änderungsmenge nicht mehr in der HEAD-Revision wiederfinden. @@ -2100,12 +2100,12 @@ entfernen, sprechen wir eigentlich darüber, sie aus der HEAD-Revision zu entfernen. Die ursprüngliche Änderung besteht immer noch in der Geschichte - des Repositorys. Für die meisten Situationen ist das + des Projektarchivs. Für die meisten Situationen ist das ausreichend. Die meisten Leute sind sowieso nur am HEAD eines Projektes interessiert. Es gibt jedoch Spezialfälle, in denen Sie wirklich alle Beweise der Übergabe vernichten möchten. (Vielleicht hat jemand ein - vertrauliches Dokument in das Repository übergeben.) Das ist + vertrauliches Dokument in das Projektarchiv übergeben.) Das ist leider nicht so einfach, da Subversion absichtlich so konstruiert wurde, dass es niemals Informationen verliert. Revisionen sind unveränderliche Bäume, die @@ -2164,7 +2164,7 @@ Der erste Schritt ist es, genau zu definieren welches Objekt Sie zurückholen möchten. Hier ist eine nützliche Metapher: Sie können sich - vorstellen, dass jedes Objekt im Repository in einem + vorstellen, dass jedes Objekt im Projektarchiv in einem zweidimensionalen Koordinatensystem befindet. Die erste Koordinate ist ein bestimmter Revisionsbaum und die zweite Koordinate ist ein Pfad innerhalb dieses Baumes. So kann jede @@ -2277,7 +2277,7 @@ besprochen, wie Änderungen rückgängig gemacht werden.) Das hätte den Effekt, real.c als lokale Änderung erneut hinzuzufügen. Die Datei würde zum Hinzufügen - ins Repository markiert, und nach der Übergabe wäre die Datei + ins Projektarchiv markiert, und nach der Übergabe wäre die Datei wieder in HEAD vorhanden. - Einen Anfangsbaum im Repository (häufig + Einen Anfangsbaum im Projektarchiv (häufig linke Seite des Vergleichs genannt) - Einen Endbaum im Repository (häufig + Einen Endbaum im Projektarchiv (häufig rechte Seite des Vergleichs genannt) @@ -3025,7 +3025,7 @@ - Zusammenführen aus fremden Repositorys + Zusammenführen aus fremden Projektarchiven Wenn Sie svn copy zum Duplizieren einer - Datei verwenden, merkt sich das Repository, woher die neue + Datei verwenden, merkt sich das Projektarchiv, woher die neue Datei kam, versäumt aber, diese Information an den Client zu senden, der svn update oder svn merge ausführt. Statt dem Client mitzuteilen: @@ -3993,7 +3993,7 @@ another. --> Es ist kein echter Datenverlust. Sallys Änderungen - befinden sich noch immer in der Geschichte des Repositorys, + befinden sich noch immer in der Geschichte des Projektarchivs, allerdings mag es nicht sofort ersichtlich sein, dass es passiert ist. Die Lehre, die es aus dieser Geschichte zu ziehen gilt, lautet, dass Sie sehr vorsichtig mit dem @@ -4033,7 +4033,7 @@ merge ausführt, modifiziert er nicht den Wert des Propertys svn:mergeinfo. Obwohl die anschließende Übergabe das Ergebnis einer Zusammenführung ist, - wird dem Repository nichts über die duplizierten Änderungen + wird dem Projektarchiv nichts über die duplizierten Änderungen mitgeteilt – diese Information ist verloren. Wenn später Clients, die Zusammenführungsinformationen auswerten, automatische Zusammenführungen versuchen, werden Sie @@ -4057,7 +4057,7 @@ details. --> Wenn Sie und Ihr Team auf die Zusammenführungs-Verfolgung - von Subversion angewiesen sind, sollten Sie Ihr Repository + von Subversion angewiesen sind, sollten Sie Ihr Projektarchiv dergestalt konfigurieren, dass ältere Clients daran gehindert werden, Änderungen zu übergeben. Die einfache Methode hierfür ist es, den Fähigkeiten-Parameter im @@ -4203,7 +4203,7 @@ Nächstes in beschrieben). Das Ziel einer Zusammenführung sollte eine Arbeitskopie sein, die einen einzigen - Ort zu einem einzelnen Zeitpunkt im Repository + Ort zu einem einzelnen Zeitpunkt im Projektarchiv repräsentiert. @@ -4265,7 +4265,7 @@ Arbeit mit Zweigen nicht notwendig ist, stellt er eine nette Abkürzung dar. In unserem früheren Beispiel haben Sie nach dem Anlegen Ihres eigenen privaten Zweigs eine frische Arbeitskopie - des neuen Repository-Verzeichnisses ausgecheckt. Stattdessen + des neuen Projektarchiv-Verzeichnisses ausgecheckt. Stattdessen können Sie Subversion einfach mitteilen, dass es Ihre Arbeitskopie von /calc/trunk ändern soll, um den neuen Ort des Zweigs widerzuspiegeln: @@ -4391,7 +4391,7 @@ gemischten Arbeitskopie eine völlig neue Dimension hinzu – Arbeitskopien können nicht nur eine Mischung unterschiedlicher Revisionen enthalten, sondern auch - eine Mischung unterschiedlicher Repository-Orte. + eine Mischung unterschiedlicher Projektarchiv-Orte. Falls Ihre Arbeitskopie eine Anzahl umgeschalteter - Unterverzeichnisse aus unterschiedlichen Repository-Orten + Unterverzeichnisse aus unterschiedlichen Projektarchiv-Orten enthält, funktioniert sie immer noch normal. Wenn Sie aktualisieren, erhalten Sie entsprechende Patches für jeden Unterbaum. Wenn Sie übergeben, werden Ihre lokalen Änderungen nach wie vor als eine einzelne atomare Änderung auf das - Repository angewendet. + Projektarchiv angewendet. Während es normal ist, das eine Arbeitskopie eine Mischung - unterschiedlicher Repository-Orte repräsentiert, ist darauf zu + unterschiedlicher Projektarchiv-Orte repräsentiert, ist darauf zu achten, dass all diese Orte sich innerhalb - desselben Repositorys befinden. - Subversion-Repositorys können noch nicht miteinander + desselben Projektarchivs befinden. + Subversion-Projektarchive können noch nicht miteinander kommunizieren; diese Möglichkeit ist für die Zukunft geplant. Sie können jedoch svn @@ -4467,12 +4467,12 @@ paths. --> Wenn Sie svn update aufrufen, fordern - Sie das Repository auf, zwei Bäume zu vergleichen. Das - Repository macht es und schickt eine Beschreibung der + Sie das Projektarchiv auf, zwei Bäume zu vergleichen. Das + Projektarchiv macht es und schickt eine Beschreibung der Unterschiede zurück an den Client. Der einzige Unterschied zwischen svn switch und svn update ist, dass letzterer Befehl stets zwei - identische Repository-Pfade miteinander vergleicht. + identische Projektarchiv-Pfade miteinander vergleicht. - Wenn Sie ein Repository verwalten, gibt es zwei Ansätze + Wenn Sie ein Projektarchiv verwalten, gibt es zwei Ansätze für den Umgang mit Tags. Der erste Ansatz ist Hände weg: Als Vereinbarung im Projekt entscheiden Sie, wohin Sie Ihre Tags kopieren möchten; stellen Sie sicher, dass alle @@ -4787,7 +4787,7 @@ bestimmte Zweige umschalten (mit svn switch) oder sogar, indem Sie ein paar lokale Änderungen vornehmen. Wenn Sie fertig sind, ist Ihre - Arbeitskopie ein Mischmasch aus Repository-Quellen + Arbeitskopie ein Mischmasch aus Projektarchiv-Quellen verschiedener Revisionen. Nach dem Testen wissen Sie jedoch, dass das genau die Kombination ist, die Sie mit einem Tag versehen möchten. @@ -4805,10 +4805,10 @@ Einen URL auf einen anderen zu kopieren hilft hier nicht weiter. In diesem Fall möchten Sie eine Momentaufnahme der exakten Anordnung Ihrer Arbeitskopie machen und sie im - Repository speichern. Glücklicherweise besitzt svn + Projektarchiv speichern. Glücklicherweise besitzt svn copy vier verschiedene Anwendungsfälle (über die Sie in nachlesen können), zu denen auch - die Fähigkeit gehört, einen Arbeitskopie-Baum ins Repository + die Fähigkeit gehört, einen Arbeitskopie-Baum ins Projektarchiv zu kopieren: - Nun gibt es ein neues Verzeichnis im Repository, + Nun gibt es ein neues Verzeichnis im Projektarchiv, /calc/tags/mytag, das eine exakte Momentaufnahme Ihrer Arbeitskopie ist – gemischte Revisionen, URLs, lokale Änderungen, usw. @@ -4866,7 +4866,7 @@ Patch-Datei zu versenden (die allerdings weder Änderungen an Verzeichnissen, symbolischen Links oder Propertys beinhaltet), können Sie svn copy verwenden, um Ihre - Arbeitskopie in einen privaten Bereich des Repositorys + Arbeitskopie in einen privaten Bereich des Projektarchivs abzulegen. Ihr Mitarbeiter kann dann entweder eine exakte Kopie Ihrer Arbeitskopie auschecken oder svn merge verwenden, um genau Ihre @@ -4928,7 +4928,7 @@ - Aufbau des Repositorys + Aufbau des Projektarchivs - Es gibt einige empfohlene Standards, ein Repository zu + Es gibt einige empfohlene Standards, ein Projektarchiv zu organisieren. Die meisten Leute erzeugen ein trunk-Verzeichnis, um die Hauptlinie der Entwicklung aufzunehmen, ein branches-Verzeichnis für Zweig-Kopien und ein tags-Verzeichnis für Tag-Kopien. - Falls ein Repository nur ein Projekt beinhaltet, werden oft + Falls ein Projektarchiv nur ein Projekt beinhaltet, werden oft diese Verzeichnisse auf der obersten Ebene angelegt: @@ -4960,8 +4960,8 @@ linkend="svn.reposadmin.projects.chooselayout"/> to read more about project roots): --> - Falls ein Repository mehrere Projekte enthält, teilen - Administratoren das Repository üblicherweise nach den + Falls ein Projektarchiv mehrere Projekte enthält, teilen + Administratoren das Projektarchiv üblicherweise nach den Projekten ein (lesen Sie in mehr über Projekt-Wurzelverzeichnisse): @@ -4992,11 +4992,11 @@ Variationen erzeugen, die am besten für Sie oder Ihr Team funktionieren. Denken Sie daran, dass es, wie auch immer Sie sich entscheiden, nicht für die Ewigkeit sein muss. Sie können - jederzeit Ihr Repository umorganisieren. Da Zweige und Tags + jederzeit Ihr Projektarchiv umorganisieren. Da Zweige und Tags gewöhnliche Verzeichnisse sind, kann der Befehl svn move sie nach Belieben verschieben oder umbenennen. Die Umstrukturierung ist einfach eine Sache von serverseitigen - Verschiebebefehlen. Wenn Ihnen der Aufbau des Repositorys + Verschiebebefehlen. Wenn Ihnen der Aufbau des Projektarchivs nicht zusagt, jonglieren Sie einfach mit den Verzeichnissen herum. @@ -5017,7 +5017,7 @@ sollten Sie Rücksicht auf Ihre Benutzer nehmen. Ihr Jonglieren kann verwirrend für Benutzer mit bestehenden Arbeitskopien sein. Falls ein Benutzer eine Arbeitskopie eines bestimmten - Repository-Verzeichnisses hat, könnte Ihre svn + Projektarchiv-Verzeichnisses hat, könnte Ihre svn move-Operation den Pfad von der letzten Revision entfernen. Wenn der Benutzer beim nächsten Mal svn update aufruft, wird ihm mitgeteilt, dass die @@ -5393,7 +5393,7 @@ Der gesamte Prozess wiederholt sich während die Software reift: Wenn die Arbeit an 2.0 fertig ist, wird ein neuer 2.0 Release-Zweig erstellt, getestet, markiert und schließlich - freigegeben. Nach einigen Jahren füllt sich das Repository mit + freigegeben. Nach einigen Jahren füllt sich das Projektarchiv mit einer Anzahl von Release-Zweigen, die weiterhin gepflegt werden, und einer Zahl von Tags, die den endgültigen, ausgelieferten Versionen entsprechen. @@ -5676,7 +5676,7 @@ Projektmitarbeiter ausgeben, dass sie sicherzustellen haben, stets über die für Ihr Projekt benötigten Versionen der Drittanbieter zu verfügen. Falls die Daten des Drittanbieters - sich in einem Subversion-Repository befinden, können Sie auch + sich in einem Subversion-Projektarchiv befinden, können Sie auch mithilfe der Subversion-Externals-Definition bestimmte Versionen dieser Daten mit Ihrer eigenen Arbeitskopie verbinden (siehe ). @@ -5760,7 +5760,7 @@ Projektmitarbeiter stets die richtige Version der Lieferantendaten verfügbar ist. Sie erhalten die richtige Version automatisch beim Aktualisieren ihrer Arbeitskopien. - Zweitens, da die Daten in Ihrem eigenen Subversion-Repository + Zweitens, da die Daten in Ihrem eigenen Subversion-Projektarchiv vorgehalten werden, können Sie dort auch Ihren Anpassungen speichern – es besteht keine Notwendigkeit mehr, Ihre Änderungen automatisch (oder schlimmer noch, manuell) in die @@ -6146,7 +6146,7 @@ and optionally performing moves, too. --> Es kann jederzeit aufgerufen werden, um ein - bestehendes Verzeichnis im Repository exakt mit einem + bestehendes Verzeichnis im Projektarchiv exakt mit einem externen Verzeichnis abzugleichen, wobei alle notwendigen Hinzufügungen und Löschungen ausgeführt werden und darüberhinaus noch optionale Verschiebungen. @@ -6279,7 +6279,7 @@ Das Skript akzeptiert auch eine gesonderte Konfigurationsdatei, in der Propertys auf Dateien und Verzeichnisse gesetzt werden können, deren Name einem - regulären Ausdruck entspricht und dem Repository + regulären Ausdruck entspricht und dem Projektarchiv hinzugefügt werden. Diese Konfigurationsdatei wird svn_load_dirs.pl mit der Option bekanntgegeben. Jede Zeile @@ -6371,9 +6371,9 @@ Änderungen von einem Zweig in einen anderen überführt werden können oder fehlerhafte Änderungen rückgängig gemacht werden. Wir besprachen, wie mit svn switch - Arbeitskopien aus verschiedenen Repository-Quellen erstellt + Arbeitskopien aus verschiedenen Projektarchiv-Quellen erstellt werden können. Und wir sprachen darüber, wie Zweige in einem - Repository verwaltet werden können. + Projektarchiv verwaltet werden können. - Verwaltung des Repositorys + Verwaltung des Projektarchivs - Das Subversion-Repository ist die zentrale Lagerhalle für + Das Subversion-Projektarchiv ist die zentrale Lagerhalle für Ihre versionierten Daten. In dieser Rolle kann es sich aller Liebe und Zuneigung des Administrators gewiss sein. Obwohl das - Repository an sich im Allgemeinen wenig Pflege erfordert, ist es + Projektarchiv an sich im Allgemeinen wenig Pflege erfordert, ist es wichtig, zu wissen, wie es angemessen konfiguriert und gepflegt wird, um etwaige Probleme zu vermeiden und bestehende Probleme sicher aufzulösen. @@ -31,13 +31,13 @@ the repository. --> In diesem Kapitel werden wir erörtern, wie ein - Subversion-Repository aufgesetzt und konfiguriert wird. Wir werden - auch über die Repository-Pflege reden und Beispiele dafür geben, + Subversion-Projektarchiv aufgesetzt und konfiguriert wird. Wir werden + auch über die Projektarchiv-Pflege reden und Beispiele dafür geben, wann und wie die mit Subversion mitgelieferten Werkzeuge svnlook und svnadmin verwendet werden. Wir werden einige verbreitete Fragen und Fehler besprechen und Vorschläge unterbreiten, wie die Daten im - Repository organisiert werden können. + Projektarchiv organisiert werden können. - Falls Sie vorhaben, das Repository lediglich in der Rolle + Falls Sie vorhaben, das Projektarchiv lediglich in der Rolle eines Benutzers zu verwenden, der seine Daten unter Versionskontrolle stellen möchte (d.h. über einen Subversion-Client), können Sie dieses Kapitel vollständig überspringen. Wenn Sie jedoch ein - Subversion-Repository-Administrator sind oder werden wollen, + Subversion-Projektarchiv-Administrator sind oder werden wollen, Das hört sich vielleicht prestigeträchtig und hochmütig an, doch wir meinen lediglich jeden, der an diesem mysteriösen @@ -75,7 +75,7 @@ - Das Subversion Repository, Definition + Das Subversion Projektarchiv, Definition - Bevor wir uns in das weite Feld der Repository-Verwaltung - begeben, wollen wir definieren, was ein Repository ist. Wie + Bevor wir uns in das weite Feld der Projektarchiv-Verwaltung + begeben, wollen wir definieren, was ein Projektarchiv ist. Wie sieht es aus? Wie fühlt es sich an? Trinkt es seinen Tee heiß oder mit Eis, gesüßt oder mit Zitrone? Als Administrator wird - von Ihnen erwartet, dass Sie den Aufbau eines Repositorys sowohl + von Ihnen erwartet, dass Sie den Aufbau eines Projektarchivs sowohl auf der physischen Betriebssystemebene verstehen – wie sich - ein Subversion-Repository aussieht und wie es sich gegenüber + ein Subversion-Projektarchiv aussieht und wie es sich gegenüber Nicht-Subversion-Werkzeugen verhält – als auch aus einer logischen Perspektive – wie Daten - innerhalb des Repositorys repräsentiert + innerhalb des Projektarchivs repräsentiert werden. Mit den Augen eines typischen Dateibrowsers (wie Windows Explorer) oder von kommandozeilenorientierten - Dateisystem-Navigationswerkzeugen ist das Subversion-Repository + Dateisystem-Navigationswerkzeugen ist das Subversion-Projektarchiv bloß ein weiteres gewöhnliches Verzeichnis voller Zeugs. Es gibt einige Unterverzeichnisse mit Konfigurationsdateien, die für Menschen lesbar sind, einige Unterverzeichnisse mit weniger lesbaren Datendateien usw. Wie in anderen Bereichen des Subversion-Designs, wird auch hier viel Wert auf Modularität gesetzt, und hierarchische Organisation wird vollgepfropftem - Chaos vorgezogen. Ein flacher Blick in ein typisches Repository + Chaos vorgezogen. Ein flacher Blick in ein typisches Projektarchiv aus praxisbezogener Sicht reicht aus, um die grundlegenden - Komponenten des Repositorys zu offenbaren. + Komponenten des Projektarchivs zu offenbaren. $ ls repos @@ -183,7 +183,7 @@ indicates the version number of the repository layout --> Eine Datei, die eine einzelne Ganzzahl beinhaltet, die - die Version der Repository-Struktur angibt + die Version der Projektarchiv-Struktur angibt @@ -206,8 +206,8 @@ files, used for tracking accessors to the repository --> Ein Verzeichnis für die Sperrdateien des - Subversion-Repositorys, die benutzt werden, um die - Zugreifenden auf das Repository zu verfolgen + Subversion-Projektarchivs, die benutzt werden, um die + Zugreifenden auf das Projektarchiv zu verfolgen @@ -218,7 +218,7 @@ they are looking at a Subversion repository --> Eine Datei, deren Inhalt die Leser darüber informiert, - dass sie in ein Subversion-Repository schauen + dass sie in ein Subversion-Projektarchiv schauen @@ -258,7 +258,7 @@ - Strategien für die Verwendung eines Repositorys + Strategien für die Verwendung eines Projektarchivs Größtenteils wegen der Einfachheit des Gesamtentwurfs des - Subversion-Repositorys und der ihm zugrundeliegenden Technik, - ist die Erstellung und Konfiguration eines Repositorys eine + Subversion-Projektarchivs und der ihm zugrundeliegenden Technik, + ist die Erstellung und Konfiguration eines Projektarchivs eine ziemlich unkomplizierte Aufgabe. Es gibt einige Entscheidungen, die Sie im Vorfeld treffen sollten, jedoch sind die eigentlichen - Arbeitsschritte für die Einrichtung eines Subversion-Repositorys + Arbeitsschritte für die Einrichtung eines Subversion-Projektarchivs recht einfach und neigen zur stupiden Fleißarbeit, falls Sie mehrere davon aufzusetzen haben. @@ -291,8 +291,8 @@ What data do you expect to live in your repository (or repositories), and how will that data be organized? --> - Welche Art von Daten sollen in Ihrem Repository (oder - Repositorys) abgelegt werden, und wie sind diese Daten + Welche Art von Daten sollen in Ihrem Projektarchiv (oder + Projektarchiven) abgelegt werden, und wie sind diese Daten organisiert? @@ -300,7 +300,7 @@ Where will your repository live, and how will it be accessed? --> - Wo soll Ihr Repository untergebracht werden, und wie + Wo soll Ihr Projektarchiv untergebracht werden, und wie soll darauf zugegriffen werden? @@ -333,7 +333,7 @@ - Planung der Organisation Ihres Repositorys + Planung der Organisation Ihres Projektarchivs - Nehmen wir an, Sie seien als Repository-Administrator für + Nehmen wir an, Sie seien als Projektarchiv-Administrator für die Versionskontrollsysteme mehrerer Projekte zuständig. Ihre - erste Entscheidung ist, ob Sie ein einzelnes Repository für + erste Entscheidung ist, ob Sie ein einzelnes Projektarchiv für mehrere Projekte verwenden, jedem Projekt sein eigenes - Repository geben oder einen Kompromiss aus diesen beiden + Projektarchiv geben oder einen Kompromiss aus diesen beiden Lösungen haben wollen. - Ein einzelnes Repository für mehrere Projekte zu + Ein einzelnes Projektarchiv für mehrere Projekte zu verwenden, hat einige Vorteile, am offensichtlichsten ist der vermiedene doppelte Verwaltungsaufwand. Ein einzelnes - Repository bedeutet, dass es nur einen Satz Hook-Programme, + Projektarchiv bedeutet, dass es nur einen Satz Hook-Programme, ein Ding zum routinemäßigen Sichern, ein Ding für einen Auszug und zum anschließenden Laden nach einer inkompatiblen neuen Version von Subversion gibt usw. Sie können Daten auch einfach @@ -425,22 +425,22 @@ --> Der Nachteil bei der Verwendung eines einzelnen - Repositorys ist, dass unterschiedliche Projekte auch + Projektarchivs ist, dass unterschiedliche Projekte auch unterschiedliche Anforderungen hinsichtlich der - Repository-Ereignis-Trigger haben, wie etwa + Projektarchiv-Ereignis-Trigger haben, wie etwa Benachrichtigungs-E-Mails bei Commits an unterschiedliche Verteiler, oder unterschiedliche Definitionen dazu, was eine berechtigte Übergabe ist und was nicht. Das sind natürlich keine unüberwindbaren Probleme – es bedeutet nur, dass - all Ihre Hook-Skripte die Struktur Ihres Repositorys beachten - müssen, anstatt davon auszugehen, dass das gesamte Repository + all Ihre Hook-Skripte die Struktur Ihres Projektarchivs beachten + müssen, anstatt davon auszugehen, dass das gesamte Projektarchiv von einer einzelnen Gruppe zugeordnet ist. Beachten Sie auch, dass Subversion Versionsnummern verwendet, die global für das - gesamte Repository gelten. Obwohl diese Nummern keine + gesamte Projektarchiv gelten. Obwohl diese Nummern keine Zauberkräfte haben, mögen manche Zeitgenossen es trotzdem nicht, dass, obwohl in letzter Zeit keine Änderungen in ihrem Projekt durchgeführt worden sind, die jüngste Versionsnummer - im Repository ständig höher wird, weil andere Projekte fleißig + im Projektarchiv ständig höher wird, weil andere Projekte fleißig neue Revisionen hinzufügen. Ob es an Ignoranz oder an schlecht überlegten @@ -449,7 +449,7 @@ globalen Revisionsnummern zu haben, und es ist deshalb kein Kriterium, das Sie heranziehen sollten, wenn Sie abwägen, wie Sie Ihre Projekte und - Repositorys anlegen wollen. + Projektarchive anlegen wollen. @@ -466,13 +466,13 @@ Es kann auch eine Lösung in der Mitte gewählt werden. Beispielsweise können Projekte danach geordnet werden, wie stark sie miteinander verbunden sind. Sie könnten ein paar - Repositorys haben, die jeweils eine handvoll Projekte + Projektarchive haben, die jeweils eine handvoll Projekte beherbergen. Auf diese Art können Projekte, die wahrscheinlich gemeinsame Daten verwenden wollen, dies auch einfach - bewerkstelligen, und wenn dem Repository neue Versionen + bewerkstelligen, und wenn dem Projektarchiv neue Versionen hinzugefügt werden, wissen die Entwickler wenigstens, dass diese neuen Revisionen zumindest entfernt eine Beziehung zu - jedem Benutzer dieses Repositorys haben. + jedem Benutzer dieses Projektarchivs haben. Nachdem Sie entschieden haben, wie Sie Ihre Projekte in - Repositorys aufteilen, möchten Sie sich nun vielleicht + Projektarchive aufteilen, möchten Sie sich nun vielleicht Gedanken darüber machen, welche Verzeichnishierarchien Sie im - Repository anlegen wollen. Da Subversion zum Verzweigen und + Projektarchiv anlegen wollen. Da Subversion zum Verzweigen und Etikettieren reguläre Verzeichniskopien verwendet (siehe ), empfiehlt die - Subversion-Gemeinschaft, dass Sie einen Ort im Repository für + Subversion-Gemeinschaft, dass Sie einen Ort im Projektarchiv für jedes Projekt-Wurzelverzeichnis wählen – das oberste Verzeichnis, das Daten für Ihr Projekt enthält – und hierunter dann drei Unterverzeichnisse @@ -527,7 +527,7 @@ - Ihr Repository könnte z.B. so aussehen: + Ihr Projektarchiv könnte z.B. so aussehen: / @@ -558,12 +558,12 @@ like this: --> Beachten Sie, dass es unerheblich ist, wo in Ihrem - Repository sich das Wurzelverzeichnis Ihres Projektes - befindet. Falls Sie nur ein Projekt pro Repository haben, ist + Projektarchiv sich das Wurzelverzeichnis Ihres Projektes + befindet. Falls Sie nur ein Projekt pro Projektarchiv haben, ist der logische Ort für das Wurzelverzeichnis des Projektes das - Wurzelverzeichnis des zum Projekt gehörenden Repositorys. + Wurzelverzeichnis des zum Projekt gehörenden Projektarchivs. Falls Sie mehrere Projekte haben, möchten Sie diese vielleicht - innerhalb des Repositorys gruppieren, indem Sie Projekte + innerhalb des Projektarchivs gruppieren, indem Sie Projekte ähnlichen Zwecks in demselben Unterverzeichnis unterbringen oder sie vielleicht nur alphabetisch gruppieren. Eine solche Anordnung könnte so aussehen: @@ -596,11 +596,11 @@ meets the needs of the people who work on the projects that live there. --> - Legen Sie Ihr Repository so an, wie es Ihnen am besten + Legen Sie Ihr Projektarchiv so an, wie es Ihnen am besten passt. Subversion erwartet oder erzwingt keine bestimmte Anordnung – für Subversion ist und bleibt ein Verzeichnis ein Verzeichnis. Letztendlich sollten Sie für ein - Repository eine Struktur wählen, die den Bedürfnissen der + Projektarchiv eine Struktur wählen, die den Bedürfnissen der Leute gerecht wird, die an den Projekten arbeiten, die dort untergebracht sind. @@ -616,7 +616,7 @@ verbreitete Anordnung. Bei dieser Anordnung befinden sich die Verzeichnisse trunk, tags und branches im - Wurzelverzeichnis des Repositorys und die Projekte in + Wurzelverzeichnis des Projektarchivs und die Projekte in Unterverzeichnissen davon: @@ -667,7 +667,7 @@ praktischen Erwägungen – es ist einfacher, in der kompletten Historie eines einzelnen Projektes zu forschen (oder sie zu verändern oder woandershin zu migrieren), wenn es - einen einzelnen Pfad im Repository gibt, der die gesamte + einen einzelnen Pfad im Projektarchiv gibt, der die gesamte Historie für dieses eine Projekt, und nur dieses, beinhaltet – die Vergangenheit, Tags und Zweige. @@ -678,7 +678,7 @@ - Entscheiden Sie, wo und wie Ihr Repository untergebracht + <title>Entscheiden Sie, wo und wie Ihr Projektarchiv untergebracht werden soll - Bevor Sie Ihr Subversion-Repository anlegen, bleibt die + Bevor Sie Ihr Subversion-Projektarchiv anlegen, bleibt die offensichtliche Frage zu beantworten, wo das Ding hin soll. Das hängt eng mit etlichen weiteren Fragen zusammen, etwa wie - auf das Repository zugegriffen werden soll (über einen + auf das Projektarchiv zugegriffen werden soll (über einen Subversion-Server oder direkt), wer darauf zugreifen soll (Benutzer hinter Ihrer Firmen-Firewall oder die weite Welt im offenen Netz), welche zusätzlichen Dienste Sie im Zusammenhang mit Subversion anbieten wollen (Schnittstellen zum Stöbern im - Repository, Übergabebenachrichtigungen per E-Mail usw.), Ihre + Projektarchiv, Übergabebenachrichtigungen per E-Mail usw.), Ihre Sicherungsstrategie und vieles mehr. liefert einen Vergleich zwischen Berkeley-DB- und - FSFS-Repositorys. + FSFS-Projektarchive.
- Vergleich der Repository-Datenspeicherung + Vergleich der Projektarchiv-Datenspeicherung @@ -913,7 +913,7 @@ Smaller --> Skalierbarkeit - Plattenplatzbedarf des Repositorys + Plattenplatzbedarf des Projektarchivs Größer (besonders, wenn Protokolldateien nicht gekürzt werden) Kleiner @@ -1001,7 +1001,7 @@ hinzu kommt, dass beim Verzicht auf Berkeley DB sich eine Komponente weniger im System befindet – warum heutzutage beinahe jeder das FSFS-Verfahren verwendet, wenn neue - Repositorys angelegt werden. + Projektarchive angelegt werden. Glücklicherweise interessiert es die meisten Programme - die auf Subversion-Repositorys zugreifen nicht, welches + die auf Subversion-Projektarchive zugreifen nicht, welches Speicherverfahren verwendet wird. Außerdem sind Sie mit Ihrer ersten Entscheidung für das Speicherverfahren nicht notwendigerweise festgelegt – falls Sie es sich später anders überlegen sollten, bietet Subversion Methoden zur - Migration der Daten im Repository in ein anderes Repository, + Migration der Daten im Projektarchiv in ein anderes Projektarchiv, das ein unterschiedliches Speicherverfahren verwendet. Wir werden das später in diesem Kapitel erörtern. @@ -1067,11 +1067,11 @@ --> Berkeley DB bietet echte Transaktionsunterstützung – vielleicht seine stärkste Funktion. Mehrere - Prozesse, die auf Ihre Subversion-Repositorys zugreifen, + Prozesse, die auf Ihre Subversion-Projektarchive zugreifen, brauchen sich keine Sorgen machen, dass sie sich versehentlich gegenseitig die Daten zerschießen. Die durch das Transaktiossystem gebotene Isolation bedeutet, dass der - Subversion-Repository-Programmcode für jede gegebene + Subversion-Projektarchiv-Programmcode für jede gegebene Operation eine statische Sicht auf die Datenbank hat – keine sich durch die Einflüsse anderer Prozesse ständig ändernde Datenbank – und basierend auf dieser Sicht @@ -1096,10 +1096,10 @@ Hot Backups – die Fähigkeit, die Datenbankumgebung zu sichern, ohne sie vom Netz zu nehmen. Wir besprechen später in diesem - Kapitel, wie Sie Ihr Repository sichern (in ), doch sollten die Vorteile offensichtlich sein, die dadurch entstehen, dass - Sie vollständige Sicherheitskopien Ihrer Repositorys ohne + Sie vollständige Sicherheitskopien Ihrer Projektarchive ohne Wartungszeiträume machen können. - Während ein Berkeley-DB-Repository ziemlich schnell und + Während ein Berkeley-DB-Projektarchiv ziemlich schnell und skalierbar ist, wird es am besten von einem einzelnen Server-Prozess unter einer Benutzerkennung verwendet – so wie Apaches httpd oder @@ -1310,7 +1310,7 @@ linkend="svn.serverconfig"/>) – statt darauf mit mehreren Benutzern über file:// oder svn+ssh:// URLs zuzugreifen. Falls Sie - mit mehreren Benutzern direkt auf ein Berkeley-DB-Repository + mit mehreren Benutzern direkt auf ein Berkeley-DB-Projektarchiv zugreifen wollen, sollten Sie unbedingt weiter unten in diesem Kapitel lesen. @@ -1337,19 +1337,19 @@ repository. --> Mitte 2004 entstand ein zweiter Typ eines - Repository-Speichersystems – eins, das überhaupt keine - Datenbank verwendet. Ein FSFS-Repository speichert die zu + Projektarchiv-Speichersystems – eins, das überhaupt keine + Datenbank verwendet. Ein FSFS-Projektarchiv speichert die zu einer Revision gehörenden Änderungen in einer einzelnen - Datei, so dass sich alle Revisionen eines Repositorys in + Datei, so dass sich alle Revisionen eines Projektarchivs in einem Verzeichnis voller nummerierter Dateien befinden. Transaktionen werden als individuelle Dateien in getrennten Verzeichnissen erzeugt. Sobald sie vollständig ist, wird die Transaktionsdatei umbenannt und in das Revisionsverzeichnis verschoben, so dass die Atomizität von Übergaben gewährleistet ist. Und da eine Revisionsdatei dauerhaft und - unveränderlich ist, kann das Repository auch im laufenden + unveränderlich ist, kann das Projektarchiv auch im laufenden Betrieb gesichert werden, genauso wie ein BDB-basiertes - Repository. + Projektarchiv. - Anlegen und konfigurieren Ihres Repositorys + Anlegen und konfigurieren Ihres Projektarchivs @@ -1495,7 +1495,7 @@ - Anlegen des Repositorys + Anlegen des Projektarchivs - Das Anlegen eines Subversion-Repositorys ist eine + Das Anlegen eines Subversion-Projektarchivs ist eine unglaublich einfache Aufgabe. Das mit Subversion gelieferte Dienstprogramm svnadmin stellt ein Unterbefehl (svnadmin create) zur @@ -1517,7 +1517,7 @@ --> -$ # Ein Repository anlegen +$ # Ein Projektarchiv anlegen $ svnadmin create /var/svn/repos $ @@ -1532,7 +1532,7 @@ parameter either fsfs or bdb. --> - Damit wird ein neues Repository im Verzeichnis + Damit wird ein neues Projektarchiv im Verzeichnis /var/svn/repos mit dem Standard-Speicherverfahren angelegt. Vor Subversion 1.2 war es Berkeley DB, nun ist es FSFS. Sie können den Dateisystemtypen @@ -1549,7 +1549,7 @@ --> -$ # Ein FSFS-basiertes Repository anlegen +$ # Ein FSFS-basiertes Projektarchiv anlegen $ svnadmin create --fs-type fsfs /var/svn/repos $ @@ -1562,7 +1562,7 @@ --> -# Ein Berkeley-DB-basiertes Repository anlegen +# Ein Berkeley-DB-basiertes Projektarchiv anlegen $ svnadmin create --fs-type bdb /var/svn/repos $ @@ -1572,7 +1572,7 @@ repository. --> Nach dem Ausführen dieses einfachen Befehls haben Sie ein - Subversion-Repository. + Subversion-Projektarchiv. Im Unterverzeichnis db/ Ihres - Repositorys befindet sich die Implementierung des + Projektarchivs befindet sich die Implementierung des versionierten Dateisystems. Das Leben des versionierten - Dateisystems Ihres Repositorys beginnt mit Revision 0, die aus + Dateisystems Ihres Projektarchivs beginnt mit Revision 0, die aus nichts anderem als dem Wurzelverzeichnis (/) besteht. Zu Beginn hat die Revision 0 ein einziges Revisions-Property, svn:date, das als Wert die Angabe des Zeitpunktes besitzt, zu dem das - Repository angelegt wurde. + Projektarchiv angelegt wurde. - Da Sie nun ein Repository haben, ist es an der Zeit, es + Da Sie nun ein Projektarchiv haben, ist es an der Zeit, es anzupassen. @@ -1646,20 +1646,20 @@ version control history by poking and prodding around in your repository's data store files! --> - Während einige Teile des Repositorys – wie die + Während einige Teile des Projektarchivs – wie die Konfigurationsdateien und Hook-Scripts – für eine manuelle Untersuchung und Bearbeitung gedacht sind, sollten Sie nicht (und sie sollten es auch nicht nötig haben) an den - anderen Teilen des Repositorys händisch + anderen Teilen des Projektarchivs händisch herumdoktern. Das Dienstprogramm svnadmin - sollte für alle notwendigen Änderungen an Ihrem Repository + sollte für alle notwendigen Änderungen an Ihrem Projektarchiv ausreichen; sie können auch Dienstprogramme von Drittanbietern (wie das Werkzeugpaket von Berkeley DB) verwenden, um in entsprechenden Unterabschnitten des - Repositorys Änderungen vorzunehmen. Versuchen Sie + Projektarchivs Änderungen vorzunehmen. Versuchen Sie nicht, die Historie Ihrer Versionskontrolle manuell zu verändern, indem Sie in den - Speicherdateien des Repositorys herumstochern! + Speicherdateien des Projektarchivs herumstochern! @@ -1669,7 +1669,7 @@ - Erstellen von Repository-Hooks + Erstellen von Projektarchiv-Hooks Ein Hook (Haken) ist ein Programm, - das durch einige Repository-Ereignisse gestartet wird, wie + das durch einige Projektarchiv-Ereignisse gestartet wird, wie etwa die Erzeugung einer neuen Revision oder die Veränderung eines unversionierten Propertys. Einige Hooks (die sogenannten Pre-Hooks) starten vor einer - Repository-Operation und bieten eine Möglichkeit sowohl zu + Projektarchiv-Operation und bieten eine Möglichkeit sowohl zu berichten, was passieren wird, als auch zu verhindern, dass es überhaupt passiert. Andere Hooks (die Post-Hooks) starten nach Abschluss eines - Repository-Ereignisses und sind nützlich für Aufgaben, die das - Repository inspizieren – aber nicht verändern. Jedem + Projektarchiv-Ereignisses und sind nützlich für Aufgaben, die das + Projektarchiv inspizieren – aber nicht verändern. Jedem Hook wird ausreichend Information übergeben, damit er feststellen kann, um welches Ereignis es sich handelt (oder - handelte), welche genauen Änderungen am Repository + handelte), welche genauen Änderungen am Projektarchiv beabsichtigt sind (oder durchgeführt wurden) und wie der Name des Benutzers lautet, der das Ereignis ausgelöst hat. @@ -1709,7 +1709,7 @@ hooks: --> Das Verzeichnis für die Hooks ist - standardmäßig mit Vorlagen für verschiedene Repository-Hooks + standardmäßig mit Vorlagen für verschiedene Projektarchiv-Hooks gefüllt: @@ -1825,15 +1825,15 @@ it is designed to perform. --> Subversion führt die Hooks unter der Benutzerkennung aus, - die auch der Prozess besitzt, der auf das Repository zugreift. - Meistens wird auf das Repository über einen Subversion-Server + die auch der Prozess besitzt, der auf das Projektarchiv zugreift. + Meistens wird auf das Projektarchiv über einen Subversion-Server zugegriffen, so dass die Benutzerkennung der des Serverprozesses entspricht. Die Hooks müssen deshalb mit den entsprechenden Berechtigungen des Betriebssystems versehen werden, damit diese Benutzerkennung sie ausführen kann. Das bedeutet auch, dass der direkte oder indirekte Zugriff auf irgendwelche Programme oder Dateien (einschließlich des - Subversion-Repositorys) durch den Hook auch unter derselben + Subversion-Projektarchivs) durch den Hook auch unter derselben Kennung erfolgt. Mit anderen Worten: Achten Sie auf mögliche Probleme im Zusammenhang mit Zugriffsrechten, die den Hook daran hindern könnten, die Ihm zugeteilten Aufgaben @@ -1853,17 +1853,17 @@ changes to your repository, you don't need to do this sort of access control via the hook system. --> - Es gibt mehrere im Subversion-Repository implementierte + Es gibt mehrere im Subversion-Projektarchiv implementierte Hooks; Details zu jedem können Sie in nachlesen. Als - Repository-Administrator müssen Sie entscheiden, welche Hooks + Projektarchiv-Administrator müssen Sie entscheiden, welche Hooks sie einrichten wollen (indem Sie ein entsprechend benanntes und mit den nötigen Zugriffsrechten versehenes Hook-Programm bereitstellen) und wie Sie sie einsetzen wollen. Wenn Sie diese Entscheidung treffen, dann behalten Sie das Gesamtbild des - Repository-Einsatzes im Auge. Wenn Sie beispielsweise die + Projektarchiv-Einsatzes im Auge. Wenn Sie beispielsweise die Konfiguration des Servers verwenden, um festzustellen, welche - Benutzer Änderungen an Ihr Repository übergeben dürfen, + Benutzer Änderungen an Ihr Projektarchiv übergeben dürfen, benötigen Sie für diese Zugriffskontrolle nicht das Hook-System. @@ -1916,7 +1916,7 @@ Fehlern, Unzulänglichkeiten oder Prozessverletzungen innerhalb der zu übergebenden Dateien einzusetzen, kann das zu Problemen führen. Subversion hält bestimmte - Repository-Daten in clientseitigen Caches vor, und wenn Sie + Projektarchiv-Daten in clientseitigen Caches vor, und wenn Sie auf diese Art eine Übergabe-Transaktion verändern, werden die im Cache befindlichen Informationen ungültig, ohne dass jemand etwas merkt. Diese Inkonsistenz kann zu @@ -1960,7 +1960,7 @@ die Obergrenze für die Größe der Protokolldateien usw. Darüberhinaus wählt Subversions Dateisystemlogik Standardwerte für einige der Berkeley-DB-Konfigurationsoptionen. Manchmal - jedoch benötigt Ihr besonderes Repository, welches eine + jedoch benötigt Ihr besonderes Projektarchiv, welches eine einzigartige Sammlung von Daten und Zugriffsmustern darstellt, eine unterschiedliche Menge von Konfigurationswerten. @@ -1996,9 +1996,9 @@ die Berkeley-DB-Umgebung zu überschreiben. BDB prüft, ob es eine Datei namens DB_CONFIG im Umgebungsverzeichnis (das Verzeichnis db - des Repositorys) gibt und liest die in dieser Datei + des Projektarchivs) gibt und liest die in dieser Datei vorhandenen Optionen. Subversion erzeugt diese Datei selbst, - wenn der Rest eines Repositorys erstellt wird. Anfangs + wenn der Rest eines Projektarchivs erstellt wird. Anfangs beinhaltet diese Datei einige Standardoptionen sowie Verweise zur Berkeley-DB-Dokumentation im Netz, so dass Sie nachschlagen können, was diese Optionen bewirken. @@ -2025,7 +2025,7 @@ - Repository-Wartung + Projektarchiv-Wartung - Die Wartung eines Subversion-Repositorys kann abschreckend + Die Wartung eines Subversion-Projektarchivs kann abschreckend sein, was an der Komplexität liegt, die Systemen innewohnt, die auf Datenbanken aufbauen. Die Arbeit gut zu machen, bedeutet, die Werkzeuge zu kennen – was sie sind, wann sie zu verwenden sind und wie. Dieser Abschnitt stellt Ihnen die - Repository-Verwaltungswerkzeuge vor, die Subversion mitbringt + Projektarchiv-Verwaltungswerkzeuge vor, die Subversion mitbringt und erörtert, wie sie gehandhabt werden, um Aufgaben zu - erledigen, wie etwa Repository-Datenmigration, Aktualisierungen, + erledigen, wie etwa Projektarchiv-Datenmigration, Aktualisierungen, Sicherungen und Aufräumarbeiten. @@ -2065,7 +2065,7 @@ --> Subversion stellt eine Handvoll Dienstprogramme zur Verfügung, die nützlich zum Erstellen, Untersuchen, Verändern - und Reparieren Ihres Repositorys sind. Wir wollen uns diese + und Reparieren Ihres Projektarchivs sind. Wir wollen uns diese Werkzeuge einmal genauer ansehen. Anschließend werden wir kurz einige der zum Berkeley-DB-Paket gehörenden Dienstprogramme untersuchen, die auf die Besonderheiten der von Subversion @@ -2087,10 +2087,10 @@ Subversion command-line programs: --> Das Programm svnadmin ist der beste - Freund des Repository-Administrators. Neben der Fähigkeit, - Subversion-Repositorys zu erzeugen, erlaubt Ihnen dieses + Freund des Projektarchiv-Administrators. Neben der Fähigkeit, + Subversion-Projektarchive zu erzeugen, erlaubt Ihnen dieses Programm verschiedene Wartungsarbeiten auf diesen - Repositorys auszuführen. Die Syntax von + Projektarchive auszuführen. Die Syntax von svnadmin ist ähnlich wie bei anderen Kommandozeilenprogrammen von Subversion: @@ -2164,14 +2164,14 @@ mitgeliefertes Dienstprogramm zum Untersuchen der mannigfaltigen Revisionen und Transaktionen (bei denen es sich um - Revisionen in Entstehung handelt) in einem Repository. Kein - Teil dieses Programms versucht, das Repository zu verändern. + Revisionen in Entstehung handelt) in einem Projektarchiv. Kein + Teil dieses Programms versucht, das Projektarchiv zu verändern. svnlook wird üblicherweise von - Repository-Hooks verwendet, um die abzuliefernden Änderungen + Projektarchiv-Hooks verwendet, um die abzuliefernden Änderungen zu melden (im Fall des pre-commit-Hooks) - oder die gerade an das Repository übergeben wurden (im Fall + oder die gerade an das Projektarchiv übergeben wurden (im Fall des post-commit-hooks). Ein - Repository-Administrator kann dieses Programm zur Diagnose + Projektarchiv-Administrator kann dieses Programm zur Diagnose benutzen. Beachten Sie, dass Sie nur Transaktionen untersuchen können, die noch nicht übergeben sind. Die meisten - Repositorys haben keine derartigen Transaktionen, da + Projektarchive haben keine derartigen Transaktionen, da Transaktionen entweder übergeben (in diesem Fall sollten Sie darauf mit der Option () zugreifen) oder abgebrochen und ***The diff for this file has been truncated for email.*** ======================================= --- /trunk/src/de/book/ch06-server-configuration.xml Fri Jan 16 08:29:57 2009 +++ /trunk/src/de/book/ch06-server-configuration.xml Sun May 30 23:37:40 2010 @@ -13,7 +13,7 @@ perhaps, all over the world. --> - Der Zugriff auf ein Subversion-Repository kann problemlos + Der Zugriff auf ein Subversion-Projektarchiv kann problemlos von mehreren Clients, welche auf demselben Rechner wie Subversion laufen, gleichzeitig erfolgen – unter Verwendung der file://-Methode. Aber typischerweise läuft @@ -31,7 +31,7 @@ setup on your host computer. --> - In diesem Kapitel erklären wir, wie Sie ihr Subversion-Repository + In diesem Kapitel erklären wir, wie Sie ihr Subversion-Projektarchiv für den Fernzugriff von Clients fit machen. Wir werden ausführlich auf alle aktuell verfügbaren Servermechanismen von Subversion eingehen und über ihre Konfiguration und Verwendung reden. @@ -59,8 +59,8 @@ --> Subversion wurde mit einer abstrakten Netzwerkschicht entworfen. Dies bedeutet, dass auf ein - Repository automatisiert von beliebigen Server-Prozessen zugegriffen - werden kann, und die für Clients vorhandene Repository-Access-API + Projektarchiv automatisiert von beliebigen Server-Prozessen zugegriffen + werden kann, und die für Clients vorhandene Projektarchiv-Access-API (Programmierschnittstelle) erlaubt es Programmierern, Plugins zu entwickeln, die relevante Netzwerkprotokolle verstehen. Theoretisch ermöglicht dies Subversion, eine unbegrenzte Zahl an Netzwerkprotokollen zu verwenden. @@ -78,14 +78,14 @@ repositories. --> Apache ist ein sehr beliebter Webserver, welcher mittels des - mod_dav_svn-Moduls auf Repositorys zugreifen und + mod_dav_svn-Moduls auf Projektarchive zugreifen und diese für Clients verfügbar machen kann. Verwendet wird dabei das WebDAV/DeltaV-Protokoll, welches eine Erweiterung von HTTP ist. Da Apache ein stark erweiterbarer Webserver ist, bietet er eine Menge an frei verfügbaren Funktionen/Modulen, wie SSL-verschlüsselte Verbindungen, Logging, sowie die Integration diverser Authentifikationssysteme von Drittanbietern und einen eingeschränkten - Web-Browser-gestützten Repository-Lesezugriff. + Web-Browser-gestützten Projektarchiv-Lesezugriff. - Lese-/Schreibzugriff auf das komplette Repository + Lese-/Schreibzugriff auf das komplette Projektarchiv oder pfadbasierte Rechtevergabe - Lese-/Schreibzugriff auf das komplette Repository + Lese-/Schreibzugriff auf das komplette Projektarchiv oder pfadbasierte Rechtevergabe - Lese-/Schreibzugriff nur auf ganzes Repository einstellbar + Lese-/Schreibzugriff nur auf ganzes Projektarchiv einstellbar @@ -250,7 +250,7 @@ - web-basierte Anzeige des Repositorys + web-basierte Anzeige des Projektarchivs eingeschränkte Unterstützung, alternativ mittels Programmen von Drittanbietern, @@ -428,7 +428,7 @@ Es wird nichts geloggt, auch keine Fehler. Keinen eingebauten Webbrowser-gestützten Lesezugriff. (Wenn Sie dies - wünschen, müssen Sie einen eigenständigen Webserver sowie Repository-Browser-Software + wünschen, müssen Sie einen eigenständigen Webserver sowie Projektarchiv-Browser-Software installieren.) @@ -611,9 +611,9 @@ In der Regel lässt sich das HTTP(S)-Protokoll problemlos durch Firewalls routen. - Auf das Repository kann lesend auch via Webbrowser zugegriffen werden. - - Das Repository lässt sich als Netzlaufwerk einhängen (mounten). Änderungen + Auf das Projektarchiv kann lesend auch via Webbrowser zugegriffen werden. + + Das Projektarchiv lässt sich als Netzlaufwerk einhängen (mounten). Änderungen an den Dateien unterliegen trotzdem der Versionskontrolle. (siehe .) @@ -746,13 +746,13 @@ Falls Sie für ihr Team die einfachste Servervariante suchen, dann kommen Sie mit einer Standard-svnserve-Installation - am schnellsten ans Ziel. Beachten Sie aber, dass der Inhalt ihres Repositorys + am schnellsten ans Ziel. Beachten Sie aber, dass der Inhalt ihres Projektarchivs im Klartext über das Netzwerk übertragen wird. Wenn Sie nur innerhalb ihres Firmennetzwerks oder eines VPNs arbeiten, so ist dies kein Beinbruch. - Ist ihr Repository allerdings vom Internet aus erreichbar, so sollten Sie + Ist ihr Projektarchiv allerdings vom Internet aus erreichbar, so sollten Sie eventuell sicherstellen, dass darin keine sensiblen Daten vorhanden sind (z.B. nur Open-Source Code o.ä.), oder Sie legen noch einmal Hand an und - verschlüsseln mittels SASL die Netzwerkverbindung zur ihrem Repository. + verschlüsseln mittels SASL die Netzwerkverbindung zur ihrem Projektarchiv. @@ -773,9 +773,9 @@ Standard-svnserve entschieden haben, dann legen Sie auf ihrem System einen einfachen svn-Nutzer an und lassen den Serverprozess unter diesem Nutzer laufen. - Stellen Sie zudem sicher, dass das gesamte Verzeichnis mit dem Repository nur + Stellen Sie zudem sicher, dass das gesamte Verzeichnis mit dem Projektarchiv nur diesem svn-Nutzer gehört. Damit wird der Zugriff auf ihr - Repository durch das Dateisystem des Serverbetriebssystems verwaltet, und + Projektarchiv durch das Dateisystem des Serverbetriebssystems verwaltet, und nur der Serverprozess kann noch Änderungen daran vornehmen. @@ -788,7 +788,7 @@ Wir empfehlen diese Variante allerdings nur sehr ungern. Es ist im Allgemeinen sicherer, Ihren Nutzern nur durch svnserve oder Apache verwaltete Zugänge - den Zugriff auf Ihr Repository zu ermöglichen und eben nicht + den Zugriff auf Ihr Projektarchiv zu ermöglichen und eben nicht mittels vollwertiger Nutzerzugänge auf dem Serversystem. Falls der Wunsch nach einer starken Netzwerkverschlüsselung Sie auf die Verwendung des SSH gebracht hat, dann empfehlen wir Ihnen @@ -799,19 +799,19 @@ Lassen Sie sich bitte nicht von der Idee verführen, - allen Ihren Nutzern direkten Zugriff auf das Repository mittels der + allen Ihren Nutzern direkten Zugriff auf das Projektarchiv mittels der file://-Methode zu geben. Auch wenn der Zugriff - auf das Repository durch eine Netzwerkfreigabe erfolgt, bleibt es immmer + auf das Projektarchiv durch eine Netzwerkfreigabe erfolgt, bleibt es immmer noch eine schlechte Idee. - Dadurch wird jeglicher Sicherheitspuffer zwischen dem Nutzer und dem Repository - entfernt: Ein Anwender kann ohne (oder auch mit) Absicht die Datenbank des Repositorys + Dadurch wird jeglicher Sicherheitspuffer zwischen dem Nutzer und dem Projektarchiv + entfernt: Ein Anwender kann ohne (oder auch mit) Absicht die Datenbank des Projektarchivs beschädigen. - Es wird zudem schwierig, das Repository offline zu nehmen um eine Inspektion + Es wird zudem schwierig, das Projektarchiv offline zu nehmen um eine Inspektion oder ein Upgrade durchzuführen. Zudem kann es Ihnen eine Menge Probleme mit den Dateirechten einbringen (siehe ). Beachten Sie bitte auch, dass dies einer der Gründe ist, warum wir vor der - Verwendung der svn+ssh://-Methode für den Repository-Zugriff + Verwendung der svn+ssh://-Methode für den Projektarchiv-Zugriff warnen. Vom Standpunkt der Sicherheit ist dies effektiv dasselbe wie die Verwendung von file:// für den Zugriff durch lokale Benutzer und kann zu denselben Problemen führen, wenn der Administrator nicht @@ -853,7 +853,7 @@ oder das svn+ssh://-Schema. In diesem Abschnitt behandeln wir die unterschiedlichen Möglichkeiten, svnserve einzusetzen, wie sich die Clients am Server authentifizieren und wie - die passenden Zugangsrechte zum Repository korrekt eingerichtet werden. + die passenden Zugangsrechte zum Projektarchiv korrekt eingerichtet werden. @@ -969,14 +969,14 @@ welchem Hostnamen er lauschen soll. Wurde svnserve auf diese Weise erfolgreich gestartet, - stehen nun alle Repositorys auf dem Server für Nutzer im Netzwerk zur Verfügung. + stehen nun alle Projektarchive auf dem Server für Nutzer im Netzwerk zur Verfügung. Für einen Zugriff muss ein Client den absoluten Pfad zum - Repository im URL angeben. Ist das Repository beispielsweise im Verzeichnis + Projektarchiv im URL angeben. Ist das Projektarchiv beispielsweise im Verzeichnis /var/svn/project1 gespeichert, so sieht ein entsprechender URL für den Zugriff folgendermaßen aus: svn://host.example.com/var/svn/project1. Um die Sicherheit zu erhöhen, kann svnserve beim Start mit der Option auf ein bestimmtes Verzeichnis beschränkt werden, so dass nur noch - die darin liegenden Repositorys im Netz verfügbar sind. Ein Beispiel: + die darin liegenden Projektarchive im Netz verfügbar sind. Ein Beispiel: $ svnserve -d -r /var/svn @@ -1095,12 +1095,12 @@ Stellen Sie sicher, dass svnowner der Nutzer ist, - welcher alle notwendigen Zugriffsrechte auf ihre Repositorys hat. + welcher alle notwendigen Zugriffsrechte auf ihre Projektarchive hat. Kommt nun eine Anfrage eines Subversion-Clients auf Port 3690 herein, so wird inetd einen svnserve-Prozess starten, um die Anfrage zu bedienen. Wahrscheinlich möchten Sie noch die -Option zur oben genannten Zeile hinzufügen, - um einzuschränken, welche Repositorys exportiert werden dürfen. + um einzuschränken, welche Projektarchive exportiert werden dürfen. @@ -1157,9 +1157,9 @@ und stdout) und davon ausgehen, dass alle Daten mit Hilfe des Tunnels zum Client weitergeleitet werden. Wird svnserve wie in diesem Fall durch ein Tunnel-Programm aufgerufen, ist es notwendig, dass der aufrufende Nutzer volle Lese- - und Schreibrechte auf die Dateien der Repository-Datenbank hat. + und Schreibrechte auf die Dateien der Projektarchiv-Datenbank hat. Es verhält sich dabei im Grunde genommen so, als wenn der Nutzer mit einem - file://-URL auf ein Repository zugreifen würde. + file://-URL auf ein Projektarchiv zugreifen würde. Wir werden diese Option noch genauer in diesem Kapitel behandeln, und zwar in . @@ -1430,9 +1430,9 @@ verbindet, geschieht folgendes: - Der Client wählt ein bestimmtes Repository. - - Der Server liest die zum Repository gehörende Datei conf/svnserve.conf + Der Client wählt ein bestimmtes Projektarchiv. + + Der Server liest die zum Projektarchiv gehörende Datei conf/svnserve.conf und führt die darin enthaltenen Regeln für die Authentifikation (Legitimation, Identitätsprüfung) und die Autorisation (Berechtigungen, Befugnisse) aus. @@ -1481,7 +1481,7 @@ Mehr dazu im Kapitel . Wie Sie sicher bereits bemerkt haben, ist die Datei svnserve.conf - in jedem Repository die zentrale Anlaufstelle für alle Regeln im Rahmen der + in jedem Projektarchiv die zentrale Anlaufstelle für alle Regeln im Rahmen der Nutzeranmeldung und Rechtevergabe. Die Datei hat dasselbe Format wie die anderen Konfigurationsdateien (siehe ): Die Abschnittsbezeichnungen sind von eckigen Klammern umschlossen @@ -1580,12 +1580,12 @@ Der Wert von password-db kann den absoluten oder relativen Pfad zur Benutzerdatei enthalten. In der Regel, ist es am einfachsten diese Datei ebenfalls - im conf/-Verzeichnis des Repositorys + im conf/-Verzeichnis des Projektarchivs zu speichern – also dort, wo auch svnserve.conf liegt. Andererseits möchten Sie vielleicht eine Passwortdatei für mehrere Repositories verwenden; in diesem Fall sollten Sie die Datei an einem zentraleren Ort ablegen. - Die Repositorys, die sich die Benutzerdatei teilen, sollten so + Die Projektarchive, die sich die Benutzerdatei teilen, sollten so konfiguriert sein, dass sie derselben Authentifizierungsumgebung angehören, da die Benutzerliste im Wesentlichen einen Authentifizierungs-Bereich definiert. @@ -1627,7 +1627,7 @@ oder write gesetzt werden. Wenn Sie den Wert auf none setzen, so unterbinden Sie sowohl den Lese- als auch den Schreibzugriff – read erlaubt den Nur-Lese-Zugriff - auf das Repository und write gibt auf das gesamte Repository + auf das Projektarchiv und write gibt auf das gesamte Projektarchiv Lese- und Schreibzugriff. @@ -1706,7 +1706,7 @@ --> Der Serverprozess versteht nicht nur diese pauschalen - Zugriffseinstellungen für ein Repository, sondern auch feiner + Zugriffseinstellungen für ein Projektarchiv, sondern auch feiner granulierte Zugriffsrechte auf einzelne Dateien und Verzeichnisse innerhalb des Repositories. Um diese Funktion nutzen zu können, müssen Sie eine Datei anlegen, welche die umfangreicheren Regeln enthält und anschließend die ======================================= --- /trunk/src/de/book/ch07-customizing-svn.xml Sat May 2 06:24:47 2009 +++ /trunk/src/de/book/ch07-customizing-svn.xml Sun May 30 23:37:40 2010 @@ -561,10 +561,10 @@ any of these patterns will not be proxied. --> Eine durch Komma getrennte Liste aus Namensmustern - für Repository-Server, die, ohne einen Proxy-Rechner + für Projektarchiv-Server, die, ohne einen Proxy-Rechner zu benutzen, direkt angesprochen werden sollen. Die Syntax für die Muster ist die gleiche wie bei - Dateinamen in der Unix-Shell. Ein Repository-Server + Dateinamen in der Unix-Shell. Ein Projektarchiv-Server mit einem zu irgendeinem dieser Muster passenden Namen wird nicht über einen Proxy angesprochen. @@ -684,7 +684,7 @@ --> Subversion stellt ein Paar aus Modulen für den - Repository-Zugriff zur Verfügung, die das + Projektarchiv-Zugriff zur Verfügung, die das WebDAV-Netzprotokoll verstehen. Das mit Subversion 1.0 ausgelieferte Original ist libsvn_ra_neon (obwohl es damals @@ -732,7 +732,7 @@ --> Eine durch Semikolon getrennte Liste von Authentifizierungsmethoden, die von den Neon-basierten - WebDAV-Repository-Zugriffsmodulen unterstützt werden. + WebDAV-Projektarchiv-Zugriffsmodulen unterstützt werden. Gültige Elemente dieser Liste sind basic, digest und negotiate. @@ -864,7 +864,7 @@ --> Der Abschnitt auth enthält Einstellungen zur Authentifizierung und Autorisierung - gegenüber Subversion-Repositorys. Er enthält das + gegenüber Subversion-Projektarchiven. Er enthält das Folgende: @@ -995,7 +995,7 @@ Der absolute Pfad zu einem Dreiwege-Vergleichsprogramm. Subversion verwendet dieses Programm, um Änderungen des Benutzers mit - denjenigen aus dem Repository zusammenzuführen. + denjenigen aus dem Projektarchiv zusammenzuführen. Standardmäßig benutzt Subversion eine interne Vergleichsbibliothek – wenn diese Option gesetzt wird, benutzt es für diese Aufgabe ein externes @@ -1172,7 +1172,7 @@ für Protokollnachrichten. Sie ist eine dauerhafte Form der Option (siehe ). Das - Subversion-Repository speichert Protokollnachrichten + Subversion-Projektarchiv speichert Protokollnachrichten in UTF-8 und geht davon aus, dass Ihre Protokollnachricht unter Verwendung der natürlichen Locale Ihres Betriebssystems verfasst wird. Sie @@ -1220,7 +1220,7 @@ In anderen Situationen wäre es manchmal schön, wenn die Dateien der Arbeitskopie Zeitstempel hätten, die dem Zeitpunkt entsprächen, zu dem sie das letzte - Mal im Repository geändert wurden. Der Befehl + Mal im Projektarchiv geändert wurden. Der Befehl svn export versieht die von ihm erzeugten Bäume stets mit diesen Zeitstempeln der letzten Übergabe. Wenn diese Variable auf @@ -1695,14 +1695,14 @@ --> Die zweite Art, auf der die Locale berücksichtigt wird, bezieht sich darauf, wie svn Ihre Eingaben - interpretiert. Das Repository speichert alle Pfade, + interpretiert. Das Projektarchiv speichert alle Pfade, Dateinamen und Protokollnachrichten in UTF-8-kodiertem - Unicode. In diesem Sinne ist das Repository + Unicode. In diesem Sinne ist das Projektarchiv internationalisiert – d.h., das - Repository kann Eingaben in jeder menschlichen Sprache + Projektarchiv kann Eingaben in jeder menschlichen Sprache entgegennehmen. Das heißt aber auch, dass der Subversion-Client dafür verantwortlich ist, nur Dateinamen - und Protokollnachrichten in UTF-8 an das Repository zu + und Protokollnachrichten in UTF-8 an das Projektarchiv zu schicken. Um das zu bewerkstelligen, muss er die Daten aus der aktuellen Locale in UTF-8 umwandeln. @@ -1725,7 +1725,7 @@ Locale auf it_IT gesetzt ist, weiß der Subversion-Client, dass er sie als italienisch interpretieren muss. Er verwendet einen italienischen Zeichensatz, um die - Daten in UTF-8 umzuwandeln, bevor sie an das Repository + Daten in UTF-8 umzuwandeln, bevor sie an das Projektarchiv gesendet werden. - Beachten Sie, dass das Repository sich + Beachten Sie, dass das Projektarchiv sich nicht um den Inhalt von Dateien kümmert, obwohl es Dateinamen und Protokollnachrichten in UTF-8 verlangt. Subversion betrachtet Dateiinhalte als @@ -1784,7 +1784,7 @@ update. --> Fehler wie diese treten typischerweise dann auf, wenn - der Client eine Zeichenkette in UTF-8 aus dem Repository + der Client eine Zeichenkette in UTF-8 aus dem Projektarchiv empfangen hat, aber nicht alle Zeichen dieser Zeichenkette in der Kodierung der aktuellen Locale wiedergegeben werden können. Wenn zum Beispiel Ihre aktuelle Locale @@ -1806,7 +1806,7 @@ Die Lösung besteht entweder darin, Ihre Locale auf irgendetwas zu setzen, das die empfangenen Daten in UTF-8 repräsentieren kann oder den Dateinamen - oder die Protokollnachricht im Repository zu ändern. (Und + oder die Protokollnachricht im Projektarchiv zu ändern. (Und vergessen Sie nicht, Ihrem Kollegen auf die Finger zu klopfen – Projekte sollten sich frühzeitig auf gemeinsame Sprachen einigen, so dass alle Mitarbeiter @@ -1844,7 +1844,7 @@ bekommen, ist es, Dateien unter Versionskontrolle zu stellen, Änderungen an diesen Dateien zu übergeben usw. Aber neben versionierten Dateidaten leben auch andere Informationen in - Ihrem Subversion-Repository. Einige dieser Informationen – + Ihrem Subversion-Projektarchiv. Einige dieser Informationen – Protokollnachrichten, Kommentare zu Sperren und einige Property-Werte – sind textueller Natur und werden ausdrücklich von Benutzern geliefert. Die meisten dieser @@ -2165,7 +2165,7 @@ sauberer – Ihr konfiguriertes Zusammenführungsprogramm braucht nur vier Pfadangaben als Kommandozeilenparameter zu akzeptieren: die Basisdatei, die fremde Datei - (die die Änderungen aus dem Repository enthält), die + (die die Änderungen aus dem Projektarchiv enthält), die eigene Datei (die lokale Änderungen enthält) und den Pfad der Datei, in der der endgültige Inhalt nach Konfliktauflösung gespeichert werden soll. ======================================= --- /trunk/src/de/book/ch08-embedding-svn.xml Mon May 25 13:28:01 2009 +++ /trunk/src/de/book/ch08-embedding-svn.xml Sun May 30 23:37:40 2010 @@ -71,8 +71,8 @@ mod_dav_svn, etc.). --> Jede der Kernbibliotheken von Subversion gehört zu einer von - drei Schichten – der Repository-Schicht, der - Repository-Zugriffs-Schicht oder der Client-Schicht (siehe im Vorwort). Wir werden diese Schichten gleich untersuchen, doch zunächst wollen wir eine kurze Zusammenfassung der verschiedenen Bibliotheken @@ -141,7 +141,7 @@ loader --> Gemeinsame Prozeduren für den - Repository-Zugriff und Modullader + Projektarchiv-Zugriff und Modullader libsvn_ra_local @@ -150,7 +150,7 @@ module --> Modul für den lokalen - Repository-Zugriff + Projektarchiv-Zugriff libsvn_ra_neon @@ -159,7 +159,7 @@ module --> Modul für den - WebDAV-Repository-Zugriff + WebDAV-Projektarchiv-Zugriff libsvn_ra_serf @@ -168,7 +168,7 @@ Access module --> Ein weiteres (experimentelles) Modul für den - WebDAV-Repository-Zugriff + WebDAV-Projektarchiv-Zugriff libsvn_ra_svn @@ -176,7 +176,7 @@ The custom protocol Repository Access module --> - Repository-Zugriff über das spezielle + Projektarchiv-Zugriff über das spezielle Protokoll @@ -184,7 +184,7 @@ - Repository-Schnittstelle + Projektarchiv-Schnittstelle libsvn_subr @@ -277,8 +277,8 @@ libsvn_ra_svn implementieren alle die gleiche Schnittstelle und funktionieren als Plug-In für libsvn_ra. Alle vier kommunizieren mir der - Repository-Schicht – libsvn_ra_local - verbindet sich direkt mit dem Repository; die drei anderen + Projektarchiv-Schicht – libsvn_ra_local + verbindet sich direkt mit dem Projektarchiv; die drei anderen machen das über das Netz. Die Bibliotheken libsvn_fs_base und libsvn_fs_fs sind noch ein Paar, das die @@ -323,7 +323,7 @@ - Repository-Schicht + Projektarchiv-Schicht - Wenn wir uns auf die Repository-Schicht von Subversion + Wenn wir uns auf die Projektarchiv-Schicht von Subversion beziehen, reden wir üblicherweise über zwei grundlegende Konzepte – die Implementierung des versionierten Dateisystems (auf das mittels libsvn_fs zugegriffen wird, unterstützt durch dessen Plug-Ins libsvn_fs_base und libsvn_fs_fs) und die Logik des - Repositorys, die es umgibt (implementiert in + Projektarchivs, die es umgibt (implementiert in libsvn_repos). Diese Bibliotheken liefern die Speicher- und Auswertungsmechanismen für die verschiedenen Revisionen Ihrer versionskontrollierten Daten. Diese Schicht ist mit der Client-Schicht über die - Repository-Zugriffs-Schicht verbunden und stellt, aus der + Projektarchiv-Zugriffs-Schicht verbunden und stellt, aus der Sicht des Benutzers von Subversion, das andere Ende der Leitung dar. @@ -716,7 +716,7 @@ implementing a versioning filesystem, so it lives in the repository wrapper library. --> - Die Subversion-Repository-Bibliothek + Die Subversion-Projektarchiv-Bibliothek (libsvn_repos) sitzt (logisch) oberhalb der libsvn_fs-API und stellt zusätzliche Funktionen zur Verfügung, die über die grundlegende Logik @@ -726,11 +726,11 @@ Dateisystemaktivität. Einige dieser Schritte umfassen die Erzeugung und den Abschluss von Subversion-Transaktionen und die Änderung von Revision-Propertys. Diese besonderen - Ereignisse werden durch die Repository-Schicht gekapselt, da + Ereignisse werden durch die Projektarchiv-Schicht gekapselt, da mit ihnen Hooks verknüpft sind. Ein System mit - Repository-Hooks hat strenggenommen nichts mit der + Projektarchiv-Hooks hat strenggenommen nichts mit der Implementierung eines versionierten Dateisystems zu tun, so - dass es in der Repository-Bibliothek untergebracht ist. + dass es in der Projektarchiv-Bibliothek untergebracht ist. Der Hook-Mechanismus ist aber nur ein Grund für die - Abstraktion einer eigenständigen Repository-Bibliothek vom + Abstraktion einer eigenständigen Projektarchiv-Bibliothek vom Rest des Dateisystemcodes. Die API libsvn_repos stellt mehrere andere wichtige Werkzeuge für Subversion zur Verfügung. Darunter @@ -753,7 +753,7 @@ Subversion repository and the filesystem included in that repository. --> - ein Subversion-Repository und das darin enthaltene + ein Subversion-Projektarchiv und das darin enthaltene Dateisystem zu erzeugen, zu öffnen, zu zerstören und hierauf Schritte zur Wiederherstellung auszuführen. @@ -791,7 +791,7 @@ into a different Subversion repository. --> dieses Auszugsformat zu lesen und die Revisionen in - ein anderes Subversion-Repository zu laden. + ein anderes Subversion-Projektarchiv zu laden. @@ -801,7 +801,7 @@ functionality and configurable option support. --> Während sich Subversion weiterentwickelt, wird die - Repository-Bibliothek gemeinsam mit der Dateisystem-Bibliothek + Projektarchiv-Bibliothek gemeinsam mit der Dateisystem-Bibliothek wachsen und erweiterte Funktionen und konfigurierbare Optionen unterstützen. @@ -812,7 +812,7 @@ - Repository-Zugriffs-Schicht + Projektarchiv-Zugriffs-Schicht - Wenn die Subversion-Repository-Schicht das andere + Wenn die Subversion-Projektarchiv-Schicht das andere Ende der Leitung repräsentiert, stellt die - Repository-Zugriffs-Schicht (RA) die Leitung selbst dar. Ihre + Projektarchiv-Zugriffs-Schicht (RA) die Leitung selbst dar. Ihre Aufgabe ist das Umherschaufeln von Daten zwischen den - Client-Bibliotheken und dem Repository. Diese Schicht umfasst + Client-Bibliotheken und dem Projektarchiv. Diese Schicht umfasst die Bibliothek libsvn_ra zum Laden von Modulen, die eigentlichen RA-Module (momentan libsvn_ra_neon, @@ -862,7 +862,7 @@ svn - -version: --> Da Subversion URLs zum Identifizieren seiner - Repository-Quellen benutzt, wird der Protokollteil des + Projektarchiv-Quellen benutzt, wird der Protokollteil des URL-Schemas (normalerweise file://, http://, https://, svn:// oder svn+ssh://) @@ -942,7 +942,7 @@ --> Die von der RA-Schicht exportierte API beinhaltet Funktionen, die zum Senden und Empfangen versionierter Daten - zum und vom Repository notwendig sind. Jedes der verfügbaren + zum und vom Projektarchiv notwendig sind. Jedes der verfügbaren RA-Plug-Ins kann diese Aufgabe mithilfe eines besonderen Protokolls erledigen – libsvn_ra_dav kommuniziert über @@ -966,12 +966,12 @@ supplies the APIs; you supply the creativity. --> Für diejenigen, die über ein völlig anderes Protokoll auf - das Repository zugreifen möchten, sei gesagt, dass genau das + das Projektarchiv zugreifen möchten, sei gesagt, dass genau das der Grund für die Modularisierung der - Repository-Zugriffsschicht ist. Entwickler können einfach eine + Projektarchiv-Zugriffsschicht ist. Entwickler können einfach eine neue Bibliothek schreiben, die auf der einen Seite die RA-Schnittstelle implementiert und auf der anderen Seite mit - dem Repository kommuniziert. Ihre neue Bibliothek kann + dem Projektarchiv kommuniziert. Ihre neue Bibliothek kann bestehende Netzprotokolle verwenden, oder Sie können Ihr eigenes erfinden. Sie könnten Aufrufe über Interprozess-Kommunikation (IPC) machen oder – mal etwas @@ -1005,7 +1005,7 @@ Verzeichnisse voller Dateien und anderer Unterverzeichnisse, die als eine Art lokaler, editierbarer Spiegelung einer oder mehrere Orte im - Repository dienen – und Änderungen an die RA-Schicht + Projektarchiv dienen – und Änderungen an die RA-Schicht weiterzugeben oder von ihr zu empfangen. - welche Orte des Repositorys durch die Dateien und + welche Orte des Projektarchivs durch die Dateien und Unterverzeichnisse der Arbeitskopie repräsentiert werden @@ -1314,7 +1314,7 @@ entries. Sie enthält den größten Teil der Verwaltungsinformationen zu den versionierten Elementen in einem Verzeichnis der Arbeitskopie. Diese eine Datei verfolgt - die Repository-URLs, die ursprüngliche Revision, Prüfsummen + die Projektarchiv-URLs, die ursprüngliche Revision, Prüfsummen von Dateien, ursprünglichen Text und Zeitstempel von Propertys, Informationen zur Ablaufkoordination und zu Konfliktzuständen, Informationen zur letzten Übergabe (Autor, @@ -2018,7 +2018,7 @@ Anschluss an die Versionen von Subversion verlieren würde. Das ist bereits enmal passiert – SVNKit kann nicht über das Protokoll file:// auf - BDB-basierte Subversion-Repositorys zugreifen, da es keine + BDB-basierte Subversion-Projektarchive zugreifen, da es keine reine Java-Implementierung von Berkeley DB gibt, deren Dateiformat kompatibel zur ursprünglichen Implementierung dieser Bibliothek ist. @@ -2071,7 +2071,7 @@ --> enthält einen Codeabschnitt (in C), der einige der erörterten - Konzepte veranschaulicht. Er verwendet sowohl die Repository- + Konzepte veranschaulicht. Er verwendet sowohl die Projektarchiv- als auch die Dateisystemschnittstelle (was anhand der Präfixe svn_repos_ bzw. svn_fs_ der Funktionsnamen erkennbar ist), @@ -2088,7 +2088,7 @@ - Verwendung der Repository-Schicht + Verwendung der Projektarchiv-Schicht - Verwendung der Repository-Schicht mit Python + Verwendung der Projektarchiv-Schicht mit Python Simuliert alle Stufen einer Befehlsausführung, nimmt jedoch keine Änderungen vor – weder auf der Platte - noch im Repository. + noch im Projektarchiv. @@ -796,7 +796,7 @@ --> Erzeugt und fügt im Rahmen einer Operation nicht existierende oder unversionierte Elternverzeichnisse - der Arbeitskopie oder dem Repository hinzu. Das ist + der Arbeitskopie oder dem Projektarchiv hinzu. Das ist nützlich, um automatisch mehrere Unterverzeichnisse zu erzeugen, wo aktuell keine existieren. Wenn es auf einen URL angewendet wird, werden alle Verzeichnisse bei einer @@ -874,9 +874,9 @@ example. --> Bei Verwendung mit dem Unterbefehl svn - switch wird der Ort des Repositorys geändert, + switch wird der Ort des Projektarchivs geändert, auf den sich Ihre Arbeitskopie bezieht. Das ist dann - nützlich, wenn sich der Ort Ihres Repositorys ändert und + nützlich, wenn sich der Ort Ihres Projektarchivs ändert und Sie eine bestehende Arbeitskopie haben, die Sie weiterverwenden möchten. Für ein Beispiel siehe svn switch. @@ -1023,7 +1023,7 @@ Geschichte einer versionierten Ressource durchläuft, mit der Sammlung der Daten aufzuhören, sobald eine Kopie – dass heißt, ein Ort in der Versionsgeschichte, - der von einem anderen Ort des Repositorys kopiert wurde + der von einem anderen Ort des Projektarchivs kopiert wurde – angetroffen wird. @@ -1106,7 +1106,7 @@ Information umfasst nicht nur die Versionsnummer des Clients sondern auch eine Auflistung aller vom Client unterstützten Module für den Zugriff auf ein - Subversion-Repository. Mit + Subversion-Projektarchiv. Mit () wird nur die Versionsnummer in Kurzform ausgegeben. @@ -1141,7 +1141,7 @@ ARG in the log output. --> In Verbindung mit einem Befehl, der in das - Repository schreibt, wird das Revisions-Property, bei + Projektarchiv schreibt, wird das Revisions-Property, bei Verwendung des Formats NAME=VALUE, NAME auf den Wert @@ -1225,9 +1225,9 @@ svn revert. --> Dateien, Verzeichnisse oder symbolische Links in Ihrer - Arbeitskopie werden zum Hinzufügen ins Repository + Arbeitskopie werden zum Hinzufügen ins Projektarchiv vorgemerkt. Bei Ihrer nächsten Übergabe werden sie in das - Repository geladen. Wenn Sie etwas hinzufügen möchten, es + Projektarchiv geladen. Wenn Sie etwas hinzufügen möchten, es sich vor der Übergabe aber anders überlegen sollten, können Sie die Vormerkung mit svn revert rückgängig machen. @@ -1257,7 +1257,7 @@ Accesses repository No --> - Repository-Zugriff + Projektarchiv-Zugriff Nein @@ -1420,7 +1420,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -1484,7 +1484,7 @@ repository: --> Wenn Sie den Quelltext von - readme.txt in Ihrem Test-Repository + readme.txt in Ihrem Test-Projektarchiv mit Anmerkungen sehen wollen: $ svn blame http://svn.red-bean.com/repos/test/readme.txt @@ -1613,7 +1613,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -1642,7 +1642,7 @@ your repository without checking it out: --> Wenn Sie die Datei readme.txt in - Ihrem Repository ansehen möchten, ohne sie auszuchecken: + Ihrem Projektarchiv ansehen möchten, ohne sie auszuchecken: $ svn cat http://svn.red-bean.com/repos/test/readme.txt @@ -1748,7 +1748,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -1866,7 +1866,7 @@ Check out a working copy from a repository. --> Auschecken einer Arbeitskopie aus einem - Repository. + Projektarchiv. - Checkt eine Arbeitskopie aus einem Repository aus. + Checkt eine Arbeitskopie aus einem Projektarchiv aus. Wird PATH ausgelassen, wird der Basisname des URL als Ziel verwendet. Werden mehrere URLs angegeben, wird jeder in ein Unterverzeichnis von @@ -1923,7 +1923,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -2228,7 +2228,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -2288,7 +2288,7 @@ Send changes from your working copy to the repository. --> Änderungen aus der Arbeitskopie an das - Repository übergeben. + Projektarchiv übergeben. - Änderungen aus der Arbeitskopie an das Repository + Änderungen aus der Arbeitskopie an das Projektarchiv übergeben. Falls Sie keine Protokollnachricht, mit einer der Optionen oder , angeben, startet @@ -2383,14 +2383,14 @@ - Arbeitskopie; Repository + Arbeitskopie; Projektarchiv - Repository-Zugriff + Projektarchiv-Zugriff @@ -2541,7 +2541,7 @@ in the repository. --> Kopieren einer Datei oder eines Verzeichnisses - in einer Arbeitskopie oder im Repository. + in einer Arbeitskopie oder im Projektarchiv. @@ -2650,8 +2650,8 @@ Subversion does not support cross-repository copying. --> Sie können Dateien nur innerhalb eines einzelnen - Repositorys kopieren. Subversion unterstützt nicht das - Kopieren zwischen Repositorys. + Projektarchivs kopieren. Subversion unterstützt nicht das + Kopieren zwischen Projektarchiven. @@ -2672,7 +2672,7 @@ - Repository, falls Ziel ein URL ist; Arbeitskopie, + Projektarchiv, falls Ziel ein URL ist; Arbeitskopie, falls Ziel ein AK-Pfad ist. @@ -2680,12 +2680,12 @@ - Repository-Zugriff + Projektarchiv-Zugriff - Ja, falls Quelle und Ziel im Repository liegen oder + Ja, falls Quelle und Ziel im Projektarchiv liegen oder falls die Revisionsnummer der Quelle ermittelt werden muss. @@ -2722,7 +2722,7 @@ --> Kopie eines Objektes innerhalb Ihrer Arbeitskopie (dies merkt die Kopie vor – bis zur Übergabe wird - nichts ins Repository übertragen): + nichts ins Projektarchiv übertragen): $ svn copy foo.txt bar.txt @@ -2763,7 +2763,7 @@ commit message): --> Kopie eines Objektes in Ihrer Arbeitskopie zu einem - URL im Repository (dies ist eine sofortige Übergabe, so + URL im Projektarchiv (dies ist eine sofortige Übergabe, so dass Sie eine Protokollnachricht angeben müssen): - Kopie eines Objektes aus dem Repository in Ihre + Kopie eines Objektes aus dem Projektarchiv in Ihre Arbeitskopie (dies merkt die Kopie nur vor – vor der - Übergabe gelangt nichts ins Repository): + Übergabe gelangt nichts ins Projektarchiv): $ svn copy file:///var/svn/repos/test/far-away -r 6 near-here @@ -2799,7 +2799,7 @@ file in your repository! --> Dies ist die empfohlene Methode, eine gelöschte - Datei im Repository wiederherzustellen! + Datei im Projektarchiv wiederherzustellen! Dies ist die einfachste Methode, um eine Revision in - Ihrem Repository mit einem Tag zu + Ihrem Projektarchiv mit einem Tag zu etikettieren – kopieren Sie diese Revision (normalerweise HEAD lediglich mit svn copy ) in Ihr @@ -2895,7 +2895,7 @@ or the repository. --> Ein Objekt aus einer Arbeitskopie oder dem - Repository löschen. + Projektarchiv löschen. Werden Objekte durch einen URL bestimmt, werden sie - durch eine sofortige Übergabe aus dem Repository + durch eine sofortige Übergabe aus dem Projektarchiv entfernt. Mehrere URLs werden atomar übergeben (alle oder keine). @@ -2959,14 +2959,14 @@ Working copy if operating on files; repository if operating on URLs --> - Arbeitskopie bei Dateien; Repository bei URLs + Arbeitskopie bei Dateien; Projektarchiv bei URLs - Repository-Zugriff + Projektarchiv-Zugriff @@ -3009,8 +3009,8 @@ Die Verwendung von svn delete zum Löschen einer Datei aus der Arbeitskopie löscht die lokale Kopie der Datei, merkt die Datei jedoch nur zum Löschen - aus dem Repository vor. Bei der Übergabe wird die Datei im - Repository gelöscht. + aus dem Projektarchiv vor. Bei der Übergabe wird die Datei im + Projektarchiv gelöscht. - Repository-Zugriff + Projektarchiv-Zugriff Die erste Form exportiert einen sauberen Verzeichnisbaum aus dem mit URL - bezeichneten Repository – falls angegeben, in + bezeichneten Projektarchiv – falls angegeben, in Revision REV, sonst von HEAD – nach PATH. Wird @@ -3758,7 +3758,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -3809,7 +3809,7 @@ Export directly from the repository (prints every file and directory): --> - Export direkt aus dem Repository (zeigt jede Datei und + Export direkt aus dem Projektarchiv (zeigt jede Datei und jedes Verzeichnis an): - Repository-Zugriff + Projektarchiv-Zugriff @@ -3983,7 +3983,7 @@ repository. --> Eine unversionierte Datei oder einen - unversionierten Baum in das Repository übertragen. + unversionierten Baum in das Projektarchiv übertragen. @@ -4014,7 +4014,7 @@ rekursiv nach URL übertragen. Wird PATH nicht angegeben, wird . angenommen. - Elternverzeichnisse werden im Repository bei Bedarf + Elternverzeichnisse werden im Projektarchiv bei Bedarf angelegt. Unversionierbare Objekte, wie Gerätedateien oder Pipes, werden ignoriert, auch wenn die Option verwendet wird. @@ -4036,14 +4036,14 @@ Changes --> Änderungen - Repository + Projektarchiv - Repository-Zugriff + Projektarchiv-Zugriff @@ -4089,7 +4089,7 @@ --> Dieser Aufruf importiert das lokale Verzeichnis myproj nach - trunk/misc in Ihrem Repository. Das + trunk/misc in Ihrem Projektarchiv. Das Verzeichnis trunk/misc braucht vor dem Import nicht vorhanden zu sein – svn import erzeugt rekursiv die Verzeichnisse für @@ -4122,7 +4122,7 @@ --> Denken Sie daran, dass das Verzeichnis myproj nicht im - Repository angelegt wird. Falls Sie das möchten, fügen Sie + Projektarchiv angelegt wird. Falls Sie das möchten, fügen Sie einfach myproj an das Ende des URL an: @@ -4296,7 +4296,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -4513,7 +4513,7 @@ - Verzeichniseinträge im Repository auflisten. + Verzeichniseinträge im Projektarchiv auflisten. Standard für TARGET ist ., d.h. der - Repository-URL des aktuellen Verzeichnisses in der + Projektarchiv-URL des aktuellen Verzeichnisses in der Arbeitskopie. - Repository-Zugriff + Projektarchiv-Zugriff @@ -4671,7 +4671,7 @@ downloading a working copy: --> Am nützlichsten ist svn list, falls - Sie sehen möchten, welche Dateien in einem Repository + Sie sehen möchten, welche Dateien in einem Projektarchiv vorhanden sind, ohne eine Arbeitskopie herunterzuladen: @@ -4755,7 +4755,7 @@ repository so that no other user can commit changes to them. --> - Arbeitskopiepfade oder URLs im Repository + Arbeitskopiepfade oder URLs im Projektarchiv sperren, damit kein anderer Benutzer Änderungen daran übergeben kann. @@ -4809,14 +4809,14 @@ - Arbeitskopie, Repository + Arbeitskopie, Projektarchiv - Repository-Zugriff + Projektarchiv-Zugriff @@ -4950,7 +4950,7 @@ any combination of the two. The default revision range for a local path is BASE:1. --> - Zeigt Protokollnachrichten aus dem Repository an. + Zeigt Protokollnachrichten aus dem Projektarchiv an. Falls keine Argumente angegeben werden, zeigt svn log die Protokollnachrichten aller Dateien und Verzeichnisse innerhalb (und inklusive) des aktuellen @@ -5031,7 +5031,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -5371,7 +5371,7 @@ Das bedeutet nur, dass der Pfad in dieser Revision nicht geändert wurde. Um Protokollinformationen für diese Revision zu erhalten, sollten Sie den Befehl - entweder für die Wurzel des Repositorys aufrufen oder + entweder für die Wurzel des Projektarchivs aufrufen oder einen Pfad angeben, von dem Sie wissen, dass er in dieser Revision geändert wurde: @@ -5565,7 +5565,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -5749,7 +5749,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -5876,7 +5876,7 @@ bezeichnetes Verzeichnis wird zum Hinzufügen in der Arbeitskopie vorgemerkt. Ein durch einen URL bezeichnetes Verzeichnis wird durch eine unmittelbare Übergabe im - Repository erzeugt. Mehrere Verzeichnis-URLs werden atomar + Projektarchiv erzeugt. Mehrere Verzeichnis-URLs werden atomar übergeben. In beiden Fällen müssen Zwischenverzeichnisse bereits existieren, falls die Option nicht angegeben wird. @@ -5901,7 +5901,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -5909,7 +5909,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -5954,7 +5954,7 @@ Create one in the repository (this is an instant commit, so a log message is required): --> - Ein Verzeichnis im Repository erzeugen (dies ist eine + Ein Verzeichnis im Projektarchiv erzeugen (dies ist eine sofortige Übergabe, so dass eine Protokollnachricht erforderlich ist): @@ -6008,7 +6008,7 @@ working copy or in the repository. --> Dieser Befehl verschiebt Dateien oder Verzeichnisse in - Ihrer Arbeitskopie oder im Repository. + Ihrer Arbeitskopie oder im Projektarchiv. Subversion unterstützt nicht das Verschieben zwischen Arbeitskopien und URLs. Sie können auch Dateien - innerhalb eines einzelnen Repositorys verschieben + innerhalb eines einzelnen Projektarchivs verschieben – Subversion unterstützt nicht das Verschieben - zwischen Repositorys. Subversion unterstützt die + zwischen Projektarchiven. Subversion unterstützt die folgenden Arten von Verschiebungen innerhalb eines - einzelnen Repositorys: + einzelnen Projektarchivs: @@ -6097,7 +6097,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6105,7 +6105,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -6170,7 +6170,7 @@ Move a file in the repository (this is an immediate commit, so it requires a commit message): --> - Eine Datei im Repository verschieben (dies ist eine + Eine Datei im Projektarchiv verschieben (dies ist eine unmittelbare Übergabe, so dass eine Protokollnachricht erforderlich ist): @@ -6234,8 +6234,8 @@ Revisionen. Die erste Form entfernt versionierte Propertys in Ihrer Arbeitskopie und die zweite beseitigt unversionierte entfernte Propertys einer - Repository-Revision (TARGET - bestimmt nur, auf welches Repository zugegriffen werden + Projektarchiv-Revision (TARGET + bestimmt nur, auf welches Projektarchiv zugegriffen werden soll). @@ -6255,7 +6255,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6263,7 +6263,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -6376,8 +6376,8 @@ bearbeiten. Die erste Form bearbeitet versionierte Propertys in Ihrer Arbeitskopie und die zweite unversionierte entfernte Propertys einer - Repository-Revision (TARGET - bestimmt nur, auf welches Repository zugegriffen werden + Projektarchiv-Revision (TARGET + bestimmt nur, auf welches Projektarchiv zugegriffen werden soll). @@ -6397,7 +6397,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6405,7 +6405,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -6508,7 +6508,7 @@ oder Revisionen ausgeben. Die erste Form gibt das versionierte Property eines oder mehrerer Objekte Ihrer Arbeitskopie aus und die zweite unversionierte entfernte - Propertys einer Repository-Revision. Siehe für weitere Informationen über Propertys. @@ -6529,7 +6529,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6537,7 +6537,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -6657,8 +6657,8 @@ Revisionen auflisten. Die erste Form listet versionierte Propertys in Ihrer Arbeitskopie auf und die zweite unversionierte entfernte Propertys einer - Repository-Revision (TARGET - bestimmt nur, auf welches Repository zugegriffen werden + Projektarchiv-Revision (TARGET + bestimmt nur, auf welches Projektarchiv zugegriffen werden soll). @@ -6678,7 +6678,7 @@ - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6686,7 +6686,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -6830,9 +6830,9 @@ PROPVAL. Das erste Beispiel erzeugt eine versionierte Property-Änderung in der Arbeitskopie und das zweite eine unversionierte, entfernte - Property-Änderung auf einer Repository-Revision + Property-Änderung auf einer Projektarchiv-Revision (TARGET bestimmt nur, auf - welches Repository zugegriffen werden soll). + welches Projektarchiv zugegriffen werden soll). - Arbeitskopie; Repository falls mit URLs gearbeitet + Arbeitskopie; Projektarchiv falls mit URLs gearbeitet wird @@ -6873,7 +6873,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -7015,8 +7015,8 @@ hook scripts. --> Standardmäßig können Sie Revisions-Propertys in - einem Subversion-Repository nicht ändern. Der - Administrator des Repositorys muss die Änderung von + einem Subversion-Projektarchiv nicht ändern. Der + Administrator des Projektarchivs muss die Änderung von Revisions-Propertys ausdrücklich erlauben, indem er einen Hook namens pre-revprop-change erstellt. Siehe Accesses repository --> - Repository-Zugriff + Projektarchiv-Zugriff @@ -7346,7 +7346,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -7512,7 +7512,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -7671,7 +7671,7 @@ Gibt den Zustand von Dateien und Verzeichnissen der Arbeitskopie aus. Ohne Argumente werden nur lokal geänderte Objekte ausgegeben (ohne Zugriff auf das - Repository). Mit werden + Projektarchiv). Mit werden Informationen über die Arbeitsrevision und in Bezug auf den Server nicht mehr aktuelle Revisionen angezeigt. Mit werden vollständige @@ -7761,7 +7761,7 @@ --> Der Inhalt (im Gegensatz zu den Propertys) des Objektes steht in Konflikt mit dem aktualisierten - Inhalt aus dem Repository. + Inhalt aus dem Projektarchiv. @@ -7872,7 +7872,7 @@ repository. --> Propertys dieses Objektes stehen in Konflikt mit - Property-Aktualisierungen aus dem Repository. + Property-Aktualisierungen aus dem Projektarchiv. @@ -8041,7 +8041,7 @@ Die Datei war in dieser Arbeitskopie gesperrt worden, die Sperre wurde jedoch gestohlen und ist ungültig. Die Datei - ist momentan im Repository gesperrt. Das erscheint + ist momentan im Projektarchiv gesperrt. Das erscheint nur, falls verwendet wird. @@ -8159,7 +8159,7 @@ - Repository-Zugriff + Projektarchiv-Zugriff @@ -8221,7 +8221,7 @@ keine Änderungen an der Arbeitskopie vorgenommen). Hier können Sie sehen, dass sich wc/foo.c seit unserer letzten - Aktualisierung im Repository geändert hat: + Aktualisierung im Projektarchiv geändert hat: - Repository-Zugriff + Projektarchiv-Zugriff @@ -8562,7 +8562,7 @@ checked out your working copy: --> Um zurückzuschalten, brauchen Sie nur den URL des - Ortes im Repository anzugeben, von dem Sie ursprünglich + Ortes im Projektarchiv anzugeben, von dem Sie ursprünglich Ihre Arbeitskopie ausgecheckt haben: Manchmal kann es vorkommen, dass ein Administrator den - Ort (oder den scheinbaren Ort) Ihres Repositorys ändert - – mit anderen Worten: der Inhalt des Repositorys + Ort (oder den scheinbaren Ort) Ihres Projektarchivs ändert + – mit anderen Worten: der Inhalt des Projektarchivs ändert sich nicht, wohl aber der Wurzel-URL des - Repositorys. So kann sich beispielsweise der Name des + Projektarchivs. So kann sich beispielsweise der Name des Wirtsrechners, das URL-Schema oder irgend ein Teil des - URL, der auf das Repository zeigt, ändern. Statt eine neue + URL, der auf das Projektarchiv zeigt, ändern. Statt eine neue Arbeitskopie auszuchecken, können Sie den Befehl svn switch dazu verwenden, die Metadaten im Verwaltungsbereich Ihrer Arbeitskopie überschreiben zu lassen, damit diese auf - den neuen Ort des Repositorys verweisen. Falls Sie + den neuen Ort des Projektarchivs verweisen. Falls Sie svn switch die Option mitgeben, nimmt Subversion - Verbindung mit dem Repository auf, um die Gültigkeit der - Anfrage zu bestätigen (indem es im Repository natürlich + Verbindung mit dem Projektarchiv auf, um die Gültigkeit der + Anfrage zu bestätigen (indem es im Projektarchiv natürlich unter dem neuen URL nachfragt) und anschließend die Metadaten zu überschreiben. Durch diese Operation werden keinerlei Dateiinhalte verändert – es werden @@ -8701,7 +8701,7 @@ --> Falls die Arbeitskopie ein neues Verzeichnis innerhalb des - Repositorys repräsentieren soll, verwenden Sie nur + Projektarchivs repräsentieren soll, verwenden Sie nur svn switch. Falls die Arbeitskopie das gleiche - Verzeichnis im Repository repräsentiert, sich jedoch - der Ort des Repositorys selbst geändert hat, verwenden ***The diff for this file has been truncated for email.*** From jmfelderhoff at gmx.eu Thu May 20 11:37:02 2010 From: jmfelderhoff at gmx.eu (Jens M. Felderhoff) Date: Thu, 20 May 2010 16:37:02 -0000 Subject: [de] Deutsche =?UTF-8?B?w5xiZXJzZXR6dW5nOg==?= Wie geht es weiter? Message-ID: <20100520181010.5acea0a2@neuromancer> So, gerade habe ich den letzten Rest von Anhang C ins Repository geschoben. Leider sind noch einige Punkte bezüglich der deutschen Übersetzung offen. Die deutsche Seite zur Koordinierung der Übersetzung (www.svnbook.de) scheint nicht mehr richtig gepflegt zu werden (ich habe die Anhänge alle ohne Tickets übersetzt, sonst würde ich heute noch warten). Laut www.svnbook.de befindet sich das dritte Kapitel seit dem 10. September 2008 in Übersetzung; im Repository ist allerdings davon noch nichts aufgetaucht. Das sechste Kapitel ist bis "Using svnserve with SASL" übersetzt und ins Repository übergeben worden. Tickets gibt es aber nur für die bereits übersetzten Teile. Es wäre schön, wenn sich die Beteiligten oder Interessierte mal melden würden. Tschüss Jens From jmfelderhoff at gmx.eu Fri May 21 13:40:22 2010 From: jmfelderhoff at gmx.eu (Jens M. Felderhoff) Date: Fri, 21 May 2010 18:40:22 -0000 Subject: [de] Deutsche =?UTF-8?B?w5xiZXJzZXR6dW5nOg==?= Wie geht es weiter? Message-ID: <20100521204012.2f5f0322@neuromancer> So, gestern habe ich den letzten Rest von Anhang C ins Repository geschoben. Leider sind noch einige Punkte bezüglich der deutschen Übersetzung offen. Die deutsche Seite zur Koordinierung der Übersetzung (www.svnbook.de) scheint nicht mehr richtig gepflegt zu werden (ich habe die Anhänge alle ohne Tickets übersetzt, sonst würde ich heute noch warten). Laut www.svnbook.de befindet sich das dritte Kapitel seit dem 10. September 2008 in Übersetzung; im Repository ist allerdings davon noch nichts aufgetaucht. Das sechste Kapitel ist bis "Using svnserve with SASL" übersetzt und ins Repository übergeben worden. Tickets gibt es aber nur für die bereits übersetzten Teile. Es wäre schön, wenn sich Beteiligte oder Interessierte mal melden würden. Tschüss Jens