Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Gentoo Package Repository now using Git
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4, 5  Next  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Fri Aug 14, 2015 1:19 pm    Post subject: Reply with quote

For paludis, I have come up with a configuration that uses the github gentoo mirror and updates metadata-cache, glsa, dtd, news and herds.xml.

https://github.com/hasufell/paludis-gentoo-git-config

If someone can come up with a similar configuration for portage, please post it. The hooks should almost work the same with very minor adjustment.
Back to top
View user's profile Send private message
freke
l33t
l33t


Joined: 23 Jan 2003
Posts: 977
Location: Somewhere in Denmark

PostPosted: Fri Aug 14, 2015 6:15 pm    Post subject: Reply with quote

hasufell wrote:
For paludis, I have come up with a configuration that uses the github gentoo mirror and updates metadata-cache, glsa, dtd, news and herds.xml.

https://github.com/hasufell/paludis-gentoo-git-config

If someone can come up with a similar configuration for portage, please post it. The hooks should almost work the same with very minor adjustment.


I've tried this - based VERY much on your files - seems to work fine... :)
Code:
ns portage # cat /etc/portage/repo.postsync.d/example


#!/bin/sh
# Example /etc/portage/repo.postsync.d script. Make it executable (chmod +x) for
# Portage to process it.
#
# With portage-2.2.16 and newer, all repo.postsync.d hooks will be called multiple
# times after syncing each repository.
#
# Older versions of Portage support syncing only one repository.
# In those versions, the postsync.d hooks will be called only once,
# and they will not be passed any parameters.

# On a repo.postsync.d hook call, positional parameters contain
# information about the just-synced repository.

# Your hook can control it's actions depending on any of the three
# parameters passed in to it.
#
# They are as follows:
#
# The repository name.
repository_name=${1}
# The URI to which the repository was synced.
sync_uri=${2}
# The path to the repository.
repository_path=${3}

# Portage assumes that a hook succeeded if it exits with 0 code. If no
# explicit exit is done, the exit code is the exit code of last spawned
# command. Since our script is a bit more complex, we want to control
# the exit code explicitly.
ret=0

