Welcome to the ultralytics/source-trace
repository! This specialized tool from Ultralytics is designed to analyze and report potential code duplication between different Git repositories. Building upon the standard Ultralytics Python project template, source-trace
focuses specifically on enhancing code integrity and tracking. It empowers developers by identifying code segments that might be copied across repositories, offering detailed insights into the source, destination, and associated metadata for each instance of duplication.
- Detailed Comparison: Generates comprehensive reports highlighting lines of code from one repository found within another.
- Comprehensive Statistics: Provides valuable metrics detailing the extent of code duplication, broken down by file and author.
- Metadata Tracking: Captures essential metadata for each duplication instance, including the author and commit date.
To begin using source-trace
for your analysis:
- Clone the Repository: Use Git clone to copy
source-trace
to your local machine or server.git clone https://github.com/ultralytics/source-trace.git cd source-trace
- Install Dependencies: Install the required Python packages using pip. We recommend using a virtual environment.
pip install -e .
- Set Up Your Analysis: Consult the documentation within the
docs/
directory for guidance on configuring your comparison parameters. - Run the Tool: Execute the analysis scripts located in the
source/
directory to start the code duplication check.
Ultralytics thrives on community collaboration, and we deeply appreciate your contributions! Please review our Contributing Guide for detailed information on how you can get involved. We also encourage you to share your feedback through our Survey. A heartfelt thank you ๐ goes out to all our contributors!
Ultralytics offers two licensing options to accommodate diverse needs:
- AGPL-3.0 License: This OSI-approved open-source license is ideal for students, enthusiasts, and researchers who value open collaboration and knowledge sharing. See the LICENSE file for details.
- Enterprise License: Designed for commercial use, this license permits seamless integration of Ultralytics software and AI models into commercial products and services, bypassing the open-source requirements of AGPL-3.0. For enterprise solutions, please contact us via Ultralytics Licensing.
For bug reports or feature suggestions related to source-trace
, please raise an issue on GitHub Issues. You're also welcome to join our Discord community for discussions, questions, and support!