git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Cloning empty repositories, was Re: What is the idea for bare repositories?

From
Andreas Ericsson <ae@op5.se>
Date
Nov 15, 2007, 08:51 UTC
Message-ID
<473C0875.3020805@op5.se>
In-Reply-To
<85mytg1f6n.fsf@lola.goethe.zz>
David Kastrup wrote:
Show 12 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
> 
>> But cloning void to start the same project by multiple people
>> and pushing their initial commits as roots to start a project
>> indicates the lack of developer communication (besides, it just
>> feels like a bad style, a hangover from centralized SCM
>> mentality, but that is fine).
> 
> I do not like the approach of policy by force.  It assumes that the
> developers know better than the users what the users are going to do
> with git.
> 
Junio just said "but that is fine", so afaiu he's not against allowing
it per se. It's just that him and the other frequent contributors don't
have this particular problem, so if *they* fix it it will
a) Not be done with enthusiasm, and it would indeed drain enthusiasm and
   happiness from the project.
b) Perhaps not be done the way those who want this feature would like it.
c) Take another scarce resource (time) from other, more pressing issues
   which may or may not affect your workflow too.

Junio also suggested what's likely to be needed for this to work "properly", ie, an extension to the git protocol to let it transfer symref content.

Since empty repositories have HEAD pointing to refs/heads/master by default, you might get away with a simpler implementation.

Show 25 quoted lines
> For example, I use git for tracking and versioning installations and
> updaters of complex programs.  They are basically built into a directory
> tree, and this tree is checked into a bare repository in a branch
> corresponding to a particular customer.  The trees are _target_ trees
> created completely by something akin to make install.  So every checkin
> is from scratch.  The checkins for a particular customer happen in one
> branch so that it is easy to generate a diff and from that an updater
> (the diff gets converted into a batch file removing old files and a zip
> file unpacking new files over the old ones).
> 
> There simply is no common reference/starting point for the disparate
> branches.  I have some "README" in master, but that is an utterly stupid
> and unnatural starting point.
> 
> One might argue that one should use one repository per customer and just
> share the objects (many of which are similar).  But that disallows
> making diffs between the trees of different customers.  Since the
> purpose of git here is just to track history and not do any sort of
> merging or rebasing, there are no interesting ancestry connections
> between branches.
> 
> Am I stupid for using git for this sort of thing?  I believe not.  And
> yet git developers choose to call me stupid because my work flow does
> not lend any sense to a common ancestor commit.
> 

Not stupid, but most likely unusual. Optimizing git for your needs would imho be a bad idea. It's perfectly fine to use a tool for something else than what it was intended for, but then you'll have to live with the fact that it *will* have a few shortcomings and that you'll have to work around them or fix them yourself.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231
Previous: David KastrupNext: Johannes Schindelin
Message 48 of 68 in “What is the idea for bare repositories?”
  1. David KastrupNov 12, 2007
  2. Bruno Cesar RibasNov 12, 2007
  3. Johannes SchindelinNov 12, 2007
  4. Jan WielemakerNov 12, 2007
  5. Cloning empty repositories, was Re: What is the idea for bare repositories?Johannes Schindelin, Nov 12, 2007
  6. Matthieu MoyNov 12, 2007
  7. Johannes SchindelinNov 12, 2007
  8. Bill LearNov 12, 2007
  9. Johannes SchindelinNov 12, 2007
  10. Matthieu MoyNov 12, 2007
  11. Johannes SchindelinNov 12, 2007
  12. Matthieu MoyNov 12, 2007
  13. Johannes SchindelinNov 12, 2007
  14. Matthieu MoyNov 12, 2007
  15. Junio C HamanoNov 12, 2007
  16. Nicolas PitreNov 12, 2007
  17. Johannes SchindelinNov 12, 2007
  18. David KastrupNov 13, 2007
  19. Andreas EricssonNov 13, 2007
  20. Matthieu MoyNov 13, 2007
  21. Shawn O. PearceNov 13, 2007
  22. Matthieu MoyNov 13, 2007
  23. Jeff KingNov 13, 2007
  24. Brian GernhardtNov 13, 2007
  25. Matthieu MoyNov 13, 2007
  26. Johannes SchindelinNov 13, 2007
  27. Matthieu MoyNov 14, 2007
  28. Nicolas PitreNov 13, 2007
  29. Jakub NarebskiNov 13, 2007
  30. Johannes SchindelinNov 13, 2007
  31. Junio C HamanoNov 13, 2007
  32. Matthieu MoyNov 13, 2007
  33. Junio C HamanoNov 14, 2007
  34. Matthieu MoyNov 14, 2007
  35. Sergei OrganovNov 14, 2007
  36. Jakub NarebskiNov 14, 2007
  37. Matthieu MoyNov 14, 2007
  38. Sergei OrganovNov 14, 2007
  39. Junio C HamanoNov 14, 2007
  40. Bill LearNov 14, 2007
  41. Bill LearNov 14, 2007
  42. Wincent ColaiutaNov 14, 2007
  43. Johannes SchindelinNov 14, 2007
  44. Bill LearNov 14, 2007
  45. Johannes SchindelinNov 15, 2007
  46. Andreas EricssonNov 15, 2007
  47. David KastrupNov 15, 2007
  48. Andreas EricssonNov 15, 2007
  49. Johannes SchindelinNov 15, 2007
  50. Jeff KingNov 15, 2007
  51. Jeff KingNov 18, 2007
  52. Junio C HamanoNov 18, 2007
  53. Jeff KingNov 18, 2007
  54. Jan WielemakerNov 12, 2007
  55. Bill LearNov 12, 2007
  56. David KastrupNov 12, 2007
  57. Nicolas PitreNov 12, 2007
  58. Johannes SchindelinNov 12, 2007
  59. Nicolas PitreNov 12, 2007
  60. Andreas EricssonNov 12, 2007
  61. Junio C HamanoNov 12, 2007
  62. Jakub NarebskiNov 12, 2007
  63. Jakub NarebskiNov 12, 2007
  64. David TweedNov 12, 2007
  65. David KastrupNov 12, 2007
  66. Jakub NarebskiNov 12, 2007
  67. David KastrupNov 12, 2007
  68. David KastrupNov 15, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.