Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Build a new tracking & structure versioning system #7

Merged
merged 31 commits into from
Aug 30, 2023
Merged

refactor: Build a new tracking & structure versioning system #7

merged 31 commits into from
Aug 30, 2023

Conversation

Cubik65536
Copy link
Collaborator

@Cubik65536 Cubik65536 commented Aug 22, 2023

Description/描述

This PR changes the RVC (redstone version control) architecture and is building a plain text (.rvc) and git based new architecture. New IO system and serialization/deserialization methods have been added to work with the new RVC design.

Features like:

  • apply older versions in world
  • git operations like merge/squash/rebase
  • remote branch management
  • commit signature

are not in this PR.

Related Issues/相关的 issue

  • n/a

Checklist/清单

  • Deprecation of old tracking & versioning system codes
  • New IO architecture
  • Build a base architecture for new git-bases Minecraft structure tracking & versioning system
    • New data structure & serialization for block/entity/etc.
      • blocks
      • blocks entities
      • entities
      • fluid/block scheduled ticks
      • block events
  • The issues this PR addresses are related to each other/此 PR 解决的 issue 是相关的
  • My changes are all related to the related issue above/我的修改都与上方的相关 issue 有关
  • My changes generate no new warnings/我的修改没有产生新的警告
  • My code builds and runs on my machine/我的代码在我的电脑上可以编译和运行
  • I documented my code/我已经为我的代码添加了注释/文档

Screenshots

n/a

@zly2006
Copy link
Owner

zly2006 commented Aug 23, 2023

首先,实现一个RvcPlainIO和一个RvcGitIO,分别负责序列化到文本或托管于git,建议用组合而非继承,两者均实现一个RvcIO的接口

其次,PlainIO可以先写,git再说

@zly2006 zly2006 marked this pull request as ready for review August 24, 2023 03:39
Cubik65536 and others added 9 commits August 24, 2023 18:27
Change type of `entities` from `List<NbtCompound>` to `Map<UUID, NbtCompound>` where `UUID` is `java.util.UUID`

Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
@Cubik65536 Cubik65536 marked this pull request as draft August 24, 2023 22:57
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
zly2006 and others added 5 commits August 25, 2023 10:45
TrackPoint deserialization needs to be implemented.

Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Copy link
Owner

@zly2006 zly2006 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

全错!

nbt字符串可能有逗号,你这直接出错

请使用substring和indexof

Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
@Cubik65536
Copy link
Collaborator Author

@zly2006

全错!

nbt字符串可能有逗号,你这直接出错

请使用substring和indexof

处理了,有 conflict 你看看怎么弄下

@zly2006
Copy link
Owner

zly2006 commented Aug 26, 2023

单独实现一个接口读取rvc文件,不同的版本使用不同的object来读取就好了

然后加上git就算可以merge了

zly2006 and others added 5 commits August 26, 2023 13:21
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
…String`

Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
@zly2006
Copy link
Owner

zly2006 commented Aug 27, 2023

之前我的一个commit应该写了计划刻保存,你这样保存是错的,改一下吧

好怪,那个commit呢

Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
Copy link
Owner

@zly2006 zly2006 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great

@zly2006
Copy link
Owner

zly2006 commented Aug 30, 2023

is this pr ready to merge?

@Cubik65536 Cubik65536 marked this pull request as ready for review August 30, 2023 11:12
@Cubik65536
Copy link
Collaborator Author

@zly2006 Ready to merge!

I think it's better to do git operations in another PR, I'll sort out CI/CDs first.

@zly2006 zly2006 merged commit 2cea96e into zly2006:1.20 Aug 30, 2023
1 check passed
@Cubik65536 Cubik65536 changed the title [WIP] refactor: Build a new tracking & versioning system refactor: Build a new tracking & structure versioning system Aug 30, 2023
@Cubik65536 Cubik65536 deleted the feat/tracking-data-structure branch August 30, 2023 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants