Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #7780 > unrolled thread

git-dpm: ERROR: 'upstream' does not contain previously recorded revision

Started byLudovic Rousseau <ludovic.rousseau@gmail.com>
First post2015-10-23 20:50 +0200
Last post2015-10-25 08:50 +0100
Articles 6 — 3 participants

Back to article view | Back to linux.debian.maint.python


Contents

  git-dpm: ERROR: 'upstream' does not contain previously recorded revision Ludovic Rousseau <ludovic.rousseau@gmail.com> - 2015-10-23 20:50 +0200
    Re: git-dpm: ERROR: 'upstream' does not contain previously recorded revision Brian May <bam@debian.org> - 2015-10-24 01:10 +0200
      Re: git-dpm: ERROR: 'upstream' does not contain previously recorded revision Ludovic Rousseau <ludovic.rousseau@gmail.com> - 2015-10-24 12:20 +0200
        Re: git-dpm: ERROR: 'upstream' does not contain previously recorded revision Scott Kitterman <debian@kitterman.com> - 2015-10-24 19:50 +0200
          Re: git-dpm: ERROR: 'upstream' does not contain previously recorded revision Ludovic Rousseau <ludovic.rousseau@gmail.com> - 2015-10-24 21:10 +0200
        Re: git-dpm: ERROR: 'upstream' does not contain previously recorded revision Brian May <bam@debian.org> - 2015-10-25 08:50 +0100

#7780 — git-dpm: ERROR: 'upstream' does not contain previously recorded revision

FromLudovic Rousseau <ludovic.rousseau@gmail.com>
Date2015-10-23 20:50 +0200
Subjectgit-dpm: ERROR: 'upstream' does not contain previously recorded revision
Message-ID<qmPzB-1ob-39@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

Hello,

I tried to update my package pykcs11 since the repository moved from SVN to
git.
http://anonscm.debian.org/cgit/python-modules/packages/pykcs11.git/

I imported a new upstream .orig.tar.gz version as descibed in
https://wiki.debian.org/Python/GitPackaging#New_upstream_release
and could build and upload the package without problem.

Now the command "git-dpm status" fails with:
$ git-dpm status
git-dpm: ERROR: 'upstream' does not contain previously recorded revision
'8234fc2de2b89d65661233b357f922494590b5aa'!

and also
$ git-dpm tag
git-dpm: ERROR: 'upstream' differs from recorded one!

I think I missed something.
I don't want to add more errors/problems in the git repository. I am very
new to git-dpm process and I don't want to make the repository (more)
unusable.

Can someone tell me what I missed and fix the error?
Or describe in detail how to fix the problem?

Thanks

-- 
 Dr. Ludovic Rousseau

[toc] | [next] | [standalone]


#7781

FromBrian May <bam@debian.org>
Date2015-10-24 01:10 +0200
Message-ID<qmTDc-7pq-13@gated-at.bofh.it>
In reply to#7780
Ludovic Rousseau <ludovic.rousseau@gmail.com> writes:

> I tried to update my package pykcs11 since the repository moved from SVN to
> git.
> http://anonscm.debian.org/cgit/python-modules/packages/pykcs11.git/
>
> I imported a new upstream .orig.tar.gz version as descibed in
> https://wiki.debian.org/Python/GitPackaging#New_upstream_release
> and could build and upload the package without problem.
>
> Now the command "git-dpm status" fails with:
> $ git-dpm status
> git-dpm: ERROR: 'upstream' does not contain previously recorded revision
> '8234fc2de2b89d65661233b357f922494590b5aa'!

At a guess, it looks like you didn't push the upstream or the
prestine-tar branches to git.debian.org. git-dpm requires all branches
to be pushed, not just master.

git push --all

i.e. pykcs11_1.3.0.orig.tar.gz isn't in prestine-tar, and the upstream
branch should point to the latest upstream import
'8234fc2de2b89d65661233b357f922494590b5aa' but doesn't.

However this shouldn't have caused you errors with your working
directory unless you deleted your working directory and cloned again
from git.debian.org.

> and also
> $ git-dpm tag
> git-dpm: ERROR: 'upstream' differs from recorded one!

This is a known bug with git-dpm. See
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=801548.

Until it is fixed, the best work around seems to be to create the tags
manually, at least until you import a new upstream version. Then the
problem will go away.
-- 
Brian May <bam@debian.org>

[toc] | [prev] | [next] | [standalone]


#7784

FromLudovic Rousseau <ludovic.rousseau@gmail.com>
Date2015-10-24 12:20 +0200
Message-ID<qn45A-5JE-1@gated-at.bofh.it>
In reply to#7781

[Multipart message — attachments visible in raw view] — view raw

2015-10-24 1:02 GMT+02:00 Brian May <bam@debian.org>:

