Come faccio a implementare un pre-commit script hook in SVN che chiama dos2unix per convalidare il check-in file

StackOverflow https://stackoverflow.com/questions/48562

  •  09-06-2019
  •  | 
  •  

Domanda

Mi chiedevo se qualcuno qui ha avuto qualche esperienza di scrittura di questo tipo di script e se si mi potrebbe dare alcune indicazioni.

Vorrei modificare questo script per verificare che il check-in file non è un Ritorno, in EOL formattazione.Il formato di EOL è CR LF in Windows e LF in Unix.Quando un Utente fa il check-in con il codice di formattazione di Windows.Non compilare in Unix più.So che questo può essere fatto sul lato client, ma ho bisogno di avere la convalida fatto sul lato server.Per ottenere questo, è necessario effettuare le seguenti operazioni:

1) assicurarsi che il file che ho il controllo non è un binario, non so come fare con svnlook, è necessario controllare il mime:tipo di file?Il Libro Rosso non indicare chiaramente o devo non ho visto.

2) vorrei correre il dos2unix comando per verificare che il file è corretto formato di EOL.Vorrei confrontare l'output del dos2unix comando contro il file originale.Se c'è una differenza tra i due, mi danno un messaggio di errore al client e annullare il check-in.

Vorrei i vostri commenti/feedback su questo approccio.

È stato utile?

Soluzione

Penso che si può evitare di commettere script hook, in questo caso, utilizzando il svn:eol-style proprietà, come descritto nel SVNBook:

In questo modo SVN può preoccupare il tuo fine linea per voi.

Buona fortuna!

Altri suggerimenti

Che cosa stai cercando di fare?

Naturalmente, ci sono numerosi luoghi da imparare su svn pre-commit ganci (es. qui , qui, e nel Libro Rosso) ma dipende da cosa stai cercando di fare e che cosa è disponibile nel sistema.

Puoi essere più specifico?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top