-
Notifications
You must be signed in to change notification settings - Fork 1
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
[Discussion] Design our edu hypertrons bot procedure #2
Comments
Great ! I can invove other students from ECNU to try to collaberate with this plugin. A good chance to connect to bot and git knowledge. |
Here is a basic design document. Maybe we should first discuss this scheme before going into detailed scheme. Any advice is very welcome. |
Sorry for the late reply. I have several suggestions
|
In point 3, what do you mean by |
For point 3, I have some ideas:
|
@sunshinemingo Yes, that is what I mean, but the hard point is how to develop the tool. Actually, we don't need to monitor everything in local repo, we only need to add hooks(pre-commit, pre-push) to the local .git config. Then we can check the status if the user what to make some interaction with origin repo. The most common way to do this is provide a shell script for Linux and a cmd file for Windows, also we can use different programming language to do this, like Python, but this requires Python env in local repo which I think is reasonable, or we can provide different language version like Node.js. |
Hooks can be divided into two groups: client-side and server-side. Client-side hooks are triggered by operations such as committing and merging, while server-side hooks run on network operations such as receiving pushed commits. However, client-side hooks are not copied when a user clones the repository. |
That is right, but we can make sure it will be inited like we can add scripts to setup hooks when user installs dependencies, I am not sure whether Python can do that but I am quite sure Node.js can in its post install script. |
So, since we can get the local status of the repo through hooks, maybe it is possible to ensure conflicts by comparing the status of the local repo and remote repo. If no conflict occurs when a user submits a PR, the remote repo may be able to modify the corresponding files to ensure that a conflict occurs. |
We can make sure the conflicts occur if users follow the instruction, we should make conflicts by design. Modify file content automatically would be very confusing for users. |
I want to launch a new plugin for hypertrons which is for education purpose.
The main purposes of this plugin are:
How this can be implemented:
We need to design the basic procedures and find out how many features we still lack in Hypertrons and implement them, after that, the plugin should be quite easy to accomplish.
The text was updated successfully, but these errors were encountered: