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

Re: [PATCH] Add .git/version

From
Junio C Hamano <junkio@cox.net>
Date
Nov 17, 2005, 19:25 UTC
Message-ID
<7v7jb7uler.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<200511171644.48438.Josef.Weidendorfer@gmx.de>
Josef Weidendorfer <Josef.Weidendorfer@gmx.de> writes:
Show 7 quoted lines
> [*] Junio: This should be done before Git 1.0 - it is needed to be able
> to change the repository format in the future without taking the risk
> that old git commands possibly corrupt a repo in the new format. This
> has nothing to do with backwards compatibility. Without a version, we
> are forced to be forwards compatible ;-)
> Needed in init-db.c is a "echo 1 >.git/version"; and the mentioned check
> in the tools against this version.
I agree with the general direction.
 - Futureproofing is good.
 - We want repository-format-version but that may be too
   long. Just saying version is a bit confusing.  Abbreviating
   it to repository-version makes it sound as if somebody took a
   snapshot (i.e. tar-tree $commit).  Whatever name we choose,
   let's pick a one not so confusing.
 - Not having .git/version (or whatever name) signals the tools
   our repository is in the original format.  This will keep the
   existing repositories happy.  What this means is that the
   tools need to check for the absense of .git/version in this
   round.  When we change the repository format, we will have
   .git/version file that records it.
 - You can run git-init-db on an existing repository.  This is
   sometimes handy if you added a new hook in the template suite
   and want to copy it over (it never overwrites but happily
   copies what you do not have).  This mechanism needs to be
   told about the version file -- specifically, it should check
   version in the template area and refuse to do use that
   template if it does not match the repository.  Similarly,
   when creating a repository from scratch, it should not copy
   the version file from templates.
Previous: Martin AtukundaNext: Linus Torvalds
Message 13 of 16 in “Add .git/version”
  1. Add .git/versionMartin Atukunda, Nov 17, 2005
  2. 1/2 Build GIT_VERSION from VERSION, PATCHLEVEL, and SUBLEVEL variables.Martin Atukunda, Nov 17, 2005
  3. 2/2 Make init-db record the version in $GIT_DIR/version when creating repo.Martin Atukunda, Nov 17, 2005
  4. Johannes SchindelinNov 17, 2005
  5. Martin AtukundaNov 17, 2005
  6. Johannes SchindelinNov 17, 2005
  7. Josef WeidendorferNov 17, 2005
  8. Josef WeidendorferNov 17, 2005
  9. Andreas EricssonNov 17, 2005
  10. Josef WeidendorferNov 17, 2005
  11. Martin AtukundaNov 17, 2005
  12. Add .git/version (Take 2)Martin Atukunda, Nov 17, 2005
  13. Junio C HamanoNov 17, 2005
  14. Linus TorvaldsNov 17, 2005
  15. Johannes SchindelinNov 17, 2005
  16. Junio C HamanoNov 18, 2005

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.