Mi piacerebbe avere la possibilità di chiudere più problemi con un commit facendo riferimento a più problemi con il modello predefinito ^([Cc]loses|[Ff]ixes) +#\d+a
. So che questo influenzerà solo fixes #number
-patterns all'inizio delle righe e questo è quello che voglio.
Ma non ero ancora in grado di farlo funzionare.
Attualmente sto usando Gitlab 6.1, l'ho installato in base al readme di installazione su github e non ho modificato nulla di diverso dal codice qui sotto.
Ecco cosa ho provato:Utilizza la variabile issue_closing_pattern per chiudere più problemi in gitlab
Prima ho cambiato in {gitlab-directory}/app/models/commit.rb
the following (codice originale commentata):
def closes_issues project
md = safe_message.scan(/(?i)((\[)\s*(close|fix)(s|es|d|ed)*\s*#\d+\s*(\])|(\()\s*(close|fix)(s|es|d|ed)*\s*#\d+\s*(\)))/)
#md = issue_closing_regex.match(safe_message)
if md
extractor = Gitlab::ReferenceExtractor.new
md.each do |n|
extractor.analyze(n[0])
end
extractor.issues_for(project)
#extractor = Gitlab::ReferenceExtractor.new
#extractor.analyze(md[0])
#extractor.issues_for(project)
else
[]
end
end
Ma l'espressione regolare utilizzata in questo frammento di codice non si adatta alle mie esigenze e non è davvero corretto (ad esempio: (fixs #123)
e (closees #123)
funzionerebbero entrambi).
Dopo aver provato questo codenippet e verificato che questo funziona con i pattern che corrispondono alla regex utilizzata nello snippet, ho provato a modificare l'espressione regolare. All'inizio, ho provato a farlo nella seconda riga:
md safe_message.scan(/#{Gitlab.config.gitlab.issue_closing_pattern}/)
Questo non ha funzionato. Non ho trovato alcun messaggio di errore nel log/unicorn.stderr.log
così ho provato ad usare l'espressione regolare di default dal file di configurazione direttamente senza variabile:
md safe_message.scan(/^([Cc]loses|[Ff]ixes) +#\d+a/)
Ma questo non ha funzionato, anche. Di nuovo, nessun messaggio di errore in log/unicorn.stderr.log
.
Come utilizzare la variabile issue_closing_pattern
dal file di configurazione come modello di espressioni regolari in questo snippet di codice?
Perché il downvote ??? Ho un problema specifico con il codice (da gitlab) e secondo la faq questa è una domanda che appartiene qui. – wullxz
Non sono sicuro se questo è l'intero problema, ma hai una "a" in più nella tua espressione regolare. Il default è '/ ([Cc] perde | [Ff] ixes) + # \ d + /' ref: https://github.com/gitlabhq/gitlabhq/blob/master/config/gitlab.yml.example#L62 –
oops ... che deve essere successo quando ho ispezionato il file di configurazione con vim. Ci proverò senza l'a. Ma ancora: ho commentato la riga in 'config/gitlab.yml' che imposta la variabile. Quindi, l'uso della variabile dal file di configurazione con '[...] (/ # {Gitlab. [...]} /)' continua a non funzionare. Qual è il mio errore lì? – wullxz