2013-03-16 9 views
19

Was ist der Unterschied zwischen Refspec ist und Zweig Spezifizierer (leer für Standard): in der unten Jenkins Job-Konfiguration:Jenkins Git-Plugin und Refspecs

enter image description here

Ich habe versucht, die Refspec einstellen Option in der Konfiguration des Projekts:

+refs/heads/master:refs/remotes/origin/master 

in dem geklonten Repo auf meinem Build-Slave die .git/config-Datei sieht wie folgt aus:

[core] 
     repositoryformatversion = 0 
     filemode = true 
     bare = false 
     logallrefupdates = true 
[remote "origin"] 
     url = https://user:[email protected]/scm/PROJECT/project.git 
     fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
     remote = origin 
     merge = refs/heads/master 

Es scheint, dass der Wert für holen (lesen Sie aus der jenkins Job-Konfiguration) nicht korrekt ist. Außerdem hat es keine Auswirkung auf den Speicherplatzverbrauch.

+0

Offensichtlich ist die Konfiguration des Repository nicht betroffen. Ich bin nicht sicher, ob dies das erwartete Verhalten ist oder nicht, aber es sollte angemerkt werden, dass dies nicht unbedingt erforderlich ist, da die refspec auch in dem git fetch-Befehl enthalten sein kann. Daher sollten Sie versuchen zu überprüfen, welcher Befehl ** wirklich ** ausgeführt wird. – bigge

Antwort

20

Refspec definiert Optionen für die Abrufoperation (siehe here und here), während der Zweig Spezifizierer Zweig definiert, welche den Code enthält von Jenkins gebaut sein. Mit anderen Worten: Refspec definiert nur, wie der Code abgerufen wird, während Branch Specifier welcher Teil des Codes kompiliert wird.

[Bearbeiten:] Fixed defekten Link zu refspec

+0

Ok also wenn ich nur zB bauen muss. ** my-feature ** branch macht es Sinn refspec auf ** my-feature ** zu setzen? Würde das etwas Platz sparen, anstatt das komplette Repository/alle Zweige zu holen? – u123

+0

Nun, im Prinzip ist das wahr, aber bedenken Sie, dass git einen wirklich guten Job macht, wenn es darum geht, Zweige leicht zu halten. Das heißt, git speichert nur Unterschiede, und der Aufwand beim Abrufen mehrerer Zweige ist nur dann von Bedeutung, wenn die Zweige ** extrem voneinander verschieden sind. – bigge

+0

Es hat keine Auswirkung auf den Speicherplatzverbrauch, aber es scheint, dass die Option nie festgelegt wird - siehe editierten Beitrag. – u123