Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 485402

Summary: emerge --sync - git update of new repository fails: fatal: Not a git repository (or any of the parent directories): .git
Product: Portage Development Reporter: Thomas Deutschmann (RETIRED) <whissi>
Component: UnclassifiedAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal CC: derk.tebokkel, esigra, hristo
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 240187, 484436    
Attachments: portage_add_git_clone.patch

Description Thomas Deutschmann (RETIRED) gentoo-dev 2013-09-19 11:59:44 UTC
Hi,

some weeks ago, portage introduced /etc/portage/repos.conf support.

Today I tried to use that feature, to get rid off layman.

Reproducible: Always

Steps to Reproduce:
1. mkdir -p /usr/overlays/test-overlay

2. Create "/etc/portage/repos.conf/test.conf" with the following content:
[test-overlay]
location = /usr/overlays/test-overlay
sync-type = git
sync-uri = https://git.overlays.gentoo.org/gitroot/dev/TomWij.git


3. Run "emerge --sync"

Actual Results:  
>>> Synchronization of repository 'test-overlay' located in '/usr/overlays/test-overlay'...
>>> Starting git pull in /usr/overlays/test-overlay...
fatal: Not a git repository (or any of the parent directories): .git
!!! git pull error in /usr/overlays/test-overlay.


Expected Results:  
Because I did not find a notice in the man page, that I have to make the initial clone, I expect that portage should have notice, that /usr/overlays/test-overlay is empty and therefor create (clone) the repository first.

Workaround:
Actual you have to manually create the initial repository (=after step 1 go to /usr/overlays/test-overlay and manually run "git clone ..."). After that, every "emerge --sync" will also update the repository as expected.
Comment 1 Chris Reffett (RETIRED) gentoo-dev Security 2014-01-13 22:50:17 UTC
Created attachment 367814 [details, diff]
portage_add_git_clone.patch

This patch makes portage test whether the target dir is a git repo and clones if it isn't. On hold for Portage submission since we may be redoing the sync setup in the very near future.
Comment 2 Zac Medico gentoo-dev 2015-08-28 20:25:44 UTC
This should be fixed since 2.2.16 when we merged the modular sync support.
Comment 3 Zac Medico gentoo-dev 2016-03-14 04:09:05 UTC
*** Bug 514926 has been marked as a duplicate of this bug. ***
Comment 4 Zac Medico gentoo-dev 2016-03-14 04:12:06 UTC
(In reply to Chris Reffett from comment #1)
> Created attachment 367814 [details, diff] [details, diff]
> portage_add_git_clone.patch

That's in the master branch:

https://gitweb.gentoo.org/proj/portage.git/commit/?id=112cd2845874291719582e5cd11c2c757157c68d