Aggiorna automaticamente l'intervallo di date del copyright da git?

10

Mentre scrivo, siamo in 10 giorni nel 2012. Scommetto che molti programmatori stanno modificando la stringa di copyright nella parte superiore dei loro file sorgente con qualcosa del tipo:

// Copyright 2008, 2010-2012 Some Company Unlimited

Il tuo sistema di controllo della versione sa quando i file sono stati modificati, quindi sicuramente può aiutare a scrivere o riscrivere queste stringhe. Quindi la mia domanda: c'è uno script che può esaminare i registri git per ogni file e produrre (o meglio inserire) una stringa del genere?

Sto usando git, quindi è di interesse primario, ma fammi sapere se tali script esistono per altri sistemi.

Aggiornamento:

Abbiamo bisogno di uno script che faccia questo:

  • Cammina tutti i file sorgente nella nostra copia di lavoro
  • Individua la stringa di copyright esistente e identifica gli anni, ad es. 2007,2009-2011 sarebbe {2007, 2009, 2010, 2011}
  • Per ogni anno non menzionato, diff tra 1 gennaio e 31 dicembre (o oggi se l'anno corrente). Esamina diff e decidi se vale la pena menzionare nella stringa copyright
  • Inserisci una nuova stringa di copyright.
posta paperjam 10.01.2012 - 13:54
fonte

3 risposte

3

TL; DR

Non preoccuparti! Il tuo copyright sul progetto non scadrà se non hai aggiornato l'anno in tempo! Sei sicuro - non funziona in questo modo.

Versione lunga:

Sono abbastanza sicuro che i numeri di tutti gli anni nell'avviso di copyright indicano l'inizio del copyright, non l'intervallo. Se aggiungi un anno significa la continuazione della partenza, non la fine. Lo usi se aggiungi nuovi contenuti (come i nuovi moduli) per indicare l'anno iniziale solo per quel nuovo contenuto. È facoltativo ma dovrebbe essere utilizzato per modifiche di grandi dimensioni, come moduli interi o un rifacimento completo del progetto.

Il copyright dovrebbe scadere dopo anni di numero fisso (che dipende dalle leggi del tuo paese) dopo l'anno scorso nella tua notifica.

Quindi, non vedo un motivo per aggiornare attivamente le intestazioni delle sorgenti.

EDIT:

Il fatto è che di solito i cambiamenti che sono abbastanza consistenti coinvolgono file sorgente completamente nuovi o una reimplementazione di quelli vecchi. Quindi, se usi sempre l'anno corrente nelle intestazioni dei nuovi file sorgente, stai bene. Non è assolutamente necessario passare attraverso ogni singolo file per effettuare l'aggiornamento. In realtà, l'unica cosa che richiede una modifica manuale è se hai un intervallo di date nel testo della licenza stesso o nel file readme.

Disclaimer: sono un programmatore, non un avvocato.

    
risposta data 10.01.2012 - 14:06
fonte
1

is there a script that can examine git logs for each file and output (or better insert) a string like that about?

Non è uno script di per sé, ma la funzione Git , che puoi usare per questa attività: sbavare / pulire la coppia di filtri

    
risposta data 11.01.2012 - 09:54
fonte
-2

No, git non sa quando i file sono stati modificati.

L'oggetto Git commit definisce semplicemente il contenuto di tutti i file in un punto specifico. Lo stesso contenuto può facilmente apparire in un altro commit, anche non correlato. Non c'è nulla che renda uno di loro più importante. Quindi la risposta potrebbe essere ambigua, anche se spesso non lo sarà.

    
risposta data 10.01.2012 - 14:11
fonte

Leggi altre domande sui tag