if [ -n "${repository_name}" ]; then
        # Repository name was provided, so we're in a post-repository hook.
        echo "* In post-repository hook for ${repository_name}"
        echo "** synced from remote repository ${sync_uri}"
        echo "** synced into ${repository_path}"

        # Gentoo comes with pregenerated cache but the other repositories
        # usually don't. Generate them to improve performance.
        # if [ "${repository_name}" != "gentoo" ]; then
                echo "Generating metadata-cache"
                if ! egencache --update --repo="${repository_name}" --jobs=4
                then
                        echo "!!! egencache failed!"
                        ret=1
                fi
        # fi
        if [ "${repository_name}" = "gentoo" ]; then
                echo "Syncing DTD"
                cd "${repository_path}"/metadata
                if [[ -e dtd ]] ; then
                        echo "dtd dir already exists, updating..."
                        cd dtd
                        git pull --ff
                else
                        echo "dtd diretory does not exist, cloning..."
                        git clone https://anongit.gentoo.org/git/data/dtd.git
                fi
                echo "Syncing GLSAs"
                cd "${repository_path}"/metadata
                if [[ -e glsa ]] ; then
                        echo "glsa dir already exists, updating..."
                        cd glsa
                        git pull --ff
                else
                        echo "glsa diretory does not exist, cloning..."
                        git clone https://anongit.gentoo.org/git/data/glsa.git
                fi
                echo "Syncing news"
                cd "${repository_path}"/metadata
                if [[ -e news ]] ; then
                        echo "news dir already exists, updating..."
                        cd news
                        git pull --ff
                else
                        echo "news directory does not exist, cloning..."
                        git clone https://anongit.gentoo.org/git/proj/gentoo-news.git news
                fi
                cd "${repository_path}"/metadata/news
                git clean -fdxq
                cp -a */* .
                echo "Syncing herds.xml"
                cd "${repository_path}"/metadata
                [[ -e "${repository_path}"/metadata/herds.xml ]] &&  rm "${repository_path}"/metadata/herds.xml
                wget https://gitweb.gentoo.org/proj/api.git/plain/files/packages/herds.xml
        fi
fi

# Return explicit status.
exit "${ret}"
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Fri Aug 14, 2015 8:27 pm    Post subject: Reply with quote

freke wrote:
hasufell wrote:
For paludis, I have come up with a configuration that uses the github gentoo mirror and updates metadata-cache, glsa, dtd, news and herds.xml.

https://github.com/hasufell/paludis-gentoo-git-config

If someone can come up with a similar configuration for portage, please post it. The hooks should almost work the same with very minor adjustment.


I've tried this - based VERY much on your files - seems to work fine... :)

I think that should be postsync.d not repo.postsync.d

Here is the portage configuration I wrote up based on my hooks: https://github.com/hasufell/portage-gentoo-git-config
Back to top
View user's profile Send private message
x17324
n00b
n00b


Joined: 07 Oct 2013
Posts: 22

PostPosted: Sat Aug 15, 2015 5:36 am    Post subject: Reply with quote

trippels wrote:
x17324 wrote:
trippels wrote:
Code:
emerge --jobs 4 --regen

speeds up eix-update.



I have ran this command ,and my eix can not include /usr/portage into it's database, so please tell me how to resume this operating?


and this is my error

eix-update
Reading Portage settings ..
Building database (/var/cache/eix/portage.eix) ..
[0] 'gentoo' /usr/portage/ (cache: metadata-md5-or-flat)
Reading category 170|170 (100%) EMPTY!

it says EMPTY! ,and I cant use eix anymore;


Like I wrote above you need to add something like:
Code:
CACHE_METHOD="/usr/portage/ parse|ebuild*"

in your /etc/eixrc/eixrc .



It works Thank U :D
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8708
Location: ~Brussels - Belgique

PostPosted: Sat Aug 15, 2015 8:28 am    Post subject: Reply with quote

It works, but it is awfully slow...
Why are this metadata gone from the git repository ?
How can we generate it ?

I have many computers using eix, and I would like to generate the metadata once.
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
livibetter
n00b
n00b


Joined: 19 Apr 2009
Posts: 63
Location: Taipei, Taiwan

PostPosted: Sat Aug 15, 2015 10:12 am    Post subject: Reply with quote

I see many people here is trying to do something with the Git for development.

Back in May, I switched to Git sync using

https://github.com/gentoo/gentoo-portage-rsync-mirror

Which is now deprecated, you can see metadata has cache, GLSA, news and other stuff.

https://github.com/gentoo/gentoo-portage-rsync-mirror/tree/master/metadata

The new location for user syncing, as it states in README:

https://github.com/gentoo-mirror/gentoo
https://github.com/gentoo-mirror/gentoo/tree/master/metadata

Which does not have GLSA and news, just the pre-generated metadata cache, I am hoping the rest will appear like the gentoo-portage-rsync-mirror, it's been a couple of days, so I am not sure if this repository is for that usage.

Is there an official guide for users who want to use Git sync for the same content via rsync? Or is there a correct official repository for what we want here that I am currently not aware of?
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Sat Aug 15, 2015 10:50 am    Post subject: Reply with quote

livibetter wrote:
Is there an official guide for users who want to use Git sync for the same content via rsync? Or is there a correct official repository for what we want here that I am currently not aware of?

Read 3 posts above your post.
Back to top
View user's profile Send private message
freke
l33t
l33t


Joined: 23 Jan 2003
Posts: 977
Location: Somewhere in Denmark

PostPosted: Sat Aug 15, 2015 12:59 pm    Post subject: Reply with quote

hasufell wrote:
freke wrote:
hasufell wrote:
For paludis, I have come up with a configuration that uses the github gentoo mirror and updates metadata-cache, glsa, dtd, news and herds.xml.

https://github.com/hasufell/paludis-gentoo-git-config

If someone can come up with a similar configuration for portage, please post it. The hooks should almost work the same with very minor adjustment.


I've tried this - based VERY much on your files - seems to work fine... :)

I think that should be postsync.d not repo.postsync.d

Here is the portage configuration I wrote up based on my hooks: https://github.com/hasufell/portage-gentoo-git-config


Forgot the first time - but thanks :) and thanks again for the portage versions :)

I think I like them better in repo.postsync.d - as in I can control for which repos to run the different scripts there?
ie. cache-regen for every synced repo - dtd-sync if repo-name =gentoo etc...

ie.
Code:
10-cache

#!/bin/bash

repository_name=${1}
sync_uri=${2}
repository_path=${3}
source /etc/init.d/functions.sh
source /etc/portage/util-functions.sh

einfo "Updating metadata-cache for '${repository_name}'"
egencache --update --repo="${repository_name}" --jobs=4 --update-use-local-desc || die "** egencache failed!"
einfo "Done updating metadata-cache for '${repository_name}'"

Code:
20-gentoo-dtd

#!/bin/bash

repository_name=${1}
sync_uri=${2}
repository_path=${3}
source /etc/init.d/functions.sh
source /etc/portage/util-functions.sh

if [ "${repository_name}" = "gentoo" ]; then
        einfo "Updating dtd directory for '${repository_name}'"
        cd "${repository_path}"/metadata || die "** could not cd into '${repository_path}/metadata'!"
        if [[ -e dtd ]] ; then
                einfo "* dtd dir already exists, updating..."
                cd dtd || die "** could not cd into 'dtd'!"
                git pull --ff -q || die "** could not pull updates!"
        else
                einfo "* dtd directory does not exist, cloning..."
                git clone -q https://anongit.gentoo.org/git/data/dtd.git || die "** could not clone repository!"
        fi
        einfo "Done updating dtd directory for '${repository_name}'"
fi

Code:
30-gentoo-glsa

#!/bin/bash

repository_name=${1}
sync_uri=${2}
repository_path=${3}
source /etc/init.d/functions.sh
source /etc/portage/util-functions.sh

if [ "${repository_name}" = "gentoo" ]; then
        einfo "Updating glsa directory for '${repository_name}'"
        cd "${repository_path}"/metadata || die "** could not cd into '${repository_path}/metadata'!"
        if [[ -e glsa ]] ; then
        einfo "* glsa dir already exists, updating..."
                cd glsa || die "** could not cd into 'glsa'!"
                git pull --ff -q || die "** could not pull updates!"
        else
                einfo "* glsa directory does not exist, cloning..."
                git clone -q https://anongit.gentoo.org/git/data/glsa.git || die "** could not clone repository!"
        fi
        einfo "Done updating glsa directory for '${repository_name}'"
fi

Code:
40-gentoo-herds

#!/bin/bash

repository_name=${1}
sync_uri=${2}
repository_path=${3}
source /etc/init.d/functions.sh
source /etc/portage/util-functions.sh

if [ "${repository_name}" = "gentoo" ]; then
        einfo "Updating herds.xml for '${repository_name}'"
        cd "${repository_path}"/metadata || die "** could not cd into ${repository_path}/metadata"
        [[ -e "${repository_path}"/metadata/herds.xml ]] &&  { rm "${repository_path}"/metadata/herds.xml || die "** failed to remove herds.xml!" ;}
        wget -q https://gitweb.gentoo.org/proj/api.git/plain/files/packages/herds.xml || die "** failed to wget herds.xml!"
        einfo "Done updating herds.xml for '${repository_name}'"
fi

Code:
50-gentoo-news

#!/bin/bash

repository_name=${1}
sync_uri=${2}
repository_path=${3}
source /etc/init.d/functions.sh
source /etc/portage/util-functions.sh

if [ "${repository_name}" = "gentoo" ]; then
        einfo "Updating news for '${repository_name}'"
        cd "${repository_path}"/metadata || die "** could not cd into ${repository_path}/metadata"
        if [[ -e news ]] ; then
                einfo "* news dir already exists, updating..."
                cd news || die "** could not cd into 'news'!"
                git pull -q --ff || die "** could not pull updates!"
        else
                einfo "* news directory does not exist, cloning..."
                git clone -q https://anongit.gentoo.org/git/proj/gentoo-news.git news || die "** could not cline repository!"
        fi
        cd "${repository_path}"/metadata/news || die "** could not cd into 'news'!"
        git clean -fdxq || die "** failed to clean git repo!"
        if [[ -n "$(find . -mindepth 1 -maxdepth 1 -type d -name "*-*-*")" ]] ; then
                die "*** it seems the repository format of proj/gentoo-news has changed! Update your script!"
        else
                cp -a */* . || die "** could not copy news dirs to base news dir!"
        fi
        einfo "Done updating news for '${repository_name}'"
