Re: [aur-general] My AUR4 migration workflow
Generate .SRCINFO for all packages:
$ while read p; do git -C "$p" filter-branch -f --tree-filter "test -f .SRCINFO || mksrcinfo"; done < ../pkgs
Don't do it like that. This creates a .SRCINFO from the first PKGBUILD of the package and doesn't update the file for later commits anymore. So your .SRCINFO is outdated in all following commits. The problem was in one of the scripts linked in the wiki but is fixed there, too. So don't test for .SRCINFO, *always* run mksrcinfo. -- JonnyJD
* Johannes Dewender <arch@JonnyJD.net> [2015-06-12 02:24:10 +0200]:
Generate .SRCINFO for all packages:
$ while read p; do git -C "$p" filter-branch -f --tree-filter "test -f .SRCINFO || mksrcinfo"; done < ../pkgs
Don't do it like that. This creates a .SRCINFO from the first PKGBUILD of the package and doesn't update the file for later commits anymore. So your .SRCINFO is outdated in all following commits.
The problem was in one of the scripts linked in the wiki but is fixed there, too.
So don't test for .SRCINFO, *always* run mksrcinfo.
Hmm. Instinctively I'd have agreed, but I can't reproduce this. I think git filter-branch actually checks out each "vanilla" commit from the original branch to apply the given changes, and doesn't base them on the already-changed commits: $ ls -la total 12 drwxr-xr-x 2 florian florian 4096 Jun 12 06:17 ./ drwxr-xr-x 97 florian florian 4096 Jun 12 06:12 ../ -rw-r--r-- 1 florian florian 655 Jun 12 06:17 PKGBUILD $ git init Initialized empty Git repository in /home/florian/tmp/pkgtest/.git/ $ git add PKGBUILD $ git commit -m first [master (root-commit) deb3fb4] first 1 file changed, 22 insertions(+) create mode 100644 PKGBUILD $ vim PKGBUILD $ git --no-pager diff diff --git a/PKGBUILD b/PKGBUILD index 9cbf7fd..c692f82 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ pkgname=python-colorlog pkgver=2.4.0 -pkgrel=1 +pkgrel=2 pkgdesc="Log formatting with colors" arch=(any) url="https://pypi.python.org/pypi/colorlog" $ git commit -am "pkgrel=2" [master 9d6ab14] pkgrel=2 1 file changed, 1 insertion(+), 1 deletion(-) $ git filter-branch -f --tree-filter "test -f .SRCINFO || mksrcinfo" Rewrite 9d6ab14bc84d9e49f087f71c9d914ec091d67bfa (2/2) Ref 'refs/heads/master' was rewritten $ git --no-pager log --oneline 96bc19c pkgrel=2 816f018 first $ git --no-pager diff HEAD~1..HEAD diff --git a/.SRCINFO b/.SRCINFO index 068f716..b10a558 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = python-colorlog pkgdesc = Log formatting with colors pkgver = 2.4.0 - pkgrel = 1 + pkgrel = 2 url = https://pypi.python.org/pypi/colorlog arch = any license = MIT diff --git a/PKGBUILD b/PKGBUILD index 9cbf7fd..c692f82 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ pkgname=python-colorlog pkgver=2.4.0 -pkgrel=1 +pkgrel=2 pkgdesc="Log formatting with colors" arch=(any) url="https://pypi.python.org/pypi/colorlog" Am I missing something? Have you actually verified this or is it just a guess? ;) Florian -- http://www.the-compiler.org | me@the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/
On Thu, Jun 11, 2015 at 11:24 PM, Florian Bruhin <me@the-compiler.org> wrote:
Hmm. Instinctively I'd have agreed, but I can't reproduce this.
I think git filter-branch actually checks out each "vanilla" commit from the original branch to apply the given changes, and doesn't base them on the already-changed commits:
[...]
Am I missing something? Have you actually verified this or is it just a guess? ;)
Florian
-- http://www.the-compiler.org | me@the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/
Either way, is it that terrible to make sure the .SRCINFO is up to date? If there is already one, it *should* just replace it with an identical copy... resulting in no diff. And if there is a diff, that means something once went wrong... But yes, I believe filter-branch will only change that specific commit (and if the change is not added to the next commit, it is then deleted). -- Eli Schwartz
* Eli Schwartz <eschwartz93@gmail.com> [2015-06-11 23:37:25 -0500]:
On Thu, Jun 11, 2015 at 11:24 PM, Florian Bruhin <me@the-compiler.org> wrote:
Hmm. Instinctively I'd have agreed, but I can't reproduce this.
I think git filter-branch actually checks out each "vanilla" commit from the original branch to apply the given changes, and doesn't base them on the already-changed commits:
[...]
Am I missing something? Have you actually verified this or is it just a guess? ;)
[...]
Either way, is it that terrible to make sure the .SRCINFO is up to date? If there is already one, it *should* just replace it with an identical copy... resulting in no diff. And if there is a diff, that means something once went wrong...
No, of course the change *does* make sense. Sorry for not making this more clear in my answer. I was mainly trying to figure out if I have to find out how I could force-push to correct anything that's been pushed wrong, and then found out it's hopefully not necessary to do so. Florian -- http://www.the-compiler.org | me@the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/
participants (3)
-
Eli Schwartz
-
Florian Bruhin
-
Johannes Dewender