fleximod


Namefleximod JSON
Version 0.1.7 PyPI version JSON
download
home_page
SummaryExtended support for git-submodule and git-sparse-checkout
upload_time2024-01-15 16:38:31
maintainerjedwards4b
docs_urlNone
authorJim Edwards
requires_python>=3.6
licenseMIT License
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # git-fleximod

Flexible Submodule Management for Git

## Overview

Git-fleximod is a Python-based tool that extends Git's submodule capabilities, offering additional features for managing submodules in a more flexible and efficient way.

## Installation

#TODO    Install using pip:
#        pip install git-fleximod
  If you choose to locate git-fleximod in your path you can access it via command: git fleximod

## Usage

    Basic Usage:
        git fleximod <command> [options]
    Available Commands:
        install: Install submodules according to configuration.
        status: Display the status of submodules.
        update: Update submodules to the tag indicated in .gitmodules variable fxtag.
    Additional Options:
        See git fleximod --help for more details.

## Supported .gitmodules Variables

    fxtag: Specify a specific tag or branch to checkout for a submodule.
    fxrequired: Mark a submodule's checkout behavior, with allowed values:
      - T:T: Top-level and required (checked out only when this is the Toplevel module).
      - T:F: Top-level and optional (checked out with --optional flag if this is the Toplevel module).
      - I:T: Internal and required (always checked out).
      - I:F: Internal and optional (checked out with --optional flag).
    fxsparse: Enable sparse checkout for a submodule, pointing to a file containing sparse checkout paths.

