Scinder un SVN en branches alors que pas prévu pour

Bonjour,

Alors voila :

J’ai un projet SVN pour du dev de jeu (hélas pas du tout organisé en trunk/branches/tags car je ne connaissais pas cette au tout début de la création du projet), et je vais changer un élément principal du jeu, admettons le player. Je vais donc changer ce player (plusieurs fichiers, répartis dans tous le projet) dans quelques semaines et bien entendu plusieurs personnes ont besoin de travailler sur l’actuel player, et d’autres sur le prochain player.

Je me suis donc lancé sur plusieurs tests et recherche sur SVN et, à priori, une branche semble être tout indiquée dans ce cas de figure.

Plusieurs questions me viennent à l’esprit (surtout aux habitués en jonglage SVN) :

1 / Si j’ai bien compris je dois forcement repasser par une réoragnisation du SVN actuel :

svn://servername/projectname/TousLesFichiersDuProjets

en

svn://servername/projectname/trunk/TousLesFichiersDuProjets
svn://servername/projectname/branches/
svn://servername/projectname/branches/player2018/
svn://servername/projectname/tags/

Vous me confirmez ?

2/ Si c’est bien le cas, comment proprement déplacer mon
svn://servername/projectname/TousLesFichiersDuProjets
en
svn://servername/projectname/trunk/TousLesFichiersDuProjets

Sans perdre tous le versionning actuel du projet ? :frowning:

Merci pour votre temps, après ces 2 questions, j’en ai bien entendu … plein d’autres ^^’

Pourquoi n’en profiterais-tu pas pour migrer ton SVN vers un repository GIT?

Quitte a changer, autant passer sur quelque chose de moderne, prevu pour ca :slight_smile:

3 « J'aime »

Hélas c’est impossible, fichiers TROP lourds, pas que du dev, etc. bref je ne peux hélas pas rentrer dans ces détails sur un forum public :wink:

Donc je résume ou j’en suis (merci encore au gars du discord, et désolé d’être à la fois sur le forum et le discord mais le forum me permet de poser aussi d’ou j’en suis dans ma tete ^^’) :

1/ Un move semble être possible sur un /trunk/ sans perdre le versioning :
je n’ai pas trouvé de « Toirtoise SVN > supports « Right Click » Move » mais par contre dans "Toirtoise SVN > Repo Browser > et en glissant un fichier d’un trunk vers une branche on a bien un move de versionné

2/ ( la branche justement ) c’est encore flou, je me demande ce qu’elle comporte :

  • les fichiers concernant le nouveau player (une vingtaine) + le trunk (une centaine)
    ou
  • les fichiers concernant le nouveau player (seulement une vingtaine donc)

(je sais pas si je suis clair)

Après j’ai deux nouvelles questions :

3/ Au niveau de la branche « Player2018 » justement, c’est encore flou, je me demande ce qu’elle comporte :

  • les fichiers concernant le nouveau player (une vingtaine) + le trunk (une centaine)
    ou
  • les fichiers concernant le nouveau player (seulement une vingtaine donc)

4/ Admettons que l’équipe A travaille sur le trunk, et que l’équipe B travaille sur le trunk + la branche, quelles sont les manips de l’équipe B pour updater / commiter convenablement leurs taffs

Je pensais à faire un switch … mais si j’ai qu’une vingtaine de fichiers dans ma branche … ça écrasera complètement la centaine de fichier … me manque un bout du puzzle à ce niveau :confused:

Comme je suis venu dire sur discord donc,

Il me semble (si mes souvenirs sont bons) que branches/trunk et cie c’est uniquement des nommage de convention. Aka, ca n’engage a rien, ca n’apporte aucune « features » en plus, si ce n’est avoir une nomenclature commune autodetectée par les logiciels differents.

Ensuite, t’as raison, migrer un SCM en plein cours de prod, c’est debile. Vous avez vos outils, ils sont vieux/nazes/plus adaptés mais c’est comme ca, finissez avec, ca vous fera plus d’experience sur quoi attendre d’un remplacant.

Du coup, encore une fois, si mes souvenirs sont bon, le principe de mettre le tronc commun dans trunk, c’est juste pour y voir plus clair, le gros principe de SVN, c’est que de toute facon, tout est versionné et tu dois merge/integrer a la main. Une fois que tu as pigé ca, tu peux en fait t’organiser comme tu veux. Dans tout les cas, il faudra qu’a un moment yai une fusion (merge/integrate) du nouveau player sur l’ancien. Et comme je disais aussi sur discord, si l’ancien player est modifié en paralelle, va falloir merge (repliquer) les modifs sur le nouveau player. Sinon, comme ca, le merge final sera tout simple (vois quasi nul) et l’integration finale ne consistera qu’en un ecrasement des fichiers/repertoires impliqués.

Pour le reste, je te recommande vivement de faire des tests de split/modifs en // de fichiers qui va ressembler a ce qui est prevu sur un SVN de tests ou sur des repertoires sans rapport/impacts sur la prod. Ca vous permettra de tester/valider le process et d’etre un peu moins a l’arrache (parce que la, vus les questions que vous vous posez, j’ai peur pour vous hein).

Maitriser son SCM c’est la base :stuck_out_tongue: