Skip to content

ArtClark/briefcase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Briefcase 💼

Version License: MIT OS: Windows OS: macOS OS: Linux OS: Unix/BSD Hardware: Raspberry Pi Briefcase is a high-security, "Win95-style" synchronization utility. It isn't just a file mover; it’s a stealth state-preservation tool for developers who value privacy and atomic workflows.


🔥 Why use Briefcase over Cloud/Network Sync?

It’s easy to dismiss a manual script in the era of ubiquitous cloud storage, but the Briefcase philosophy isn't about moving files—it’s about atomic state preservation.

When you use a cloud drive or a network share to move a Git project, you are moving thousands of loose files, often inviting sync conflicts, metadata corruption, and "leaky" history. The Briefcase script acts as a Temporal Shield. By bundling the repository into a single encrypted LZMA2 stream, you bypass the "death by a thousand small files" that slows down network transfers and cloud indexing.

More importantly, it allows you to transport Stashes. In a standard Git workflow, you’d have to commit unfinished code just to move it. With the Briefcase, your workspace remains "dirty" and "private"—your half-baked ideas stay in the stash, crossing the air-gap safely without ever touching a public commit log.


🚀 Usage

📦 Packing for Travel

  1. Run ./briefcase.sh . [optional_password]
  2. The script stashes changes, creates a Git bundle, and generates an encrypted briefcase.7z.
  3. Action: MOVE briefcase.sh and briefcase.7z to your destination.

📂 Restoring at Destination

  1. Place the files in your target directory.
  2. Run ./briefcase.sh . [password]
  3. The script extracts the data, merges history, and restores stashes.
  4. Automation: Upon success, the script automatically deletes the .7z and intermediate .bundle to leave a clean working environment.

🛠️ Requirements

Windows

  • Git Bash: (Included with Git for Windows).
  • 7-Zip: Ensure 7z is in your System PATH.

Mac / Linux

  • Git: Standard install.
  • 7-Zip: Install via Homebrew (brew install p7zip) or your package manager.
  • Permissions: Ensure the script is executable: chmod +x briefcase.sh.

🔒 Security

  • AES-256 Encryption: Optional password support with hidden headers (-mhe=on).
  • History Guard: Script attempts to scrub passwords from bash history if provided via CLI, or uses a secure hidden prompt (read -s).

🌟 Future Roadmap

  • Compact Project Snapshots: Create ultra-compressed, timestamped backups for "Cold Storage" on separate physical drives.
  • Off-Site Email Vaulting: Implement "Split-Archive" features to break repositories into 25MB chunks for encrypted storage in off-site email accounts.
  • Git-Hook Integration: Automatically trigger a "Briefcase Pack" whenever a specific hardware drive is detected.

📜 License

"No black boxes. Just a briefcase and the road."

About

A bash script to package a git clone into a bundle then 7z it.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages