table of contents
- unstable 1.1-2
| GIT-UBUNTU-IMPORT(1) | Git-Ubuntu Manual | GIT-UBUNTU-IMPORT(1) |
NAME¶
git-ubuntu-import - Import Launchpad publishing history to Git
SYNOPSIS¶
git ubuntu import [-o | --lp-owner <owner>] [-l | --lp-user <user>] [--dl-cache <dl_cache>] [--no-fetch] [--push] [--no-clean] [-d | --directory <directory>] [--active-series-only] [--skip-applied] [--skip-orig] [--reimport] [--allow-applied-failures] <package>
DESCRIPTION¶
Import a source package's publication history from Launchpad into a local git(1) repository and push it to a remote repository.
The importer algorithm roughly looks like:
For <distribution> in "Debian", "Ubuntu":
For each <publish> in <distribution> since the most recent patches-unapplied import in the local repository:
Import the orig tarballs for <publish> using "gbp import-orig --pristine-tar", unless they have already been imported and the imported tarballs are identical.
Find a <changelog parent>: the most recent changelog entry with a corresponding patches-unapplied import.
Find an <upload parent>: an upload-tag in the repository for the same version as <publish> with git-tree-identical contents as <publish>.
Commit the git tree corresponding to a patches-unapplied extraction of <publish> using <changelog parent> and <upload parent> as parents.
If this is the first patches-unapplied import of a given version, create a tag in refs/tags/import/ pointing to the new commit.
Update the patches-applied <distribution>/<publish's series>/<publish's pocket> branch to the new commit.
For each <publish> in <distribution> since the most recent patches-applied import in the local repository:
Find a <changelog parent>: the most recent changelog entry with a corresponding patches-applied import.
Find an <unapplied parent>: the corresponding patches-unapplied import of <publish>'s version.
Commit each git tree corresponding to the application of the next quilt patch in <publish> using <changelog parent> and <unapplied parent> as parents. As each quilt patch is applied, the <unapplied parent> becomes the result of the immediately prior patch's application.
If this is the first patches-applied import of a given version, create a tag in refs/tags/applied/ pointing to the commit corresponding to the application of the final quilt patch.
Update the patches-applied <distribution>/<publish>'s series/<publish>'s pocket branch to the new commit.
OPTIONS¶
-o <owner>, --lp-owner <owner>
-l <user>, --lp-user <user>
--dl-cache <dl_cache>
--no-fetch
--push
--no-clean
-d <directory>, --directory <directory>
--active-series-only
--skip-applied
--skip-orig
--reimport
This will leave a local directory with the resulting reimport. The local directory should be examined for the reimport's success; in particular, that upload tags are reincorporated in the new history.
git ubuntu import --reimport --no-fetch --directory <tempdir from prior command>
This will use the local directory, which is current as of the prior reimport, ensure it is still current (in case new publishes have occurred) and forcibly git-push the resulting repository to <owner>'s remote repository.
--allow-applied-failures
<package>
EXIT STATUS¶
git ubuntu import exits with status 0 if the import completes successfully. git ubuntu import exits with nonzero exit status on errors.
REPORTING BUGS¶
Report bugs at https://bugs.launchpad.net/git-ubuntu
SEE ALSO¶
GIT-UBUNTU¶
Part of the git-ubuntu(1) suite
| 2017-07-19 | Git-Ubuntu 0.2 |