#17842: scripts/feeds update -a can fail rather silently for git feeds
-----------------------+----------------------------------
Reporter: hnyman | Owner: developers
Type: defect | Status: new
Priority: normal | Milestone: Chaos Calmer (trunk)
Component: toolchain | Version: Trunk
Keywords: feeds git |
-----------------------+----------------------------------
"scripts/feeds update -a" can fail rather silently for feeds using git, as
the script does not pause when updating a feed fails. Instead it prints
the error message and calmly continues to the next feed. It is very easy
to overlook update errors with the feeds updated first, as their text
scrolls rapidly away from the screen.
This has not been a big problem with svn feeds, as svn update stops with a
conflict message and interactively forces the user to resolve or postpone
the conflict. In any case the error will be noticed by the user.
Majority of the feeds use now git, so this silent failure can affect users
doing private builds in an increasing amount.
Toolchain script should be improved to better inform user about failures.
Preferably updating should stop after a failure.
Below is an example of update failing and script continuing:
{{{
perus@v1404:/Openwrt/barrier$ ./scripts/feeds update -a
Updating feed 'packages' from
'https://github.com/openwrt/packages.git;for-14.07' ...
remote: Counting objects: 17, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 17 (delta 10), reused 8 (delta 1)
Unpacking objects: 100% (17/17), done.
From https://github.com/openwrt/packages
62031da..dc26009 for-14.07 -> origin/for-14.07
Updating 62031da..dc26009
error: Your local changes to the following files would be overwritten by
merge:
utils/collectd/Makefile
Please, commit your changes or stash them before you can merge.
Aborting
failed.
Updating feed 'luci' from
'http://git.openwrt.org/project/luci.git;luci-0.12' ...
Already up-to-date.
Create index file './feeds/luci.index'
Updating feed 'routing' from 'https://github.com/openwrt-
routing/packages.git;for-14.07' ...
...
}}}
The script prints "failed.", but does not break the updating process. It
looks like the "update_feed" function returns an error code 1, but that is
not checked in "update" which continues to the next feed.
Return 1 as error:
https://dev.openwrt.org/browser/trunk/scripts/feeds#L547
Call to update_feed without any error monitoring:
https://dev.openwrt.org/browser/trunk/scripts/feeds#L585
--
Ticket URL: <https://dev.openwrt.org/ticket/17842>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets