View previous topic :: View next topic |
Author |
Message |
hasufell Retired Dev
Joined: 29 Oct 2011 Posts: 429
|
Posted: Fri Aug 14, 2015 1:19 pm Post subject: |
|
|
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 |
|
|
freke l33t
Joined: 23 Jan 2003 Posts: 977 Location: Somewhere in Denmark
|
Posted: Fri Aug 14, 2015 6:15 pm Post subject: |
|
|
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 |
|
|
hasufell Retired Dev
Joined: 29 Oct 2011 Posts: 429
|
Posted: Fri Aug 14, 2015 8:27 pm Post subject: |
|
|
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 |
|
|
x17324 n00b
Joined: 07 Oct 2013 Posts: 22
|
Posted: Sat Aug 15, 2015 5:36 am Post subject: |
|
|
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 |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8708 Location: ~Brussels - Belgique
|
Posted: Sat Aug 15, 2015 8:28 am Post subject: |
|
|
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 |
|
|
livibetter n00b
Joined: 19 Apr 2009 Posts: 63 Location: Taipei, Taiwan
|
Posted: Sat Aug 15, 2015 10:12 am Post subject: |
|
|
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 |
|
|
hasufell Retired Dev
Joined: 29 Oct 2011 Posts: 429
|
Posted: Sat Aug 15, 2015 10:50 am Post subject: |
|
|
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 |
|
|
freke l33t
Joined: 23 Jan 2003 Posts: 977 Location: Somewhere in Denmark
|
Posted: Sat Aug 15, 2015 12:59 pm Post subject: |
|
|
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 |
|
|
livibetter n00b
Joined: 19 Apr 2009 Posts: 63 Location: Taipei, Taiwan
|
Posted: Sat Aug 15, 2015 1:52 pm Post subject: |
|
|
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 |
|
|
hasufell Retired Dev
Joined: 29 Oct 2011 Posts: 429
|
|
Back to top |
|
|
hasufell Retired Dev
Joined: 29 Oct 2011 Posts: 429
|
Posted: Sat Aug 15, 2015 2:07 pm Post subject: |
|
|
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 |
|
|
livibetter n00b
Joined: 19 Apr 2009 Posts: 63 Location: Taipei, Taiwan
|
Posted: Sat Aug 15, 2015 2:55 pm Post subject: |
|
|
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 |
|
|
NightMonkey Guru
Joined: 21 Mar 2003 Posts: 356 Location: Philadelphia, PA
|
Posted: Mon Aug 17, 2015 12:39 am Post subject: Speed up eix-update |
|
|
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. _________________
|
|
Back to top |
|
|
Yamakuzure Advocate
Joined: 21 Jun 2006 Posts: 2284 Location: Adendorf, Germany
|
Posted: Mon Aug 17, 2015 8:37 am Post subject: |
|
|
freke wrote: | Yamakuzure wrote: | 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:- "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
- "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
|
|
Back to top |
|
|
ggeeoo n00b
Joined: 27 Apr 2006 Posts: 48
|
Posted: Mon Aug 17, 2015 2:22 pm Post subject: |
|
|
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 |
|
|
hasufell Retired Dev
Joined: 29 Oct 2011 Posts: 429
|
Posted: Mon Aug 17, 2015 4:18 pm Post subject: |
|
|
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 |
|
|
Yamakuzure Advocate
Joined: 21 Jun 2006 Posts: 2284 Location: Adendorf, Germany
|
Posted: Mon Aug 17, 2015 4:27 pm Post subject: |
|
|
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:- "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
- "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
|
|
Back to top |
|
|
hasufell Retired Dev
Joined: 29 Oct 2011 Posts: 429
|
Posted: Tue Aug 18, 2015 11:11 am Post subject: |
|
|
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 |
|
|
jorgicio n00b
Joined: 17 Oct 2014 Posts: 47
|
Posted: Wed Aug 19, 2015 6:38 am Post subject: |
|
|
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 |
|
|
Yamakuzure Advocate
Joined: 21 Jun 2006 Posts: 2284 Location: Adendorf, Germany
|
Posted: Wed Aug 19, 2015 7:30 am Post subject: |
|
|
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:- "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
- "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
|
|
Back to top |
|
|
mi_unixbird Tux's lil' helper
Joined: 24 Jul 2015 Posts: 118
|
Posted: Thu Aug 20, 2015 1:34 am Post subject: |
|
|
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 |
|
|
Yamakuzure Advocate
Joined: 21 Jun 2006 Posts: 2284 Location: Adendorf, Germany
|
Posted: Thu Aug 20, 2015 8:38 am Post subject: |
|
|
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:- "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
- "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
|
|
Back to top |
|
|
freke l33t
Joined: 23 Jan 2003 Posts: 977 Location: Somewhere in Denmark
|
Posted: Thu Aug 20, 2015 3:24 pm Post subject: |
|
|
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 |
|
|
ct85711 Veteran
Joined: 27 Sep 2005 Posts: 1791
|
Posted: Thu Aug 20, 2015 10:59 pm Post subject: |
|
|
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 |
|
|
hasufell Retired Dev
Joined: 29 Oct 2011 Posts: 429
|
Posted: Thu Aug 20, 2015 11:00 pm Post subject: |
|
|
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 |
|
|
|
|
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
|
|