Question

J'utilise Git-P4 pour travailler avec Git localement et essayer de soumettre mes modifications au serveur performité. C'est la soumission des changements au serveur que je ne parviens pas.

J'ai un client configuré pour qu'il inclue toutes les dépendances de la bibliothèque dans le client (suivant les recommandations dans Utilisation de Git-P4 pour configurer un clone git d'un client performité)

//depot/libA/... //workspace/libA/...
//depot/libB/... //workspace/libB/...

Cependant, pour la source de ligne principale, je fais ce qui suit dans le répertoire de l'espace de travail:

git-p4 clone //depot/my_project

Cela crée et remplit le répertoire My_Project dans Workspace.

Afin que le code dans SRC puisse se référer aux bibliothèques.

Le problème est que lorsque je fais Git-P4 Rebase, j'obtiens l'erreur suivante:

$git-p4 rebase
Traceback (most recent call last):
  File "/home/user/bin/git-p4", line 2362, in <module>
    main()
  File "/home/user/bin/git-p4", line 2357, in main
    if not cmd.run(args):
  File "/home/user/bin/git-p4", line 2051, in run
    sync.run([])
  File "/home/user/bin/git-p4", line 2004, in run
    changes = self.p4.p4ChangesForPaths(self.depotPaths, self.changeRange)
  File "/home/user/bin/git-p4", line 232, in p4ChangesForPaths
    assert depotPaths
AssertionError

Quand je fais GIT-P4 Soumettre (après avoir apporté une seule modification et faire un "test" Git -A-M -M):

$ git-p4 submit --verbose
Reading pipe: git name-rev HEAD
Reading pipe: git config git-p4.allowSubmit
Reading pipe: git rev-parse --symbolic  --remotes
Reading pipe: git rev-parse p4/master
Reading pipe: git notes --ref=git-p4 show 6b75260b956cb72102014783fcfcb2e0da6eb637
Reading pipe: git notes --ref=git-p4 show HEAD~0
Reading pipe: git notes --ref=git-p4 show HEAD~1
Reading pipe: git notes --ref=git-p4 show HEAD~2
Reading pipe: git notes --ref=git-p4 show HEAD~3

.....

Il faut une éternité (demande-t-il au serveur pour tous les ensembles de modifications ??) et échoue avec erreur: Traceback (dernier appel dernier):

 File "/home/user/bin/git-p4", line 2362, in <module>
    main()
  File "/home/user/bin/git-p4", line 2357, in main
    if not cmd.run(args):
  File "/home/user/bin/git-p4", line 1088, in run
    self.depotPath = settings['depot-paths'][0]
KeyError: 'depot-paths'

Je dois noter que je n'ai pas utilisé Git Config pour configurer l'une des options Git-P4 (le wiki à https://git.wiki.kernel.org/index.php/git-p4_usage ne semble pas mentionner que c'est nécessaire).

Était-ce utile?

La solution

Est-ce que votre client-spécial inclut //depot/my_project/... ?

Vous pouvez peut-être avoir vos bibliothèques dans un client-spécial et votre projet dans un autre.

Peut-être:

working/
    project-git/
       .perforce -> P4CONFIG with project-spec
       <p4-git project checkout>
    .perforce -> P4CONFIG with libs-spec
    libraries
perforce/
    .perforce -> P4CONFIG with project-spec
    <p4 project checkout>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top