Mi piace avere numeri di build, solo perché è bello. Per favore non giudicarmi: D.
Tuttavia, sviluppo su due macchine (una per OS X e una per Windows per i controlli di portabilità). Ho su entrambe le macchine uno script che aumenta automaticamente il numero di build ogni volta che costruisco il progetto. Tuttavia, quando si eseguono modifiche su entrambe le macchine senza la sincronizzazione con git, questo ovviamente causa un conflitto di unione, poiché il file che contiene il numero di build è cambiato su entrambe le macchine.
C'è un modo pulito per unire automaticamente questi file? Sarei bello se potessi definire una regola come:
If file
buildnumber.txt
has a merge conflict, run scriptauto-merge-build-number.sh
and continue commit.
Dove auto-merge-build-number.sh
sarebbe un semplice script che analizza il file in conflitto e somma i due numeri (trovati nelle righe in conflitto) e riscrive il file con quella somma. Non so se questo è possibile in git o no.
C'è un altro modo in cui posso pensare a me stesso, ma è meno accurato, imho: Tieni traccia di un file contatore di build su ogni macchina che viene utilizzata solo per quella macchina. Se il progetto è stato creato su quella macchina, il file contatore di build per quella macchina viene aumentato. Successivamente, tutti i file contenenti i numeri di build vengono sommati insieme e il risultato viene scritto in un file che si trova in .gitignore
. In questo modo, non ci sarebbero conflitti di fusione sviluppandosi su più macchine. Unisci i conflitti solo sviluppando su più filiali. Non mi piace molto questo approccio perché hai bisogno di n + 1 file per tenere traccia del numero totale di build (quando hai n macchine) e lo script su ogni macchina deve essere leggermente diverso, per farlo aumentare il file giusto.
Qualche idea su come questo potrebbe essere fatto?