2013-07-28 18 views
8

Cercando di clonare un repository git remoto (bare), ottengo diversi errori come il seguente, dopo il quale git si interrompe.Clone Git non è in grado di creare il file

error: unable to create file frozen/email/lamson/mymailserver/run/queue/mark.name/cur/1361115664.1929_1.vps-pool-55:2,S (Invalid argument) 

Va bene se devo rimuovere questi file, ma non riesco a trovare un modo per farlo se non riesco a clonare.

Qualche idea su cosa posso fare?

+0

vedere anche http://stackoverflow.com/questions/13040577/when-cloning-git-repo-under-windows-i-get-error-unable-to-create-file-file –

risposta

13

Immagino che probabilmente stai provando a fare il clone su una macchina Windows. Windows non consente ai nomi di file di utilizzare il carattere :.

Dal Microsoft documentation:

utilizzare qualsiasi carattere nella tabella codici corrente per un nome, compresi i caratteri Unicode e caratteri nel set di caratteri esteso (128-255), con le seguenti eccezioni:

  • i seguenti caratteri riservati:
    • < (meno di)
    • > (maggiore di)
    • : (due punti)
    • "(virgolette)
    • /(barra)
    • \ (backslash)
    • | (barra verticale o tubo)
    • ? (Punto interrogativo)
    • * (asterisco)
  • valore intero pari a zero, a volte indicato come l'ASCII NUL carattere.
  • Caratteri le cui rappresentazioni integer sono comprese nell'intervallo compreso tra 1 e 31, ad eccezione dei flussi di dati alternativi in ​​cui sono consentiti questi caratteri. Per ulteriori informazioni sui flussi di file, vedere File Streams.
  • Qualsiasi altro carattere che il file system di destinazione non consente.

Per risolvere questo problema, si avrà probabilmente bisogno di clonare su un sistema non-Windows e correggere i nomi dei file incriminati. Forse alcuni degli esperti di Windows là fuori avranno una soluzione migliore.

+0

I am on Ubuntu 12 (e il file è stato creato su un'altra Ubuntu) – Mark

+0

Hmm - questo è un po 'strano, allora. Puoi mostrare un po 'più di contesto dal registro degli errori? –

+1

Questo (per diversi file) è tutti gli spettacoli della console. Tuttavia, la soluzione (clonazione su un repository non nudo su un'altra macchina e risoluzione del problema) ha funzionato! – Mark

2

Sono riferimenti incrociati mia risposta, in quanto si applica anche qui: https://stackoverflow.com/a/34515900/1012586

Eppure, invece di

* 
!kickstarter/parsers/data/kickstarter/campaigndetails/* 

avresti bisogno di qualcosa come

* 
!frozen/email/lamson/mymailserver/run/queue/mark.name/cur/* 

nella vostra .git/info/sparse-checkout

0

git rifiuterà di ov erwrite i file esistenti. Prova di nuovo, clonando in una directory vuota.