On Fri, 5 Dec, 2025, 10:59 pm Soren Stoutner, <[email protected]> wrote:
> On Thursday, December 4, 2025 12:45:30 PM Mountain Standard Time Andrey > Rakhmatullin wrote: > > On Fri, Dec 05, 2025 at 01:12:14AM +0530, Jai kadam wrote: > > >> >> You can also consult its manpage to learn what does it do. > > >> > > > >> >I see, I read the man page just now after your suggestion it's not > > >> > > >> detailed. > > >> > > >> It's very detailed > > > > > >By manual you mean "man gbp" or something else? > > > > I mean gbp-push(1), you could learn that it exists from "SEE ALSO" of > > gbp(1). > > To add a bit more information about the behavior of "gbp push” and “git > push” > and when to use them and mix their uses: > > 1. The key to understanding this is that “gbp push” will push the > following > things: > > a. The pristine-tar branch (if in use). > b. The upstream branch. > c. Any new tags on the upstream branch. > d. The debian branch, but only if the changelog does not target > UNRELEASED. > e. Check for a new tag in the debian branch for the latest changelog > entry > and push it, but only if the changelog does not target UNRELEASED. > > 2. What we want to avoid is pushing a debian/X.Y-Z tag on the debian > branch > before X.Y-Z has actually been accepted into Debian. > > 3. The following workflow accomplishes this: > > a. gbp import-orig --uscan (this updates pristine-tar if used, the > upstream > branch, the debian branch, and creates a new upstream tag). > b. dch (adjust the changelog version number accordingly, but leave the > target as UNRELEASED). > c. gbp buildpackage (make sure the package builds). > d. <Fix any problems>. > e. gbp push (this pushes pristine-tar if in use, the upstream branch, and > the > new upstream branch tag, but not the debian branch because the changelog > targets UNRELEASED). > f. git push (this pushes the debian branch). > Noted! :) > > 4. When ready to release: > > a. dch -r (this changes the target from UNRELEASED to unstable, edit to > experimental if desired). > This is same as dch --release rigth ? Si it also adds the commit messages b. gbp buildpackage (build the package with the final changelog). > c. Upload the package. > d. gbp tag (this creates the debian/X.Y-Z tag, typically one only does > this > after the package has been accepted into Debian). > e. gbp push (this pushes the debian/X.Y-Z tag). > That is use gbp push only once at the very end , right? > > Note that it is possible to do all of this using a plethora of git > commands. > gbp simply makes it easier. > > On a side note, "gbp clone” is just like “git clone” except that it > automatically clones the pristine-tar branch (if used), the upstream > branch, > and the debian branch, whereas “git clone” just clones the default branch > and > requires extra commands to populate the other ones. > > -- > Soren Stoutner > [email protected] Thank you!

