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

Re: Git rescue mission

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Feb 8, 2007, 23:46 UTC
Message-ID
<Pine.LNX.4.64.0702081538160.8424@woody.linux-foundation.org>
In-Reply-To
<17867.45437.922483.805945@lisa.zopyra.com>
On Thu, 8 Feb 2007, Bill Lear wrote:
Show 10 quoted lines
> 
> With regard to the new version and old repos, am I correct in assuming
> that we can upgrade our old repo (a bare one) to the new git by first
> installing the new git, and then doing this:
> 
> % cd /repos/git
> % mv project project.old_git
> % git --bare clone project.old_git project
> 
> or is there something else we must do?

I would actually suggest against that. Why? Because it will set a new "origin" (pointing to your old repo), and if you had something else before, that's probably not what you want.

Anyway, for the *shared* repositories, the git-1.5 changes really don't tend to make any difference anyway (since they don't even tend to really _care_ about things like origin branches - they are just used to push and pull from).

It's much more noticeable for the actual *development* repositories, because they are the ones that have "origin" pointing to something else.

And yes, for those development repositories, it's usually a good idea to just do

	mv project old-project
	git clone /repos/git/project
	cd project 
	.. work work work ..
and be happy.

You can also set up the new configurations by hand in an old repository, but there really doesn't tend to be a lot of reason to do that. Just as an example: the above was _literally_ what I did myself, just because I was too lazy to start editing .git/config files and setting things up in other ways (renaming origin branches etc).

In fact, I just did it the other day for my "sparse" repository (which is another project I started, but that is maintained by others these days). So here's a snippet from my bash history:

  ...
  837  mv sparse old-sparse
  838  cat old-sparse/.git/config
  839  git clone master.kernel.org:/pub/scm/linux/kernel/git/josh/sparse
  ...

(that "cat old-sparse/.git/config" was just because I had forgotten exactly where the origin of that repo was, so I did that cat just to do a cut-and-paste for the subsequent "git clone" ;^).

And yes, I did that just to get the nicer branch layout, something that my old sparse git repo didn't have, because I had set it up with an old version of git (and done some minimal manual maintenance).

			Linus
Previous: Jakub NarebskiNext: Junio C Hamano
Message 49 of 51 in “Git rescue mission”
  1. Bill LearFeb 8, 2007
  2. Johannes SchindelinFeb 8, 2007
  3. Bill LearFeb 8, 2007
  4. Johannes SchindelinFeb 8, 2007
  5. Bill LearFeb 8, 2007
  6. Junio C HamanoFeb 8, 2007
  7. Alexander LitvinovFeb 8, 2007
  8. Junio C HamanoFeb 9, 2007
  9. Alexander LitvinovFeb 9, 2007
  10. Bill LearFeb 8, 2007
  11. Jakub NarebskiFeb 8, 2007
  12. Jeff KingFeb 8, 2007
  13. Bill LearFeb 8, 2007
  14. Linus TorvaldsFeb 8, 2007
  15. Kalle PokkiFeb 8, 2007
  16. Linus TorvaldsFeb 8, 2007
  17. Kalle PokkiFeb 8, 2007
  18. Shawn O. PearceFeb 8, 2007
  19. Theodore TsoFeb 9, 2007
  20. Shawn O. PearceFeb 9, 2007
  21. Jakub NarebskiFeb 9, 2007
  22. Theodore Ts'oFeb 10, 2007
  23. Print a sane error message if an alias expands to an invalid git commandTheodore Ts'o, Feb 10, 2007
  24. Allow aliases to expand to shell commandsTheodore Ts'o, Feb 10, 2007
  25. Linus TorvaldsFeb 10, 2007
  26. Theodore TsoFeb 10, 2007
  27. Johannes SchindelinFeb 10, 2007
  28. Theodore TsoFeb 11, 2007
  29. Johannes SchindelinFeb 11, 2007
  30. Theodore TsoFeb 11, 2007
  31. Johannes SchindelinFeb 11, 2007
  32. Junio C HamanoFeb 11, 2007
  33. Johannes SchindelinFeb 11, 2007
  34. Theodore TsoFeb 12, 2007
  35. Shawn O. PearceFeb 12, 2007
  36. Junio C HamanoFeb 10, 2007
  37. Kalle PokkiFeb 9, 2007
  38. Bill LearFeb 8, 2007
  39. Linus TorvaldsFeb 8, 2007
  40. Bill LearFeb 8, 2007
  41. Bill LearFeb 8, 2007
  42. Shawn O. PearceFeb 8, 2007
  43. Bill LearFeb 8, 2007
  44. Shawn O. PearceFeb 8, 2007
  45. Jakub NarebskiFeb 9, 2007
  46. Linus TorvaldsFeb 9, 2007
  47. Michael S. TsirkinFeb 9, 2007
  48. Jakub NarebskiFeb 8, 2007
  49. Linus TorvaldsFeb 8, 2007
  50. Junio C HamanoFeb 9, 2007
  51. Jakub NarebskiFeb 8, 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.