Difference between revisions of "Managing Xen Patches with Git-series"

From Xen
m (git-series Basics)
(Git-series Basics)
Line 21: Line 21:
 
* '''[http://www.youtube.com/watch?v=xJ0DBaHnlQ8&t=24m30s Minutes 24:30 to 40:24]''': How does git-series work internally and interacts with git
 
* '''[http://www.youtube.com/watch?v=xJ0DBaHnlQ8&t=24m30s Minutes 24:30 to 40:24]''': How does git-series work internally and interacts with git
 
* '''[http://www.youtube.com/watch?v=xJ0DBaHnlQ8&t=40m24s Minutes 24:30 to end]''': Discussion - worthwhile watching
 
* '''[http://www.youtube.com/watch?v=xJ0DBaHnlQ8&t=40m24s Minutes 24:30 to end]''': Discussion - worthwhile watching
 +
 +
Git-series integrates primarily with the workflow as outlined in [[Managing Xen Patches with Git]] with some differences:
 +
* It does not require you to create a branch for your work
 +
* It allows you to seamlessly work on multiple series by switching between them
 +
* It retains the history of working on your series (unlike is the case in [[Managing Xen Patches with Git]]): you can easily go back to older versions of a series if you need to
 +
* It allows for very easy re-basing of a series onto a different base branch
 +
* It understands and tracks the concept of a cover letter
 +
* It seamlessly integrates into the workflow
 +
 +
Compared to [[Managing Xen Patches with StGit]], git-series '''does not''' give you the capability to switch seamlessly between patches in your series. You will have to use the workflow as outlined in [[Managing_Xen_Patches_with_Git#Using_autosquash_to_optimize_the_workflow|Using autosquash to optimize the workflow]].
  
 
== Generating an initial Patch Series ==
 
== Generating an initial Patch Series ==

Revision as of 15:19, 30 August 2019

This document assumes that you are familiar with the following documents

This document lays out a very basic example on how to use git-series. Git series is an add-on to git implemented in Rust.

For installation instructions see https://github.com/git-series/git-series/blob/master/README.md Before you install git-series, you will need to have install if not on your system yet

  • Rust: see https://www.rust-lang.org/tools/install
  • cmake: see https://cmake.org/download/ - note that this dependency is not documented in the git-series README file, which is why it is covered here. Also note that after an install, the command line tools are not installed automatically for all operating systems. Go to the UI and select Tools > How to Install for Command line use.

Similar documents exist for

Git-series Basics

Before you consider using git-series, please check out the following youtube video:

  • Minutes 0:00 to 13:28: Explains the problem that git-series solves. Note that this is worthwhile watching regardless of whether you choose to use git-series
  • Minutes 13:28 to 24:30: Demo of git-series
    • Minutes 19:43: Instructions on how to format a series and send pull requests based on one
    • Minutes 20:20: Working on multiple series in parallel
  • Minutes 24:30 to 40:24: How does git-series work internally and interacts with git
  • Minutes 24:30 to end: Discussion - worthwhile watching

Git-series integrates primarily with the workflow as outlined in Managing Xen Patches with Git with some differences:

  • It does not require you to create a branch for your work
  • It allows you to seamlessly work on multiple series by switching between them
  • It retains the history of working on your series (unlike is the case in Managing Xen Patches with Git): you can easily go back to older versions of a series if you need to
  • It allows for very easy re-basing of a series onto a different base branch
  • It understands and tracks the concept of a cover letter
  • It seamlessly integrates into the workflow

Compared to Managing Xen Patches with StGit, git-series does not give you the capability to switch seamlessly between patches in your series. You will have to use the workflow as outlined in Using autosquash to optimize the workflow.

Generating an initial Patch Series

Sending a Patch Series to xen-devel@

Creating outbound version branches

Addressing Review Comments

git-series Tutorials