2009-12-15 13 views
11

È possibile rinominare le directory con Fossil? Ho provato il comando ovvia:Rinominare le directory con Fossil DVCS

fossil mv oldname newname 

Fossil poi mi informa che ha fatto qualcosa:

RENAME oldname newname 

Tuttavia, chiamando "cambiamenti fossili" si traduce in una lista vuota. Per quanto ne so, la ridenominazione delle directory non è supportata, non è ancora stata implementata o è appena stata interrotta. C'è un trucco per questo?

risposta

17

Dopo alcune ricerche ho scoperto che si può fare, ma è contro-intuitivo. A Fossil non importa cosa succede alle directory; tutto ciò che importa è la posizione dei file al loro interno.

Quando si rinomina una directory, appare Fossil a:

  • ciclo attraverso la lista del repository di file per la vecchia directory;
  • individuare il file nella nuova directory sul filesystem;
  • aggiornare i metadati dei file in modo che siano elencati come facenti parte della nuova directory.

Se la nuova directory non esiste, non riesce. Non ci sono file nella nuova posizione, quindi Fossil non può eguagliare il vecchio con il nuovo, quindi non vengono apportate modifiche.

In breve: è necessario rinominare la cartella tramite il filesystem prima di provare a effettuare la modifica in Fossil. Se non lo fai, Fossil ti ignora.

Ora che ci penso, questo ha senso, anche se preferirei che Fossil aggiornasse il filesystem stesso invece di forzare un processo in due passaggi sui suoi utenti.

Come appendice, sembra impossibile aggiungere una directory vuota a Fossil. Presumo che internamente memorizzi solo i file; le cartelle sono considerate metadati. Una cartella vuota è metadata che non descrive nulla, quindi aggiungerli non ha senso.

+1

Esattamente. Se è una directory profonda, semplicemente copio prima l'intera struttura. Per le dirs vuote, controllo in un .placeholder –

Problemi correlati