commercetest / commercetest/nlnet

Updating local copies of repos

Open
#42 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted question
Dominant language
Python
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

### Context
One of the scripts [src/github_repo_request_local.py](https://github.com/commercetest/nlnet/blob/main/src/github_repo_request_local.py) clones repos from github.com which then facilitates local analysis.

Eventually/soon we'll want to track the changes in the codebases particularly in terms of their approach to software testing. For this we may want to update the code in the local instance based on the changes that have occurred since we previously cloned it. Thankfully `git` automatically records the history of each instance of a repo and provides mechanisms to perform updates.

### Additional thoughts
TBD how sophisticated our analysis needs to be and how much our scripts would want/need to take account of structural and naming changes to the remote repo. For example, if they rename the trunk from `master` to `main`? if they use `develop` as their primary trunk branch, if they rename the repo, or even relocate it to another hosting provider. Commit hashes are probably sufficiently unique to provide a signature of a repo and/or we might decide that scrapping historical data for a repo is more expedient and sufficient for the purposes of our analysis.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading src/github_repo_request_local.py and trace how repositories are cloned and recorded locally. Define the supported update behavior and repository-change cases before implementing it; done means local copies reflect subsequent remote changes in a way that supports the existing analysis.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, python
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.