{"thread":{"id":"3578","subject":"Looking for SCM that lets me publish part of a repository","startedAt":"2006-03-06T01:31:19Z","lastAt":"2006-03-06T20:58:40Z","messageCount":4,"participants":["Matt McCutchen","Shawn Pearce","Alan Chandler","Sam Vilain"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"17219","messageId":"1141608679.16980.12.camel@mattlaptop","threadId":"3578","inReplyTo":null,"subject":"Looking for SCM that lets me publish part of a repository","fromName":"Matt McCutchen","fromEmail":"hashproduct@verizon.net","sentAt":"2006-03-06T01:31:19Z","receivedAt":"2006-03-06T01:31:19Z","isPatch":false,"sender":{"key":"hashproduct@verizon.net","avatar":null},"body":"Dear GIT people,\n\nFor the last week or so, I have been looking for a SCM system to hold\nmany of my projects, some of which are available to the public and\nothers of which are not.  It would be nice if I could use a single large\nprivate repository on my computer with each project in a separate\nfolder.  Then I would like to pull some of the projects (but not all)\ninto a world-readable repository on my Web site.  I have looked at\nseveral SCMs and have not found a way to make any of them do this, but I\nlike GIT best on other grounds.  Is there a way I can coerce GIT to\nclone and pull one folder out of a repository but ignore the rest?\n-- \nMatt McCutchen\nhashproduct@verizon.net\nhttp://hashproduct.metaesthetics.net/\n"},{"id":"17223","messageId":"20060306014830.GE25790@spearce.org","threadId":"3578","inReplyTo":"1141608679.16980.12.camel@mattlaptop","subject":"Re: Looking for SCM that lets me publish part of a repository","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2006-03-06T01:48:30Z","receivedAt":"2006-03-06T01:48:30Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Matt McCutchen <hashproduct@verizon.net> wrote:\n> For the last week or so, I have been looking for a SCM system to hold\n> many of my projects, some of which are available to the public and\n> others of which are not.  It would be nice if I could use a single large\n> private repository on my computer with each project in a separate\n> folder.  Then I would like to pull some of the projects (but not all)\n> into a world-readable repository on my Web site.  I have looked at\n> several SCMs and have not found a way to make any of them do this, but I\n> like GIT best on other grounds.  Is there a way I can coerce GIT to\n> clone and pull one folder out of a repository but ignore the rest?\n\nNo.  And actually this is probably not the best way to use GIT.\n\nIf you want to segment your work into ``public'' and ``non-public''\nthen you should at least segment your work into two repositories:\n``public'' and ``non-public''.  But you really should segment your\nrepository to a project-by-project basis.  That is each project\nshould have its own repository.\n\nThat said if there are many files which will have identical content\nacross many projects you may be able to save disk space by placing\nall objects into a single object directory; but that's entirely\nindependent of project organization.\n\nUnlike CVS, Subversions, etc. GIT repositories are dirt-cheap to\ncreate.  Don't think twice about creating a different repository\nfor a new project.  I think I'm up on about 50 repositories at\nthis point; however each one is typically less than a megabyte in\ntotal size.\n\n-- \nShawn.\n"},{"id":"17242","messageId":"200603060654.12815.alan@chandlerfamily.org.uk","threadId":"3578","inReplyTo":"1141608679.16980.12.camel@mattlaptop","subject":"Re: Looking for SCM that lets me publish part of a repository","fromName":"Alan Chandler","fromEmail":"alan@chandlerfamily.org.uk","sentAt":"2006-03-06T06:54:12Z","receivedAt":"2006-03-06T06:54:12Z","isPatch":false,"sender":{"key":"alan@chandlerfamily.org.uk","avatar":"https://gravatar.com/avatar/1862247e5ea8eac114c842f9dc3a5db6253754e24ef7171757cf97eedce48b8c?d=mp&s=160"},"body":"On Monday 06 March 2006 01:31, Matt McCutchen wrote:\n> Dear GIT people,\n>\n> For the last week or so, I have been looking for a SCM system to hold\n> many of my projects, some of which are available to the public and\n> others of which are not.  It would be nice if I could use a single large\n> private repository on my computer with each project in a separate\n> folder. \n\nNot sure why you would want to do this against having lots of smaller \nrepositories - (I have lots of small repositories - its mostly java, and my \nshared library files have their own repository which is automatically \nexported to where my projects can access it when I commit to it via a post \ncommit hook - you can see the public version of them on my web site) but ...\n\nCreate each project on a separate branch of the common repository and ensure \nonly the files you want in each project remains on each branch (and any \nshared files can exist in all branches).\n\nIn your \"remotes\" files you list the branches that you want to push to your \npublic repository.\n-- \nAlan Chandler\nhttp://www.chandlerfamily.org.uk\nOpen Source. It's the difference between trust and antitrust.\n"},{"id":"17264","messageId":"440CA280.6000304@vilain.net","threadId":"3578","inReplyTo":"1141608679.16980.12.camel@mattlaptop","subject":"Re: Looking for SCM that lets me publish part of a repository","fromName":"Sam Vilain","fromEmail":"sam@vilain.net","sentAt":"2006-03-06T20:58:40Z","receivedAt":"2006-03-06T20:58:40Z","isPatch":false,"sender":{"key":"sam@vilain.net","avatar":"https://gravatar.com/avatar/8fc840ca854dbf6f7065b4335e3b934951c1dca3b11db688e95e471901f8f4a8?d=mp&s=160"},"body":"Matt McCutchen wrote:\n\n>Dear GIT people,\n>\n>For the last week or so, I have been looking for a SCM system to hold\n>many of my projects, some of which are available to the public and\n>others of which are not.  It would be nice if I could use a single large\n>private repository on my computer with each project in a separate\n>folder.  Then I would like to pull some of the projects (but not all)\n>into a world-readable repository on my Web site.  I have looked at\n>several SCMs and have not found a way to make any of them do this, but I\n>like GIT best on other grounds.  Is there a way I can coerce GIT to\n>clone and pull one folder out of a repository but ignore the rest?\n>  \n>\n\nSVK works like this, you get one (by default) repository in your ~ which\nyou then mirror published projects to, and it tracks local changes as a\nbranch which you can then commit back 'upstream' (or to your published\nrepository) with.\n\nJeff King also recently posted a script to extract out a part of a\nrepository into another one, which is a related concept.\n\nSam.\n"}]}