fi


All shameless ripoffs of yours...

Also - in https://github.com/hasufell/portage-gentoo-git-config/blob/master/etc/portage/postsync.d/sync_dtd you're cd'ing into glsa - should 'probably' be dtd ;)
Back to top
View user's profile Send private message
livibetter
n00b
n00b


Joined: 19 Apr 2009
Posts: 63
Location: Taipei, Taiwan

PostPosted: Sat Aug 15, 2015 1:52 pm    Post subject: Reply with quote

hasufell wrote:
livibetter wrote:
Is there an official guide for users who want to use Git sync for the same content via rsync? Or is there a correct official repository for what we want here that I am currently not aware of?

Read 3 posts above your post.


I read that before posting, it's not what I am looking for, what I want is like https://github.com/gentoo/gentoo-portage-rsync-mirror

What I meant "official" is one for user syncing, the whole package, no need for extra setup.
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Sat Aug 15, 2015 1:58 pm    Post subject: Reply with quote

freke wrote:
Also - in https://github.com/hasufell/portage-gentoo-git-config/blob/master/etc/portage/postsync.d/sync_dtd you're cd'ing into glsa - should 'probably' be dtd ;)

ouch, good catch, fixed

https://github.com/hasufell/paludis-gentoo-git-config/commit/19dab7c96993bf605dad2e81121a696659c81e0b
https://github.com/hasufell/portage-gentoo-git-config/commit/6cb94495e10a6c08017e96a47ee2f16775a6ec98
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Sat Aug 15, 2015 2:07 pm    Post subject: Reply with quote

