RFS: audacious/3.6.2-2~bpo8+1 and audacious-plugins/3.6.2-2~bpo8+1

Nicholas D Steeves nsteeves at gmail.com
Fri May 20 20:30:36 UTC 2016


Sorry for the delay.  Life... ;-)

On 10 May 2016 at 20:16, Mattia Rizzolo <mattia at debian.org> wrote:
> On Tue, May 10, 2016 at 06:03:18PM -0400, Nicholas D Steeves wrote:
>> > Now, umh, with `push debian/%(bpo_tag)s would be what I usually do
>> > without a branch.
>>
>> Ohhh, I think I'm starting to understand now.  So what happens that
>> the local master branch gets ahead of the remote without --detach, but
>> that's ok.  It's ok because git pushes a snapshot of the local changed
>> state to a remote state is only referenced by the tag.  If for some
>> reason there was a bug in the debian/%(bpo_tag)s version, that's not
>> in the debian/version-revision...well, that's where it feels strange
>> to me.  So then one would make further changes to the local repo,
>> local master would get further out of sync from remote master, but
>> that wouldn't matter because the local state of master is only ever
>> reflected as a tag on the remote?
>
> Well, you are not supposed to have your local master out of sync with
> the remote one.  doing `git checkout debian/version-revision` detaches
> your head from a branch, and the stuff you do that are only referenced
> by the tag, yep.  But if you do a `git checkout master` you ought to go
> back to the very place the remote master is, and doing stuff that means
> pushing to the remote master, and stuff pushed there is going to be on
> the next unstable upload.

Ahh, so that's how you do it!  Git checkout tag detaches from a branch
and updates to that state; subsequent git checkouts will not checkout
anything, unless the tag is forcefully updated (bad!).  Git checkout
branch attaches to that branch and updates; subsequent git checkouts
bring the local repo up-to-date with that branch.

>> > given that now a branch is used instead the workflow is:
>>
>> This makes sense to me, but I'm still unclear why "git checkout
>> jessie-backports && git merge debian/version-revision" is preferred
>> over "git rebase debian/version-revision", when version-bumping the
>> bpo.  I guess the question is: For a version bump of a bpo, should the
>> changelog of a new-version bpo mention the previous bpo, or should it
>> only contain a single "Rebuild for $stable-backports" entry?
>
> The "jessie-backports branch workflow" I keep as a reference is the one
> used by devscripts, that actually keeps the old backports entry in the
> changelog during the merge.

Is the "jessie-backports branch workflow" what you provided in a
previous email?  Used by which devscript?  Dch?  If the workflow is
different than what was shared, could you please tell me where I can
read it?  I'm guessing that this will be what happens over time, to
debian/changelog:

Tagged bpo changelogs will only have one "Rebuild for jessie-backports" entry.
All these entries will somehow be prepended to the changelog in the
jessie-backports branch?
Or will the debian/changelog on the jessie-backports branch be
identical to the latest tagged bpo?

>> The
>> semantics of checkout+merge seem to favour a bpo changelog that
>> mentions prior versions (independent parallel branch with coherent
>> history and imported updates), while the semantics of git rebase seem
>> to favour a series of bpo forks (branch is a history of forks).
>
> my idea of bpo is a series of separated forks, and here detached tags
> work better than a branch.  But I think this is really a matter of how
> you see it and how you work better, the actual thing doesn't really
> change much.

I've been (locally) experimenting with both approaches.  I still think
I'm doing something wrong with detached tags!  For example, suppose I
fix spelling errors in some package of v4.5.3, and want to backport
those changes to v4.5.2:

git checkout v4.5.3
(make changes. eg: update changelog with an obvious marker)
git add -u
git commit

git checkout v4.5.2
(warning)
git stash
git checkout v4.5.2
git stash pop
(resolve conflicts)
git tag -a v4.5.2.1 -m "Backport trivial spelling fixes from v4.5.3"
git add -u
git commit
--

At this point, what I found was that if I do a checkout master, and
then do a checkout v4.5.2.1, then my changes are lost.  The only way I
can get back to them is by doing a checkout cce2f0d.  Git tag -l
--contains commit cce2f0d prints nothing.

git tag -f v4.5.2.1 cce2f0d
prints
Updated tag 'v4.5.2.1' (was 09846dc)

Now I can get back to the intended detached state using the tag.  My
concern is that with the following instructions:

On 10 May 2016 at 11:17, Mattia Rizzolo <mattia at debian.org> wrote:
> dch --bpo                                           # update changelog
> gbp buildpackage --git-tag                  # build+tag
> git status
> git add                                              # same as above
> git push                                             # push the current branch
> git push --tags                                   # push the tag

The tag happens before git add, thus necessarily before the commit.
>From my experiments, it seems like when I git push --tags, the tag I
push will point to the wrong commit.  Am I doing something wrong?  It
doesn't seem like manually forcing a retag->correct_commit before
pushing is part of a normal workflow.  Or is it?

>> Mattia, thank you for taking the time to help me understand,
>> I appreciate it a lot,
>> Nicholas
>
> Sorry for making this actually simple backport look like a huge
> complicated deal :)

:-) Arguably, the most important thing learned by joining a team is
how to work "as a team"!  A simple case like a backport is perfect for
this.  If there's a checklist of things in which one needs to
demonstrate proficiency before someone will grant DD privileges, I'm
sure this is on it!  And competency with the team's DVC/DRC is
integral to this.

Kind regards,
Nicholas



More information about the pkg-multimedia-maintainers mailing list