Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 252727 - repoman doesnt commit changelogs to git repos
Summary: repoman doesnt commit changelogs to git repos
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Repoman (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 210077 254662
  Show dependency tree
 
Reported: 2008-12-27 18:38 UTC by Alexey Shvetsov
Modified: 2009-01-12 20:08 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
use git-diff-index for interrogation (diff-index.patch,2.26 KB, patch)
2008-12-28 20:32 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Shvetsov archtester gentoo-dev 2008-12-27 18:38:58 UTC
repoman from portage 2.2rc19 doesnt commit changelogs to git repos
for example see
http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=commit;h=1b827d63df62b46b69092eef6c0572d12407d9fe
and 
http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=commit;h=7c1e412b8486f545b5b2ca24f352050f44e3e398

Reproducible: Always
Comment 1 Zac Medico gentoo-dev 2008-12-27 22:44:40 UTC
I'm not sure how this could happen. Maybe if you give some details about your workflow then that will give us a clue. For example, did you use echangelog to create the changelog entry?

The way that repoman queries git for relevant files is with `git ls-files -m --with-tree=HEAD`, `git diff --cached --name-only --diff-filter=A`, and `git diff --cached --name-only --diff-filter=D`. It seems like `git ls-files -m --with-tree=HEAD` should have picked up your changelog modification.

Can you reproduce the problem, and post the repoman output? Also, the output of various git commands before and after, such as `git ls-files -m --with-tree=HEAD` and `git status`, might provide some helpful clues.
Comment 2 Alexey Shvetsov archtester gentoo-dev 2008-12-28 09:06:01 UTC
I do it like thet
make needed modifycations to ebuilds/adding ebuilds patches
run git add .
run echangelog
run repoman manifest
run repoman full 
run repoman commit
as you can see previos example repoman commit doesnt add Changelog

BTW I thinck it will be usefull if repoman commit message can be used as Changelog entry =)
Comment 3 Alexey Shvetsov archtester gentoo-dev 2008-12-28 09:53:53 UTC
alexxy@xeon ~/kde/kde-base/kde-l10n $ vi kde-l10n-4.1.85.ebuild
alexxy@xeon ~/kde/kde-base/kde-l10n $
alexxy@xeon ~/kde/kde-base/kde-l10n $
alexxy@xeon ~/kde/kde-base/kde-l10n $ echangelog Drop ~ppc ~ppc64 keywords
--- ChangeLog   2008-12-20 22:45:19.000000000 +0300
+++ ChangeLog.new       2008-12-28 12:48:11.000000000 +0300
@@ -2,6 +2,9 @@
 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $

+  28 Dec 2008; Alexey Shvetsov <alexxy@gentoo.ru> kde-l10n-4.1.85.ebuild:
+  Drop ~ppc ~ppc64 keywords
+
 *kde-l10n-4.1.85 (15 Dec 2008)

   15 Dec 2008; Alexey Shvetsov <alexxy@gentoo.ru> +kde-l10n-4.1.85.ebuild:
alexxy@xeon ~/kde/kde-base/kde-l10n $ repoman manifest
>>> Creating Manifest for /home/alexxy/kde/kde-base/kde-l10n
alexxy@xeon ~/kde/kde-base/kde-l10n $ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   ChangeLog
#
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#
#       modified:   Manifest
#       modified:   kde-l10n-4.1.85.ebuild
#
alexxy@xeon ~/kde/kde-base/kde-l10n $ git ls-files -m --with-tree=HEAD
Manifest
kde-l10n-4.1.85.ebuild

So seems i need to run git add after echangelog again =) looks like a bug
heh after git add . i have this
alexxy@xeon ~/kde/kde-base/kde-l10n $ repoman commit

RepoMan scours the neighborhood...
>>> Creating Manifest for /home/alexxy/kde/kde-base/kde-l10n
  ebuild.allmasked              1
   kde-base/kde-l10n
Note: use --include-dev (-d) to check dependencies for 'dev' profiles
RepoMan sez: "Doing nothing is not always good for QA."

(Didn't find any changed files...)
so its a real bug =)
Comment 4 Alexey Shvetsov archtester gentoo-dev 2008-12-28 10:08:51 UTC
Hmm looks like a problem partialy related to echangelog since it run git add Changelog so repoman thinks thet this file already commited =)
Comment 5 Zac Medico gentoo-dev 2008-12-28 20:32:51 UTC
Created attachment 176663 [details, diff]
use git-diff-index for interrogation

If this patch is saved as /tmp/diff-index.patch, then it can be applied as follows:

 patch /usr/lib/portage/bin/repoman /tmp/diff-index.patch
Comment 6 Zac Medico gentoo-dev 2009-01-12 20:08:52 UTC
This is fixed in 2.1.6.5 and 2.2_rc21.