livibetter wrote:
hasufell wrote:
livibetter wrote:
Is there an official guide for users who want to use Git sync for the same content via rsync? Or is there a correct official repository for what we want here that I am currently not aware of?

Read 3 posts above your post.


I read that before posting, it's not what I am looking for, what I want is like https://github.com/gentoo/gentoo-portage-rsync-mirror

What I meant "official" is one for user syncing, the whole package, no need for extra setup.

You asked about a guide first, now you are asking about a repository?

There is nothing like that yet. When mgorny has the time, he might fix https://github.com/gentoo-mirror/gentoo to include those things, but it is not there yet. So the only way is the configuration (or a similar one) I posted.
Back to top
View user's profile Send private message
livibetter
n00b
n00b


Joined: 19 Apr 2009
Posts: 63
Location: Taipei, Taiwan

PostPosted: Sat Aug 15, 2015 2:55 pm    Post subject: Reply with quote

hasufell wrote:

You asked about a guide first, now you are asking about a repository?


I am not now, I asked both in the initial post. I ask for a guide because when I was switching, there was no guide about user syncing using Git, I googled to find that deprecated repository, which actually taught me how to setup the Git sync in detail. I want to read an official guide -- at gentoo.org -- to see if I missed anything, which would certainly have provided an official repository for user syncing. If no guide, at least, an official user syncing repository would still work for me. So, I asked about both.

hasufell wrote:

There is nothing like that yet. When mgorny has the time, he might fix https://github.com/gentoo-mirror/gentoo to include those things, but it is not there yet. So the only way is the configuration (or a similar one) I posted.


I see, thanks for the information, now I know for sure that there is a possibility of having what I had been using for that last three and half months, I just need to wait.
Back to top
View user's profile Send private message
NightMonkey
Guru
Guru


Joined: 21 Mar 2003
Posts: 356
Location: Philadelphia, PA

PostPosted: Mon Aug 17, 2015 12:39 am    Post subject: Speed up eix-update Reply with quote

trippels wrote:
Code:
emerge --jobs 4 --regen

speeds up eix-update.


This also seems to help throughput to disk (with SSDs, at least):

Code:
fuji-02 ~ # taskset -pc 3 `pgrep eix-update`
pid 740's current affinity list: 0-3
pid 740's new affinity list: 3
fuji-02 ~ #


Stops eix-update from hopping around from CPU to CPU and thereby decreases CPU & I/O latency. YMMV. Cheers.
_________________
:D
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2284
Location: Adendorf, Germany

PostPosted: Mon Aug 17, 2015 8:37 am    Post subject: Reply with quote

freke wrote:
Yamakuzure wrote:
hasufell wrote:
I'm cross-posting this here, because it is relevant to the git migration for users: https://forums.gentoo.org/viewtopic-p-7797610.html#7797610
Unfortunately the usage of github you advise there does not work? I always get
Code:
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


using
Code:
sync-uri = https://anongit.gentoo.org/git/repo/gentoo.git
seems to work for me.

Another thing though; GLSAs?

They're in/should be in metadata/glsa - right? but metadata is not synced via git?
Yes, of course.

But as I understand it, we *should* use github, but I can't. None of the repos (including glsa and metadata) allow me to pull.

So currently I have to use anongit.gentoo.org and do the egencache on my own. (Being lazy I do this with eix @hooks.)
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
ggeeoo
n00b
n00b


Joined: 27 Apr 2006
Posts: 48

PostPosted: Mon Aug 17, 2015 2:22 pm    Post subject: Reply with quote

