Domanda

Stiamo avendo una discussione animata su questo al mio posto di lavoro. Stiamo parlando di immagini caricate dall'utente per un gruppo di prodotti, non le immagini necessarie per visualizzare il sito di base. Io dico "no way" ma io sono curioso di ciò che pensano gli altri.

Aggiornamento: Giusto per chiarire. Questi sono cliente immagini fornite per i prodotti che stanno entrando / modifica.

È stato utile?

Soluzione

Sono d'accordo con 'nessun modo'.

Tutto ciò che possono cambiare sul sito attraverso l'uso giorno per giorno, o è modificabile da chiunque amministra il sito che io ritengo essere 'contenuto'. Questo include i file caricati e il contenuto del database, entrambi i quali viene eseguito il backup separatamente. Niente sul sito web che è nei cambiamenti di controllo versione una volta che è stato distribuito. Più facile in questo modo.

Altri suggerimenti

Altri modi di chiedere se qualcosa deve essere in controllo di versione:

  • le immagini cambiano?
  • I cambiamenti relativi a qualsiasi altra cosa?
  • Gli errori possono essere fatti?
  • è la tracciabilità voleva / bisogno?

Se il resto del sito è la versione controllata, la versione controllare le immagini.

Se le immagini vengono generate, versione del controllo del generatore.

Presumibilmente, ciò si sta parlando è il contenuto che sarebbero classificati come i dati degli utenti, in contrapposizione ai file di progetto. Quella roba, per quanto importante, non ha bisogno delle versioni -. Che ha bisogno di un meccanismo di backup vecchio pianura

Recentemente ho aggiunto un nuovo progetto in un repository SVN fresco, e ogni volta che guardo la cartella 'arrivi' mi rendo conto di quanto ero stupido per includere che nel primo commit.

Sembra che ciò che si sta parlando è il contenuto che è in (o forse sarà) in un database. Se un cliente si sta fornendo un elenco di prodotti, così come le immagini di quei prodotti, allora che dovrebbe venire tutti da un database. In questo caso, vorrei non perché il database dovrebbe essere sostenuta, ma non nel VCS.

Se non lo è, e il vostro sito web è statico, quindi vorrei solo perché è "parte del sito".

Se ritenete dovete revisione di esso, mettere queste risorse fuori dal percorso del repository principale in qualche modo, e poi dargli un repository dedicato solo per questo contenuto.

Se non si desidera tutti coloro che hanno di controllare il codice ottenere una copia di ogni immagine quando checkout o l'aggiornamento, la sua lenta, e inutile, e averli in vostro albero primario sarà solo avere più mal di testa quanto si possa immaginare.

/common_ancestor
   /project_code/      # repository a
   /resources_dir/     # repository b

Se è necessario utilizzare i collegamenti simbolici o magia web-server per rendere questo accada, allora farlo, ma qualunque cosa tu faccia, non metti contenuti come quella nel repository principale.

Per quanto riguarda i backup vs revisioning andare, revisioning come questo ti dà un leggero facilità se si sta utilizzando SVN come il metodo di distribuzione e, in questo modo se uno sviluppatore esigenze una copia delle immagini per scopi di test, la sua relativamente facile da ottenere un insieme relativamente up-to-date di loro.

Se non si ha intenzione di esporre il controllo delle versioni per i clienti, allora quale sarebbe il punto?

I clienti sono già liberi di utilizzare il controllo di versione in proprio fine, prima della presentazione dei file. Si consiglia di incoraggiarli a farlo.

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