Sto vedendo git svn fetch recuperare ripetutamente le stesse revisioni di Subversion quando trova i rami nel mio repository Subversion. Siamo usando il layout standard del repository Subversion, con le directory /trunk,/tags e/branches di livello superiore (e il repository git era creato con 'git svn init -s'). Tuttavia, i rami problematici sono spesso copie effettuate da una sottodirectory all'interno del trunk, invece del trunk .git svn fetch recupera la stessa revisione Subversion più volte per le diramazioni
Lo svn git fetch output è di solito qualcosa di simile:
r2537 = d5b22e956157af036d4112e42e8fb927e45758c8 (trunk) M Enterprise/VC/libgc/SymbolVenue.cpp r2538 = cfed4ca0491da0b732f32bfff72ba678450a0915 (trunk) Found possible branch point: http://repo/prod_repos/trunk/Enterprise/VC => http://repo/prod_repos/branches/file_conversion, 2523 W: Refspec glob conflict (ref: refs/remotes/[email protected]): expected path: branches/[email protected] real path: trunk/Enterprise/Python Continuing ahead with trunk/Enterprise/Python W: Refspec glob conflict (ref: refs/remotes/trunk): expected path: branches/trunk real path: trunk Continuing ahead with trunk Initializing parent: [email protected] A gc/QuoteService.cpp A gc/TestSuite.h A gc/quote_svc.pro A gc/QuoteService.h ..... r1 = d349ed8cb2d76596fe2b83224986275be4600fad ([email protected]) D gc/FixMessageLogger.h ..... r5 = r19 = r20 = .....
E siamo tornati a revisione 1. git svn fetch poi continua a prendere le revisioni fino a raggiungere la revisione che creato il ramo.
Cosa sto sbagliando? Devo comunque comunicare a git svn fetch a di non recuperare le revisioni che ha già tirato?
Buona domanda (+1). Succede anche a me, e sembra uno spreco del mio tempo. –
Blame SVN, che memorizza i rami essenzialmente come copie del repository ;-) Un po 'della storia e dei meccanismi interni è dato da David Wheeler all'indirizzo http://www.dwheeler.com/essays/scm.html – vonbrand