2010-08-29 9 views
5

Ho un repository LaTeX hg per un foglio e io uso hg serve per visualizzare l'avanzamento sui miei coautori. Fino alla scorsa settimana il file paper.pdf è stato trattato come binario e il suo contenuto non è stato visualizzato nei changeset. (Gli utenti potevano scaricare tramite il link raw)Come si può forzare Mercurial (hg) a trattare un file come binario?

Dalla scorsa settimana, Paper.pdf viene trattato come testo e vedo enormi diff di codice PDF nei miei gruppi di modifiche ...

C'è un modo per dire il repository per trattare questo file come binario invece di "indovinare"?

Sul mio server (dove hg serve piste):
hg --version -> Mercurial Distributed SCM (versione 1.0.1)
sul mio portatile:
hg --version -> Mercurial Distributed SCM (versione 1.3.1)

+3

Il commento di Martin sul commento di Tonfa è la chiave: mercurial non distingue tra testo e binario in alcun modo che influenzi la funzionalità. Apparirà diverso in diff di fronte utente (e in base alla tua impostazione - git), ma sotto le copertine è tutto binario e non ci sarà mai alcun dataloss di conversione di fine riga come svn e cvs potrebbero produrre. –

risposta

2

Non è possibile sovrascrivere l'euristica (che è piuttosto semplice, controlla solo la presenza di un byte NUL nei dati).

Immagino che il PDF generato non sia compresso, il che significa che è solo testo normale e non contiene alcun byte NUL.

Ma perché è importante averlo come binario?

+1

Consentitemi di aggiungere che, indipendentemente da cosa 'hg diff' vi mostra, Mercurial userà internamente un formato binario diff. –

+0

Sto cercando di modi per ottenere un byte NULL qualche nel file PDF ... ho provato questo: \ usepackage [pdftex] {} grafica \ pdfcompresslevel = 9 ma sembra non ero fortunato abbastanza per ottenere un NULL nel pdf. Aggiungerò altre immagini ad alta risoluzione;) E un giorno quando invio, guarderò il codice sorgente di 'hg serve' ... – ivan

Problemi correlati