hasufell wrote:
Here is the portage configuration I wrote up based on my hooks: https://github.com/hasufell/portage-gentoo-git-config


hasufell thanks for the config files. One tiny problem that I noticed, is that when there is a new news item, it does not get displayed right after you sync as it normally does. Apparently emerge checks for news before the postsync.d scripts are ran.
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Mon Aug 17, 2015 4:18 pm    Post subject: Reply with quote

Yeah, don't know how to fix that just now. Btw. the configs have been updated, you might want to check out the latest version.
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2284
Location: Adendorf, Germany

PostPosted: Mon Aug 17, 2015 4:27 pm    Post subject: Reply with quote

hasufell wrote:
Yeah, don't know how to fix that just now. Btw. the configs have been updated, you might want to check out the latest version.
Awesome!

Thank you very much!
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Tue Aug 18, 2015 11:11 am    Post subject: Reply with quote

ggeeoo wrote:
One tiny problem that I noticed, is that when there is a new news item, it does not get displayed right after you sync as it normally does. Apparently emerge checks for news before the postsync.d scripts are ran.

Did you try to rename your postsync.d script to something like "01-sync_cache" and "02-sync_dtd" etc? At least in paludis there seems to be some implicit order of things. When I rename those files, it shows me " * You have 7 unread news items (use 'eselect news' to read)" after all that.
Back to top
View user's profile Send private message
jorgicio
n00b
n00b


Joined: 17 Oct 2014
Posts: 47

PostPosted: Wed Aug 19, 2015 6:38 am    Post subject: Reply with quote

ak47wj wrote:
genoobish wrote:


edit2: but now there's this:

Code:

$ eix-update
Reading Portage settings ..
Building database (/var/cache/eix/portage.eix) ..
[0] 'gentoo' /usr/portage/ (cache: metadata-md5-or-flat)
     Reading category 161|161 (100%) EMPTY!

it syncs ok, but the database turns out empty. too early maybe?


CACHE_METHOD="/usr/portage/ parse|ebuild*" eix-update
works for me, but it's extremely slow.


Slow only the 1st time or always?
And does it generate large files?
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2284
Location: Adendorf, Germany

PostPosted: Wed Aug 19, 2015 7:30 am    Post subject: Reply with quote

jorgicio wrote:
ak47wj wrote:
genoobish wrote:


edit2: but now there's this:

Code:

$ eix-update
Reading Portage settings ..
Building database (/var/cache/eix/portage.eix) ..
[0] 'gentoo' /usr/portage/ (cache: metadata-md5-or-flat)
     Reading category 161|161 (100%) EMPTY!

it syncs ok, but the database turns out empty. too early maybe?


CACHE_METHOD="/usr/portage/ parse|ebuild*" eix-update
works for me, but it's extremely slow.


Slow only the 1st time or always?
And does it generate large files?
Just leave it to the default and add one line for each repo like the following to your /etc/eix-sync.conf file: (This example is my config and eix-update flies here!)
Code:
@egencache --jobs="$(($(nproc) + 1))" --repo=gentoo --update
@egencache --jobs="$(($(nproc) + 1))" --repo=bumblebee --update
@egencache --jobs="$(($(nproc) + 1))" --repo=init6 --update
@egencache --jobs="$(($(nproc) + 1))" --repo=java --update
@egencache --jobs="$(($(nproc) + 1))" --repo=kde --update
@egencache --jobs="$(($(nproc) + 1))" --repo=mv --update
@egencache --jobs="$(($(nproc) + 1))" --repo=proaudio --update
@egencache --jobs="$(($(nproc) + 1))" --repo=qt --update
@egencache --jobs="$(($(nproc) + 1))" --repo=seden --update
@egencache --jobs="$(($(nproc) + 1))" --repo=SED-Local --update
@egencache --jobs="$(($(nproc) + 1))" --repo=sunrise --update
@egencache --jobs="$(($(nproc) + 1))" --repo=vmware --update
I just died an eix-sync, and the stats are:
Code:
9 seconds for syncing
5 seconds for eix-update
1 second for eix-diff
102 seconds total
The 87 seconds difference are the calls to egencache I assume.
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
mi_unixbird
Tux's lil' helper
Tux's lil' helper


Joined: 24 Jul 2015
Posts: 118

PostPosted: Thu Aug 20, 2015 1:34 am    Post subject: Reply with quote

