Domanda

Così mi è stato incaricato di sostituire un certo codice fittizio che il nostro progetto richiede per motivi di compatibilità storiche, ma è misteriosamente abbandonato qualche tempo dopo l'ultima release. Dal momento che il codice di scomparire mi rende nervoso per quello che altro potrebbe sono scomparsi, ma non-notato che ho scavato attraverso i registri cercando di trovare in quello che commettono questo pugno di righe è stato rimosso. Ho provato un certo numero di cose tra cui "Git accedo -S'add-visita-resource-PCF '", la colpa git, e anche bisect git con uno script che semplicemente verifica l'esistenza della linea, ma sono stati in grado di individuare esattamente dove sono stati rimossi queste linee. Trovo che questo sia molto perplessi, in particolare dopo l'ultima voce di registro (ottenuto dal comando sopra) prima del mio reintroduzione di questo codice è stato qualcun altro aggiungendo il codice pure.

commit 0b0556fa87ff80d0ffcc2b451cca1581289bbc3c
Author: Andrew 
Date:   Thu May 13 10:55:32 2010 -0400

    Re-introduced add-visit-resource-pcf, see PR-65034.

diff --git a/spike/hst/scheduler/defpackage.lisp b/spike/hst/scheduler/defpackage.lisp
index f8e692d..a6f8d38 100644
--- a/spike/hst/scheduler/defpackage.lisp
+++ b/spike/hst/scheduler/defpackage.lisp
@@ -115,6 +115,7 @@
     #:add-to-current-resource-pcf
     #:add-user-package-nickname
     #:add-value-criteria
+    #:add-visit-resource-pcf
     #:add-window-to-gs-params
     #:adjust-derived-resources
     #:adjust-links-candidate-criteria-types

commit 9fb10e25572c537076284a248be1fbf757c1a6e1
Author: Bob 
Date:   Sun Jan 17 18:35:16 2010 -0500

    update-defpackage for Spike 33.1 Delivery

diff --git a/spike/hst/scheduler/defpackage.lisp b/spike/hst/scheduler/defpackage.lisp
index 983666d..47f1a9a 100644
--- a/spike/hst/scheduler/defpackage.lisp
+++ b/spike/hst/scheduler/defpackage.lisp
@@ -118,6 +118,7 @@
     #:add-user-package-nickname
     #:add-value-criteria
     #:add-vars-from-proposal
+    #:add-visit-resource-pcf
     #:add-window-to-gs-params
     #:adjust-derived-resources
     #:adjust-links-candidate-criteria-types

Questo è per uno dei nostri file di definizione del pacchetto, ma il file fonte pertinente riflette qualcosa di simile. Qualcuno sa che cosa potrebbe essere succedendo qui e come sono riuscito a trovare le informazioni che voglio? Non è poi così importante, ma questo genere di cose mi rende un po 'nervoso.

È stato utile?

Soluzione

I sospetta che si può avere un merge male - un merge commit che lo rende un effettivo cambiamento. Forse è stato un errore innocente come parte della risoluzione dei conflitti. Supponendo che questo è quello che è successo, vediamo come trovarlo ...

git log -Sstring non sembra a che fare con unioni male correttamente. (E purtroppo git log --cc -Sstring non convince a guardare in modo corretto;. Esso seleziona solo tutti commit di unione)

Con questo handicap, posso pensare a due opzioni:

  • manualmente commit prova di unione

  • Kludge il proprio log -S: cercare l'uscita del git log --merges -p -cc per la linea di destinazione. Dovrebbe apparire come -- #:add-visit-resource-pcf, anche se il modo più rapido è probabilmente solo a tubo per less e cercare add-visit-resource-pcf.

La morale della storia è, naturalmente, che c'è una ragione unioni male sono chiamati male.

Sono sorpreso che non sono stati in grado di trovare con un bisect, tra l'altro. Sono abbastanza sicuro bisect del grado di dare commit di unione come risultati.

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