Git repository backwards compatibility

旧街凉风 提交于 2019-11-27 22:52:54

It's extremely backward compatible in terms of the actual storage of information, which is all you're worried about in this case. I'm not a total expert, but I doubt that's changed since the first stable release.

The only compatibility problem I can think come up with is if the two versions of git are working on the exact same repo (not clones) and there are options/aliases set in the .git/config that work in the newer version but were not [fully] implemented in the older version... but even then you'd have to try pretty hard with versions this close. And again, this isn't anything to do with the actual information in the repo, just the commands you use to manage it. That's where the development of git is taking place.

There were very few incompatibile changes in layout of git repository; incompatibile in the sense that older version could be not able to deal with repository created with newer version, or do an exchange (fetch or push) with newer server.

You should check RelNotes (e.g. from here) to find if there was some incompatibile change between versions you use.

Some (probably all) of those incompatibile changes are:

  • submodules support: git version before submodule support was introduced in git core will not be able to handle repository which uses submodules (it does not understand subtree/gitlink entries)
  • packed refs: old git version would not be able to fetch via HTTP from newer repository that uses packed refs (.git/packed-refs). Same with old git using the same repository as new git which has packed refs
  • offset delta packfiles: old git doesn't understand newer (more compact) version of git packfile (ofs-delta). This is not a problem for fetching and pushing, as there is discovery of features client supports by server.

None of those were between 1.6.4 and 1.5.6, I think.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!