Este posibil să legați fișierele din depozitele SVN astfel încât un fișier să fie de fapt o referință la un alt fișier din alt depozit? (Programare, Svn)

Firoso a intrebat.

Văd unele dificultăți potențiale legate de acest concept, dar ideea este:

Modific un fișier în Depozitul A și fac o confirmare, Depozitul B are un fișier care este o legătură către un fișier din Depozitul A, fac clic pe actualizarea fișierului în copia mea de lucru pentru depozitul B și primesc fișierul actualizat de la depozitul A.

4 răspunsuri
DigitalRoss

Da, pentru directoare oricum

Consultați această secțiune despre externalele svn. svn:externals este setată pe un director cu versiune; valoarea sa este de obicei un alt director cu versiune dintr-un depozit (posibil același) al organizației dumneavoastră. Acestea acționează în final ceva de genul legăturilor simbolice.

Actualizare: Bună idee și din partea lui basszero, dar rețineți că cel care a pus întrebarea aproape sigur nu are un repo svn 1.6, deci nu poate face acest lucru cu fișiere.

Comentarii

  • Acest lucru ar trebui să funcționeze pentru toate fișierele din acel director. Eu folosesc ceva de genul acesta aici. –  > Por Buggabill.
  • subversion 1.6 suportă definiții externe și pentru fișiere.  > Por basszero.
  • @basszero: svn suportă doar externalizări de fișiere pentru fișiere text, fișierele binare nu pot fi „externalizate” – -.  > Por Peter Parker.
  • mulțumesc pentru informațiile suplimentare, nu știam de limita de fișiere text –  > Por basszero.
  • O întrebare, ce presupune un repo 1.6? Este suficient ca partea de server să ruleze Subversion 1.6 sau o versiune mai recentă, sau formatul trebuie să fie convertit într-un fel sau altul? –  > Por 0xC0000022L.
basszero

Dacă sunteți suficient de norocoși să utilizați subversion 1.6, puteți avea legături externe pentru ambele directoare ȘI fișiere

Comentarii

  • „lucky enoug”, lol, de parcă doar copiii bogați își permit să pună mâna pe această mică bijuterie a open sourcedness-ului gratuit. –  > Por Neil N.
  • Dacă nu găzduiește el însuși repo-ul, probabil că nu are control asupra versiunii care se află pe server. Gratuit nu înseamnă întotdeauna accesibil 🙂 –  > Por jrummell.
  • svn1.6 suportă doar fișiere externe la fișiere text. –  > Por Peter Parker.
  • nu ați întreținut niciodată cod moștenit sau nu ați lucrat pentru guvern. Uneori sunt fericit să folosesc orice versiune de subversiune. –  > Por basszero.
  • Nu este nevoie de coduri vechi sau de guvern. În compania în care lucrez în prezent încă folosim svn 1.6.18 pentru că portarea ar fi „prea costisitoare ergo inutilă”…  > Por user1810087.
Hovo

Check out this post…
M-a ajutat
cum să setați corect proprietatea svn svn externals în linia de comandă svn

Pentru cei care nu doresc să urmeze link-ul, iată o scurtă prezentare generală.

svn propset svn:externals 'akismet http://plugins.svn.wordpress.org/akismet/trunk' .
  • akismet – dir sau numele fișierului pe care doriți să se numească link-ul dvs.
  • http://plugins.svn.wordpress.org/akismet/trunk – linkul către repo-ul svn la care doriți să faceți legătura
  • . – Directorul curent, deci asigurați-vă că vă aflați în directorul în care doriți să se afle link-ul

După ce executați instrucțiunile de mai sus, faceți un

svn commit

și

svn update

Scrappydog

Acest lucru este ușor de realizat cu link-uri „externe” în depozitul de subversiune.

Personal, consider că acest lucru este foarte util pentru a încorpora biblioteci open source în codul meu (Codeplex, Google Code, etc…).

Căutați „svn:externals” pentru a găsi documentație despre detalii

Tags: