{"thread":{"id":"12980","subject":"using git for file management while writing a thesis...","startedAt":"2008-04-03T20:58:21Z","lastAt":"2008-04-05T07:17:24Z","messageCount":2,"participants":["Jordan Miller","David Tweed"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"73630","messageId":"56810483-5257-49CD-AA0E-303DB6C4CEFB@rice.edu","threadId":"12980","inReplyTo":null,"subject":"using git for file management while writing a thesis...","fromName":"Jordan Miller","fromEmail":"jmil@rice.edu","sentAt":"2008-04-03T20:58:21Z","receivedAt":"2008-04-03T20:58:21Z","isPatch":false,"sender":{"key":"jmil@rice.edu","avatar":null},"body":"Hello,\n\nThank you to the developers for Git!\n\nI am using git 1.5.3.1 on OS X 10.5.2 for file versioning for LaTeX  \nfiles while writing my thesis. I have looked at other possible ways to  \nmanage text files while writing a thesis, but I think git is the best  \none available.\n\nI am a bit confused on how best to create backups of my commits on  \nexternal hard drives and USB keys.\n\nAfter I had created my git repository on my local hard drive, I  \nconnected an external hard drive and a USB key and peformed a \"git  \nclone\" from local to external. Everything was very quick.\n\nNow, every day I stage files and perform a commit on my local drive to  \nmy local repository. Then, I connect my external hard drives and  \nperform a \"git pull\" from each of their repositories on the repository  \non my local drive to update these external hard drive repositories and  \nalso checkout the latest files to these external repositories.\n\nThe problem I am having is as follows:\nEverything works beautifully and incredibly speedily on my external  \n3.5\" hard drive connected via Firewire.\nOn my USB keys, a huge number of changes are seen and git takes a very  \nlong time assessing (\"deltifying\") what are the changes needed (more  \nthan 10 times the number of files are deltified!). Shouldn't git just  \nrealize that it only needs to make the changes that were made in the  \nlast commit, or am I using the \"pull\" command incorrectly?\n\nWhy would it take so long for a \"pull\" command to happen on the USB2  \nkey while it is extremely fast on an external drive? I have also tried  \nwiping the USB key and issuing a new \"git clone\" command, and that  \nhappens extremely fast. But, shouldn't it be even faster to pull only  \nthe latest commit onto the USB key?\n\nFinally, I have also tried changing the disk formatting of the USB key  \nto try to diagnose the problem. However, the problem is the same  \nwhether the format of the USB key is HFS+ Journaled or MS-DOS FAT32.\n\nSo, my question is what am I doing wrong with \"git pull\" and is there  \na better way to use git for the task at hand? Unfortunately, I have  \nnot yet been able to find a solution anywhere on the  \ninterwebnetblagosphere.\n\n\nthanks in advance,\nJordan\n"},{"id":"73689","messageId":"e1dab3980804050017s16d144fbp7f0a6c6d4206f50d@mail.gmail.com","threadId":"12980","inReplyTo":"56810483-5257-49CD-AA0E-303DB6C4CEFB@rice.edu","subject":"Re: using git for file management while writing a thesis...","fromName":"David Tweed","fromEmail":"david.tweed@gmail.com","sentAt":"2008-04-05T07:17:24Z","receivedAt":"2008-04-05T07:17:24Z","isPatch":false,"sender":{"key":"david.tweed@gmail.com","avatar":null},"body":"On Thu, Apr 3, 2008 at 9:58 PM, Jordan Miller <jmil@rice.edu> wrote:\n>  I am using git 1.5.3.1 on OS X 10.5.2 for file versioning for LaTeX files\n[snip]\n>  Everything works beautifully and incredibly speedily on my external 3.5\"\n> hard drive connected via Firewire.\n>  On my USB keys, a huge number of changes are seen and git takes a very long\n> time assessing (\"deltifying\") what are the changes needed (more than 10\n> times the number of files are deltified!). Shouldn't git just realize that\n> it only needs to make the changes that were made in the last commit, or am\n>  Finally, I have also tried changing the disk formatting of the USB key to\n> try to diagnose the problem. However, the problem is the same whether the\n> format of the USB key is HFS+ Journaled or MS-DOS FAT32.\n>\n>  So, my question is what am I doing wrong with \"git pull\" and is there a\n> better way to use git for the task at hand? Unfortunately, I have not yet\n> been able to find a solution anywhere on the interwebnetblagosphere.\n\nNot really directly relevant, but since no-one has replied: I daily\ncopy several revisions onto (git push) and back from (git pull) to USB\nkey (MS-DOS) on x86-Linux and it never takes more than a couple of\nseconds. (Repo is around 17MB packed, maybe 10-400 objects updated per\npush.) I know nothing about OS X, but the discrepancy between firewire\nand usb suggests some performance issue in usb handling. I don't know\noff the top of my head if packs on the receiveing end of a push are\nmmap()'d (to find branch heads?), but OS X is said to have poor mmap\nperformance: maybe it interacts with usb driver to be even worse?\n\nAnyway, only suggestion I've got is if you've got easy access to a\nLinux machine with git available, try pushing from that and see if the\nspeed differs.\n\nThere have been reports of people using git when writing books, and I\nuse git to track papers I'm writing (amongst other things), so your\nusage pattern is entirely normal.\n\nHTH,\n-- \ncheers, dave tweed__________________________\ndavid.tweed@gmail.com\nRm 124, School of Systems Engineering, University of Reading.\n\"while having code so boring anyone can maintain it, use Python.\" --\nattempted insult seen on slashdot\n"}]}