2016-04-29 22 views
5

TFS 2015 Update 2 porta il supporto Git LFS, ma quando ho provato ad usarlo con la macchina virtuale Brian Keller VS2015ALM (aggiornato a Update 2), ho ottenuto questa eccezione:Usare Git LFS con TFS 2015 Update 2 OnPremise

git-lfs/1.2.0 (GitHub; windows amd64; go 1.6.1; git 386c5d8) 
git version 2.8.1.windows.1 

$ git-lfs.exe smudge -- Image1.jpg 
Error downloading object: Image1.jpg (968bda1e0a17e295e265311f93bc4e631e171 
d776d51c6d7a43b52185c82631a) 

Your user name must be of the form DOMAIN\user. It is currently brian%!(EXTRA st 
ring=string) 
goroutine 1 [running]: 
github.com/github/git-lfs/lfs.Stack(0x0, 0x0, 0x0) 
     C:/Users/techn/go/src/github.com/github/git-lfs/lfs/errors.go:566 +0x87 
github.com/github/git-lfs/commands.logPanicToWriter(0x1a42c0, 0xc082020020, 0x1b 
54a0, 0xc0823ae1a0) 
     C:/Users/techn/go/src/github.com/github/git-lfs/commands/commands.go:195 
+0xf87 
github.com/github/git-lfs/commands.logPanic(0x1b54a0, 0xc0823ae1a0, 0x0, 0x0) 
     C:/Users/techn/go/src/github.com/github/git-lfs/commands/commands.go:159 
+0x419 
github.com/github/git-lfs/commands.handlePanic(0x1b54a0, 0xc0823ae1a0, 0x0, 0x0) 

     C:/Users/techn/go/src/github.com/github/git-lfs/commands/commands.go:134 
+0x55 
github.com/github/git-lfs/commands.LoggedError(0x1b54a0, 0xc0823ae1a0, 0xa25980, 
0x21, 0xc082029c88, 0x2, 0x2) 
     C:/Users/techn/go/src/github.com/github/git-lfs/commands/commands.go:84 
+0x89 
github.com/github/git-lfs/commands.smudgeCommand(0xc52680, 0xc0820f81e0, 0x1, 0x 
2) 
     C:/Users/techn/go/src/github.com/github/git-lfs/commands/command_smudge. 
go:79 +0xdd2 
github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra.(*Command).execute 
(0xc52680, 0xc0820f8040, 0x2, 0x2, 0x0, 0x0) 
     C:/Users/techn/go/src/github.com/github/git-lfs/vendor/_nuts/github.com/ 
spf13/cobra/command.go:477 +0x3fb 
github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra.(*Command).Execute 
(0xc536c0, 0x0, 0x0) 
     C:/Users/techn/go/src/github.com/github/git-lfs/vendor/_nuts/github.com/ 
spf13/cobra/command.go:551 +0x593 
github.com/github/git-lfs/commands.Run() 
     C:/Users/techn/go/src/github.com/github/git-lfs/commands/commands.go:99 
+0x2a 
main.main() 
     C:/Users/techn/go/src/github.com/github/git-lfs/git-lfs.go:34 +0x135 

ENV: 
LocalWorkingDir=C:\Users\Brian\Source\Repos\DemoGitLfs 
LocalGitDir=C:\Users\Brian\Source\Repos\DemoGitLfs\.git 
LocalGitStorageDir=C:\Users\Brian\Source\Repos\DemoGitLfs\.git 
LocalMediaDir=C:\Users\Brian\Source\Repos\DemoGitLfs\.git\lfs\objects 
LocalReferenceDir= 
TempDir=C:\Users\Brian\Source\Repos\DemoGitLfs\.git\lfs\tmp 
ConcurrentTransfers=1 
BatchTransfer=true 
GIT_DIR=.git 
GIT_LFS_PATH=C:\Program Files\Git LFS 
GIT_PREFIX= 

Questo si aggiunge quando ho provato a premere con git.exe e funziona dopo una prima pressione con VS2015U2. Ma ora ho ricevuto questo errore quando provo a ripetere la clonazione del mio repository (fallito il checkout) con git.exe o VS2015U2. A proposito, VS si blocca completamente in questo caso. Ho provato le stesse operazioni con VSTS e non si è verificato alcun errore (con git.exe, GitExtensions o VS2015U2). Quindi sembra essere un problema con come vengono fornite le credenziali ma come risolverlo?

passi Repo:

  1. Creare un repo sul portale web TFS
  2. clone con VS o GIT
  3. Execute "LFS git installare"
  4. Execute "pista filtro LFS git" *. jpg ""
  5. aggiungere un'immagine nell'area di lavoro
  6. Commit
  7. Esegui "push orig git in master"=> non riuscita con git.exe
  8. eseguire "git push maestro origine"=> funziona con VS
  9. Aggiungi una seconda immagine e impegnarsi
  10. La spinta ora funziona con git.exe
  11. Elimina locale repository
  12. clone repo => fallito al momento della partenza con git.exe o VS

ho provato con "clone -n" per evitare pagamento immediato, poi eseguo "LFS git installa" e "checkout maestro git" , si è verificata la stessa eccezione: Nome utente e deve essere del modulo DOMINIO \ utente. Attualmente è brian%! (EXTRA st ring = stringa)

+0

Possibile duplicato di [LFS: credenziali di Git per..XXXX..non trovato. Il tuo nome utente deve essere di tipo DOMINIO \ utente] (https://stackoverflow.com/questions/42986608/lfs-git-credentials-for-xxxx-not-found-your-user-name-must-be-of -la-form-do) –

risposta

3

Git Credential Manager for Windows mi aiuta a farlo funzionare.

Basta usare GCMW e al primo prompt di credenziali (credenziali sono immagazzinate nella Gestione credenziali di Windows):

  • nome utente: "vsalm \ brian"
  • password: "P2ssw0rd"

E funziona.

  • Senza GCMW non funziona.
  • Funziona con il GCMW fornito dall'installazione Git 2.8, l'installazione manuale di 1.2.2 e 1.3 (con l'aggiunta di "[credenziale] aiutante = manager" in gitconfig)

Nota: Clone con VS2015U2 doesn Funziona, una soluzione è un piano in U3. Ulteriori informazioni: https://connect.microsoft.com/VisualStudio/feedback/details/2657886/cant-use-git-lfs-with-tfs-2015-update-2-onpremise

0

In base all'eccezione di errore, il server TFS utilizza "NTLM" per l'autenticazione. Con questa autenticazione, è necessario inserire il nome utente: {DOMAIN} {user} e password: {pass}. Quindi aggiorna le tue credenziali git in questo formato e poi riprova. Controlla questo link per dettagli: NTLM Authentication With Git-Lfs.

Se il server restituisce un LFS. "WWW-Authenticate: NTLM" header, ci sarà set LFS {} endpoint .Accesso essere NTLM e inviare nuovamente la richiesta HTTP. Le richieste successive passeranno attraverso il flusso di autenticazione ntlm.

Memorizzeremo le credenziali NTLM nell'helper delle credenziali. Quando l'utente è richieste le credenziali devono usare nome utente: {domain} {user} e la password: {} passare

Il protocolllo NTLM sarà gestita da una classe ntlm.go che nasconde la attuazione InitHandshake , Autentica e Sfida. Questo consente modifiche minime alla classe client.go esistente.

Problemi correlati