Skip to content

ultralytics/source-trace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ultralytics logo

🛠 Ultralytics Source Trace

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.

Ultralytics Actions Ultralytics Discord Ultralytics Forums Ultralytics Reddit

✨ Features

  • 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.

🚀 Getting Started

To begin using source-trace for your analysis:

  1. 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
  2. Install Dependencies: Install the required Python packages using pip. We recommend using a virtual environment.
    pip install -e .
  3. Set Up Your Analysis: Edit SOURCE_REPO, DEST_REPO, SUFFIXES, and ignore lists in source/run_repo.py to match the repositories and file types you want to compare.
  4. Run the Tool: Execute the comparison script directly:
    python source/run_repo.py

💡 Contribute

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 open-source contributors

📄 License

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.

📮 Contact

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!


Ultralytics GitHub space Ultralytics LinkedIn space Ultralytics Twitter space Ultralytics YouTube space Ultralytics TikTok space Ultralytics BiliBili space Ultralytics Discord

About

Python tool for detecting and reporting cross-repository code duplication with file, author, commit-date, and aggregate provenance statistics.

Topics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

Generated from ultralytics/template