[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



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>


Reply to: