Crea un collegamento fisico a una directory (OS X)


2

Ho bisogno di creare un hard link per una directory in OS X, ma sto usando Snow Leopard 10.6.x, quindi alcune opzioni che non funzionavano più . Eventuali suggerimenti?

Nota: Lo sto utilizzando per ottenere la stessa fonte in più repository GIT.


2
Gli hardlink alle directory sono una pessima idea, e usarli su futz con repository git come questo, lo rendono ancora peggiore.
Ignacio Vazquez-Abrams

SVN supporta "esterni", forse qualcosa di simile esiste per git?
Daniel Beck

@ Ignacio Vazquez-Abrams, suona sicuramente male. Sono aperto alle alternative in GIT, se ne conosci ...
Dan Rosenstark

Questa domanda è stata appena scaricata in prima pagina. Qualche notizia? Come hai risolto questo problema?
Daniel Beck

Risposte:


1

Gli hard link alle directory sono stati aggiunti a HFS + appositamente per supportare i backup di Time Machine. Tuttavia, la maggior parte delle utility non se lo aspetta e probabilmente dovresti evitare di usarle tu stesso.

Sembra che potresti trovarti in una situazione in cui trarrai vantaggio dall'uso Invia sottomoduli . Un sottomodulo consente a un repository Git di mantenere un collegamento a un altro repository. Ad esempio, se il tuo progetto crea una copia di libcoolstuff come parte della sua build, la tua directory potrebbe assomigliare a questa:

|- /MyProject
    |-- .git/
    |
    |-- libcoolstuff/
    |   |-- libcoolstuff.c
    |   |-- libcoolstuff2.c
    |
    |-- mysource.c
    |-- ...

In questo caso, potresti volere che libcoolstuff sia un sottomodulo:

git submodule add /path/to/repo/libcoolstuff libcoolstuff

Questo creerà una sottodirectory chiamata libcoolstuff nel repository MyProject. Il collegamento tra libcoolstuff e il repository originale da cui proviene viene mantenuto e può essere aggiornato in MyProject mentre gli aggiornamenti vengono impegnati nel repository di origine.

Nella tua situazione, forse hai un progetto che vuoi diventare parte di molti altri progetti e rimanere aggiornato con il loro sviluppo. Questo ti permetterà di farlo, purché tutti i progetti siano mantenuti nei loro repository Git.


Hmmm ... interessante. Penso di parlare di qualcos'altro, anche se forse no. Ho una cartella di file che NON è fisicamente (?) All'interno del repository GIT (non una sottocartella della cartella che contiene il file .git), ma voglio che il suo contenuto sia sotto il controllo del codice sorgente. Ciò consentirebbe cose strane come una directory mostrata in diversi repository GIT in una sola volta tramite hard link.
Dan Rosenstark

Vedo, ho frainteso quello che stavi cercando di fare. Ho cambiato la mia risposta per discutere dei sottomoduli; è più in linea con quello che stai cercando di fare?
Stephen Jennings
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.