kangwonlee / kangwonlee/assignment_meta_template

Automate Copying of English Assignments to Separate Repository

Open
#8 0 comments 0 reactions 0 assignees View on GitHub
documentation enhancement
Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Description:

This issue proposes automating the process of copying modified English-language assignments from the main (bilingual) repository to a dedicated English-only repository. This will streamline maintenance and ensure consistency between the two repositories. The initial concept for this automation was developed with the assistance of an AI language model.

## Goals:

* Reduce manual effort in maintaining separate repositories.
* Ensure the English-only repository is always up-to-date.
* Improve accessibility for international students.

## Proposed Implementation:

1. Repository Setup:

* Create a separate repository for English-only assignments.
* Set up access credentials (e.g., SSH keys, deploy keys) to allow automated pushes to the English-only repository.

1. Automation Script:

* Write a Python script (copy_english_assignments.py) that performs the following:
* Detects changes in English assignment files in the main repository.
* Copies modified English files to the corresponding location in the English-only repository.
* Commits and pushes the changes to the English-only repository.

1. Git Hook Integration:

* Create a `post-commit` Git hook in the main repository that triggers the Python script after each commit.

## Action Items:

* [ ] Create English-only assignment repository.
* [ ] Set up access credentials for the English-only repository.
* [ ] Write `copy_english_assignments.py` script.
* [ ] Change detection logic (e.g., `git diff`, optional language check)
* [ ] File copying logic (`shutil.copy`)
* [ ] Commit and push logic (if applicable)
* [ ] Error handling and logging
* [ ] Implement `post-commit` Git hook.
* [ ] Test the hook thoroughly in different scenarios (file modifications, deletions, new files).
* [ ] Handle potential conflicts if both English and Korean versions are modified in the same commit.
* [ ] Add error handling and logging to the script.
* [ ] Test the entire workflow thoroughly to ensure seamless operation.
* [ ] Document the setup and usage of the hook in the README.

## Additional Considerations:

* Investigate potential alternatives to Git hooks, such as GitHub Actions, for automation.
* Explore more advanced language detection techniques if basic filtering is not sufficient.
* Implement a mechanism to resolve conflicts if both English and Korean versions of a file are modified simultaneously.

## Credits:

The initial concept for this automation was motivated by feedback and developed with the assistance of an AI language model.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.