GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ultralytics/source-trace: Python tool that clones two Git repositories and reports lines of code appearing in both, with per-file duplication statistics

BranchesTags
Open more actions menu

Latest commit

 

History

30 Commits
30 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
docs
docs
 
 
source
source
 
 
.gitignore
.gitignore
 
 
AGENTS.md
AGENTS.md
 
 
CLAUDE.md
CLAUDE.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
pyproject.toml
pyproject.toml
 
 

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: Prints every line of code from the source repository that also appears in the destination repository, after filtering out short lines and common boilerplate.
  • Summary Statistics: Reports the file and line totals for each repository, the number of duplicated lines found, and how many distinct files on each side those lines came from.
  • Provenance Pairs: Records the source file and destination file alongside each duplicated line, so every match can be traced back to both repositories.

🚀 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 that clones two Git repositories and reports lines of code appearing in both, with per-file duplication statistics

ultralytics.com

Topics

auditcode-duplicationcode-provenancecode-qualitygitintellectual-propertypythonrepository-analysissource-code-analysisultralytics

Resources

Readme
AGPL-3.0 license

Code of conduct

Code of conduct

Security policy

Security policy
Activity
Custom properties

Stars

77 stars

Watchers

0 watching

Forks

2 forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

Generated from ultralytics/template
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.