## Sparse Checkouts

    To enable sparse checkout for a submodule, set the fxsparse variable
    in the .gitmodules file to the path of a file containing the desired
    sparse checkout paths. Git-fleximod will automatically configure
    sparse checkout based on this file when applicable commands are run.
    See [git-sparse-checkout](https://git-scm.com/docs/git-sparse-checkout#_internalsfull_pattern_set) for details on the format of this file.

## Examples

Here are some common usage examples:

Installing submodules, including optional ones:
```bash
  git fleximod install --optional
```

Updating a specific submodule to the fxtag indicated in .gitmodules:

```bash
    git fleximod update submodule-name
```
Example .gitmodules entry:
```ini, toml
    [submodule "cosp2"]
        path = src/physics/cosp2/src
        url = https://github.com/CFMIP/COSPv2.0
        fxsparse = ../.cosp_sparse_checkout
        fxtag = v2.1.4cesm
```
Explanation:

This entry indicates that the submodule named cosp2 at tag v2.1.4cesm
should be checked out into the directory src/physics/cosp2/src
relative to the .gitmodules directory.  It should be checked out from
the URL https://github.com/CFMIP/COSPv2.0 and use sparse checkout as
described in the file ../.cosp_sparse_checkout relative to the path
directory.

Additional example:
```ini, toml
    [submodule "cime"]
        path = cime
        url = https://github.com/jedwards4b/cime
        fxrequired = T:T
        fxtag = cime6.0.198_rme01
```

Explanation:

This entry indicates that the submodule cime should be checked out
into a directory named cime at tag cime6.0.198_rme01 from the URL
https://github.com/jedwards4b/cime.  This should only be done if
the .gitmodules file is at the top level of the repository clone.

## Contributing

We welcome contributions! Please see the CONTRIBUTING.md file for guidelines.

## License

Git-fleximod is released under the MIT License.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "fleximod",
    "maintainer": "jedwards4b",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Jim Edwards",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/c8/3a/9b6d1981fbf1446ad5646706e1e6eea3f928e71d29c3e554481eb6db6524/fleximod-0.1.7.tar.gz",
    "platform": null,
    "description": "# git-fleximod\n\nFlexible Submodule Management for Git\n\n## Overview\n\nGit-fleximod is a Python-based tool that extends Git's submodule capabilities, offering additional features for managing submodules in a more flexible and efficient way.\n\n## Installation\n\n#TODO    Install using pip:\n#        pip install git-fleximod\n  If you choose to locate git-fleximod in your path you can access it via command: git fleximod\n\n## Usage\n\n    Basic Usage:\n        git fleximod <command> [options]\n    Available Commands:\n        install: Install submodules according to configuration.\n        status: Display the status of submodules.\n        update: Update submodules to the tag indicated in .gitmodules variable fxtag.\n    Additional Options:\n        See git fleximod --help for more details.\n\n## Supported .gitmodules Variables\n\n    fxtag: Specify a specific tag or branch to checkout for a submodule.\n    fxrequired: Mark a submodule's checkout behavior, with allowed values:\n      - T:T: Top-level and required (checked out only when this is the Toplevel module).\n      - T:F: Top-level and optional (checked out with --optional flag if this is the Toplevel module).\n      - I:T: Internal and required (always checked out).\n      - I:F: Internal and optional (checked out with --optional flag).\n    fxsparse: Enable sparse checkout for a submodule, pointing to a file containing sparse checkout paths.\n\n## Sparse Checkouts\n\n    To enable sparse checkout for a submodule, set the fxsparse variable\n    in the .gitmodules file to the path of a file containing the desired\n    sparse checkout paths. Git-fleximod will automatically configure\n    sparse checkout based on this file when applicable commands are run.\n    See [git-sparse-checkout](https://git-scm.com/docs/git-sparse-checkout#_internalsfull_pattern_set) for details on the format of this file.\n\n## Examples\n\nHere are some common usage examples:\n\nInstalling submodules, including optional ones:\n```bash\n  git fleximod install --optional\n```\n\nUpdating a specific submodule to the fxtag indicated in .gitmodules:\n\n```bash\n    git fleximod update submodule-name\n```\nExample .gitmodules entry:\n```ini, toml\n    [submodule \"cosp2\"]\n        path = src/physics/cosp2/src\n        url = https://github.com/CFMIP/COSPv2.0\n        fxsparse = ../.cosp_sparse_checkout\n        fxtag = v2.1.4cesm\n```\nExplanation:\n\nThis entry indicates that the submodule named cosp2 at tag v2.1.4cesm\nshould be checked out into the directory src/physics/cosp2/src\nrelative to the .gitmodules directory.  It should be checked out from\nthe URL https://github.com/CFMIP/COSPv2.0 and use sparse checkout as\ndescribed in the file ../.cosp_sparse_checkout relative to the path\ndirectory.\n\nAdditional example:\n```ini, toml\n    [submodule \"cime\"]\n        path = cime\n        url = https://github.com/jedwards4b/cime\n        fxrequired = T:T\n        fxtag = cime6.0.198_rme01\n```\n\nExplanation:\n\nThis entry indicates that the submodule cime should be checked out\ninto a directory named cime at tag cime6.0.198_rme01 from the URL\nhttps://github.com/jedwards4b/cime.  This should only be done if\nthe .gitmodules file is at the top level of the repository clone.\n\n## Contributing\n\nWe welcome contributions! Please see the CONTRIBUTING.md file for guidelines.\n\n## License\n\nGit-fleximod is released under the MIT License.\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "Extended support for git-submodule and git-sparse-checkout",
    "version": "0.1.7",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "daec50be3fcd21dd5a388e6c7543e866de0f2b970bf96e3d401b7077e0fa924b",
                "md5": "0c3f081b49746518426ca9809483b456",
                "sha256": "bd92e245c1028745a6d6850ff9a21a91915920aee83e66f4b4d882db9a94c9a0"
            },
            "downloads": -1,
            "filename": "fleximod-0.1.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0c3f081b49746518426ca9809483b456",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 13843,
            "upload_time": "2024-01-15T16:38:26",
            "upload_time_iso_8601": "2024-01-15T16:38:26.784545Z",
            "url": "https://files.pythonhosted.org/packages/da/ec/50be3fcd21dd5a388e6c7543e866de0f2b970bf96e3d401b7077e0fa924b/fleximod-0.1.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c83a9b6d1981fbf1446ad5646706e1e6eea3f928e71d29c3e554481eb6db6524",
                "md5": "b014cbd2fe2b515b403904570cb62b9d",
                "sha256": "870fd9b79b6bfd1bb6ae5192c6b1d89e8ff6c7c567dadaea9dbf48e72fb63366"
            },
            "downloads": -1,
            "filename": "fleximod-0.1.7.tar.gz",
            "has_sig": false,
            "md5_digest": "b014cbd2fe2b515b403904570cb62b9d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 12595,
            "upload_time": "2024-01-15T16:38:31",
            "upload_time_iso_8601": "2024-01-15T16:38:31.078213Z",
            "url": "https://files.pythonhosted.org/packages/c8/3a/9b6d1981fbf1446ad5646706e1e6eea3f928e71d29c3e554481eb6db6524/fleximod-0.1.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-15 16:38:31",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "fleximod"
}
        
Elapsed time: 3.42154s