Vra

So jy weet baie van Mac programme gebruik "bondels":. Dit lyk soos 'n enkele lêer om jou aansoek, maar dit is eintlik 'n gids met baie lêers binne

Vir 'n weergawe beheer stelsel om dit te hanteer, is dit nodig om:

  • check al die lêers in 'n gids, sodat die jeug kan verander hulle as nodig
  • by checkin,
    • pleeg lêers wat het al veranderde
    • voeg nuwe lêers wat die aansoek geskep
    • merk as verwyderde lêers wat daar nie meer is (sedert die jeug hulle verwyder)
    • bestuur dit as een atoom verandering

Enige idees oor die beste manier om dit te hanteer met bestaande weergawe beheer stelsels? Enige van die weergawes stelsels meer bedrewe in hierdie gebied?

Was dit nuttig?

Oplossing

Vir versprei SCM stelsels soos git en kwik moet nie 'n probleem wees as Matthew genoem.

As jy nodig het om 'n gesentraliseerde SCM soos Subversion of CVS gebruik, dan kan jy rits up (argief) jou bondels voor die nagaan van hulle in die bron beheer. Dit kan pynlik wees en neem 'n ekstra stap. Daar is 'n goeie blog post oor hierdie by Tapestry Sentraal:

Mac OS X bundels teen Subversion

Hierdie artikel toon 'n robyn script wat die Argief bestuur vir jou.

Ander wenke

Mercurial in die besonder weergawes gebaseer op lêer, nie directory struktuur. Daarom is jou werk boom, wat is 'n volwaardige repository, nie spoeg uit Svn dopgehou op elke vlak.

Dit beteken ook dat 'n gids wat vervang, soos 'n aansoek of enige ander Bundel, sal nog dit se inhoud te vind met spesifieke name lêer onder hersiening beheer. Lêer name word gemonitor, nie inodes of enigiets fancy soos dit!

Dit is duidelik dat, as 'n nuwe lêer word by die bundel, wat jy nodig het om hierdie uitdruklik toe te voeg tot jou bron. Net so, die verwydering van 'n lêer van 'n bondel moet gedoen word met 'n "HG rm.

Daar is geen ordentlike Mercurial GUI vir OS X nie, maar as alles wat jy doen is voeg / te pleeg / saamsmelt, dit is nie so moeilik om 'n command line gebruik.

'n update van die toekoms:

As ek reg onthou, die probleem met die bestuur van bundels in SVN was al die Svn dopgehou om skoongemaak elke keer as jy 'n bondel gemaak. Dit moet nie 'n probleem te wees nie meer nie, nou dat SVN winkels alles in 'n enkele Svn gids by die wortel.

Bring hierdie draad terug na daglig, sedert die Oktober 2013 iWork (Pages 5.0 ens) nie meer kan stoor in 'n plat lêer (zipped), maar net as bundels.

Die probleem is nie die skepping van weergawe beheer verborge dopgehou binne sulke strukture (wel, vir svn dit is), maar as Mark sê in die vraag: om outomatiese, atoom update van lêers bygevoeg of verwyder word (deur die aansoek, in hierdie geval iWork) so ek sal nie nodig het om dit met die hand te doen

.

Dit is duidelik dat iWork en Apple is net gepla deur iCloud bruikbaarheid. Maar ek het 'n ware geval vir die berging van .pages, .numbers en .keynote in 'n kwik repo. Na afloop van die update, dit waai alles uitmekaar. Wat om te doen?

Addendum:

Resultate 'hg addremove' dat die truuk doen vir my.

$ hg help addremove
hg addremove [OPTION]... [FILE]...

add all new files, delete all missing files
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top