[question] How to apply a patch in a cloned repository
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 1.7k
- Forks
- 408
- Merge moyen
- 2 j 57 min
- PR mergées (30 j)
- 7
Description
Hi!
I would like to apply a regular patch file, but without a git repo. Is it possible using this project? For instance:
$ cd myproject/
$ patch < 0001-regular-fix.patch
I found two methods, but I'm not sure if they are what I want:
pygit2.Patch.create_from
pygit2.Diff.parse_diff
Actually I didn't find some easy to apply them. My idea was something like:
def apply_patch(working_folder, patch_file):
with open(patch_file, 'rb') as fd:
patch_content = fd.read()
diff = pygit2.Diff.parse_diff(patch_content)
repo = pygit2.init_repository(working_folder, bare=True)
repo.apply(diff)
Regards!
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par comparer le workflow habituel des patches dans l’issue avec pygit2.Patch.create_from, pygit2.Diff.parse_diff, pygit2.init_repository et repo.apply. Consultez la documentation correspondante de pygit2 et son comportement afin de déterminer si un patch peut être appliqué sans dépôt Git ; la tâche est considérée comme terminée lorsque le workflow pris en charge ou la limitation est clairement établi.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- git, python
- Domaine
- tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100