Summary: | repoman commit on git repo makes two commits instead of one | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Alexey Shvetsov <alexxy> |
Component: | Repoman | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | Keywords: | InVCS |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 210077, 216231 | ||
Attachments: | use single git commit for all files (applies to 2.2_rc16 or 2.1.6_rc1) |
Description
Alexey Shvetsov
2008-11-23 20:41:41 UTC
probably because the code to figure out what gets expanded and what not is missing from the current git case. You'd like the same case as svn somehow, but perhaps without any expansions. See around line 1863 of repoman. Does git support (In reply to comment #0) > repoman commit on git repo makes two commits: > 1 with ebuild and suplementary files > 2 wth manifest and metadata.xml > while it sould be one! The current behavior is an artifact of the fact that gentoo's tree uses cvs keyword expansion, which means that the Manifest has to be regenerated and committed after files containing keyword expansions have been committed. Does git support keyword expansion in the same sense that cvs and subversion do? I found a small reference to it in the GitFaq: http://git.or.cz/gitwiki/GitFaq#head-4a0afe71a2bb7734777a8b0b345e0308aefdbd40 It references the gitattributes man page: http://www.kernel.org/pub/software/scm/git/docs/gitattributes.html The gitattributes man page mentions an "export-subst" attribute in the "Creating an archive" section. If I understand correctly, repoman does not have to be concerned about this form of expansion, since it only applies to an archive like the git-archive command would create. So, perhaps repoman can assume that there is never any expansion with git, and the Manifest can always be committed together with all of the other files? Created attachment 173409 [details, diff]
use single git commit for all files (applies to 2.2_rc16 or 2.1.6_rc1)
If this patch is saved as /tmp/single_git_commit.patch, then it can be applied as follows:
patch /usr/lib/portage/bin/repoman /tmp/single_git_commit.patch
This is fixed in 2.1.6_rc2. |