{"thread":{"id":"5899","subject":"Re: [RFC] separate .git from working directory","startedAt":"2006-10-12T12:15:02Z","lastAt":"2006-10-12T13:03:25Z","messageCount":2,"participants":["Sergio Callegari","Alex Riesen"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"28660","messageId":"200610121415.03086.scallegari@arces.unibo.it","threadId":"5899","inReplyTo":null,"subject":"Re: [RFC] separate .git from working directory","fromName":"Sergio Callegari","fromEmail":"scallegari@arces.unibo.it","sentAt":"2006-10-12T12:15:02Z","receivedAt":"2006-10-12T12:15:02Z","isPatch":false,"sender":{"key":"scallegari@arces.unibo.it","avatar":null},"body":"Possibly a bit different from the RFC, however,\n\nOther than making find happy, I see other potential advantages in supporting \nthe two options of having .git be either\n\n- a directory containing all the git stuff\n- a single file with a pointer to the real directory containing the objects, \nreferences, branches, etc.\n\n1) It might make the life easier on platforms where symlinks are not the \neasiest thing to do (are there any?)\n\n2) it might make it easier to work with syncronization tools (some of you \nmight know that I got burnt with them recently). One of the issues of \nsyncronizatoin tools is that they typically recognize renames as the \nnon-atomical sequence of creation+deletion. Hence imagine the following \nscenario. I have ProjectFoo with the .git dir in. I tell the syncronization \ntool to ignore things called .git (not to get burned again!). I decide to \nrename ProjectFoo into ProjectBar. When I sync, I get with a ProjectBar with \nno .git directory since .git was meant to be ignored and is consequently lost \nin the creation+deletion sequence. All objects are then lost at one of the \ntwo hosts participating in the syncronization. If .git was only a file with a \npointer, it would at least be possible to recreate it by hand without \ndepending on the other syncronization host.\n\n3) it might make it possible to have all the git archives in a single place, \nwhere it is easy to program a script to scan all the archives and repack all \nof them periodically or to scan all of them and backup them periodically, \netc.\n\nSergio\n"},{"id":"28662","messageId":"81b0412b0610120603v5a1f661cp36e6d3679cef238b@mail.gmail.com","threadId":"5899","inReplyTo":"200610121415.03086.scallegari@arces.unibo.it","subject":"Re: [RFC] separate .git from working directory","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2006-10-12T13:03:25Z","receivedAt":"2006-10-12T13:03:25Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"On 10/12/06, Sergio Callegari <scallegari@arces.unibo.it> wrote:\n> 1) It might make the life easier on platforms where symlinks are not the\n> easiest thing to do (are there any?)\n\nyes. The most widespread one, for a start.\n"}]}