Re: Messed up a salsa commit - how best to fix?

2022-04-24 Thread Julian Gilbey
On Sun, Apr 24, 2022 at 10:49:55PM +0200, Timo Röhling wrote:
> * Timo Röhling  [2022-04-24 22:42]:
> > Make sure that your local upstream branch and the upstream/5.3.0 tag
> > both point at commit 08935221b549bf32157d739cd54eb1645a2ab123:
> Aaaand I copied the wrong commit hash to the email. :/
> e228e8902aeb91011a53bb1a91f7f3390a771e0e is the one you should be
> looking for:
> 
> https://salsa.debian.org/python-team/packages/python-qtconsole/-/commit/e228e8902aeb91011a53bb1a91f7f3390a771e0e

Ah, I understand now!  This commit is actually the upstream sources!
I hadn't realised exactly what gbp does.  I'll have a go at following
your instructions in your last email tomorrow.

Thanks,

   Julian



Re: Messed up a salsa commit - how best to fix?

2022-04-24 Thread Julian Gilbey
On Sun, Apr 24, 2022 at 10:49:55PM +0200, Timo Röhling wrote:
> * Timo Röhling  [2022-04-24 22:42]:
> > Make sure that your local upstream branch and the upstream/5.3.0 tag
> > both point at commit 08935221b549bf32157d739cd54eb1645a2ab123:
> Aaaand I copied the wrong commit hash to the email. :/
> e228e8902aeb91011a53bb1a91f7f3390a771e0e is the one you should be
> looking for:
> 
> https://salsa.debian.org/python-team/packages/python-qtconsole/-/commit/e228e8902aeb91011a53bb1a91f7f3390a771e0e

Indeed, that was the commit made by gbp import-orig.  But the upstream
and pristine-tar branches don't include that commit, unfortunately,
because of my mistake.  Therefore gbp buildpackage doesn't work,
because it can't find the original sources on the upstream branch.

Best wishes,

   Julian



Re: Messed up a salsa commit - how best to fix?

2022-04-24 Thread Julian Gilbey
Hi Timo,

On Sun, Apr 24, 2022 at 10:42:51PM +0200, Timo Röhling wrote:
> Hi Julian,
> 
> * Julian Gilbey  [2022-04-24 21:01]:
> > Somehow I managed to really mess up a commit to python-qtconsole: the
> > upstream and pristine-tar branches do not have the upstream/5.3.0
> > sources (the current ones).  However, there's already an
> > upstream/5.3.0 tag in the repository, pointing to a commit to the
> > master branch.
> > 
> > I think the simplest thing to do is to "rewrite history": delete the
> > head commits to the master branch and the 5.3.0 tags, and then
> > recommit correctly and force-push to salsa.
> > 
> > Would people be OK with me doing this, or do you have an alternative
> > suggestion?
> I looked at the Salsa repository, and it is not so bad. It seems like you
> forgot to pull the latest changes in upstream and pristine-tar from
> the 5.2.2 import first, so your import of 5.3.0 forked the those branches
> unintentionally.

Thanks for the analysis, but I don't think that's what happened.  I
think what I did was something like this:

* I had an up-to-date clone of the repository from salsa (at tag
  debian/5.2.2-1 on master, and at tag upstream/5.2.2 on upstream)
* I ran gbp import-orig on the new 5.3.0 sources.
* I realised I'd done something wrong, so I tried to reset --hard all
  three branches back to before the import.
* I then re-imported the 5.3.0 sources correctly, or so I thought.

