Domanda

Sto runnining su Windows, con le finestre p4 client e git installato tramite Cygwin. I client pubblicizza p4 come la sua sintassi è regolare tra le piattaforme e tutto ciò che, in modo che dovrebbe essere rose e fiori.

Così, quando vado a git-p4 clone --verbose //depot/path/to/source, elenca tutti i file nel repository come se fossero di essere controllato, poi muore dicendo

  

Eccezione: fast-importazione non riuscita: avvertimento: Non l'aggiornamento refs / telecomandi / p4 / master (new    cd601b92da8625c90af05685e450e55b6d19c9e9 punta non contiene 3a512c9408e3cbeef   94c78dfd7115f81e4a6fd0d)

e si conclude con un grande blocco di "statistiche git-fast-importazione". Guardando l'errore: nuova punta? Eh? Che cosa deve contenere?

Quello che mi rimane è un repo .git che un paio di mega (molto, molto più piccolo del albero sorgente completo sarebbe). Tutte le idee?

È stato utile?

Soluzione

Ho avuto un problema simile e di solito può essere fatta risalire alla carcassa in percorsi, i nomi di filiale, ecc Non sei sicuro di P4, ma in modo che non si dispone di un ramo master - dovrebbe essere padrone. Seguire la stessa reggimento su tutta la linea. Inoltre, evitare di directory e file di nomi con spazi tra loro. Un sacco di utensili git-centric non lo fa così. Gitolite è un esempio. Non permetterà un repository che ha uno spazio in esso.

Altri suggerimenti

Simile alla risposta accettato, ho avuto questo stesso problema quando si cerca di sincronizzazione a un ramo git nella forma:

git p4 sync --branch=feature/f1 //depot/path/to/code

Il / nel nome ramo sembrava causare la stessa criptico avvertimento fallito fast-import. Purtroppo git-p4 non sembra supportare i nomi di ramo git-flusso standard.

Il passaggio ad un ramo come questo ha funzionato:

git p4 sync --branch=f1 //depot/path/to/code

Non si ottiene "Ignorando revisione XYZ in quanto produrrebbe un vuoto commit" per la prima CL da importare?

Se è così, si sta colpendo un bug in git-p4.py dove si azzera il "initialParent" impostazione (necessario in modo che git fast-importazione possono aderire i nuovi commit fino alla importazione precedente) prima che effettivamente si impegna nulla . Il nuovo flusso di file importati sono quindi lasciato scollegato alla vecchia.

Al momento sto lavorando a questo utilizzando --changesfile e di lavoro fuori in modo esplicito che il bisogno di CL da importare.

ho avuto problemi simili. Che cosa ha funzionato per me è stato l'aggiornamento del codice Python git-p4. Si può dare un'occhiata alla commettere qui , ma speriamo che sia tirato su al più presto.

Ho anche incontrato la "nuova punta x non contiene y" errore di esecuzione rapida di importazione.

Nel mio caso, questo è stato causato da un preesistente non correlata commit nel ramo principale del pronti contro termine stavo tentando di importare in. Avevo inizializzato il repo con il client GitHub che ha aggiunto un primo commit (per aggiungere un file .gitignore). Lo strumento di fast-import presumibilmente non riusciva a conciliare i commit importati con lo stato attuale del ramo in quanto dello strumento GitHub commit avevano alcun rapporto con i commit importati.

La soluzione per me è stato per inizializzare invece un repo vuota con "git init" e poi correre veloce-import.

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