It should be noted that the --quiet flag with the git sync pretty much does nothing, not sure if intended but the output is very verbose even with that flag. Should probably be looked atl.
_________________
execctl --path exec filectl --current-directory list
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2284
Location: Adendorf, Germany

PostPosted: Thu Aug 20, 2015 8:38 am    Post subject: Reply with quote

Today I hit an unnerving issue, note that I didn't touch anything:
Code:
 * Starte emerge --sync
>>> Syncing repository 'gentoo' into '/usr/portage'...
/usr/bin/git pull
remote: Counting objects: 680, done.
remote: Compressing objects: 100% (678/678), done.
remote: Total 680 (delta 470), reused 0 (delta 0)
Receiving objects: 100% (680/680), 267.04 KiB | 429.00 KiB/s, done.
Resolving deltas: 100% (470/470), completed with 223 local objects.
From git://anongit.gentoo.org/repo/gentoo
   262ee4d..766e0bd  master     -> origin/master
Updating 262ee4d..766e0bd
error: Your local changes to the following files would be overwritten by merge:
        sys-process/cronbase/files/run-crons-0.3.7
Please, commit your changes or stash them before you can merge.
Aborting
!!! git pull error in /usr/portage
Asking git what was wrong with the file it told me that the file mode changed.

How can this be? I almost didn't see that the tree wasn't updated...
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
freke
l33t
l33t


Joined: 23 Jan 2003
Posts: 977
Location: Somewhere in Denmark

PostPosted: Thu Aug 20, 2015 3:24 pm    Post subject: Reply with quote

mi_unixbird wrote:
It should be noted that the --quiet flag with the git sync pretty much does nothing, not sure if intended but the output is very verbose even with that flag. Should probably be looked atl.


For the main repo - the --quiet flag doesn't seem to make it to the git cmdline.
If you really want to you could edit git.py and add a -q/--quiet to the git call there.
Code:
ns ~ # eix-sync
 * Running emerge --sync
>>> Syncing repository 'gentoo' into '/opt/portage'...
/usr/bin/git pull -q
=== Sync completed for gentoo


For the scripts for dtd, news, glsa etc. adding -q/--quiet to the git-command works fine....
ie. my output from the additional sync-scripts
Code:
=== Sync completed for gentoo
 * Updating metadata-cache for 'gentoo'
 * Done updating metadata-cache for 'gentoo'
 * Updating dtd directory for 'gentoo'
 * * dtd dir already exists, updating...
 * Done updating dtd directory for 'gentoo'
 * Updating glsa directory for 'gentoo'
 * * glsa dir already exists, updating...
 * Done updating glsa directory for 'gentoo'
 * Updating herds.xml for 'gentoo'
 * Done updating herds.xml for 'gentoo'
 * Updating news for 'gentoo'
 * * news dir already exists, updating...
 * Done updating news for 'gentoo'
Back to top
View user's profile Send private message
ct85711
Veteran
Veteran


Joined: 27 Sep 2005
Posts: 1791

PostPosted: Thu Aug 20, 2015 10:59 pm    Post subject: Reply with quote

Quote:
How can this be? I almost didn't see that the tree wasn't updated...


Yes, this is one of the key things with git, is that if your local tree doesn't match up to where it expects you to be, it will not update the tree (git by default does a all or nothing process, so if one part fails, git doesn't apply any changes).

git is very picky in that if anything changes in the tree outside of the git process, git will fail complaining it wasn't told of the changes (hence the git commit message)
This is the key difference to rsync, where rsync will just straight out discard your changes.

Note: I am not the most knowledgeable with git, to say the proper way to change git's default actions. So take any suggestions I make in regards to git, with a handful of salt.


Last edited by ct85711 on Thu Aug 20, 2015 11:01 pm; edited 1 time in total
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Thu Aug 20, 2015 11:00 pm    Post subject: Reply with quote

ct85711 wrote:
Quote:
How can this be? I almost didn't see that the tree wasn't updated...


Yes, this is one of the key things with git, is that if your local tree doesn't match up to where it expects you to be, it will not update the tree (git by default does a all or nothing process, so if one part fails, git doesn't apply any changes).

git is very picky in that if anything changes in the tree outside of the git process, git will fail complaining it wasn't told of the changes (hence the git commit message)
This is the key difference to rsync, where rsync will just straight out discard your changes.

That's easily fixable with a few git commands. I think the paludis git syncer already does some sort of hard-reset (which you can disable) before pulling.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Goto page Previous  1, 2, 3, 4, 5  Next
Page 2 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum