Skip to content

JeongHan's Copying Tool: `jh_cp` 1.0.0 Release

Latest
Compare
Choose a tag to compare
@JeongHan-Bae JeongHan-Bae released this 03 Dec 06:12

Release Note: jh_cp v1.0.0 🎉

Do you often struggle with unwanted system files like .DS_Store, Thumbs.db, or various IDE-generated files when transferring files between Windows and macOS?
Would you like a cp command that works like Git’s .gitignore or Docker’s .dockerignore, making it easy to exclude these unnecessary files during copying?

Look no further—jh_cp is exactly what you need! 🚀

With jh_cp, you can seamlessly copy files across platforms while automatically excluding system or IDE-generated files. Whether you’re backing up files or synchronizing directories, jh_cp ensures a clean transfer every time, with customizable exclusion rules.


We are thrilled to announce the first official release of jh_cp v1.0.0! After thorough testing and improvements based on valuable feedback, this version is now fully functional and ready for use. 🎉

Overview

jh_cp is a lightweight, cross-platform command-line utility designed to simplify file and directory copying while respecting customizable ignore rules. Whether you're backing up files, synchronizing directories, or automating file management tasks, jh_cp provides an efficient and flexible solution. It works seamlessly across both Unix-like systems (Linux, macOS) and Windows environments.

Key Features:

  • File Copying: Effortlessly copy files and directories with the ability to exclude specific file types (e.g., logs, zips, databases) based on custom rules.
  • Cross-Platform Support: Fully supports Windows, macOS, and Linux.
  • Manage .cp_ignore: Easily add, export, and reset exclusion rules using the cp_ignore command.
  • Automated Directory Creation: Automatically create target directories if they don’t exist.

What's New in v1.0.0

  • 🎉 Fully functional file copying with support for customizable exclusion rules (e.g., *.log, *.zip, *.db).
  • 🔧 Enhanced handling of the .cp_ignore file, making it easier to manage ignored patterns.
  • 🚀 Cross-platform support (Windows, Linux, macOS).
  • 🛠️ Bug fixes and performance improvements based on internal testing.

Installation:

You can install jh_cp using the following methods:

Option 1: Install with setup.py build_install

git clone https://github.com/JeongHan-Bae/jh_cp.git
cd jh_cp
python setup.py build_install clean

Option 2: Install via Wheel

python setup.py sdist bdist_wheel clean
pip install dist/jh_cp-<version>-py3-none-any.whl

Requirements:

  • Python 3.9 or above
  • Install dependencies:
pip install setuptools wheel

Example Usage:

# Copying a directory while excluding log and zip files
jh_cp cp --exclude-log --exclude-zip src_folder target_folder

# Registering new patterns to the ignore list
jh_cp cp_ignore -register "*.log"

# Exporting the ignore rules to a file
jh_cp cp_ignore -export ignore_rules.txt

Development & Contributions:

We welcome contributions! Feel free to fork the repository, create a branch, and submit a pull request. 🧑‍💻

License:

jh_cp is licensed under the Apache License 2.0.


Thank you for using jh_cp! 🎉

  • Author: JeongHan Bae