> Ludovic Rousseau <ludovic.rousseau@gmail.com> writes:
>
> > I tried to update my package pykcs11 since the repository moved from SVN
> to
> > git.
> > http://anonscm.debian.org/cgit/python-modules/packages/pykcs11.git/
> >
> > I imported a new upstream .orig.tar.gz version as descibed in
> > https://wiki.debian.org/Python/GitPackaging#New_upstream_release
> > and could build and upload the package without problem.
> >
> > Now the command "git-dpm status" fails with:
> > $ git-dpm status
> > git-dpm: ERROR: 'upstream' does not contain previously recorded revision
> > '8234fc2de2b89d65661233b357f922494590b5aa'!
>
> At a guess, it looks like you didn't push the upstream or the
> prestine-tar branches to git.debian.org. git-dpm requires all branches
> to be pushed, not just master.
>
> git push --all
>

Ah.
Maybe this should be added in the documentation
https://wiki.debian.org/Python/GitPackaging


> i.e. pykcs11_1.3.0.orig.tar.gz isn't in prestine-tar, and the upstream
> branch should point to the latest upstream import
> '8234fc2de2b89d65661233b357f922494590b5aa' but doesn't.
>

pykcs11_1.3.0.orig.tar.gz is in pristine-tar but the new version 1.3.1
is/was not.

However this shouldn't have caused you errors with your working
> directory unless you deleted your working directory and cloned again
> from git.debian.org.
>

