Skip to main content

Lutin

island is a generic source downloader and synchronizer is a FREE software tool.

It is compatible with basic format of repo-git manifest. This project is created to be easiest to read with simple interface (no internal git usage, but user level git usage) The main point to create the "fork" is the non-support of repo of relativity in submodule of git (submodule reference with ../xxx.git) This point is really important when you want to have a relocate manifest and project with submodule. The simpl example is the atria-soft / generic-library / musicdsp that are available on github, gitlab, bitbucket and personal server.

https://badge.fury.io/py/island.png)

Instructions

This is a tool to download git source repositiry in a versatile worktree

island is under a FREE license that can be found in the LICENSE file. Any contribution is more than welcome ;)

git repository

http://github.com/HeeroYui/island/

Documentation

http://HeeroYui.github.io/island/

Installation

Requirements: Python >= 2.7 and pip

Just run:

pip install island

Install pip on debian/ubuntu:

sudo apt-get install pip

Install pip on ARCH-linux:

sudo pacman -S pip

Install pip on MacOs:

sudo easy_install pip

Usage

Select a manifest:

island init http://github.com/atria-soft/manifest.git

Download and synchronize the sources:

island sync

Select all branch available in the work-tree: (checkout origin/dev in dev branch and track it, do nothing if the branch does not exist)

island checkout dev

Show the status of the workspace

island status

Develop in local (with virtual env):

see: https://setuptools.pypa.io/en/latest/userguide/development_mode.html

Create your development environment:

# Create a virtual environment
python -m venv .venv
# Activate the python virtual environment
source .venv/bin/activate
# Install the package in editable mode (dynamic use of files) 
pip install --editable .

Run the application . island --help

Manual set in production:

install generic tools for deployment

pip3 install twine

Create the new version:

# Clean previous packages
 \rm -rf dist/
# Compile the package
python3 -m build
# Upload the package
python3 -m twine upload dist/*

TODO list

  • When sync checkout the new manifest
  • status: show how many time late we are on the branch
  • sync: filter the apply of this cmd
  • create snapshot
  • use a snapshot
  • commit all change in a single commit name and date
  • push all change in the origin branch
  • stash/unstash all change
  • permit to set the pasword when requested by git
  • sync: show download progress
  • support single project mirror
  • support submodule mirror
  • support project upstream
  • support submodule add upstream
  • push modilfication in all late mirorr (force mode optionnal) ==> for automatic server synchronisation in 4 lines
  • a good documation of the format and the usage
  • parallele download / sync / push ...

License (MPL v2.0)

Copyright island Edouard DUPIN

Licensed under the Mozilla Public License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.mozilla.org/MPL/2.0/

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Metadata

Release files for island 1.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for island 1.3.1
File Size Uploaded
island-1.3.1.tar.gz 41.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for island 1.3.1
File Interpreter ABI Platform
island-1.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 102.8 kB

Release files / island-1.3.1.tar.gz

Download URL island-1.3.1.tar.gz
Size 41.5 kB
Tags Source
SHA-256 checksum
How to use checksums
640ea7d4a9facdc89876c38eefa9cecb444dc814d2c403924215461ec17148d9
BLAKE2b-256 checksum
How to use checksums
25d513dba4065448a679e3d33baa152d55a6bd93709e20b83884ab5deeae25eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.13.1

Release files / island-1.3.1-py3-none-any.whl

Download URL island-1.3.1-py3-none-any.whl
Size 61.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d301442ff64e966bd664abbacc13aff387210c22cbf297c8fd9f8de0a8a77e9a
BLAKE2b-256 checksum
How to use checksums
4646e83b5044c832fa26824da8b3bc855ae93adaa2f3629524e872eefd61fbbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.13.1

Release history Release notifications | RSS feed

This release

1.3.1 This release

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.9.0

1 release file

0.8.0

1 release file

0.7.0

1 release file

0.6.0

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.2

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.0

1 release file

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page