mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-04-26 01:26:00 +03:00
[GH-ISSUE #581] Move all vendored code into git submodules to make upgrading easier #3384
Labels
No labels
expected: maybe someday
expected: next release
expected: release after next
expected: unlikely unless contributed
good first ticket
help wanted
pull-request
scope: all users
scope: windows users
size: easy
size: hard
size: medium
size: medium
status: backlog
status: blocked
status: done
status: idea-phase
status: needs followup
status: wip
status: wontfix
touches: API/CLI/Spec
touches: configuration
touches: data/schema/architecture
touches: dependencies/packaging
touches: docs
touches: js
touches: views/replayers/html/css
why: correctness
why: functionality
why: performance
why: security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ArchiveBox#3384
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @pirate on GitHub (Dec 11, 2020).
Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/581
Currently in we have all vendored libraries as copy pasted python files under
archivebox/vendor/*.py.This makes it difficult to upgrade these libraries, instead we should move them into git submodules that are clones of their original sources on github.
E.g. instead of
vendor/base32_crockford.pyit should bevendor/base32_crockford/.gitandvendor/base32_crockford/base32_crockford.py.In the future to upgrade these vendored libs it should be as simple as
cd archivebox/vendor/base32_crockford; git pulland then committing the updated submodule commit to the main repo.@mAAdhaTTah commented on GitHub (Dec 11, 2020):
I would also be open to just using
requestsdirectly instead of the Pocket API package. Didn't realize dealing with dependencies for deb packages was going to be such a chore. That said, the Pocket API package hasn't changed in a long time so may not need to be submoduled either (and all my experience w/ submodules has been terrible lol).@pirate commented on GitHub (Dec 11, 2020):
Pocket is not the only vendored dependency, and we're likely to want others in the future. We already use submodules for many other parts of the ArchiveBox packaging process, so it's familiar to us (
git pull --recurse-submodulesfixes almost all submodules headaches btw). The main benefit is that updating a vendored dependency goes from being a manual copy-paste process to justcd vendor/<submodule>; git pull.This article has a good explanation:
https://gist.github.com/datagrok/8577287
https://gist.github.com/datagrok/8577287#use-git-submodules