I cloned again the repo from  git.debian.org :-(

I now just did:
$ git-dpm import-new-upstream --ptc --rebase-patched
../pykcs11_1.3.1.orig.tar.gz
git-dpm: ERROR: Cowardly refusing to run as 'upstream' differs from
recorded '8234fc2de2b89d65661233b357f922494590b5aa'!.
Use --ignore-unclean-branches to delete/ignore it.
Or if you manually modified that branch to contain more history and want to
incorporate that (and only then) use --use-strange-upstream-branch.

And then I forced the command:
$ git-dpm import-new-upstream --ptc --rebase-patched
--ignore-unclean-branches ../pykcs11_1.3.1.orig.tar.gz
git-dpm: WARNING: upstream was out of date, deleting first...
Branche upstream supprimée (précédemment 171ade5).
Created upstream with contents of pykcs11_1.3.1.orig.tar.gz and parents
8234fc2de2b89d65661233b357f922494590b5aa
There were no patches recorded, so merging the new state directly (no
git-dpm rebase-patched needed).
git-dpm: WARNING: No parent commit specified.
This means the upstream branch was created from the .orig.tar with only
theold upstream branch as parent (but not any possible upstream git
history).
Use 'git config dpm.importWithoutParent true' to no longer show this
warning.
or 'git config dpm.importWithoutParent false' to make this an hard error.
calling pristine-tar commit '../pykcs11_1.3.1.orig.tar.gz'
'4cf2e546ad26235a581cb9b6cfa9bbea0b415b80'...
pristine-tar: committed pykcs11_1.3.1.orig.tar.gz.delta to branch
pristine-tar

I now have commits in upstream and pristine-tar branches.
And also a new (duplicate) commit in master "record new upstream branch
created by importing pykcs11_1.3.1.orig.tar.gz and merge it"

The good news:
$ git-dpm status
git-dpm: everything up to date


> and also
> > $ git-dpm tag
> > git-dpm: ERROR: 'upstream' differs from recorded one!
>
> This is a known bug with git-dpm. See
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=801548.
>
> Until it is fixed, the best work around seems to be to create the tags
> manually, at least until you import a new upstream version. Then the
> problem will go away.
>

With my changes above I now have:
$ git-dpm tag
Creating new tag 'upstream/1.3.1'...
Creating new tag 'patched/1.3.1-1'...
Creating new tag 'debian/1.3.1-1'...

I looks like the repo is back in order.
I will see if I have problems the next time I update the package.

Thanks

-- 
 Dr. Ludovic Rousseau

[toc] | [prev] | [next] | [standalone]


#7786

FromScott Kitterman <debian@kitterman.com>
Date2015-10-24 19:50 +0200
Message-ID<qnb74-7lL-23@gated-at.bofh.it>
In reply to#7784
On Saturday, October 24, 2015 12:11:14 PM Ludovic Rousseau wrote:
> 2015-10-24 1:02 GMT+02:00 Brian May <bam@debian.org>:
> > Ludovic Rousseau <ludovic.rousseau@gmail.com> writes:
> > > I tried to update my package pykcs11 since the repository moved from SVN
> > 
> > to
> > 
> > > git.
> > > http://anonscm.debian.org/cgit/python-modules/packages/pykcs11.git/
> > > 
> > > I imported a new upstream .orig.tar.gz version as descibed in
> > > https://wiki.debian.org/Python/GitPackaging#New_upstream_release
> > > and could build and upload the package without problem.
> > > 
> > > Now the command "git-dpm status" fails with:
> > > $ git-dpm status
> > > git-dpm: ERROR: 'upstream' does not contain previously recorded revision
> > > '8234fc2de2b89d65661233b357f922494590b5aa'!
> > 
> > At a guess, it looks like you didn't push the upstream or the
> > prestine-tar branches to git.debian.org. git-dpm requires all branches
> > to be pushed, not just master.
> > 
> > git push --all
> 
> Ah.
> Maybe this should be added in the documentation
> https://wiki.debian.org/Python/GitPackaging
...
> I looks like the repo is back in order.
> I will see if I have problems the next time I update the package.
...

Please feel free to update the wiki based on your experience.

Scott K

[toc] | [prev] | [next] | [standalone]


#7787

FromLudovic Rousseau <ludovic.rousseau@gmail.com>
Date2015-10-24 21:10 +0200
Message-ID<qncmt-Te-3@gated-at.bofh.it>
In reply to#7786

[Multipart message — attachments visible in raw view] — view raw

2015-10-24 19:42 GMT+02:00 Scott Kitterman <debian@kitterman.com>:

> On Saturday, October 24, 2015 12:11:14 PM Ludovic Rousseau wrote:
> > 2015-10-24 1:02 GMT+02:00 Brian May <bam@debian.org>:
> > > Ludovic Rousseau <ludovic.rousseau@gmail.com> writes:
> > > > I tried to update my package pykcs11 since the repository moved from
> SVN
> > >
> > > to
> > >
> > > > git.
> > > > http://anonscm.debian.org/cgit/python-modules/packages/pykcs11.git/
> > > >
> > > > I imported a new upstream .orig.tar.gz version as descibed in
> > > > https://wiki.debian.org/Python/GitPackaging#New_upstream_release
> > > > and could build and upload the package without problem.
> > > >
> > > > Now the command "git-dpm status" fails with:
> > > > $ git-dpm status
> > > > git-dpm: ERROR: 'upstream' does not contain previously recorded
> revision
> > > > '8234fc2de2b89d65661233b357f922494590b5aa'!
> > >
> > > At a guess, it looks like you didn't push the upstream or the
> > > prestine-tar branches to git.debian.org. git-dpm requires all branches
> > > to be pushed, not just master.
> > >
> > > git push --all
> >
> > Ah.
> > Maybe this should be added in the documentation
> > https://wiki.debian.org/Python/GitPackaging
> ...
> > I looks like the repo is back in order.
> > I will see if I have problems the next time I update the package.
> ...
>
> Please feel free to update the wiki based on your experience.
>

Good idea.
Done in the "New upstream release" chapter.
https://wiki.debian.org/Python/GitPackaging#New_upstream_release

Maybe that is not the best place.

Bye

-- 
 Dr. Ludovic Rousseau

[toc] | [prev] | [next] | [standalone]


#7792

FromBrian May <bam@debian.org>
Date2015-10-25 08:50 +0100
Message-ID<qnodX-7zo-11@gated-at.bofh.it>
In reply to#7784
Ludovic Rousseau <ludovic.rousseau@gmail.com> writes:

>> git push --all
>>
>
> Ah.
> Maybe this should be added in the documentation
> https://wiki.debian.org/Python/GitPackaging

Yes. I notice that the git-dpm man page is also fails to mention
this. At least in the version on Jessie. I imagine the version in sid
will be the same.

> I now just did:

Oops. Sounds like while what you did worked, all you needed to fix the
problem - in this particular case - was:

git checkout upstream
git merge --ff-only 8234fc2de2b89d65661233b357f922494590b5aa
git checkout master

You may have also needed the pristine-tar command to add the version.

As the commit still existed - it was part of the master branch, it just
wasn't part of the upstream branch.

Sorry, I probably should have mentioned this. I tested it, but didn't
think of saying it worked :-(.

In any case it sounds like you have a working repository, and that is
the important thing. It all looks good to me. Don't run the above
commands now.

> With my changes above I now have:
> $ git-dpm tag
> Creating new tag 'upstream/1.3.1'...
> Creating new tag 'patched/1.3.1-1'...
> Creating new tag 'debian/1.3.1-1'...

That is also pretty good. I think git-dpm has its own format for these
tags and gets upset if it sees an existing tag that is different. Even
though it points to the same version.

Wish it was possible to get git-dpm to create the upstream tag, but not
the other two. e.g. when you have imported new source, but not ready to
make a Debian release.

> I looks like the repo is back in order.
> I will see if I have problems the next time I update the package.

Yes, I imagine it should be fine now.


I think the important things with git-dpm are:

1. Don't push until you are absolutely happy. That way even if you stuff
it up entirely you can just delete, reclone, and retry. I have done this
on one occasion when I imported a new source version and didn't like
some of the decisions I had made.

You could also find a temporary location somewhere (dare I say github?
or gitlab?) push there and ask for help if you are worried. Then delete
it when done.

2. Remember to push the "upstream" and "prestine-tar" branches, as well
as the "master" branch. In fact, remember the tags too. I need to use:

git push --all
git push --tags

As sometimes "git push --all" won't push the tags - I think it won't
push the tag if the changeset is already on the server.
-- 
Brian May <bam@debian.org>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.maint.python


csiph-web