git-build-recipe assumes that HEAD exists in the source repositories
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
git-build-recipe |
Fix Released
|
High
|
Colin Watson |
Bug Description
I assume that git-build-recipe is fetching HEAD in order to attempt to pick up any related tags. However, in the common case I don't want HEAD; I want to source or merge a specific nominated branch only. In my use case, I push only a feature branch to a team or personal repository, and I expect to be able to merge it from a recipe. Launchpad assumes refs/heads/master for HEAD on first push, and this never gets created because I never push "master". Since HEAD doesn't exist, the "merge" instruction fails.
This also applies to the source repository itself.
Use case: I'm trying to combine the server team's git importer work with automatic build recipes in order to be able to automatically maintain specific deltas against Ubuntu in PPAs. The general idea is to be able to create a delta once (by branching from the imported repository) and then to leave the rest to automation. The importer will update its git repo, which will cause the build recipe to fire, merge in the pre-determined changes and build a patched version in a PPA (with a higher version than the archive).
Related branches
- Tom Wardill (community): Approve
-
Diff: 109 lines (+40/-6)4 files modifieddebian/changelog (+4/-0)
gitbuildrecipe/recipe.py (+16/-6)
gitbuildrecipe/tests/__init__.py (+6/-0)
gitbuildrecipe/tests/test_recipe.py (+14/-0)
Changed in git-build-recipe: | |
status: | New → In Progress |
importance: | Undecided → High |
assignee: | nobody → Colin Watson (cjwatson) |
Changed in git-build-recipe: | |
status: | In Progress → Fix Committed |
The workaround to this is to manually change HEAD to point to the branch I'm using. This can be done via the web UI or an API call.