{"thread":{"id":"29209","subject":"Introducing vcsh - manage config files in $HOME via fake bare git repositories","startedAt":"2011-12-20T00:17:26Z","lastAt":"2011-12-20T11:05:22Z","messageCount":3,"participants":["Richard Hartmann","Sitaram Chamarty"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"181501","messageId":"CAD77+gTO35ZFdcOjTEEcymgDKMq4Uh3JZcqgXWR07kGksfkBqg@mail.gmail.com","threadId":"29209","inReplyTo":null,"subject":"Introducing vcsh - manage config files in $HOME via fake bare git repositories","fromName":"Richard Hartmann","fromEmail":"richih.mailinglist@gmail.com","sentAt":"2011-12-20T00:17:26Z","receivedAt":"2011-12-20T00:17:26Z","isPatch":false,"sender":{"key":"richih.mailinglist@gmail.com","avatar":"https://avatars.githubusercontent.com/u/754723?v=4"},"body":"Hi all,\n\n\nsome of you may be familiar with fake bare git repositories[1].\n\nBasically, they allow you to keep the git directory and its working\ndirectory separate from each other. This allows you to have an\narbitrary number of repositories with working trees in $HOME. That, in\nturn, allows you to have one repo for zsh, one for vim, one for git,\netc pp.\n\nvcsh[2] is a front-end for dealing with fake bare git repos, i.e. it\nsaves you a lot of typing and automates many things. It's written in\npure POSIX shell.\n\n\nvcsh's userbase is slowly expanding and as it's feature set and syntax\nare stable and there are no known bugs I think this is a good time to\ntry to increase adoption rate. I strongly believe that a lot of people\non this list could benefit from using it; hopefully you agree.\nPublishing it here makes sense as if you are reading this, you are\nobviously familiar with and using git already, anyway.\n\nFeedback is very welcome. Good, bad or indifference, I will take it all.\n\nTwo notes:\n\n* There is no test suite, yet. If anyone has a suggestion as to which\ntest suite has a reasonable feature set while having a syntax that\ndoes not make you violently sick, or is even interested in helping to\nwrite said test suite, do let me know.\n* I am pondering renaming/aliasing vcsh to git-fbare.sh or similar.\nThat has a few issues, though..\n** extra typing involved\n** adds another command level of to otherwise standard git commands,\nfor example `git fbare zsh commit -a -m 'new feature'`\n** forces everyone to have a default location for vcsh repos\n\n\nRegards,\nRichard\n\n[1] http://lists.madduck.net/pipermail/vcs-home/2011-April/000378.html\n[2] https://github.com/RichiH/vcsh\n"},{"id":"181512","messageId":"CAMK1S_hc4H7rUSY=SSR0EZwgBLy9CGa7b5H44eP6=fw+YC-inw@mail.gmail.com","threadId":"29209","inReplyTo":"CAD77+gTO35ZFdcOjTEEcymgDKMq4Uh3JZcqgXWR07kGksfkBqg@mail.gmail.com","subject":"Re: Introducing vcsh - manage config files in $HOME via fake bare git repositories","fromName":"Sitaram Chamarty","fromEmail":"sitaramc@gmail.com","sentAt":"2011-12-20T02:25:04Z","receivedAt":"2011-12-20T02:25:04Z","isPatch":false,"sender":{"key":"sitaramc@gmail.com","avatar":"https://avatars.githubusercontent.com/u/43316?v=4"},"body":"On Tue, Dec 20, 2011 at 5:47 AM, Richard Hartmann\n<richih.mailinglist@gmail.com> wrote:\n> Hi all,\n>\n>\n> some of you may be familiar with fake bare git repositories[1].\n>\n> Basically, they allow you to keep the git directory and its working\n> directory separate from each other. This allows you to have an\n> arbitrary number of repositories with working trees in $HOME. That, in\n> turn, allows you to have one repo for zsh, one for vim, one for git,\n> etc pp.\n\nMy method is to put everything in one repo (I call it \"hobbits\" --\nlittle things that save the world, heh).\n\nMy reasoning is that nothing is an island.  I am a heavy user of vim,\nfugitive (git plugin for vim), tig, and ranger, and at least these 4\nare linked to each other.  You could argue that I should use\nsubmodules or gitslave or something but I keep it simple.  Even my\n\"irssi\" settings are tied into that, because of certain macros I use\nto reply quickly to queries.\n\nThere's a piece of my \".additional.bashrc\" that automatically symlinks\neverything that are best left in $HOME (like ~/.gitconfig) and sets up\nenvironment variables for everything else (like TIGRC_USER) that can\nget along without.\n\nThere are 2 helper scripts.  One packs all of this into a tarball so I\ncan easily untar it on any machine on which I have to work\ntemporarily, and the other cleans up the unpacked directory and\nsymlinks when I leave.\n\nJust offering a different perspective.\n\nregards\n\nsitaram\n\n>\n> vcsh[2] is a front-end for dealing with fake bare git repos, i.e. it\n> saves you a lot of typing and automates many things. It's written in\n> pure POSIX shell.\n>\n>\n> vcsh's userbase is slowly expanding and as it's feature set and syntax\n> are stable and there are no known bugs I think this is a good time to\n> try to increase adoption rate. I strongly believe that a lot of people\n> on this list could benefit from using it; hopefully you agree.\n> Publishing it here makes sense as if you are reading this, you are\n> obviously familiar with and using git already, anyway.\n>\n> Feedback is very welcome. Good, bad or indifference, I will take it all.\n>\n> Two notes:\n>\n> * There is no test suite, yet. If anyone has a suggestion as to which\n> test suite has a reasonable feature set while having a syntax that\n> does not make you violently sick, or is even interested in helping to\n> write said test suite, do let me know.\n> * I am pondering renaming/aliasing vcsh to git-fbare.sh or similar.\n> That has a few issues, though..\n> ** extra typing involved\n> ** adds another command level of to otherwise standard git commands,\n> for example `git fbare zsh commit -a -m 'new feature'`\n> ** forces everyone to have a default location for vcsh repos\n>\n>\n> Regards,\n> Richard\n>\n> [1] http://lists.madduck.net/pipermail/vcs-home/2011-April/000378.html\n> [2] https://github.com/RichiH/vcsh\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n\n\n\n-- \nSitaram\n"},{"id":"181521","messageId":"CAD77+gSGeE=nKy=LFAHMv3r0=Lpab8T+0vou_OWXN=ir8C55Vg@mail.gmail.com","threadId":"29209","inReplyTo":"CAMK1S_hc4H7rUSY=SSR0EZwgBLy9CGa7b5H44eP6=fw+YC-inw@mail.gmail.com","subject":"Re: Introducing vcsh - manage config files in $HOME via fake bare git repositories","fromName":"Richard Hartmann","fromEmail":"richih.mailinglist@gmail.com","sentAt":"2011-12-20T11:05:22Z","receivedAt":"2011-12-20T11:05:22Z","isPatch":false,"sender":{"key":"richih.mailinglist@gmail.com","avatar":"https://avatars.githubusercontent.com/u/754723?v=4"},"body":"On Tue, Dec 20, 2011 at 03:25, Sitaram Chamarty <sitaramc@gmail.com> wrote:\n\n> My reasoning is that nothing is an island.  I am a heavy user of vim,\n> fugitive (git plugin for vim), tig, and ranger, and at least these 4\n> are linked to each other.  You could argue that I should use\n> submodules or gitslave or something but I keep it simple.\n\nOr mr[1]. That's _exactly_ what mr is for.\n\n\n>  Even my\n> \"irssi\" settings are tied into that, because of certain macros I use\n> to reply quickly to queries.\n\nI doubt you want to keep your IRC passwords on a work machine, for\nexample. If you need repos to be together, check them out together.\nBut I doubt you want _everything_ _everywhere_.\n\n\n> There's a piece of my \".additional.bashrc\" that automatically symlinks\n> everything that are best left in $HOME (like ~/.gitconfig) and sets up\n> environment variables for everything else (like TIGRC_USER) that can\n> get along without.\n\nSymlinks are unclean, imo.\n\nPersonally, I like to use .zshrc.$HOSTNAME for local stuff. This sorts\nmore nicely than .$HOSTNAME.zshrc .\n\n\n> There are 2 helper scripts.  One packs all of this into a tarball so I\n> can easily untar it on any machine on which I have to work\n> temporarily, and the other cleans up the unpacked directory and\n> symlinks when I leave.\n\nCloning from public repos seems to make more sense, especially if you\nmake local changes.\n\n\n> Just offering a different perspective.\n\nAppreciated. It's always great to know how others are approaching this.\n\n\nRichard\n"}]}