(That can't be exactly right, but it may be close to what happened.)
But somehow, that didn't work properly, and what I've ended up with is
that the master branch is correct, with the upstream/5.3.0 and
debian/5.3.0-1 tags pointing at the correct commits, but the upstream
and pristine-tar branches are not up-to-date: the don't have the
upstream 5.3.0 contents.

So what I'm thinking I could do is:
* Unpack the 5.3.0 sources into the upstream branch and commit the
  change
* Reset the upstream/5.3.0 tag to point to this new commit
* Use gbp pristine-tar to create the .delta and .id files on the
  pristine-tar branch

This does not rewrite history, but it fixes the gbp problem, with the
only change required being a modification to the upstream/5.3.0 tag.

Thoughts?

   Julian



Re: Messed up a salsa commit - how best to fix?

2022-04-24 Thread Timo Röhling

* Timo Röhling  [2022-04-24 22:42]:
Make sure that your local upstream branch and the upstream/5.3.0 tag 
both point at commit 08935221b549bf32157d739cd54eb1645a2ab123:

Aaaand I copied the wrong commit hash to the email. :/
e228e8902aeb91011a53bb1a91f7f3390a771e0e is the one you should be
looking for: 


https://salsa.debian.org/python-team/packages/python-qtconsole/-/commit/e228e8902aeb91011a53bb1a91f7f3390a771e0e


Cheers
Timo


--
⢀⣴⠾⠻⢶⣦⠀   ╭╮
⣾⠁⢠⠒⠀⣿⡁   │ Timo Röhling   │
⢿⡄⠘⠷⠚⠋⠀   │ 9B03 EBB9 8300 DF97 C2B1  23BF CC8C 6BDD 1403 F4CA │
⠈⠳⣄   ╰╯


signature.asc
Description: PGP signature


Re: Messed up a salsa commit - how best to fix?

2022-04-24 Thread Timo Röhling

Hi Julian,

* Julian Gilbey  [2022-04-24 21:01]:

Somehow I managed to really mess up a commit to python-qtconsole: the
upstream and pristine-tar branches do not have the upstream/5.3.0
sources (the current ones).  However, there's already an
upstream/5.3.0 tag in the repository, pointing to a commit to the
master branch.

I think the simplest thing to do is to "rewrite history": delete the
head commits to the master branch and the 5.3.0 tags, and then
recommit correctly and force-push to salsa.

Would people be OK with me doing this, or do you have an alternative
suggestion?

I looked at the Salsa repository, and it is not so bad. It seems like you
forgot to pull the latest changes in upstream and pristine-tar from
the 5.2.2 import first, so your import of 5.3.0 forked the those branches
unintentionally.

As the first order of business, you should run

$ git fetch origin

to update all your remote branches to the actual locations. Then, we
can fix the branches one by one.

For the pristine-tar branch, the easiest way is to rebase your
commit to the actual remote branch that includes the 5.2.2 import by
Frédéric:

$ git checkout pristine-tar
$ git rebase origin/pristine-tar
$ git push origin pristine-tar

The upstream branch cannot be rebased, because it is interwined with
the master branch. Fortunately, that is not necessary, because the
5.2.2 import has been merged into master and therefore is connected
in the graph.

Make sure that your local upstream branch and the upstream/5.3.0 tag both 
point at commit 08935221b549bf32157d739cd54eb1645a2ab123:


$ git -P log -n1 upstream
$ git -P log -n1 upstream/5.3.0

If they do, you can

$ git push --force origin upstream upstream/5.3.0

This will remove the 5.2.2 import from the upstream branch history, but it
will not be lost because it is still connected to the master branch,
which is arguably the more important connection, as it allows
you to reproduce the 5.2.2 upload if required.


Cheers
Timo

--
⢀⣴⠾⠻⢶⣦⠀   ╭╮
⣾⠁⢠⠒⠀⣿⡁   │ Timo Röhling   │
⢿⡄⠘⠷⠚⠋⠀   │ 9B03 EBB9 8300 DF97 C2B1  23BF CC8C 6BDD 1403 F4CA │
⠈⠳⣄   ╰╯


signature.asc
Description: PGP signature


Re: Messed up a salsa commit - how best to fix?

2022-04-24 Thread Julian Gilbey
On Sun, Apr 24, 2022 at 10:09:21PM +0200, Geert Stappers wrote:
> On Sun, Apr 24, 2022 at 09:01:02PM +0100, Julian Gilbey wrote:
> > Hi,
> > 
> > Somehow I managed to really mess up a commit to python-qtconsole: the
> > upstream and pristine-tar branches do not have the upstream/5.3.0
> > sources (the current ones).  However, there's already an
> > upstream/5.3.0 tag in the repository, pointing to a commit to the
> > master branch.
> > 
> > I think the simplest thing to do is to "rewrite history": delete the
> > head commits to the master branch and the 5.3.0 tags, and then
> > recommit correctly and force-push to salsa.
> > 
> > Would people be OK with me doing this,
> 
> I'm not OK with rewriting history.
> 
> > or do you have an alternative suggestion?
> 
> Accept the failure, learn from it, move on, make new mistakes, learn from 
> them.
> 
> In other words:  Do not spend energy on erasing a mistake^Wlearing expirience.

I do understand this, but now someone cloning the repository and
running "gbp buildpackage" won't be able to do so.

I realise there is a much more minor change that would fix things:
just delete the upstream/5.3.0 tag, create the upstream/5.3.0
pristine-tar and upstream branch contents manually, make a commit with
those and recreate the upstream/5.3.0 tag to point to those.

Would that be acceptable?

Best wishes,

   Julian



Re: Messed up a salsa commit - how best to fix?

2022-04-24 Thread Geert Stappers
On Sun, Apr 24, 2022 at 09:01:02PM +0100, Julian Gilbey wrote:
> Hi,
> 
> Somehow I managed to really mess up a commit to python-qtconsole: the
> upstream and pristine-tar branches do not have the upstream/5.3.0
> sources (the current ones).  However, there's already an
> upstream/5.3.0 tag in the repository, pointing to a commit to the
> master branch.
> 
> I think the simplest thing to do is to "rewrite history": delete the
> head commits to the master branch and the 5.3.0 tags, and then
> recommit correctly and force-push to salsa.
> 
> Would people be OK with me doing this,

I'm not OK with rewriting history.


> or do you have an alternative suggestion?

Accept the failure, learn from it, move on, make new mistakes, learn from them.

In other words:  Do not spend energy on erasing a mistake^Wlearing expirience.

 
> Best wishes,
>Julian
> 

Groeten
Geert Stappers
-- 
Silence is hard to parse



Messed up a salsa commit - how best to fix?

2022-04-24 Thread Julian Gilbey
Hi,

Somehow I managed to really mess up a commit to python-qtconsole: the
upstream and pristine-tar branches do not have the upstream/5.3.0
sources (the current ones).  However, there's already an
upstream/5.3.0 tag in the repository, pointing to a commit to the
master branch.

I think the simplest thing to do is to "rewrite history": delete the
head commits to the master branch and the 5.3.0 tags, and then
recommit correctly and force-push to salsa.

Would people be OK with me doing this, or do you have an alternative
suggestion?

Best wishes,

   Julian